Chinaunix首页 | 论坛 | 博客
  • 博客访问: 890178
  • 博文数量: 116
  • 博客积分: 3923
  • 博客等级: 中校
  • 技术积分: 1337
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-23 01:22
文章分类

全部博文(116)

文章存档

2013年(1)

2012年(17)

2011年(69)

2009年(29)

分类: LINUX

2011-10-10 21:26:15

今天,我终于读完pax920(marvell) bootloader代码一遍,主要是从代码的组织结构和流程来理解正个代码框架,总体来说还是设计的不错,能把代码组织的很独立,其中我也边看固件下载部分的代码和自己以前在pax里做的代码做了一下比较,从中还是学到挺多东西的,特别是在数据结构定义方面,其实看多了开源代码,很多都是相同的模式,就是一个大数据结构包含很多小数据结构,然后把大数据结构的指针作为一个参数传递给函数,这样的好处就是可以使接口不用改动很多,而且这样也容易管理代码,有一个线索,然后根据这线索可以找到所有需要的信息,不过很经常的做法就是把各种对象用一个描述器形式来描述,然后这个描述器就可以被最顶层的大数据结构体去找到,linux内核代码也很多实用这样的代码组织方式。

里面还有个类singleton设计模式的东西,不过没那么严格,就是在某c文件定义个static结构体变量,然后通过函数导出其指针,这样的好处就是把这个结构体封装了在c文件域里,然后其他文件使用该对象就调用其导出函数来获得相关对象指针,其实很多东西都差不多。

下面是下载包的描述头,这样组织其实还是不错的,下次如果我要写bootloader,应该可以参考一下,如下图:


阅读(1677) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

zhangxz_tj2012-04-20 16:58:24

真是遗憾,
是这样的,想编译下Linux kernel 2.6.35,升级我的手机(海信T92),
你能给些方向性的意见么?如何学习Bootloader?加锁的Bootloader不能刷第三方固件
貌似Bootloader用IMEI信息加密的,不大了解这个

vincent-cws2012-04-19 23:17:44

zhangxz_tj: 大侠你好,我正在找PXA920的Bootloader呢,能给我指导下么?
我的邮箱zhangxz_tj@msn.com,非常感谢.....
已经离职了。。。不好意思。。

zhangxz_tj2012-04-19 23:02:12

大侠你好,我正在找PXA920的Bootloader呢,能给我指导下么?
我的邮箱zhangxz_tj@msn.com,非常感谢