用Keil MDK开发TQ2440裸机程序入门教程 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

用Keil MDK开发TQ2440裸机程序入门教程

点滴 admin 11年前 (2013-12-31) 2512次浏览 已收录 扫描二维码

开发板也差不多买了半年了, 以前照着教程用的是软件是ADS,在win7下老是崩溃, 后来才知道ADS早就不提供支持了, ADS的公司怎样怎样了…(此处省略300..)
然后我就捣鼓着怎么转到KEIL上来, 具体的例程代码我不会移植, 不过裸机开发是没什么问题的了, 在网上也找了些教程, 因为我比较菜, 然后教程又不是针对TQ2440的, 也有针对TQ2440的, 内容不全, 前段时间一直看不懂, 无奈, 捣鼓了好长时间, 终于明白了, 然后就想写一份文档, 造福一下和我一样用TQ2440的后人~
先上传示例工程点击此处下载ourdev_704996U2860Q.zip(文件大小:74K)(原文件名:JLINKDemo.zip)

主要内容有:
1 准备工作
2.JLINK SDRAM调试
3.JLINK 烧写NOR Flash
4.生成下载到NAND的bin文件(这个不需要JLINK)

一. 准备工作:

1. JLINK驱动(如果只是打算生成下载到nand的bin文件的话就不用看这个了)

1). 首先安装驱动

2). 阅读此目录下的readme文档, 用Flash.csv 支持更多Nor Flash的配置文件替换C:Program FilesSEGGERJLinkARM_V408eETCJFlash目录下的同名文件(假设您是把这个软件安装到C盘的)

(原文件名:1.png)
对JLINK不熟可以参考TQ2440的使用手册第四章, TQ2440烧写说明, 4.1.3 使用Jlink-Flasher烧写

2. 创建工程和编写代码

(原文件名:2.png)


(原文件名:3.png)
选择CPU, 然后点OK

(原文件名:4.png)
复制启动代码到我的工程文件里, 选是,

(原文件名:5.png)
然后工程就建好了

(原文件名:6.png)
启动代码就在S3C2440.s里面, 在Keil里面是可以可视化自由配置的, 打开S3C2440.s你会看到很多的汇编代码, 呵呵, 我也不喜欢汇编. 然后点下面的配置向导
(原文件名:7.jpg)
先都打个勾吧, 其实我也不知道这样配置好不好,

(原文件名:8.jpg)
对了, LED对应的IO口要设置为输出

(原文件名:9.png)
建个main.c文件, 写你的工程代码咯~这里就以闪烁灯为例啦
新建文件, 其实不太想说这个了, 考虑到可能还真有人没用过Keil的…
(原文件名:10.png)
点保存, 文件名为main.c

(原文件名:1.png)

(原文件名:1.png)
好了, 开始写代码了, 噢, 还要先把main.c文件添加到项目里来咧

(原文件名:1.png)选择main.c, 鼠标单击Add
(原文件名:1.png)工程目录里就有这个东东了
(原文件名:1.png)
下面是代码:
注意到我在第一句打了个断点, 呵呵, 无奈, 之前调试的时候上系统启动后自动在main函数入口停下来的指令不管用, 所以就手动加了个断点了,然后就可以保存文件啦

(原文件名:1.png)
设置工程:
(原文件名:1.png)
这一项玩过51的就再熟不过了
(原文件名:1.png)
这个设置不重要, 习惯而已
(原文件名:1.png)
准备完啦, 继续~

二. JLINK在SDRAM中调试TQ2440

用SDRAM调试是一个不错的方式, 可以有效的减少Flash的擦写, 方便又快捷, 呵呵, 不?嗦了, 直接进入正题~
在SDRAM里面调试的时候是这样设置的, 主要是ROM1和RAM1的起始地址

(原文件名:1.png)

(原文件名:1.png)
对了, 还要复制一个初始化文件,文件在Keil的安装目录里找, 我这里是D:Program FilesKeilARMBoardsSamsungS3C2440RTX_BlinkyExt_RAM.ini
直接复制到你的工程目录下, 然后还要做一点修改, 如果不修改, 就调试不了, 会出现这样的情况

(原文件名:1.png)
工程输出的.axf文件(我也不清楚是用来干啥的)在工程目录下的Output文件夹里, 所以可以用编辑工具(记事本就行了)打开来这样修改:

(原文件名:1.png)
然后添加这个文件,
(原文件名:1.png)
呃, 突然发现少做了一件事…这样就OK了, 设置utilities这里添加了烧写算法的, 其实在烧NOR Flash那里我才需要这个, 这个算法是不能擦除的, 但是这里我找不到合适的算法, 就用这个相近的了, 要擦除的话就用JFlash

(原文件名:1.png)
现在可以按F7编译了, 然后用你的JLINK连接好TQ2440开发板和你的电脑, TQ2440要先上电哦~最后在KEIL里面点调试就行了~

(原文件名:1.png)
然后你就可以单步调试什么的了, 主要是由这里控制的, 我就不多说了, 自己捣鼓捣鼓去吧~

(原文件名:1.png)

三. 烧写NOR Flash

烧写NOR Flash时要这样配置:

(原文件名:1.png)
然后是这个, 再?嗦一下, 设置utilities, 这里添加了烧写算法的, 这个算法是只能用来编程不能擦除的, 但是这里我找不到合适的算法, 就用这个相近的了, 要擦除的话就用JFlash

(原文件名:1.png)
按F7编译, 然后打开JFlash, JFlash的设置参考TQ2440的用户手册哈,然后

(原文件名:1.png)
擦除…
(原文件名:1.png)
回到MDK, LOAD, 就可以看到下载成功了

(原文件名:1.png)

四. 生成下载到NAND的bin文件

首先, TQ2440开发板出厂的时候是有烧有BootLoader的, 我也不懂BootLoader的原理, 所以直接用那个就行了. 如果刚刚烧过NOR Flash, 那么BootLoader就没了, 要重新烧进去了, 这个可以参考TQ2440的使用手册第四章, TQ2440烧写说明, 4.1.3 使用Jlink-Flasher烧写

然后这个是设置
(原文件名:1.png)
接着, 让keil在生成后运行生成bin文件的用户程序,

(原文件名:1.png)
然后编译就可以生成需要的bin文件了, 就在你的工程目录下, 下载的方式和TQ2440裸奔教程那里一开始说的是一样的, 用secureCRT和DNW, 我就不多说啦 ^_^

这个是文档~

点击此处下载ourdev_705047CFY5NE.doc(文件大小:1020K)(原文件名:MDK与TQ2440之-JLINK在SDRAM中调试TQ2440-JLINK下载程序到NOR-生成下载到NAND的bin文件.doc)

顺便上传参考的几个资料, 其实都大同小异
注意第一个不是txt格式的, 是docx格式的, 所以下载下来要自己改格式
点击此处下载ourdev_705103A7I6EB.txt(文件大小:151K)(原文件名:Keil_MDK_生成BIN_过程.docx)

点击此处下载ourdev_705104UW6SOB.pdf(文件大小:1.19M)(原文件名:RealView MDK Jlink Mini2440测试程序移植(成功).pdf)

点击此处下载ourdev_705105KS02BN.pdf(文件大小:821K)(原文件名:RealView_MDK_2440_快速开发快速入门.pdf)

点击此处下载ourdev_705106RXA7Q7.pdf(文件大小:287K)(原文件名:用RealView_MDK调试TQ2440.pdf)

另外这个帖子也有提供资料,
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3361280bbs_page_no=1bbs_id=1032<br />
那位楼主说还可以直接下载到NAND的, 因为我菜, 所以看了他的说明也不会用…有时间再研究研究…

说明一下, 因为我不会移植TQ2440的测试程序
所以建议不要把程序烧到NAND flash下, 因为NAND FLASH是没有运行程序的能力的, 如果你不会写NAND下的启动代码, 程序最大只能有4K(如果从NAND启动, 上电后CPU自动把NAND里的前4K内容复制到内部的存储器里执行)
但是TQ2440的测试程序可以移植到MDK并烧到NOR里面(需要用JLINK或JTAG烧程序的),
如果纯粹是自己写的裸机程序的话, NOR的容量(2M)已经完全够你用的了, 写个上十K的程序都可以把你累死…

怎样移植到MDK并烧到NOR我就不写了(期末复习, 实在是不好意思…), 这个帖子里有示例程序, 也有参考资料
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5302644bbs_id=9999

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5306535bbs_page_no=1search_mode=3search_text=Pony279bbs_id=9999

移植测试程序的内容已经写好了…

再来?嗦一下:
注意: 不建议用这个教程的方法去生成下载到NAND flash的bin文件(因为这里程序最大只可以有4K, 原因请参考教程2), 照着教程操作一次熟悉一下就好,
如果要生成下载到nand flash的bin 文件并移植TQ2440配套的测试程序, 请参考教程2
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5306535bbs_id=9999 (详细内容已贴到3楼)
喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。