流氓兔子的嵌入式生活

---------------------------文档库 Making everything simple

ID:hubu01
15381次访问,排名7489好友0人,关注者1
hubu01的文章
原创 29 篇
翻译 0 篇
转载 12 篇
评论 2 篇
hubu01的公告
Just do it !
最近评论
vvukqr:wow power leveling
ets2008:很好
文章分类
收藏
    相册
    嵌入式圈(精)
    CSDN专家门诊
    daishengs专栏
    device driver
    embedded linux
    Peter lee
    陈志新blog
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 FLASH烧写总结 (转)收藏

    新一篇: linux内核选项以及裁减时说明 | 旧一篇: ARM移植的总结(转)

         这部分可能过于简单,很少有人写,但是对于不了解ARM开发过程的人真的简单吗?我是菜鸟,在这卡了3天:)
    一般说来有几种方法,
    1)板子原来的BOOTLOADER程序或者为烧写而编写的专用ADS程序
    比较高级而快速的方法,很多现成的开发板都用这种方法(相对来说有实力的公司),此状态下CPU是运行的,所以速度快。
    比如ZLG的,但是对于初学或者不准备细研究硬件的人来说就比较麻烦,因为要编写(改写)ADS烧写程序。愿意的人可以看看。
    2)FLUTED
    和FLASHPGM一样,使用的好象叫边界扫描法,CPU此时并不运行,因此烧写的比较慢。
    在这里也不推荐FLUTED这个软件,原因比较简单,麻烦+速度慢。
    因为需要编写(改写)两个配置文件,而且是字符界面。倒是有人说这个软件只能在WIN98下用的说法好象不对(现在有可以让2000和XP下用的方法)
    喜欢的朋友可以用用
    3)FLASHPGM(推荐)
    很简单的程序,GUI界面,速度尚好。
    设置很简单,在CPU里选对型号,当然是3星的44B0。在FLASH里也一样,39LV160,29LV160都有。
    确定好地址,RAM地址我的是0XC000000(BANK7上) FLASH地址0X0(BANK0上)
    选完了以后读一下FLASH的ID(左下脚的按钮吧)能读出厂家的ID就行。
    然后是烧写了,PROGRAME按钮,注意的是FLASHPGM不支持BIN格式,按照下面方法处理。
    再有就是尽量在写之前擦一下,PROGRAME菜单里有个选项,打个钩就OK。
    具体烧写方法可以看我总结的另一篇文档,在这里只说说UBOOT相关的。
    前面说过UBOOT编译以后产生3个文件
    u-boot——ELF格式的文件,可以被大多数Debug程序识别;
    u-boot.bin——二进制bin文件,纯粹的U-BOOT二进制执行代码,不保存ELF格式和调试信息。这个文件一般用于烧录到用户开发板中;
    u-boot.srec——Motorola S-Record格式,可以通过串行口下载到开发板中。
    FLASHPGM不支持BIN格式的,可以烧写u-boot——ELF格式的文件,别看它没扩展名,一样烧写。
    还有,如果你懒(和我一样),拿别人现成的BIN文件来烧,FLASHPGM还提供了一个BINTOS19的程序,就在它的安装目录下。具体用法运行它,它自己就告诉你了。

    注意:有时(尤其是FLASH里已经有程序的时候)0XC000000会莫名奇妙的提示内存不可以写,有几个方法可以试试:把地址改成0x10000000(好象是缓存地址),之后点EREASE擦除芯片,擦除一般说来是不成功的,最后无论如何都下不去,没关系,这时候关闭擦除对话框,然后0x10000000地址不变,烧FLASH,我一般是烧写一个我自己写的LED测试小程序把内存占上:)。回来这时候再把0X1000000换成0XC000000再按照正常操作,一般可以正常。
    这现象的原因就是过去下的程序(多数是不正确的程序)正在运行 占用了RAM与ROM,下个LED测试小程序就是把这几个部分清除掉。
    如果以上方法还不正常,可以用另一个程序叫FLASHP就差2个字母:)很好!在这里对这个程序的作者致敬!!
    用这个软件擦FLASH,然后再用FLASHPGM烧,原因是FLASHP擦厉害,但写好象有些问题~~
     

    发表于 @ 2007年05月20日 16:13:00|评论(loading...)|编辑

    新一篇: linux内核选项以及裁减时说明 | 旧一篇: ARM移植的总结(转)

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © hubu01