zoukankan      html  css  js  c++  java
  • 用KeilMDK开发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, 我就不多说啦 ^_^

  • 相关阅读:
    WRF WPS预处理
    CVS安装
    Linux窗口最小化消失,任务栏上无法找到的解决方法
    NCARG安装配置出现error while loading shared libraries: libg2c.so.0问题额解决办法
    Netcdf安装
    Embedding R-generated Interactive HTML pages in MS PowerPoint(转)
    The leaflet package for online mapping in R(转)
    Some 3D Graphics (rgl) for Classification with Splines and Logistic Regression (from The Elements of Statistical Learning)(转)
    What does a Bayes factor feel like?(转)
    Weka算法介绍
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/2548863.html
Copyright © 2011-2022 走看看