使用ads C工程使用说明的方法
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信号不是标准的
本文地址:http://www.45fan.com/dnjc/71090.html