(一)keil4 MDK 开发环境下编写裸机程序 (参考杨铸 北航) (开发板只需要连接JLNK 就行了)
首先用的是 keil4 位与 ( F:\ARM+LINUX\MDK-ARM_v4.10.exe )
1、 新建工程名project 为 led circle ,放在 我的文档\ ledcircle 文件夹下面
选择目标板为 s3c2440 , 不添加 初始化启动代码 ,选否
2、编写代码(这里直接用的是光盘或者 D:\我的文档\mdk )下面的 三个源文件的代码:
修改了两处,不然运行不起来 BX lr 替换了原来的 mov pc, lr
3、 把 编写好的代码 全部添加到 工程下面
4、可以编译了,成功但是没有生成 HEX 文件,但是没有对工程进行配置,还需要配置。
选择片上 ROM 和 RAM ,生成 HEX
链接器 配置如下: R\W是读写模式,R\O是只读模式
R/O BASe 是ROM开始地址 0x000000
R/W Base 是SDRAM开始地址 0x30000000
scatter File : 用于分散加载文件选项,(具体参考 ARM 体系与结构 11 章): 当然这个文件不一定 要放在 工程文件夹里面,这里我们用的是 mdk 下面的 ledcirclr.sct
DEBUG : 配置调试相关信息: 使用 JLNK
Utilities:该页是 配置 Debug 一致的驱动
大功告成: 唯一与书那个不同的是。没有用到 init.ini 文件,因为不知道在哪里啊。 但是后面发现可以运行的,所以不管了。
2015 12 29 20:28:31 这个 init文件 就是 .\JLinkArm_Target 1.ini 里面会自动生成
5、开始编译生成调试。再也不要用 ADS1.2 那坑壁了。
哇,成功了,接下来分析代码。 见下一面。还有这里很傻叉的是 把程序应该是放在 norflash 里面调试的,最好不要这样做,为什么呢? 你懂的,那有什么办法呢,百度啊,问Google大神。
——————————————————————————————————————————————————————————————————————————
2015 12 29 重新做的时候,出现问题了 ,按debug 按钮,没反应,出现错误。
解决方案: keil 软件下面的设置,一定不能出错就不会有问题,一定要设置好了。