44b0的问题:写了下flash,结果板子起不来了

haihua825 2008-07-19 10:00:28
各位:
现在遇到这个问题,44b0的板子我刚拿到,上面的flash是AMD29LV160的,看了下它的datasheet,按通用擦写程序对板子来了次擦写。以前用ZLG的LPC2200也操作过sst的flash,没仔细看操作文档,结果这次在AXD里单步擦了一下后还没写进去,程序好像有点问题,我退出来想再进去板子就起不来了。没写之前,上电后串口会打印u-boot信息,LED灯闪一下后全灭掉,可以使用相关命令,一切ok。现在上电什么反应都没了,而且上面几个LED等一直常亮。现在疑问如下:

是不是我把板子的u-boot文件给擦掉了?我擦写的起始地址是0x00500000,ram起始地址是0x0c008000.
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
haihua825 2008-07-22
  • 打赏
  • 举报
回复
为什么程序和内存不同步?

对flash进行了相关操作,Section擦除时,擦除程序已经跑完,但是内存里看到的并不是FF,如下:
40 00 4c 00 08 00 08 00 40 00 4c 00 08 00 08 00
40 00 4c 00 08 00 08 00 40 00 4c 00 08 00 08 00
40 00 4c 00 08 00 08 00 40 00 4c 00 08 00 08 00
40 00 4c 00 08 00 08 00 40 00 4c 00 08 00 08 00
………………

而只要进入擦除程序后的下一个语句时,内存里马上全部变为FF了。

请问是这样的吗?
jw5200 2008-07-22
  • 打赏
  • 举报
回复
楼主说的这个问题,还真没留意过!
haihua825 2008-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shuiyan 的回复:]
起始地址是由CPU设计者定义的,没有谁规定RAM的起始地址应该是0x0C0000000吧。其余的地址有没有用,或者哪里用了,看spec就知道了。
[/Quote]

嗯,他是接到cpu片选6上的,所以ram地址从0x0c000000开始。0x0c000000处主要存放向量表初始化信息等,所以使用户真正开始用的地址从0x0c008000开始。也就是你说的cpu设计者定义的这段类似“保留区”吧。
shuiyan 2008-07-21
  • 打赏
  • 举报
回复
你的理解正确。所有的硬件物理地址都是CPU设计厂定的,用户照着使用就行。
shuiyan 2008-07-20
  • 打赏
  • 举报
回复
起始地址是由CPU设计者定义的,没有谁规定RAM的起始地址应该是0x0C0000000吧。其余的地址有没有用,或者哪里用了,看spec就知道了。
haihua825 2008-07-20
  • 打赏
  • 举报
回复
现在有一个问题,为什么44b0的起始地址是在0x0c008000?而不是0x0c000000?0x0c000000-0x0c007fff这段是给哪里用了?
haihua825 2008-07-20
  • 打赏
  • 举报
回复
已解决,重新烧了一下u-boot程序后就好了。在0x50000处放的是uclinux镜像,按理说应该只是把它破坏掉了,跟u-boot没关系啊。今天重新烧了一下就好了。

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧