亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arm入門筆記 by mamajinco.txt

?? ARM 入門筆記
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
簡單的介紹 
打今天起菜鳥的ARM筆記算是開張了,也算給我的這些筆記找個存的地方。

為什么要發布出來?也許是大家感興趣的,其實這些筆記之所以叫筆記而不是文章,是因為它們完全是本人個人學習經驗的總結,而這些經驗都來自于其他前輩的無私奉獻,在這里對這些樂于發表自己經驗的前輩致以由衷的感謝!現在我把這些前輩的文章經過自己的理解寫出來一方面是對于他們的尊重,另一方面也希望覺得本人的筆記有參考意義的朋友把這種精神繼續傳下去。

再次聲明,本人確實是個菜鳥,現在手頭的板子是自己畫的,以RT&ZQ的板子為底版,對部分電路進行了改動。比如加入了SD卡,IIC總線鍵盤,觸摸屏,GPS,GPRS等等。并對LCD接口進行改造,使之完全適合手頭的SHARP液晶。把網絡,串口,USB這些調試用接口都外擴了,目的是使主板盡量?。壳暗谝话鏋榱苏{試方便,主板特意畫的比較大)。但是存儲部分(RAM ROM)沒有做任何變動,在這里對RT&ZQ致謝!

這塊板子是本人第二個板子(第一塊是個接口板,30根線。)所以走線,設計都經不起推敲,但是同樣非常希望大家能夠指點!

板子基本元件清單說一下吧,方便其他人參考

CPU:44B0

RAM:HY57V641620

ROM:AM29LV160

NET:8019

USB:D12

KEY:ZLG7290

LCD:SHARP LM7M632
 
目前為止本人做的工作 
1 板子的硬件調試是跟著軟件來的

2 ADS AXD調試環境搭建

3 FLSH燒寫筆記

4 UBOOT移植筆記

5 UCLINUX編譯下載簡單筆記

6 字符設備驅動開發
 
C工程模板使用說明

本模板用于使44B0運行C程序
一般說來匯編用來初始化 之后跳到C入口MAIN函數處

一、關于工程文件

1、本目錄下建工程文件(.MCP)
2、工程文件至少包含3個文件44binit.s    44blib_a.s    *.c(自己的c文件)
3、44binit.s中開頭部分INCLUDE兩個文件MEMCFG.S   Option.s用于基本設置
注意這兩個文件的存放目錄,即讓INCLUDE找到它們
4、以上文件除自己的c文件之外均為三星公版,不需修改

二、關于CodeWarrior設置
1、DebugRel Setting里一般設置幾項
1)Target Setting->Linker里選ARMLinker
   用于設置連接
2)Target Setting->Post-Linker選ARM fromELF
   用于生成FLASH燒錄代碼(只在RAM里運行 而不燒錄則不用)
3)ARM Linker->RO BASE里添地址
   根據板子來,這板子上RAM接的NSCS6,地址0XC000000-0XC7FFFFF;
 FLASH接的NSCS0,地址0X00000-0XFFFFF
 地址分配原理見44B0數據手冊內存管理那章的內存分配圖

 想在RAM里調試就添0XC000000(比如0XC008000)的地址
 但是注意的是地址不要添過界,比如想在RAM里調試卻添0X00000000 程序可以 進入C代碼 但沒法運行
 
 再有
 想生成用于燒寫得FLASH代碼 RO地址就需要設置為0X0000000開始的 而且LAYOUT中也必須設置44BINIT.O為初始加載文件
 以上FLASH測試結論經FLASHPGM測試
而且FLASHPGM不支持BIN文件 只支持INTEL得HEX文件
4)RW可以添 可以不添 一般RO解釋為數據段,RW解釋為數據段
 有時高興了就添上0XC100000(RAM調試時)
5)ARM Linker->OPTION->Image entry point選擇0xc000000(RAM調試時)
6)ARM Linker->Layout->Object/Symbol里可以添工程起始程序44BINIT.O 注意是.O不是.S和.0(零)
 也可以不添

三、AXD設置
1)按照BANYANGT或者ARM7正確設置調試代理
 BANYANGT、ARM7、H-JTAG都是代理,裝哪個無所謂,一般認為BANYANGT好,但無論哪個調試之前必須運行代理
2)在option->configure interface里 在session file 選擇 44b0.ini 這個文件是初始化44b0寄存器的,必須運行
3)Options->Configue Target里本來有兩項,上面上是硬件調試,下面是軟件仿真(在電腦上仿真)
 用ARM7就改第一項(按照ARM7說明改),用BANYANGT就按照BANYANGT說明在下面再加個BANYANGT的驅動
4)在general標簽頁選擇attach,然后確定,最后在file->save session,關閉AXD(在CodeWarrior里一DEBUG就自動打開)

四、關于JTAG
1)JTAG一般有幾種 SDT和WIGGLER 我的是WIGGLER的,兩者區別主要在并口25針定義不一樣(不算復位腳),與板子上JTAG相連的腳不是區分JTAG類型的標志
 只要和44B0對上就行
2)JTAG小板上與44B0大板上JTAH跳線RAM調試時都不用接 燒FLASH才用到
3)網上流傳的JTAG小板上也有不用RST信號的版本,無所謂,RST信號不是標準的

五、另外
開始的時候犯了低級錯誤,沒設置OM1 2 3跳線 導致晶體不陣~~~
 

其他的看萬龍的ARM開發板使用手冊,寫的還不錯
模板:user94/mamajinco/upload/825806664.rar


這部分可能過于簡單,很少有人寫,但是對于不了解ARM開發過程的人真的簡單嗎?我是菜鳥,在這卡了3天:)
一般說來有幾種方法,
1)板子原來的BOOTLOADER程序或者為燒寫而編寫的專用ADS程序
比較高級而快速的方法,很多現成的開發板都用這種方法(相對來說有實力的公司),此狀態下CPU是運行的,所以速度快。
比如ZLG的,但是對于初學或者不準備細研究硬件的人來說就比較麻煩,因為要編寫(改寫)ADS燒寫程序。愿意的人可以看看。
2)FLUTED
和FLASHPGM一樣,使用的好象叫邊界掃描法,CPU此時并不運行,因此燒寫的比較慢。
在這里也不推薦FLUTED這個軟件,原因比較簡單,麻煩+速度慢。
因為需要編寫(改寫)兩個配置文件,而且是字符界面。倒是有人說這個軟件只能在WIN98下用的說法好象不對(現在有可以讓2000和XP下用的方法)
喜歡的朋友可以用用
3)FLASHPGM(推薦)
很簡單的程序,GUI界面,速度尚好。
設置很簡單,在CPU里選對型號,當然是3星的44B0。在FLASH里也一樣,39LV160,29LV160都有。
確定好地址,RAM地址我的是0XC000000(BANK7上) FLASH地址0X0(BANK0上)
選完了以后讀一下FLASH的ID(左下腳的按鈕吧)能讀出廠家的ID就行。
然后是燒寫了,PROGRAME按鈕,注意的是FLASHPGM不支持BIN格式,按照下面方法處理。
再有就是盡量在寫之前擦一下,PROGRAME菜單里有個選項,打個鉤就OK。
具體燒寫方法可以看我總結的另一篇文檔,在這里只說說UBOOT相關的。
前面說過UBOOT編譯以后產生3個文件
u-boot——ELF格式的文件,可以被大多數Debug程序識別; 
u-boot.bin——二進制bin文件,純粹的U-BOOT二進制執行代碼,不保存ELF格式和調試信息。這個文件一般用于燒錄到用戶開發板中; 
u-boot.srec——Motorola S-Record格式,可以通過串行口下載到開發板中。
FLASHPGM不支持BIN格式的,可以燒寫u-boot——ELF格式的文件,別看它沒擴展名,一樣燒寫。
還有,如果你懶(和我一樣),拿別人現成的BIN文件來燒,FLASHPGM還提供了一個BINTOS19的程序,就在它的安裝目錄下。具體用法運行它,它自己就告訴你了。

注意:有時(尤其是FLASH里已經有程序的時候)0XC000000會莫名奇妙的提示內存不可以寫,有幾個方法可以試試:把地址改成0x10000000(好象是緩存地址),之后點EREASE擦除芯片,擦除一般說來是不成功的,最后無論如何都下不去,沒關系,這時候關閉擦除對話框,然后0x10000000地址不變,燒FLASH,我一般是燒寫一個我自己寫的LED測試小程序把內存占上:)?;貋磉@時候再把0X1000000換成0XC000000再按照正常操作,一般可以正常。
這現象的原因就是過去下的程序(多數是不正確的程序)正在運行 占用了RAM與ROM,下個LED測試小程序就是把這幾個部分清除掉。
如果以上方法還不正常,可以用另一個程序叫FLASHP就差2個字母:)很好!在這里對這個程序的作者致敬?。?用這個軟件擦FLASH,然后再用FLASHPGM燒,原因是FLASHP擦厲害,但寫好象有些問題~~

UBOOT 移植操作(1) 
[0]目錄結構
◆ board:和一些已有開發板有關的文件,比如Makefile和u-boot.lds等都和具體開發板的硬件和地址分配有關。 
◆ common:與體系結構無關的文件,實現各種命令的C文件。 
◆ cpu:CPU相關文件,其中的子目錄都是以U-BOOT所支持的CPU為名,比如有子目錄arm926ejs、mips、mpc8260和nios等,每個特定的子目錄中都包括cpu.c和interrupt.c,start.S。其中cpu.c初始化CPU、設置指令Cache和數據Cache等;interrupt.c設置系統的各種中斷和異常,比如快速中斷、開關中斷、時鐘中斷、軟件中斷、預取中止和未定義指令等;start.S是U-BOOT啟動時執行的第一個文件,它主要是設置系統堆棧和工作方式,為進入C程序奠定基礎。 
◆ disk:disk驅動的分區處理代碼。 
◆ doc:文檔。 
◆ drivers:通用設備驅動程序,比如各種網卡、支持CFI的Flash、串口和USB總線等。 
◆fs:支持文件系統的文件,U-BOOT現在支持cramfs、fat、fdos、jffs2和registerfs。 
◆ include:頭文件,還有對各種硬件平臺支持的匯編文件,系統的配置文件和對文件系統支持的文件。 
◆ net:與網絡有關的代碼,BOOTP協議、TFTP協議、RARP協議和NFS文件系統的實現。 
◆ lib_arm:與ARM體系結構相關的代碼。 
◆ tools:創建S-Record格式文件 和U-BOOT images的工具。

==========================================================================================
[1]u-boot.1.1.2目錄下有Makefile
1)設置編譯器
可以看到這一項:
ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux-

也就是說這里所用的交叉編譯器是arm-linux-gcc,u-boot默認是用這個的,也有用arm-elf-gcc的,arm-elf-tools-20030314.sh,用它來編譯,沒有問題。如果最后MAKE的時候提示找不到arm-linux-gcc就是這錯了,改一下。

arm-elf-gcc是用來編譯uClinux內核的工具,arm-linux-gcc用來編譯LINUX
2)加進自己板子的項目
搜索B2的這部分文件
B2_config      :      unconfig
       @./mkconfig $(@:_config=) arm s3c44b0 B2 dave

后面加上這部分:
TT_config       :      unconfig
       @./mkconfig $(@:_config=) arm s3c44b0 TT T2T
切記在@./mkconfig $(@:_config=) arm s3c44b0 TT T2T
前面的是Tab來的,TT_config       :      unconfig也是一樣,不能用空格代替,因為它是靠這個來識別命令的

==========================================================================================

[2]在宿主機(PC機)上建立arm-elf-gcc交叉編譯環境

1)建立arm-linux-gcc編譯環境
在RedHat Linux系統下以root用戶登錄,
將cross-2.95.3.tar.bz2文件復制到/目錄下,
安裝:
# tar jxvf cross-2.95.3.tar.bz2
這個命令會在你的/usr/local/arm/2.95.3目錄下安裝 arm-linux-gcc 交叉編譯程序,
然后在PATH變量中添加一項:/usr/local/arm/2.95.3/bin.
[root@localhost root]# export PATH=$PATH:/usr/local/arm/2.95.3/bin

把PATH=:$PATH:/usr/local/arm/2.95.3/bin添加到/ETC/bash_profile文件中

或者
在/etc/bashrc文件中添加一項:
 export PATH=:$PATH:/usr/local/arm/2.95.3/bin
之后可以測試一下 echo $PATH 

注意:PATH大小寫不一樣,另外LINUX下大小寫是不同的,以后不特別聲明。

注意:命令中的參數之間都由單個空格或者TAB隔開,命令前有的有# 代表命令行符,不用輸入。

注意:不可在WINDOWS下用winRAR解壓u-boot-1.1.2.tar.bz2或u-boot-1.1.2.tar.gz這種文件,會少文件,去LINUX下,另外解壓的時候也不用非點用命令行操作,LINUX現在對GUI已經支持的非常好了,比如解壓只要右鍵點文件,選解壓到當前文件夾就可以,執行的時候只要雙擊再選“執行”

注意:我用的VMWARE(虛擬機)裝的LINUX,要在LINUX和WIN中間傳遞文件用VM-》SETTING里的SHARE FOLDER
該功能是把WIN 下的一個文件夾共享給LINUX。
這個功能必須裝VMWARE TOOLS才能用,
裝VMWARE TOOLS方法:首先在VM-》SETTING里CDROM項里把光驅設置為裝入VMWARE安裝文件夾下的LINUX工具的.ISO,LUINUX下就出現CDROM了 拷貝 解壓 安裝不在話下。必須注意的是VMWARE TOOLS在每次重起LINUX之后還必須也重起一下,TMD,誰搞定不用重起告訴我一聲
重起的方法:/etc/init.d/vmware-tools restart
就有消息出來了

注意:另外郁悶的是我的WIN與LINUX之間復制文字似乎也不順暢,干脆在SHARE FOLDER里建立一個TXT,兩個系統搗文字玩~~

測試:
把終端關閉,重新打開后執行如下命令:

# arm-linux-gcc –v

建立好交叉編譯環境后可以試著編譯u-boot了
2)也可以建立arm-elf-gcc
與上面類似,用周立功的編譯包直接安裝
會在/usr/local/bin下產生arm-elf-gcc只類的文件
然后設置路徑
[root@localhost root]# export PATH=$PATH:/usr/local/arm-elf/bin
======================================================================================================
[3] 測試交叉編譯器搞好沒有
 編譯個44B0例子 在UBOOT包目錄下執行一下命令,以下是編譯的包自帶的DAVE公司板子B2(名)
1)     Make distclean (清除以前編譯的痕跡)
2)     Make B2_config(B2代表B2板子的,前面見到過)
3)     Make 
沒問題就可以進行下面了
注意:B2默認用arm-linux-gcc編譯,要是前面安的arm-elf-gcc的話此時會報錯 把UBOOT目錄下的MAKEFILE按照前面說的改一下
注意:一般說來還會有個問題,懷疑是編譯器的問題 提示什么abi=apcs-gnu只類的找不到吧~~記不住了
改UBOOT目錄下config.mk (好象)
文件里改成如下
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu,))
原來的行少了$(call cc-option,-mabi=apcs-gnu,) 具體在哪行忘了 CTRL+F搜索一下
其他應該沒問題,有問題GOOGLE搜一下,不是通病就是自己安裝的問題了
注意:
MAKE之后會生成三個文件: 
u-boot——ELF格式的文件,可以被大多數Debug程序識別; 
u-boot.bin——二進制bin文件,純粹的U-BOOT二進制執行代碼,不保存ELF格式和調試信息。這個文件一般用于燒錄到用戶開發板中; 
u-boot.srec——Motorola S-Record格式,可以通過串行口下載到開發板中。
 
[4]開始配置U BOOT
1)給自己板子個公司起個名,我的公司叫T2T 板子叫TT,剛才那個例子公司名DAVE板子名B2
以B2板子的程序做為模板來做,省很多工作 
#cd u-boot-1.1.2//進U BOOT目錄
#cd board //進BOARD目錄,該目錄下存放各種公司的開發板,但44B0的好象只有一種B2
#cp -R dave T2T (復制 并且改名) 
#cd T2T
#mv B2 TT (復制 并且改名) 
#cd TT 
# mv B2.c TT.c 
修改TT里面的Makefile, 把B2改成TT,編譯時如果報的其它類似找不到B2的錯誤也是把相應的B2改成TT來處理。
修改T2T/TT/config.mk
  TEXT_BASE = 0x0c1000000
修改T2T/TT/Makefile
  將所有的B2改為TT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看视频一区| 国产精品自在在线| 欧美日韩午夜在线视频| 亚洲国产日日夜夜| 91精品免费观看| 久草在线在线精品观看| 国产欧美一区二区精品仙草咪| 粉嫩aⅴ一区二区三区四区五区| 国产精品欧美久久久久一区二区| 色综合天天狠狠| 日韩精品高清不卡| 久久人人超碰精品| 色悠悠亚洲一区二区| 青青草国产成人99久久| 国产蜜臀97一区二区三区 | 亚洲三级小视频| 欧美调教femdomvk| 国内欧美视频一区二区| 亚洲欧洲另类国产综合| 欧美三级日本三级少妇99| 激情五月播播久久久精品| 中文字幕一区在线观看| 91麻豆精品国产综合久久久久久 | 欧美—级在线免费片| 日韩一区二区免费高清| 国产成人精品亚洲日本在线桃色| 亚洲伦理在线精品| 2024国产精品视频| 色国产精品一区在线观看| 久久成人免费日本黄色| 亚洲综合免费观看高清完整版| 日韩三级高清在线| 一本色道**综合亚洲精品蜜桃冫| 美女视频黄 久久| 亚洲欧洲成人自拍| 亚洲精品一区二区三区影院| 在线观看免费一区| 国产精品一区二区免费不卡| 亚洲成人777| 国产精品久久久久久久午夜片| 91精品欧美福利在线观看| 91麻豆蜜桃一区二区三区| 久久99精品国产.久久久久久 | 欧美精品在欧美一区二区少妇| 国产精品影视在线观看| 青青国产91久久久久久| 亚洲精品福利视频网站| 国产精品久久午夜夜伦鲁鲁| 欧美一区二区三区日韩| 欧洲亚洲国产日韩| 成人av电影免费在线播放| 精品一区二区三区免费观看| 亚洲成人免费电影| 一区二区三区日韩欧美精品| 亚洲欧美在线观看| 国产亚洲欧美激情| 26uuu精品一区二区在线观看| 欧美日韩成人综合| 欧美色网一区二区| 日本韩国欧美在线| 91蜜桃视频在线| 91美女片黄在线观看91美女| thepron国产精品| 高清国产午夜精品久久久久久| 麻豆国产欧美一区二区三区| 丝袜美腿成人在线| 日韩精品免费专区| 免费高清在线一区| 免费精品视频在线| 久久99精品久久只有精品| 久久国产三级精品| 久久99国内精品| 精品一区二区三区视频在线观看| 日韩电影免费一区| 麻豆高清免费国产一区| 日本不卡123| 韩国女主播一区二区三区| 蜜桃视频在线观看一区二区| 秋霞国产午夜精品免费视频| 蜜芽一区二区三区| 国产精品正在播放| 高清久久久久久| 91亚洲永久精品| 欧美视频一区二区| 国产精品乱人伦一区二区| 欧美国产精品中文字幕| 国产午夜精品一区二区三区视频| 欧美激情自拍偷拍| 亚洲欧美国产三级| 亚洲国产毛片aaaaa无费看| 亚洲第一精品在线| 久久国内精品视频| 丁香天五香天堂综合| 97精品国产露脸对白| 在线看国产一区| 欧美色图在线观看| 精品国产乱码久久久久久久 | 成人aa视频在线观看| av影院午夜一区| 色婷婷久久99综合精品jk白丝| 欧美亚洲动漫精品| 精品国产99国产精品| 国产欧美日韩不卡| 一二三区精品视频| 久久99久久99| 色婷婷国产精品久久包臀| 欧美电影在线免费观看| 久久夜色精品国产噜噜av| 中文字幕在线一区免费| 天堂一区二区在线| 高清av一区二区| 欧美精品在线一区二区三区| 久久久电影一区二区三区| 亚洲女同ⅹxx女同tv| 日产国产高清一区二区三区| 成人激情视频网站| 777久久久精品| 国产精品欧美精品| 免费日韩伦理电影| 91在线看国产| 精品国产一区二区精华 | 亚洲另类在线视频| 成人高清在线视频| 91精品国产乱| 怡红院av一区二区三区| 美女视频黄 久久| 91福利国产成人精品照片| 精品乱人伦小说| 亚洲最快最全在线视频| 狠狠色丁香久久婷婷综合_中 | 国产日韩欧美综合在线| 日韩国产精品久久久| 91麻豆视频网站| 国产亚洲精久久久久久| 午夜精品视频一区| 91在线无精精品入口| 国产人成一区二区三区影院| 日本伊人精品一区二区三区观看方式| 成人av综合一区| 久久久久久久综合| 久久99国产乱子伦精品免费| 欧美日韩激情一区二区| 亚洲女同一区二区| 99视频一区二区| 日本一区二区三区视频视频| 另类小说图片综合网| 欧美人与z0zoxxxx视频| 亚洲精品成人悠悠色影视| 福利91精品一区二区三区| 久久久久久久久久美女| 久久se精品一区精品二区| 欧美三区在线观看| 亚洲一区二区视频在线观看| 91免费看视频| 亚洲视频一二三| 91视频一区二区三区| 国产精品久久久久9999吃药| 国产一区二区导航在线播放| 欧美精品一区二区久久久| 久久91精品久久久久久秒播| 日韩午夜精品电影| 丰满放荡岳乱妇91ww| 久久综合中文字幕| 国产精品系列在线观看| 久久久欧美精品sm网站| 国产精品99久久久久久似苏梦涵| 欧美mv日韩mv亚洲| 国产自产高清不卡| 国产午夜亚洲精品午夜鲁丝片| 国产成人精品1024| 国产精品沙发午睡系列990531| 成人aaaa免费全部观看| 亚洲啪啪综合av一区二区三区| 在线观看一区日韩| 日日夜夜免费精品视频| 日韩午夜在线观看视频| 国产精品一区二区在线播放 | 一区二区三区色| 欧美日韩精品一区二区在线播放| 天天综合网 天天综合色| 欧美一区二区免费视频| 久草中文综合在线| 中文字幕在线视频一区| 欧洲av一区二区嗯嗯嗯啊| 日本视频一区二区三区| 精品国产电影一区二区| 成人免费视频一区二区| 亚洲激情中文1区| 91精品国产手机| 国产成人午夜视频| 亚洲柠檬福利资源导航| 91精品国产欧美日韩| 粉嫩av一区二区三区粉嫩| 亚洲视频网在线直播| 91精品国产综合久久久蜜臀图片 | 日本特黄久久久高潮| 国产日韩欧美麻豆| 欧美主播一区二区三区| 美女视频免费一区| 中文字幕一区二区三区不卡在线|