一、Linux 版本及特点
Linux 的内核版本号可从位于顶层目录下的 Makefile 中查找到。如
VERSION = 2
VERSION = 6
SUBLEVEL = 22
EXTRAVERSION = .6
这几行构成了版本号 2.6.22.6。其中 VERSION 及 VERSION 构成版本的主版本号。SUBLEVEL 是次版本号,EXTRAVERSION 是拓展版本号。Linux 内核版本分为测试版本及稳定版本。VERSION 的值是偶数的为稳定版本, VERSION 是奇数,则表示该版本有新内容加入,版本是不稳定的测试类型的。
二、Linux 移植准备
1、获取内核源码
登录 Linux 内核的官方网站 http://www.kernel.org/,可以看到如下内容:
各符号意义:
在Linux 2.6.22.6 上进行移植、开发,可以先直接下载Linux-2.6.22.6.tar.bz2 后直接解压即可得到linux-2.6.22.6,里面存放内核源码。
也可以下载内核源文件,然后打上补丁。
三、内核源码结构
内核文件数目将近 2 万,它们分别位于顶层目录下的17个子目录,各个目录功能独立。最后 2 个目录不包含内核代码。
对于ARM 架构的 S3C2440,其体系相关的代码 在arch/arm/目录下,在后面进行移植Linux 时,开始的工作正是修改这个目录下的文件。如下图是内核代码的层次结构。
关键字:TQ2440 移植 Linux 内核
引用地址:
TQ2440 学习笔记—— 33、移植 Linux 内核【 准备 】
推荐阅读最新更新时间:2024-10-29 11:19
TQ2440国嵌学院gboot-关闭MMU和Cache
在register 1寄存器中最后3位定义如下: 第0位可以关闭MMU 第1位可以关闭Data address check 第2位可以关闭Cache 当然你会说这里只关闭了Dcache,没有关闭Icache, 在register 1寄存器中第12位定义如下: 第12位可以关闭Icache,通常情况下,不对这一位做设定。 代码如下: disable_mmu: mcr p15,0,r0,c7,c7,0 mrc p15,0,r0,c1,c0,0 bic r0, r0, #0x00000007 mcr p15,0,r0,c1,c0,0 mov pc, lr
[单片机]
面对不断升级的内核如何学习linux设备驱动
面对不断升级的linux内核、GNU开发工具、linux环境下的各种图形库,很多linux应用程序开发人员和linux设备驱动开发人员即兴奋,又烦躁。兴奋的是新的软件软件、工具给我提供了更强大的功能,烦躁的是适应新软件的特性、搭建新环境是一项非常繁琐的事情。本文想从以下3个方面探讨一下“面对不断升级的内核,如何学习linux设备驱动”。 内核发展的现状及其对技术人员的影响 Linux目前主要维护2.4和2.6两个内核版本。在http://www.kernel.org/ 网站上已经可 以下载到最新的2.6内核linux-2.6.31,及最新的2.4内核linux-2.4.37。稳定版本号基本上是1~3月更新一次,如:
[单片机]
gcc代码反汇编查看内存分布[2]: arm-linux-gcc
arm-none-linux-gnueabi-gcc -v gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) 重点: 代码中的内存分配, 地址从低到高: 代码段(RO, 保存函数代码) -- 只读数据段(RO, 保存常量) -- 数据段(RW, 已初始化并且初始值不为0的全局变量和静态变量) -- bss段(RW, 未初始化或者初始化为0的全局变量和静态变量). 程序运行起来之后, 堆区和栈区的变量地址是动态分配的. 可以看出arm-none-linux-gnueabi-gcc编译和gcc编译结果是类似的. #include stdio.h #include s
[单片机]
ARM笔记:移植串口xmodem协议
串口xmodem的移植比较简单,参考ymodem协议就行。 实验环境:Linux ubuntu 9.10(来自韦东山老师光盘自带虚拟机) 开发板: Jz2440(ARM9 S3C2440 NAND K9F2G08 SDRAM K4S561632 * 2) U-Boot: u-boot-1.1.6 烧写工具: OpenJtag 串口软件:SecureCRT 一、增加loadx命令 在cmd_load.c (路径:u-boot-1.1.6/common/cmd_load.c)中增加一条U_BOOT_CMD命令以支持xmodem。 找到loady命令的U_BOOT_CMD结构体,紧跟其后增加loadx的U_BO
[单片机]
基于ARM9-Linux平台的车载导航系统设计
1. 前言 近年来,随着国民经济的迅速发展,人民生活水平的日益提高,各种机动车辆的数量急剧增加,同时对汽车导航系统的需求数量也急剧增加。本文采用了基于ARM9-Linux 平台的嵌入式系统作为系统的控制平台,提高系统的性能、集成度以及可扩展性;运用GPS 定位技术和先进的GPRS 无线通信技术相结合的方案,以实现车辆电子地图导航和短消息报警;通过LCD 模块的设计实现了车辆各种信息的灵活显示,丰富了人机交互界面,使得系统更加智能化。本文所研究的车载GPS 导航系统是智能交通系统(ITS,Intelligent Transportation System)的一个重要分支,对解决城市交通问题具有重要意义。 2. GPS 全球定位系统(
[单片机]
wince中将自己的应用程序编译到内核并开机启动的一种方法
1.准备好需要自动运行的程序,比如123.exe 2.将“123.exe”拷贝到该路径下:WINCE600OSDesignsS3C6410_DEMOS3C6410_DEMORelDirSamsung_SMDK6410_Release. 3.在pc上新建一个“123.txt”的文档,里面填入以下内容:10#Windows123.exe.之后将该文件重命名为 123.lnk 4.修改project.bib文件 FILES ; Name Path Memory 123.exe $(_FLATRELEASEDIR)123.exe NK H 123.lnk $(_FLATRELEASE
[单片机]
基于TI OMAP3530的移动视频解决方案
TI推出的新一代移动应用处理器——OMAP3530,是专门为智能手机、GPS系统和笔记本电脑等低功耗便携式应用而设计。OMAP3530在单一的芯片上集成了ARM® Cortex™-A8内核、TMS320C64x+™ DSP内核、图形引擎、视频加速器以及丰富的多媒体外设,其中Cortex-A8内核拥有超过当今300MHz ARM9器件4倍的处理性能。OMAP3530可广泛用于流媒体、2D/3D游戏、视频会议、高清静态图象、3G多媒体手机、高性能PDA等项目的评估与应用。 合众达(SEED)作为TI国内最大的第三方和代理商,致力于在多媒体应用领域为用户提供多种TI平台解决方案,包括开发工具、参考设计、TI全系列IC器
[单片机]
基于EPM7312的新型嵌入式系统的实现
1 前言
随着以计算机和软件为核心的数字化技术的迅速发展,多媒体技术与Internet 的应用迅速普及。计算机﹑通讯﹑消费电子一体化的趋势日趋明显。作为新型智能3C合一的嵌入式系统与技术进入智能化﹑网络化的发展阶段。
所谓嵌入式系统,即将应用程序和操作系统和计算机硬件集成在一起的系统。简而言之即软硬件一体化。这种系统具有小巧灵活﹑性价比高﹑自动化高﹑实时性强﹑专业性强等特点。嵌入式系统适合应用于人类工作与生活的各个领域,最为典型的应用有机顶盒﹑数字应用﹑WebTV﹑ATM/POS机﹑多媒体手机﹑袖珍电脑﹑车载导航器﹑航空电子等等。嵌入式技术已经深入人类生活和工作的方方面面,在娱乐,军事方面也有强大的应用潜力。
[嵌入式]