学习记linux一二期在上移植.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

210学习(6)

--独立日

写了这么久的S5PV210的板程序了,每次编译完成后,生成的bin文件总是要经过mktiny210spl.exe

工具(是u-boot生成的)重成一个新的bin文件,而该bin文件只比旧的bin文件多出四行信息(在Tiny210

学习(2)中有讲过),也就是说,该四行信息是mktiny210spl.exe帮我们写的,所以我们没有真正的独立,

没有真正的从头开始写程序。

但是,出于好奇,我今天必须要揭开mktiny210spl.exe的神秘面纱,实现真正的独立!!

尝试一:

在在Tiny210学习(2)中有讲到,IROM从外部器中拷贝到IRAM中的代码的前16字节不能

够是真正的代码,而应该是头部信息,排列格式如下:

0x0地址:BL1size

0x4地址:必须设置为0(是规定)

0x8地址:CheckSum

0xc地址:必须设置为0(是规定)

IROM需要前16字节是头部信息,那我给你头部信息就是,该怎么做呢?按照对信息的强制要求,我

做了以下尝试,在start.s的开头添加了以下代码:

.word0x4000@规定0x0地址存放要拷贝的大小,给你大小,就16K吧(最多拷贝16K)

.word0x0@规定0x4地址存放0,那我给你0

.word??@规定0x8地址存放CheckSum,那么CheckSum该是多少呢?

.word0x0@规定0xc地址存放0,那我给你0

在添加代码的时候,出现了疑问,就是CheckSum该是多少?是一个固定值吗?网上收索了大量资料

后,最终得出CheckSum的计算公司如下(用一C程序来描述):

#defineuBlAddr直接编译出的bin文件的开始地址

unsignedintcount;

unsignedintdataLength;/*用于指明要拷贝数据的大小,即BL1size*/

unsignedcharbuf;/*用于存放临时数据*/

unsignedintchecksum;/*我们要计算的结果,checksum*/

for(count=0;countdataLength;count+=1)

{

buffer=(*(volatileunsignedchar*)(uBlAddr+count));

checksum=checksum+buffer;

}

最终发现,checksum是动态生成的,是可变的,所以直接导致尝试一以失败告终!!!

文档评论(0)

honglajiao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档