返回信息流我用ADS编写了一个很简单的程序,仿真是能够很好的运行,现在想生成bin文件烧写到nandflash中去,RO、RW之类的怎么设置?从哪个位置开始烧写?
请大牛帮忙解答一下,我试了好多次都不行,谢谢了
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #4926同步于 2009/5/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
[求助]s3c2410烧写flash问题
happybear
2009/5/27镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你是用的uboot吗?
是的话,可以用fli命令查看flash information,这是可以看到flash所有扇区的使用情况
一般的,找一块儿没用的扇区先擦后写就是了,如果有RO的情况,可以用protect命令撤销此扇区的保护(其实关键扇区才会被保护,例如保存环境变量的扇区,不建议将这样的扇区强制擦掉放入你的程序)
还有,你擦除用的是erase命令吧,好好看一下erase命令的参数(最常用的是erase(空格)sector起始地址(空格)sector结束地址),而且你如果erase命令用的不对,会有报错的,你应该把报错的信息贴上来。
人家是要直接用ads搞吧,我没敢吱声
【 在 hobby (hobby) 的大作中提到: 】
: 你是用的uboot吗?
: 是的话,可以用fli命令查看flash information,这是可以看到flash所有扇区的使用情况
: 一般的,找一块儿没用的扇区先擦后写就是了,如果有RO的情况,可以用protect命令撤销此扇区的保护(其实关键扇区才会被保护,例如保存环境变量的扇区,不建议将这样的扇区强制擦掉放入你的程序)
: ...................
我敢吱声
不知道搂住说的仿真是不是在sdram跑,如果是那样的话,最好弄一个bootloader,比如1楼说的uboot,先把uboot烧到nandflash,简单的程序可以用uboot调试,复杂一点的程序最好跑个操作系统,linux/ucos等等。不跑操作系统,直接把自己程序烧到nandflash这种情况比较少见,单片机才那么干,arm7不跑操作系统还凑合,arm9以上的裸奔就有点浪费了
【 在 lester98 的大作中提到: 】
: 人家是要直接用ads搞吧,我没敢吱声
呵呵 所以我上来还问了一句是不是uboot,俺也没做过别的,就uboot还略懂
谢谢各位的解答,我用的是vivi,确实是一个很简单的程序,因为刚接触这方面,一些系统的概念还是没有建立起来……
一开始的时候我是现在nandflash中烧写了vivi,然后在应该烧写kernel的分区把bin文件烧进去,重启后一点反应也没有……
话说nandflash中的前4K内容是自动拷贝到dram中的,我就尝试直接在nandflash中从0地址开始烧写,还是没反应……
更郁闷的是我把程序在linux下交叉编译了一下再烧写到nandflash中去,竟然运行的很好,实在是无语了……
请求大家的帮助啊,帮小女子过了这一关……
顺便请教一个问题,大家在编写程序的时候都是怎么调试啊?我基本上都是用ads然后仿真,不知道这样好不好?
如果仿真通过以后,怎样把程序弄到板子上呢?
在这方面我是越来越弄不明白了,如果在这上面一时半会说不清的话,我可以当面请教大家的,谢谢啦……
【 在 happybear 的大作中提到: 】
: 谢谢各位的解答,我用的是vivi,确实是一个很简单的程序,因为刚接触这方面,一些系统的概念还是没有建立起来……
: 一开始的时候我是现在nandflash中烧写了vivi,然后在应该烧写kernel的分区把bin文件烧进去,重启后一点反应也没有……
: 话说nandflash中的前4K内容是自动拷贝到dram中的,我就尝试直接在nandflash中从0地址开始烧写,还是没反应……
: ...................
说的具体点吧,这样我们也搞不清楚,我觉得关键在于两点,第一你的vivi使用正确,确定确实是把内核拷贝到ram并运行了,第二是你的内核正确,确定你的内核是能在这个板子上运行的。我觉得第一点是更可能出问题的
【 在 happybear 的大作中提到: 】
: 谢谢各位的解答,我用的是vivi,确实是一个很简单的程序,因为刚接触这方面,一些系统的概念还是没有建立起来……
: 一开始的时候我是现在nandflash中烧写了vivi,然后在应该烧写kernel的分区把bin文件烧进去,重启后一点反应也没有……
: 话说nandflash中的前4K内容是自动拷贝到dram中的,我就尝试直接在nandflash中从0地址开始烧写,还是没反应……
: ...................
看了两遍,没太看明白你说的是什么
我有一个简单的建议给你:出了问题的时候,不要简单的认为“它应该这样这样运行啊”或者“我觉得它不会怎么怎么样”,这样的想法会让你掉进坑里出不来。你应该做的是把整个过程弄明白,将问题隔离开。(比如:你说前4k内容会自动拷贝?什么时候拷的?总不会是时刻在更新吧。)
【 在 lester98 的大作中提到: 】
: 说的具体点吧,这样我们也搞不清楚,我觉得关键在于两点,第一你的vivi使用正确,确定确实是把内核拷贝到ram并运行了,第二是你的内核正确,确定你的内核是能在这个板子上运行的。我觉得第一点是更可能出问题的
嗯 说的好
我还想补充一下,有的板子选择从哪里启动可能需要跳线或者配置环境变量,检查时候别忘了这一点