开发板也差不多买了半年了, 以前照着教程用的是软件是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, 我就不多说啦 ^_^

转载:http://blog.csdn.net/wo519074786/article/details/8082258

转载于:https://www.cnblogs.com/Hdd-Yi/archive/2013/04/19/3030157.html

用Keil-MDK开发TQ2440裸机程序入门教程相关推荐

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

    觉得此编文章很详实,故转载之,来自http://www.amobbs.com/thread-5281512-1-1.html 开发板也差不多买了半年了, 以前照着教程用的是软件是ADS,在win7下老 ...

  2. 开发微信小程序入门教程,含破解工具

    2016年09月21日晚 微信发不了微信"小程序"的内测版,一时间整个互联网都炸了锅.个大新闻.论坛都在讨论这个事情. 作为互联网的一猿,我们怎能不紧跟时代的脚步.于是第二天上午也 ...

  3. ARM Keil MDK开发STM32工程模板

    使用Keil MDK开发STM32的工程模板 源代码工程 https://github.com/chenhaifeng2016/Band

  4. Keil(MDK)开发软件及STM32芯片包官网下载地址

    Keil(MDK)开发软件官网下载地址: http://www.keil.com/download/product/ STM32芯片包官网下载地址: http://www.keil.com/dd2/p ...

  5. CentOS开发ASP.NET Core入门教程

    因为之前一直没怎么玩过CentOS,大多数时间都是使用Win10进行开发,然后程序都部署在Window Server2008或者Window Server2012上!因此想尝试下Linux系统.最后经 ...

  6. 微信小程序入门教程+案例demo

    微信小程序入门教程+案例demo 尊重原创,转载请注明出处:原文查看惊喜更多 http://blog.csdn.net/qq137722697 首先摆在好姿态,--微信小程序开发也就那么回事.你只需要 ...

  7. 从零开始的微信小程序入门教程(一)

    从零开始的微信小程序入门教程(一) 之前说要和同事一起开发个微信小程序项目,现在也在界面设计,功能定位等需求上开始实施了.所以在还未正式写项目前,打算在空闲时间学习下小程序.本意是在学习过程中结合实践 ...

  8. 从零开始的微信小程序入门教程

    之前说要和同事一起开发个微信小程序项目,现在也在界面设计,功能定位等需求上开始实施了.所以在还未正式写项目前,打算在空闲时间学习下小程序.本意是在学习过程中结合实践整理出一个较为入门且不是很厚的教程, ...

  9. 小程序入门教程之微信-02-页面样式

    这个系列的,上一篇教程教大家写了一个最简单的 Hello world 微信小程序. 但是,那只是一个裸页面,并不好看.今天接着往下讲,如何为这个页面添加样式,使它看上去更美观,教大家写出实际可以使用的 ...

  10. 微信小程序入门教程---列表渲染多层嵌套循环及wx:key的使用(双层for循环)

    前言 入门教程之列表渲染多层嵌套循环,目前官方的文档里,主要是一维数组列表渲染的案例,还是比较简单单一,给刚入门的童鞋还是无从入手的感觉. <view wx:for="{{items} ...

最新文章

  1. 用java代码实现Singleton,为什么在Java代码中实现Singleton模式(有时被认为是Java世界中的反模式)?...
  2. vue2.0组件之间的通信
  3. redmine 一键安装
  4. 云栖大会第二天:ACK Anywhere 来了
  5. 腾讯视频如何缓存视频
  6. NLP:语言模型与n元语法
  7. 反恐精英的服务器存在哪个文件夹,反恐精英地图放在哪里 CS1.6地图放置位置详细介绍_游侠网...
  8. vSphere 6.5 Upgrade Considerations Part-2 (vSphere 6.5升级注意事项第2部分)
  9. touchend与click顺序
  10. 10.12.1 安装cocoapods及使用详解
  11. spring session+redis配置
  12. 惠普HP Photosmart C4200 打印机驱动
  13. 2022-2028年中国半导体照明(LED)产业投资分析及前景预测报告(全卷)
  14. 计算机故障排除原则和方法
  15. 微信小程序笔记 -- 数据库
  16. 安卓Tv端App开发与手机端的开发的区别
  17. 《运动改造大脑》总结
  18. CTS测试中testYuvBurst[1]项
  19. 开心一下,39 个奇葩代码注释,看完笑哭了
  20. aardio - 伪装进程测试

热门文章

  1. Pytorch和Torchvision版本对应
  2. cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function ‘line‘ 报错解决
  3. 解决python使用images2gif模块时候报错:Type error Argument 1 must be string or buffer not none
  4. java 整数相乘_Java中两个int相乘的结果是怎么算的?
  5. plsql快捷执行方式_UG编程必备的快捷键,收藏转发!
  6. 阿里云 ubuntu 安装 curl
  7. 基于SSM的图书商城
  8. override java field_JAVA方法的重载(overload)和覆盖(override)
  9. 找不到或是无法加载主类 不是原创
  10. java过滤集合,java – 如何通过交集过滤集合集合?