vivi源代碼最为详细分析.docVIP

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

通过vivi研究bootloader有一段时间了,基本是在与之相关的基础方面做工作,还没有真正深入研究vivi。以后的学习重心就要放到研究 vivi源代码上面了。我想,真正细致地弄清楚vivi实现的细节,对C语言水平的提高,对ARM体系结构的认识,对S3C2410的熟悉,对嵌入式 bootloader相关技术,都能有很大的好处。学习的进度会慢一些,但是务求深入,并且打好相关的基础。 ?source insight中添加.S文件?? (1)做ARM嵌入式开发时,有时得整汇编代码,但在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来,默认只加了.inc和.asm后缀的, .s后缀的没有。而且用SIS打开.s的文件时,一片黑白没有色彩, 感觉回到DOS的EDIT时代里了。 ??????解决方法是在Options-Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Source File,然后在右边的File filter里*.asm;*.inc;的后面加上*.s; 接着CLOSE就可以了。这样就可以ADD TREE时把这些汇编加到PROJECT里面。 ??????至于要让汇编高亮显示和索引查找,解决方法是在Options-Document Options里面,点左上的Document Type下拉菜单,选择C Source File,然后在右边的File filter里补上*.s,*.S就可以像看C一样看汇编。十分方便,哈哈。 (2)很多时候由于电脑重启等原因,造成重新打开Source Insight工程时会有异常,比如打开后project窗口不见了,看不到文件列表,此时再手工打开是无效的。以前不得不重新建立一个project工程,相当麻烦。其实只需要关掉该工程后,打开Source Insight应用软件,从里面打开工程,就可以有project窗口了。正常后,再重新直接打开软件工程就不会再有问题了。 (3)快捷键。从主窗口切到工程窗口:CTRL+O,从主窗口切到函数列表窗口:ALT+L  HYPERLINK /myblesh/articles/2452030.html 为sourceinsight添加makefile、kconfig、*.S文件支持 大家用source insight看linux源码的时候都遇到这么一个麻烦,makefile和kconfig中的文字在搜索的时候不能找到,这是因为source insight默认是不选makefile的,也没有konfig这种类型的文件。下面就讲一下 ? 如何添加makefile: 打开Source Insight,在新建工程之前,进入 Options - Document Options- 点击Document Type的下拉框,然后选择Make File,在右边的File Filter中,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变成 *.mak;*makefile,并且选中Include when adding to projects,这样,以后再新建工程的时候(当前工程同步下makefile就有了),就可以识别makefile或Makefile了(好像此处Source Insight并不区分大小写)。 如何添加kconfig: 由于kconfig是sourceinsight默认不支持的格式,所以我们现在先要加入一个类型。 点击 Add Type,填入新文件类型的名字kconfig,File Filter中写上*kconfig,最好再加上kconfig*(因为在linux中有些kconfig是以kconfig.*的形式出现),注意再选中下面的Include when adding to projects,这样就建立了一个新的文件类型, 以后新建工程加入文件时候,系统就能够识别kconfig的文件了。 二、准备工作 ? ??? 在分析vivi源代码的时候,不打算完全按照vivi的代码来进行。我的思路是,以从nand flash启动为主线,分析从上电到引导内核的过程。以自己的理解去实现vivi的源代码,要自己手动编写,即使与vivi的代码相同。只有这样,才能从整体上理解vivi的设计方法,理解vivi各个功能的实现细节。这份文档算是自己的学习笔记。 ? 三、bootloader stage1:【arch/s3c2410/head.S】 ? ??? 首先解决一个问题,就是为什么使用head.S而不是用head.s?有了GNU AS和GNU GCC的基础,不难理解主要原因就是为了使用C预处理器的宏替换和文件包含功能(GNU

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档