预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共54页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ARM笔记 板子根本元件清单说一下吧,方便其他人参考 CPU:44B0 RAM:HY57V641620 ROM:AM29LV160 NET:8019 USB:D12 KEY:ZLG7290 LCD:SHARPLM7M632 目前为止本人做的工作 1板子的硬件调试是跟着软件来的 2ADSAXD调试环境搭建 3FLSH烧写笔记 4UBOOT移植笔记 5UCLINUX编译下载简单笔记 6字符设备驱动开发 C工程模板使用说明 本模板用于使44B0运行C程序 一般说来汇编用来初始化之后跳到C入口MAIN函数处 一、关于工程文件 1、本目录下建工程文件〔.MCP〕 2、工程文件至少包含3个文件44binit.s44blib_a.s*.c(自己的c文件) 3、中开头局部INCLUDE两个文件用于根本设置 注意这两个文件的存放目录,即让INCLUDE找到它们 4、以上文件除自己的c文件之外均为三星公版,不需修改 二、关于CodeWarrior设置 1、DebugRelSetting里一般设置几项 1〕TargetSetting->Linker里选ARMLinker 用于设置连接 2〕TargetSetting->Post-Linker选ARMfromELF 用于生成FLASH烧录代码〔只在RAM里运行而不烧录那么不用〕 3〕ARMLinker->ROBASE里添地址 根据板子来,这板子上RAM接的NSCS6,地址0XC000000-0XC7FFFFF; FLASH接的NSCS0,地址0X00000-0XFFFFF 地址分配原理见44B0数据手册内存管理那章的内存分配图 想在RAM里调试就添0XC000000〔比方0XC008000〕的地址 但是注意的是地址不要添过界,比方想在RAM里调试却添0X00000000程序可以进入C代码但没法运行 再有 想生成用于烧写得FLASH代码RO地址就需要设置为0X0000000开始的而且LAYOUT中也必须设置为初始加载文件 以上FLASH测试结论经FLASHPGM测试 而且FLASHPGM不支持BIN文件只支持INTEL得HEX文件 4〕RW可以添可以不添一般RO解释为数据段,RW解释为数据段 有时快乐了就添上0XC100000〔RAM调试时〕 5〕ARMLinker->OPTION->Imageentrypoint选择0xc000000〔RAM调试时〕 6〕ARMLinker->Layout->Object/Symbol里可以添工程起始程序44BINIT.O注意是.O不是.S和.0〔零〕 也可以不添 三、AXD设置 1〕按照BANYANGT或者ARM7正确设置调试代理 BANYANGT、ARM7、H-JTAG都是代理,装哪个无所谓,一般认为BANYANGT好,但无论哪个调试之前必须运行代理 2〕在option->configureinterface里在sessionfile选择44b0.ini这个文件是初始化44b0存放器的,必须运行 3〕Options->ConfigueTarget里本来有两项,上面上是硬件调试,下面是软件仿真〔在电脑上仿真〕 用ARM7就改第一项〔按照ARM7说明改〕,用BANYANGT就按照BANYANGT说明在下面再加个BANYANGT的驱动 4〕在general标签页选择attach,然后确定,最后在file->savesession,关闭AXD〔在CodeWarrior里一DEBUG就自动翻开〕 四、关于JTAG 1〕JTAG一般有几种SDT和WIGGLER我的是WIGGLER的,两者区别主要在并口25针定义不一样〔不算复位脚〕,与板子上JTAG相连的脚不是区分JTAG类型的标志 只要和44B0对上就行 2〕JTAG小板上与44B0大板上JTAH跳线RAM调试时都不用接烧FLASH才用到 3〕网上流传的JTAG小板上也有不用RST信号的版本,无所谓,RST信号不是标准的 五、另外 开始的时候犯了低级错误,没设置OM123跳线导致晶体不阵~~~ 其他的看万龙的ARM开发板使用手册,写的还不错 模板: 这局部可能过于简单,很少有人写,但是对于不了解ARM开发过程的人真的简单吗?我是菜鸟,在这卡了3天:〕 一般说来有几种方法, 1〕板子原来的BOOTLOADER程序或者为烧写而编写的专用ADS程序 比拟高级而快速的方法,很多现成的开发板都用这种方法〔相对来说有实力的公司〕,此状态下CPU是运行的,所以速度快。 比方ZLG的,但是对于初学或者不准备细研究硬件的人来说就比拟麻烦,因为要编写〔改写〕ADS烧写程序。愿意的人可以看看。 2〕FLUTED 和FLASHPGM一样,使用的好象叫边界扫描法,CPU此时并不运行,因此烧写的比拟