平台移植学习文档.pdfVIP

  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文档。上传文档
查看更多
S3c2410 平台的移植学习文档 ――如何使kernel 支持全新的 ARM 开发板 Author :BobZhang Mail : bob_zhang2004@163.com 定义: 假设我们以后的板子叫 smdk-mxic0015 ,与 smdk-s3c2410 是并列的 内容简介: 重点讲讲 kernel 移植方面的,围绕这几个问题,来讨论: 为什么要移植? 什么时候,可以不作移植,就可以直接把 kernel run 到板子上? 怎么移植? 我们 mxic 要做移植是作哪个层次的移植? 移植的时候 ,代码要改动多少? 也就是移植的难度和工作量? 移植的时候 要改或者添加哪些文件 ?也就是工作的内容 白手起家?还是可以抄袭s3c2410 ? 当然要踩 s3c2410 的肩膀! 并以s3c2410 为例, 那个Ben Dooks ben@simtec.co.uk 是如何使kernel 支持 s3c2410 开发板的? 他都干了些什 么? 我们应该怎么样 抄写 s3c2410 代码的架构来实现porting kernel到mxic0015 kernel 移植完后, u-boot 如何配合? bootargs 怎么写? kernel 移植完后, 如何作 rootfs , 怎么作 rootfs (当然用busybox ) , 大概讲讲流程和方法。 Index : 1. 移植 kernel 2. smdk2410 开发板的启动代码分析(不同于一般的 kernel 初始化代码,比如 start_kernel() ) 3. U-boot 的参数设置 4. 制作根文件系统 5. appendix:jk2410 启动信息简单注释 引言: 虽然 2.6.x 的内核已经对 s3c2410 的平台提供了足够的支持, 但是从学习的角度,我们仍然要对 2.6.x 是如何对 s3c2410 提供支持的代码和框架进行学习和分析。只有深刻搞清楚了整个 2410 的框架, 我们今后才有能力把一个干净 的kernel porting 到 mxic 自己的板子上去。 分析的 kernel 代码: 分析工具:source insight 以下会有我自己的一些移植启示, 我假设我们的目标板子名称 是 MXIC0015 第一部分 s3c2410 的框架部分及移植启示 1.1 总体分析: - arch\arm\mach-s3c2410 smdk2410 开发板的支持代码 重要的文件:mach-smdk2410.c devs.c 都是重点分析的代码 另外,一些代码都是根 s3c2410 相关的比如:clock..c s3c2410-gpio.c ,time.c 这些在我们 mxic 自己的板子上都要实现, 所以代码也要看懂 , 以后都要在自己平台支持目录实现这些代码。 arch\arm\boot 启动代码, 对 ARM 平台通用的部分,当然也要在 arch/arm/mach-mxic0015/Makefile.boot 中定义 kernel 的 zreladdr 的值(定义kernel 的入口地址) 重点掌握 zImage 的生成过程,以及kernel 自引导的部分(在另一份文档会有介绍) - include\asm-arm\arch-s3c2410 一些重要的头文件, 比如一些 CPU 内部寄存器的地址定义等等。 比如 regs-rtc.h 就详细定义了 RTC 的地址定义的 部分。 在比如 irqs.h 定义了 smdk2410 上面的中断号。 还有其他的一些 driver 程序,散步在 driver 的各个子目录里面。 比如 drivers/char/s3c2410-rtc.c 移植启示: 当我们porting kernel 到 mxic 板子上的时候, 可以完全遵循这个组织框架 。可以先把整个目录copy 过来,然后改名 成 mxic0015 ,就可以针对自己的板子修改里面的 .h 和 .c 文件了。 至于 driv

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档