bouncer_chen 发表于 2005-6-3 12:42:54

step by step 学习手记-ADS下的开发(一)

运行了可以下载的程序之后就开始考虑如何自己来写程序(这里犯了一个错误,没有正确理解liming写的make,稍后再加说明),vmware下的linux还不会玩,对linux比较熟,但是没有在linux下安装使用过仿真器之类的东东,先从window的开始(微软真因该感谢盗版,以至于现在一做东西就喜欢先从window环境开始)。

看ADS的手册,ADS1.2解压之后有个子文件夹,是pdf,其中有片文章“ADS_GETTINGSTARTED_D.PDF”, Charpter 3 是“Creating an Application”,跟上照办。参考led_blink.s,写一个自己的东东,内容一致(直接下载led_blink.bin,运行时发现等常亮,似乎delay的时间不够,具体没有分析)。首先运行ADS附带的CodeWarrior构建项目并进行编译链接生成elf文件运行AXD进行调试(关于AXD中仿真器的配置可以查看banyan相关资料,注意首先需要安装banyan仿真器)。在AXD中,首先运行cmd命令,输入如下的arm存储空间配置信息:
setmem 0x3ff40040xffffffff32
setmem 0x3ff40080xffffffff32
setmem 0x3ff00000xe7ffffa032
setmem 0x3ff30100x0000300232
setmem 0x3ff30140x1104006032
setmem 0x3ff30180x0000006032
setmem 0x3ff301c0x0000006032
setmem 0x3ff30200x0000006032
setmem 0x3ff30240x0000006032
setmem 0x3ff30280x0000006032
setmem 0x3ff302c0x1000038032
setmem 0x3ff30300x0000000032
setmem 0x3ff30340x0000000032
setmem 0x3ff30380x0000000032
setmem 0x3ff303c0xce27836032
然后才可以运行程序。
结果成功blink led,因为写程序时对所有的IO端口进行了控制,led一闪一闪的同时,喇叭也忽叫忽叫的。 8-)

limingth 发表于 2005-6-3 14:00:20

老实说,我至今还没怎么用过 cmd 方式来运行程序呢,这下我也长见识了,呵呵:-D

wenbbo 发表于 2005-6-14 16:50:39

:? 好象在用axd调试程序时,不能把程序加载到一些无法写入的地址,这些地址可以在axd中测试出来。

wenbbo 发表于 2005-6-15 08:52:04

banyan在初始化samsung4510时,把rom地址设在0x0~0x200000(2M大小),sdram地址0x1000000(16M)~0x1400000(20M),共4M大小。用axd调试时,应该先在ads中的linker内把地址RO指定在sdram段中,axd的调试原理是把程序写入sdram中,调试时,axd不能把程序写入其它地址。调整RO地址,或重映射sdram均可达到调试的目的。但重映射的sdram为0x0开始时,段实用地址较小。bouncer chen如果把其它无用的命令删去,可能会更清楚些。
页: [1]
查看完整版本: step by step 学习手记-ADS下的开发(一)