10282|51

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

发帖发问一个bootloader问题并邀请学习6410,PXA3XX等高级货的同志了! [复制链接]

这几天看了6410的eboot,并对nk.bin以及nk.nb0文件重新了解了一下,发现了很多疑问。
主要是我以前一直用ADS bootloader,现在觉得两者有不可思议的差别。
一、ADS bootloader没有拷贝全局变量到RAM的行为,但是eboot.nb0有——但是这两个格式的二进制文件都能在内存直接跑。这些只能用编译器不同,两个格式文件稍有差异来解释。
二、eboot下载的是bin文件,但是烧写的一定是nb0文件,我没有找到解析bin文件成为nb0文件的地方,各位达人,知道在哪里的,哪个函数的请告之小弟,谢谢!

呵呵,6410,PXA3XX是主流芯片,用的人蛮多,希望一起进入QQ交流。
请加入500人QQ群:67958848 不管是wincer还是linuxer 都来吧。呵呵

最新回复

路过,看看。  详情 回复 发表于 2010-4-6 13:02
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己沙发,顶帖有分!
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
顶一个
这算不算广告帖子呢,嘿嘿...
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 91program 的回复:
顶一个
这算不算广告帖子呢,嘿嘿...


这个不算吧,斑竹大人。我都提问了,O(∩_∩)O哈哈哈~。
又不是出来卖东西。
我刚入门6410 和PXA3XX所以急需大批人士进来讨论,学的快。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
还有这个群也不是我的,是一个在校生建立的,苦于没有人气,叫我多弄些人进去。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
我只能来顶贴了。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
帮顶...软文...
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
找一下blcommmon.c。下载完BIN后,调用那里的函数解析、烧写。
3xx ce5的bsp里应该有,ce6的bsp是包含了系统的blcommon.lib
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 seemknow 的回复:
找一下blcommmon.c。下载完BIN后,调用那里的函数解析、烧写。
3xx ce5的bsp里应该有,ce6的bsp是包含了系统的blcommon.lib


看了,我没有找到呢
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

11
 
对文件解析是在blcommon.c里边的。
前些天我写了一个ADS的程序,解析eboot.bin然后烧录到FLASH里边,已经测试成功。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
CE5.0可以在\WINCE500\PLATFORM\COMMON\SRC\COMMON\BOOT\BLCOMMON找到,6.0不清楚
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

13
 
严重顶下那个广告
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 10 楼 veabol 的回复:
对文件解析是在blcommon.c里边的。
前些天我写了一个ADS的程序,解析eboot.bin然后烧录到FLASH里边,已经测试成功。


我没有慧根,能不能指出是哪一个,我看了,我找不到呢。呜呜。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 12 楼 oneonce 的回复:
严重顶下那个广告


帮顶有分。我汗,发QQ群也算广告,..........伤心ing
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

16
 
\WINCE500\PLATFORM\COMMON\SRC\COMMON\BOOT\BLCOMMON\blcommon.c 的DownloadImage函数。

我发现通过DNW下载BIN的时候是原数据下载进去的,而下载block0img.nb0是加了100字节左右的数据在前边,最开始的数据是“N000FF”,nb0文件是这段解析的,BIN文件是“B000FF”解析的
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

17
 
先友情帮顶下!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

18
 
CE6长啥样我也还不知道。不过这段代码CE5都开放的,CE6应该也有吧。
CE5里blcommon.c里DownloadImage(),

  1.         // An N000FF packet is manufactured by Platform Builder when we're
  2.         // downloading multiple files or when we're downloading a .nb0 file.
  3.         //
  4.         if (!memcmp (hdr, "N000FF\x0A", BL_HDRSIG_SIZE))
  5. ..............
  6.         // Is this a standard bin image?  Check for the usual bin file signature.
  7.         //
  8.         else if (!memcmp (hdr, "B000FF\x0A", BL_HDRSIG_SIZE))  // !!!bin文件标识
  9.         {
  10.             g_bBINDownload = TRUE;

复制代码
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 seemknow 的回复:
CE6长啥样我也还不知道。不过这段代码CE5都开放的,CE6应该也有吧。
CE5里blcommon.c里DownloadImage(),
C/C++ code// An N000FF packet is manufactured by Platform Builder when we're// downloading multiple files or when we're downloading a .nb0 file.//if (!memcmp (hdr,"N000FF\x0A", BL_HDRSIG_SIZE))
..............// Is this a standard bin image?  Check for the usual bin file signature.//elseif (!memcmp (hdr,"B000FF\x0A", BL_HDRSIG_SIZE))// !!!bin文件标识        {
            g_bBINDownload= TRUE;


........我看了那个函数,没有看出啥猫腻哦,我.....
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

20
 
解析BIN文件其实也挺简单的啊,就是读取每条记录的地址,然后去这个地址读取数据,放到RAM中去,解析完成RAM中应该就是NB0格式的了,这个时候,启动或者烧写到Flash都随便你的~~
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表