基于天嵌科技的SKY2440/TQ2440SKY2440/TQ2440SKY2440/TQ2440SKY2440/TQ2440的Linux-2.6.25.8Linux-2.6.25.8Linux-2.6.25.8Linux-2.6.25.8系统移植手册广州天嵌计算机科技有限公司荣誉出品首发网站:版权声明本手册版权归属广州天嵌计算机科技有限公司(以下简称“天嵌科技”)所有,并保留一切权力。非经天嵌科技同意(书面形式),任何单位及个人不得擅自摘录本手册部分或全部内容,违者(我们)公司将追究其法律责任。内容提要内容提要内容提要内容提要本手册全面介绍了嵌入式Linux系统的开发过程中,各种驱动的源码获取、源码修改、配置和移植,驱动测试程序的编写,根文件系统的构造(包括移植busybox、glibc、制作映像文件等),DIY自己的驱动程序和测试程序的编写。本手册从获取内核源码开始,一步一步的讲解一个完整的内核的移植,使读者最终可以配置、移植、裁剪内核,编写驱动程序,从而掌握整个嵌入式Linux系统的开发方法。本手册由浅入深,循序渐进,非常适合刚接触嵌入式Linux的初学者学习,也可作为各种嵌入式培训教材使用。前言很久以前就想写一份详尽的移植手册了,一方面是为公司的2440开发板做配套使用教材,另外也是为广大的嵌入式爱好者提供更好,更详细的嵌入式学习参考资料。刚好公司承接的一个项目要用到高版本的Linux内核,在完成该项目后,觉得很有必要把整个项目开发过程与广大的嵌入式爱好分享,于是便把整个开发过程中的记录整理成册,《基于天嵌科技的SKY2440/TQ2440的Linux-2.6.25.8系统移植手册》就这样诞生了。本手册中的所有程序和代码都是作者耗时,耗力的亲自调试成功的,希望该手册能够发挥应有的作用,为嵌入式行业发展贡献力量。本手册的硬件平台是天嵌科技的SKY2440和TQ2440开发板,软件平台为RedHat9.0的交叉编译环境,硬件请参考SKY2440或TQ2440开发板配套光盘的原理图,本手册提到的2.6.13的文件系统请参考SKY2440或TQ2440开发板配套光盘里的文件系统。为了尽快让本手册和广大的天嵌科技的ARM开发板的用户以及其他想学习基于ARM的Linux开发的朋友见面,手册里面很多方面没有进行讲解,建议大家到我们的论坛和QQ讨论群中进行交流,共同学习和提高。有问题时,请在我们的论坛贴出该问题的截图之类的,方便他人参考和回答问题。对于自己已经解决问题的,也请贴出解决方法,以方便后来人。本手册是天嵌科技将会推出的系列教程中的第一份教程,以后将会陆续推出无操作系统的程序开发实例方面的教材、bootloader开发教程、uCOS-II移植开发教程以及WinCE驱动及应用程序开发教程等涵盖整个嵌入式开发的系列教材。由于水平有限,手册中难免遗漏和不足之处,恳请广大读者提出宝贵意见。最后感谢广大的客户的支持,天嵌科技才能一步一步成长。天嵌科技——黄健2009-2-23在本手册中的一些约定在本手册中的一些约定在本手册中的一些约定在本手册中的一些约定约定1111本手册首发地点为广州天嵌计算机科技有限公司的官方网站:,同时配套的论坛为:;建议广大读者到论坛发贴讨论。约定2222PC的命令表示方法:在PC的终端使用的命令,均在其前面加“#”号并用红色表示。比如:解压源码:#tarxvfjlinux-2.6.25.8.tar.bz2–C/opt/EmbedSky/约定3333开发板的命令表示方法:在开发板的终端(也就是PC的超级终端或别的串口软件)上面运行的基于开发板的命令,均在其前面加“$”号并用红色表示。比如:LCD背光控制程序的操作:$backlightoff约定4444关于路径的说明:“/opt/EmbedSky/”这个就是绝对路径;内核文件“arch/arm/mach-s3c2440/mach-s3c2440.c”这就是相对路径。区别在于最前面的那个“/”号。约定5555文件所在地的区别:区别比如“/etc/”目录,在PC里面的“/etc/”(1)目录就是绝对路径下的一个存在在PC上的目录;而开发板的文件系统的“/etc/”(2)和“etc/”(3)目录均是指的基于开发板的一个目录,差别在于一个是烧写到开发板上了,一个是还没有烧写到开发板上。下面的图应该能够说明其中的差别,请注意区分,我也会在本书中说明是PC的目录还是开发板的目录:第一种“/etc/”目录的存在截图:第二种“/etc/”目录的存在截图:第三种“etc/”目录的存在截图:约定6666本手册使用的编译环境是RedHat9,所使用的交叉编译器为天嵌科技提供的crosstools_3.4.5_softfloat交叉编译器。安装该编译器的方法:从我们的官方网站获取交叉编译器的安装包,名为:crosstools-3.4.5_softfloat.tar.bz2,然后将其解压到RedHat9的“/opt/EmbedSky/”目录下,使用命令:#tarxvfjcrosstools-3.4.5_softfloat.tar.bz2-C/解压完毕后,修改PC的“/etc/profile”文件,使用命令:#gedit/etc/profile然后打开该文件,在大概21行添加如下内容:(红色部分所示)#Pathmanipulationif[`id-u`=0];thenpathmunge/sbinpathmunge/usr/sbinpathmunge/usr/local/sbinpathmunge/opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin#pathmunge/opt/EmbedSky/crosstools_3.4.1_softfloat/arm-linux/gcc-3.4.1-glibc-2.3.3/bin#pathmunge/usr/local/arm/3.3.2/bin#pathmunge/usr/local/arm/2.95.3/binFi注意:可能您哪里的内容和这里列出来的不太一样,只需要将自己添加的其他的交叉编译器前面加“#”屏蔽掉,仅留下crosstools_3.4.5_softfloat交叉编译器即可。目录版权声明..........................................................................................................................................................2内容提要..................................................................................................................................................3前言..................................................................................................................................................................4目录..................................................................................................................................................................8Step1、获取Linux系统源码..............................................................................................................11Step2、解压系统源码..........................................................................................................................11Step3、在系统中添加对ARM的支持...............................................................................................11Step4、修改平台输入时钟..................................................................................................................12Step5、制作TQ2440/SKY2440的配置单.........................................................................................14Step6、修改机器码..............................................................................................................................17Step7、编译镜像..................................................................................................................................187.1镜像.........................................................................................................................................187.2把镜像存放到指定位置.........................................................................................................18让系统“跑”起来........................................................................................................................................20Step8、NandFlash驱动移植...............................................................................................................208.1完善源码.................................................................................................................................208.2添加对应的驱动配置.............................