?? c工程模板使用說明.txt
字號:
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跳線 導致晶體不陣~~~
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -