ADS用C工程模板使用说明

发 布 时 间 : 2008-11-17 来 源 : 立宇泰论坛 作 者 : mamajinco 浏 览 :

ADS用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跳线 导致晶体不阵~~~

诚挚的希望大家提意见
http://mamajinco.blog.com.cn
附件在我BLOG里 大家可以去下



上一篇:ARMSYS44B0上挂载NFS全程图解 下一篇:S3C44B0X开发板上flash(SST39VF160)建立jffs2文件系统方法