登录 注册
当前位置:主页 > 资源下载 > 10 > 轻松掌握ARM,就选ARM 44B0 C模板

轻松掌握ARM,就选ARM 44B0 C模板

  • 更新:2024-10-21 17:43:02
  • 大小:31KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:硬件开发 - 开发技术
  • 格式:RAR

资源介绍

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开发板使用手册,写的还不错