7882|16

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急!bin文件烧进flash的问题! [复制链接]

我将eboot.bin文件烧进flash,然后想将其中某一段二进制数从flash读回ram,比如我读0x80000这一段,结果发现读出来的都是0,而且地址也会偏移!实际上打开.bin文件,0x80000这一段不是0!如果是从头读的话,就可以读出来数!
我想问,bin文件烧进flash里会发生变化吗???读出来的数不一致,这是为什么呢???

最新回复

UP!  详情 回复 发表于 2009-10-20 16:13
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
什么形式的BIN文件?eboot.bin?nk.bin?
通过什么方式烧录的?eboot?nboot?
如果是以上方式的话在烧相bin的时候会进行解压缩,解压缩后的数据与你直接查看bin文件的数据不一样,可以查看nb0文件对照
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
实际里面的跟烧之前的不一样吧?
看看MAP文件..
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 veabol 的回复:
什么形式的BIN文件?eboot.bin?nk.bin?
通过什么方式烧录的?eboot?nboot?
如果是以上方式的话在烧相bin的时候会进行解压缩,解压缩后的数据与你直接查看bin文件的数据不一样,可以查看nb0文件对照

是烧的eboot.bin
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
不顶不行
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 jiayiting 的回复:
引用 1 楼 veabol 的回复:
什么形式的BIN文件?eboot.bin?nk.bin?
通过什么方式烧录的?eboot?nboot?
如果是以上方式的话在烧相bin的时候会进行解压缩,解压缩后的数据与你直接查看bin文件的数据不一样,可以查看nb0文件对照

是烧的eboot.bin


你烧的是eboot.bin,实际上存到nand里面的是eboot.nb0文件,bin文件其实就是Nb0文件加了一些头信息,在烧的时候,会被解析成裸文件(nb0)存到nand里面去的。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

7
 
一般烧到Flash里面是可以直接运行的nb0文件,楼主烧写bin文件是通过什么方式的,可能烧写过程中进行了转换,所以读出来不对。
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 5 楼 seven_zhangxw 的回复:
引用 3 楼 jiayiting 的回复:
引用 1 楼 veabol 的回复:
什么形式的BIN文件?eboot.bin?nk.bin?
通过什么方式烧录的?eboot?nboot?
如果是以上方式的话在烧相bin的时候会进行解压缩,解压缩后的数据与你直接查看bin文件的数据不一样,可以查看nb0文件对照

是烧的eboot.bin


你烧的是eboot.bin,实际上存到nand里面的是eboot.nb0文件,bin文件其实就是Nb0文件加了一些头信息,在烧的时候,会被解析成裸文件(nb0)存到nand里面去的。

我该怎么把烧进flash里的bin文件在解析成裸文件nb0之前提取出来,存到flash的另外一块区域呢?我找了一下,似乎是在public-common-oak-drivers-ethdbg-blcommon-blcommon.c这个文件里,但是还是不会弄啊!!!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
同意5楼的观点
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
你可以直接在项目的release目录下找eboot.nb0,或者通过viewbin这个工具来转换。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
是否有偏移地址?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
是想做EBOOT的备份?

我的EBOOT的main.c中OEMLaunch()函数写EBOOT到FLASH是用的
WriteRawImageToBootMedia(dwImageStart, dwImageLength, dwLaunchAddr)其中dwImageStart, dwImageLength是把eboot.bin解压后也就是原eboot.nb0在内存中的存储位置,可以通过这两个参数把EBOOT存储到另外一个位置
根据我的信息看看你的EBOOT是如何处理的。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 11 楼 veabol 的回复:
是想做EBOOT的备份?

我的EBOOT的main.c中OEMLaunch()函数写EBOOT到FLASH是用的
WriteRawImageToBootMedia(dwImageStart, dwImageLength, dwLaunchAddr)其中dwImageStart, dwImageLength是把eboot.bin解压后也就是原eboot.nb0在内存中的存储位置,可以通过这两个参数把EBOOT存储到另外一个位置
根据我的信息看看你的EBOOT是如何处理的。

我想备份的是eboot.bin而不是eboot.nb0。也就是说,我想把eboot.bin文件烧到flash,在它变成.nb0文件之前,将.bin文件的数据存到flash的另外一块区域!
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

14
 
UP!!!!!!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

15
 
帮顶,关注
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

16
 
看下blcommon.c调用EBOOT的OEMReadData()函数,这里可以读取下载进去的eboot.bin在内存中的起始地址以及总长度,你再处理一下就行了
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

17
 
UP!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表