文件名称:ARM 44B0 C模板 轻松掌握ARM
文件大小:31KB
文件格式:RAR
更新时间:2012-06-19 07:21:17
ARM 44B0 C模板 轻松掌握ARM
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开发板使用手册,写的还不错
【文件预览】:
44B0
----44B0()
--------44b0.INI(565B)
--------SRC()
--------关于RO RW地址.txt(832B)
--------INC()
--------ReadMe.txt(2KB)
--------TT44b0.ses(3KB)