对于学习Android系统移植方法的探讨(一)----linux内核移植
来源:互联网 发布:大数据 普惠金融 论文 编辑:程序博客网 时间:2024/06/06 19:15
学了多半年的Android系统移植了,一开始最大的困难就是找不到一个正确的(或者弯路较少的)学习方法。买到的开发板基本上都是已经移植好的系统,其uboot、kernel和根文件系统都已经做的非常完美了,鼓捣了好长时间,还是不知道针对一款特定的开发板其移植工作该怎么开始。学了很多零零碎碎的东西,但是总是不能给人一种俯视的快感。即便到现在也还是在努力去探究一条适合自己的学习之路。下面是我自己制定的一个简答的计划,感觉比较有可操作性,当然这也是针对稍微有点嵌入式Linux基础的人来说。
1、目的:
移植TQ210的内核到smart210
2、要完成的驱动,按顺序如下所示:
串口打印信息、nand支持yaffs、I2C、电容屏、触摸屏、按键、网卡、I2S、音频、RTC、看门狗、摄像头、SDIO wifi、USB wifi、usb优盘、SD卡
3、主要学习过程
3.1 uboot
对于uboot先只关注它的启动机器码,其他内容暂时不考虑。
3.2 搞清楚linux内核启动过程,至少要明白内核如何对硬件进行的初始化,是如何运行到了板级文件,如mach-mini210.c
3.3 对于驱动程序的研究入口是 static struct platform_device *mini210_devices[] __initdata 板级设备初始化数组。
首先做这样一件事,可以先把其他所有驱动屏蔽掉,然后一个接一个的开启,然后记录下启动信息,配合make menuconfig命令和Kconfig、Makefile文件,分析每个驱动都用到了哪写源文件。分析驱动的实现流程,最好画出流程图。确定有哪些代码涉及到了硬件相关的操作。
3.4 参考一个正确的内核去修改要移植的内核。
比如mini210的linux内核是正确无误的内核,要修改的TQ210的内核就对照着mini210的内核来依次进行修改。修改顺序按照内核启动顺序来进行。
以上是Linux内核移植过程的学习方法,关于Android源代码系统定制和移植是后话,一点点来吧。以上过程也是我自己的一个学习过程,这里面若有不妥的地方欢迎大家指正。
- 对于学习Android系统移植方法的探讨(一)----linux内核移植
- android移植(一)-s3c2416内核的移植
- 学习linux系统的移植
- 浅谈分析Arm linux 内核移植及系统初始化的过程(一)
- LINUX移植——内核移植(一)
- 系统移植-内核移植
- Android系统移植(一)
- linux内核的移植
- linux内核的移植
- android系统移植学习笔记一
- 移植Android时关于Linux中MACHINE_START的一点探讨
- 系统移植学习总结(一)
- android系统移植(一) 总述
- android系统移植(一) 总述
- android系统移植(一) 总述
- Linux-2.6.32.2内核在mini2440上的移植(一)---内核移植
- linux内核移植的问题
- mini2440的 linux内核移植
- Spring MVC 容器中设置Bean属性值 为NULL
- tomcat部署war,启动访问不到工程,需要启动两次(<Context path=""..../>)
- 第一次写博客
- 为NGSOS智能操作系统设计编程语言
- git之github笔记
- 对于学习Android系统移植方法的探讨(一)----linux内核移植
- UVa #1395 Slim Span (例题11-2)
- android屏幕分辨率 的获取
- Makefile include
- 记录一些平时用的工具用法及命令(1)
- web.xml组件加载顺序
- 欢迎使用CSDN-markdown编辑器
- Java 的三种循环:foreach,Iterator 和 classic for loop
- ROS开发环境之Qt Creator