jicheng0622

【原创】教你用J-Flash ARM工具单独烧写程序到Kinetis

0
阅读(35993) 评论(23)

    济南这些天的天气真是好的舒坦,哈哈,心情也是大好,当然也另有原因哦,嘿嘿...所以今天继续写点J-Link的东西。我自从搞ARM9开始就跟J-Link结下了不解之缘,从此以后就爱不释手,用着也越来越顺手,所以也是各种研究各种玩,就积累了一些小技巧和小心得,这里就先挑出一个跟大家分享下,下次会再挑出一个猛料跟大家分享下,敬请期待,哈哈~

    可能很多初手在用51单片机或者AVR单片机的时候都用到过单独的Flash ISP烧写软件,把单独的bin文件或者hex文件烧写到单片机的flash里面去,在开发ARM9、ARM11的时候我们也会想到用H-JTAG,不过针对Kinetis、STM32这一类,该用什么Flash烧写软件估计好多人都没有想过,因为大家第一印象就是直接点一下Codewarrior或者Keil或者IAR的debug按钮不就行了吗,实在不行不还是有download、Erase选项吗,嘿嘿。的确这些都是一种下载程序的方法,不过大家不知想过没有,对于已经批量生产的产品,在下生产线之后,需要我们对其控制器烧写程序的时候,厂家一般都只会提供一个bin文件,这时该肿么办,我们还可以用CW、MDK或者IAR打开调试吗,嘿嘿,这个时候本篇的主角——J-Flash ARM就要出场了...

    J-Flash ARM是J-Link自带的一款Flash ISP软件(这个你在安装J-Link驱动之后就会看到,其实还自带几个其他的小软件,别看小,真的都很强大的,这里先留个悬念,呵呵),支持bin格式、hex格式、srec格式(Motorola的)下载,下面我就以烧写bin文件(当然生成bin文件可以用CW、MDK、IAR生成,我还是习惯用IAR了就以它为例)到K60的flash为例介绍J-Flash ARM的使用方法,下面进入正题:

1.首先用IAR打开一个K60的工程,需要做一下设置,如下图:

2.设置如上图之后,编译链接整个工程,然后我们到$PROJ_DIR$\FLASH_512KB_PFLASH\Exe文件下找到.bin文件,如下图(.out文件为我们点击debug时用到的文件):

3.要烧写的文件准备好了,下面就需要打开J-Flash ARM软件了,上图:

打开界面如下图所示:

4.首次使用的时候,我们需要点击File->Open Project,然后选择目标芯片,这里由于我以K60为例,我们找到MK60N512.jflash

打开之后,接着连接J-Link和目标板并给J-Link和目标板供电,然后开始连接,点击Target->connect

连接之后,可以在下面的log窗口看到连接已经成功了,哈哈,到这一步就已经走了一大半路了,喝口水,咳咳。

5.加载第二步生成的.bin文件,点击File->Open data file找到要下载的bin文件,然后点击打开,这时弹出烧写flash的首地址,我们默认为0即从K60的0x00000000地址开始烧写,然后点击确认:

6.最后一步,把打开的bin文件下载到目标板之中,点击target->Program,下载程序到目标板中,中间弹出窗口一律默认即可,然后下载成功之后,程序没有立即执行,这时就需要最后一个操作了,点击target->start application启动程序运行,然后就到了见证奇迹的时刻了,哈哈。

    呵呵,J-Flash的完整操作流程就OK了,嘿嘿,是不是有种意犹未尽的赶脚,其实该软件还有好多灰常实用的功能,这里限于篇幅和时间(咳咳,晚上10:30了,该回宿舍了,不然阿姨该关门了)就不多介绍了,需要自己去琢磨了,还是那句话修行在个人,哈哈...不早了,得赶紧撤了,未完待续~

  1.   能给我你的qq或微信号吗

  2. ***此内容已被管理员屏蔽***

  3. @匿名用户(123.124.45.237 )
    不可以,.out是IAR自己的带调试信息的文件,J-Flash只可以烧写hex,bin,s19,mot等文件
  4. 匿名用户匿名用户

    写到flash中的文件可以使.out文件不?download file... 是输入.out、.d文件 这个操作貌似也是烧程序. out

    和.bin 执行的结果一样吗

  5. 匿名用户匿名用户
    timeout while halting cpu,cpu does not stop这个是什么情况啊
  6. xfgfxg
  7. wwwwefrwfsf   fdsfd
  8. @mengmeng90

    取之于网络,也要回之于网络哦!!!

     

    让老纪也更有动力帮大家解决更多的问题哦

  9. @mengmeng90
    解决了就好,是怎么设置不对,在这里说一下吧~
  10. 謝謝,我琢磨明白了!原來是設置不對。
  11. @mengmeng90
    没遇过这个问题,你再用bin格式的试试吧,另外IAR是破解之后的吗?
  12. 大俠你好:先別回宿舍,我這還有一個問題,我用J-link下載hex文件,總是提示:Error in line 1: not a hex file.

    這個hex有32k,如果換一個小一點的hex文件就可以,但IAR編譯出來的就是這么大!這是什么原因那?

  13. 回复:回复
    回复:回复
    回复:回复

    为什么我没有MK60N512这个文件呢?

    版本的事吧,这个是装J-Link驱动的时候自带的,我的是4.34d,你的呢?

    4.15的,4.3的上哪儿下载呢?

    呃,这么新啊,呵呵,这么新按理说也应该有kinetis的吧,可能文件名不一样了,你可以在找找\SEGGER\JLinkARM_V415d\Samples\JFlash\ProjectFiles这个路径下找找,实在找不到的话就到网上直接搜4.34d就是了,谷歌百度很强大的嘛,呵呵

  14. 回复:回复
    回复:回复

    为什么我没有MK60N512这个文件呢?

    版本的事吧,这个是装J-Link驱动的时候自带的,我的是4.34d,你的呢?

    4.15的,4.3的上哪儿下载呢?

  15. 回复:回复

    为什么我没有MK60N512这个文件呢?

    版本的事吧,这个是装J-Link驱动的时候自带的,我的是4.34d,你的呢?