用Keil-MDK开发TQ2440裸机程序入门教程——LED流水灯实现

觉得此编文章很详实,故转载之,来自http://www.amobbs.com/thread-5281512-1-1.html

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

主要内容有:
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 Files\SEGGER\JLinkARM_V408e\ETC\JFlash目录下的同名文件(假设您是把这个软件安装到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 Files\Keil\ARM\Boards\Samsung\S3C2440\RTX_Blinky\Ext_RAM.ini
直接复制到你的工程目录下, 然后还要做一点修改, 如果不修改, 就调试不了, 会出现这样的情况

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

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

Note:update target before degugging de 选项是不选的,我第一眼看以为是要勾上的!!!!



(原文件名: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, 我就不多说啦 ^_^

转载于:https://www.cnblogs.com/CodeWorkerLiMing/archive/2012/06/14/2548863.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于量子计算,你应该知道的七个事实

来源:资本实验室摘要:在很多人眼中,量子计算机被认为能够完成经典计算机所不能完成的任务。聚焦前沿科技创新与传统产业升级在很多人眼中,量子计算机被认为能够完成经典计算机所不能完成的任务。事实上,如果量子计算机…

机器学习帮助人类找到最硬的过渡金属氮化物

来源:中国科学杂志社摘要:南京大学物理学院孙建教授和王慧田教授领导的研究团队发展了机器学习加速晶体结构搜索的方法,并用其预测了一种超硬的钨氮化合物。机器学习算法在很多领域取得了令人瞩目的进步,从而广受人们关注&#xf…

WEB攻防实战篇,思维导图

转载于:https://www.cnblogs.com/sin4/archive/2012/06/16/2551603.html

二维数组按行和按列遍历的效率

按行遍历的效率大概是是按列遍历的0.5倍 在c语言中,数组在内存中是按行存储的,按行遍历时可以由指向数组第一个数的指针一直向后遍历,由于二维数组的内存地址是连续的,当前行的尾与下一行的头相邻,所以可以直接到下一行…

解读《自适应机器人交互白皮书》:机器人交互需要突破性技术

来源:机器人创新生态摘要:7月11日雷克大会,英特尔中国研究院机器人交互实验室研发总监任海兵在演讲时,就白皮书中的内容进行了重点解读。个人服务机器人在近年来随着人工智能的快速发展开始得到不少关注。个人服务机器人是否真正能…

最长升序子串1231

题目与解析 给定n个数字,在这n个数字中找出最长上升子序列。 那么什么是上升子序列呢? 上升子序列就是在一个数列中递增的部分,不一定是连续的,比如说 图中的24678和24679都是数列24635798的上升子序列 解题思路 就按图上2 4 …

科学革命与科学教科书

来源:《出版科学》2018年第4期摘要:借助科学哲学的反思,加上科学家和出版人的创新实践,一定能够出现既能促进常规科学研究、又能为科学革命做出某些准备的新型科学教科书。《科学革命的结构》托马斯 • 库恩著,金吾伦、…

物联网可应用于十大行业嘛?

来源:亿欧智库摘要:近些年来,全球经济增长乏力,物联网已变成了各国经济发展的新动力。基于此,亿欧智库近日将发布一份新的报告《2018物联网行业应用研究报告》,报告总结出了物联网的十大应用行业&#xff0…

浅析死锁

什么是死锁? 死锁就是两个或多个进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象,当进程处于这种状态时,如果没有外力的作用,这些进程都无法继续向前进行。这是操作系统层面的一个错误&#xff…

2018年全球AI突破性技术TOP10

来源:艾瑞网摘要:聪明的科技公司都不再单一的专注于自己的传统业务,而是着眼于未来,不断创新技术,跨界融合打造一个整合的生态系统。人工智能是个高科技、宽领域、多维度、跨学科的集大成者,从立足大数据、…

全球11个行业、71家知名企业的创新Lab与布局

来源:CBInsights新技术的革新引发了商业世界重构的浪潮,在这一波由人工智能引领的创新潮流里唯有拥抱变化才能不为时代淘汰,顺应趋势取得更大的发展。新技术的革新引发了商业世界重构的浪潮,在这一波由人工智能引领的创新潮流里唯…

组队竞赛

题目解析: 队伍的水平值等于该队伍队员中第二高水平值,为了所有队伍的水平值总和最大的解法,也就是说每个队伍的第二个值是尽可能大的值。所以实际值把最大值放到最右边,最小是放到最左边。 解题思路: 本题的主要思路是…

【SD】差异值 生成 同一人物 制作 表情包 【1】

说明:只对AI生成的人物,效果稳定。 Reference差异值 生成表情 首先生成一张图片。 测试命令:1 man,chibi,full body, 模型:envyclarityxl02_v10.safetensors [f6c13197db] 种子:2704867166 》》测试命令&#xff1a…

MySQL索引原理、失效情况

声明:本文是小编在学习过程中,东拼西凑整理,如有雷同,纯属借鉴。 Mysql5.7的版本, InnoDB引擎 目录 1 mysql索引知识 1.1 BTree索引 1.2 主键索引和普通索引的区别 1.3 唯一索引vs普通索引 2 mysql索引优化 2.1 查看索引使…

2018年人工智能全景图与发展趋势分析

来源:专知摘要:风险资本家马特图尔克(Matt Turck)最近发布文章,能力越大,责任越大,介绍了大数据与人工智能在2018年发展的趋势,并发布了全景图,涵盖基础架构、开源框架、…

李晨 | 无人机市场浅析

来源:无人机作者简介:西北工业大学民用无人机研发中心副主任无人机市场浅析无人机市场分类过去无人机一直是军用为主,不论是伊拉克战争还是好莱坞大片,无人机在执行军事任务方面起到了不可替代的作用。在2010年以前,军…

linux 监控网络IO、磁盘、CPU、内存

linux 监控网络IO、磁盘、CPU、内存 CPU:vmstat ,sar –u,top磁盘IO:iostat –xd,sar –d,top网络IO:iftop -n,ifstat,dstat –nt,sar -n DEV 2 3磁盘容量&a…

不要二

题目解析: 本题的重点是要读懂题意,并且需要多读两遍,才能读懂,本题本质就是在二维数组中每个坐标去放蛋糕, 一个坐标位置放了蛋糕,跟他欧几里得距离为2的位置不能放蛋糕,这个就是关键点。对于两…

干货|100张PPT讲透工业机器人的机械结构

来源:机电微学堂未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网&…

基础理论研究是人工智能持续发展的保证

来源:图灵人工智能摘要: 人工智能的主流技术的发展大致经历了三个重要的历程。人工智能的主流技术的发展大致经历了三个重要的历程。1956-1965年,人工智能的形成期,强调推理的作用。一般认为只要机器被赋予逻辑推理能力就可以实现…