米尔淘宝店| 米尔电子| 米尔微博| English

如何使用KEIL MDK烧写VIVI到S3C2410

问题类别:ARM 开发工具 > MDK-ARM 浏览次数:6540
发布日期:2012-04-23 17:40:06 文章来源:米尔科技
回复日期:2013-11-28 14:11:11

环境说明

KEIL MDK 3.05及以上

分析描述

一般情况下,VIVI都是被编译为BIN格式的,但是MDK中不支持直接烧写BIN文件到Flash中,如何才能使用MDK烧写VIVI到S3C2410?

问题解答

      问题分析:
      一般情况下,VIVI都是被编译为BIN格式的,而MDK中不支持直接烧写BIN文件到Flash中,但是MDK支持烧写AXF和HEX格式的文件到Flash,于是可以采取一种先转换BIN格式文件到HEX格式文件,再使用MDK对其进行烧写的策略达到烧写VIVI的目的。


       问题解答:
      硬件条件:
      PC,EduKit-III型实验箱(配备S3C2410子板),ULINK2,USB线,串口线(其实没有也可以,因为在这里串口线的主要作用是可以通过超级终端查看一下现象)
      软件条件:
      MDK,Cygwin 1.5.1,BinEdit
      操作步骤:(以烧写到NorFlash为例进行说明,NandFlash情况类似,当然NorFlash要对应于NorFlash的 vivi;NandFlash要对应于NandFlash的vivi)
      1. 编译得到BIN文件
      拷贝光盘中的VIVI源码,在Ubuntu下或者在Cygwin下编译生成BIN格式文件,如vivi.nor。
      2. 转换得到Hex文件
      在Ubuntu下或者在WindowsXP下使用Cygwin将上述BIN文件转换为Hex文件。
      所用的命令为:objcopy -I binary -O ihex vivi.nor vivi.hex
      其中 binary为输入文件格式,ihex为输出文件格式,vivi.nor为BIN格式源文件,vivi.hex为Hex 格式目标文件。
      关于objcopy的使用可以参考如下链接(其实随便baidu或者google一下就有好多,如果不合适您也可以自己找找看):
      http://hi.baidu.com/dereklouie/blog/item/10162e8da084fc11b21bba69.html
      3.烧写vivi
      打开一个基于S3C2410的MDK工程,在工程配置中选择输出文件为上述转换所得的vivi.hex文件,如图4所示;选择烧写算法,如图5所示:


      其中,vivi.hex的路径在“Select Folder for Objects…”中指定;可执行文件名为vivi.hex。

(注:笔者使用的S3C2410子板所用NorFlash芯片为E28F128J3A,故选择RC28F320J;若为AM29LV160DB芯片请选择AM29F160DB。下载vivi到NandFlash时,如果芯片为K9F5608U,请选择S3C2410NAND Flash SP)
      实验箱上电,连接ULINK2,连接串口0。
      完成上述设置后,直接点击下载,如图6所示,就可以烧写vivi.hex到S3C2410的NorFlash中了。


      注意:千万不要编译,否则前面的工作就白做了。
      打开PC机上的超级终端,设置波特率为115200,实验箱复位,如无意外应该可以看到如图7所示。

      图7.rar

      这说明vivi已经烧写成功了! 

 

技术支持服务指南

在线提交问题

常见问题解答