首页 嵌入式Linux的移值

嵌入式Linux的移值

举报
开通vip

嵌入式Linux的移值 The success's road 嵌入式嵌入式LinuxLinux的移植的移植 www.farsight.com.cn PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì Ì www.fineprint.com.cn 远见品质 今天的内容 v移植的基本概念 vLinux操作系统在嵌入式平台上的移 植方法 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 移植的基本...

嵌入式Linux的移值
The success's road 嵌入式嵌入式LinuxLinux的移植的移植 www.farsight.com.cn PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì Ì www.fineprint.com.cn 远见品质 今天的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 v移植的基本概念 vLinux操作系统在嵌入式平台上的移 植方法 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 移植的基本概念 v移植是指将软件从一个平台迁移到 另一个平台 Ø从一个硬件平台移植到另一个硬件平台 Ø从一个操作系统移植到另一个操作系统 Ø从一种软件库环境移植到另一个软件库环境 v软件进行移植的容易程度即可移植 性 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux硬件平台 v在Linux内核里,每一个处理器指令 集对应一个独立的体系结构 architecture,比如 Ø alpha, arm, i386, mips, ppc v每个体系结构可以有若干变种 variant,或不同配置的硬件machine 统称sub-architecture。以arm体系结 构举例 Øvariants 包括 arm7tdmi, arm926ejs, strongarm, xscale Ømachine 包括 edb7312, smdk2410, omap-h2 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 硬件平台对C程序的影响 v处理器字长,定义为处理器一次能 处理的数据位数。 v字长等于处理器内部数据通路的宽 度,一般可以通过通用寄存器的宽 度来判断 v处理器字长会影响int, long等C类型 的长度 vC代码当中需要使用确定大小的数据 类型,可以使用显式长度的类型 Øu8, s8, u16, s16, u32, s32, u64, s64 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 数据对齐 v数据对齐是指数据块的地址是某个 特定大小的整数倍 Ø32位处理器字对齐 n*4 Ø页对齐 n*PAGESIZE ØCache line对齐 n*CLINESIZE v数据访问 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 至少是字对齐的,多 数情况下编译器会处理数据访问的 对齐。不对齐访问的例子 Ø char a[10]; Øunsigned long* pl = (unsigned long *)(a+1); Øunsigned l = *pl; PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 字节顺序 v 字节顺序byte order是指一个字中字节排列的顺 序 v 不同硬件可能采用不同byte order Ø x86 little-endian Ø ppc big-endian v Linux内核将硬件的byte order放在 里面定义,__BIG_ENDIAN 或 __LITTLE_ENDIAN v 在include/linux/byteorder /里面有几个头文件,定 义了 Ø u23 __cpu_to_be32(u32); /* convert cpu's byte order to big- endian */ Ø u32 __cpu_to_le32(u32); /* convert cpu's byte order to little- endian */ Ø u32 __be32_to_cpu(u32); /* convert big-endian to cpu's byte order */ Ø u32 __le32_to_cpus(u32); /* convert little-endian to cpu's byte order */ PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 时间 v软件中的与时间相关的代码也会影响移植 v采用平台无关的时间 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达方法可以提高代 码可移植性 vLinux内核里面采用HZ来表示每秒钟有多 少个内部时钟滴答,以下对时间的描述是 平台无关的 Ø HZ /* one second */ Ø (2*HZ) /* two seconds */ Ø (HZ/2) /* half a second */ Ø (HZ/100) /* 10 ms */ Ø (2*HZ/100) /* 20 ms */ PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 内存页面大小 vLinux使用虚拟内存机制来管理内存,内 存的使用基于页面。 v不同的体系结构有不同的页面大小 v常用的32位处理器使用4kB页面大小 v部分体系结构可以支持多种页面大小 v内核在里面定义PAGE_SIZE, PAGE_SHIFT Ø PAGE_SIZE表示页面大小 Ø PAGE_SHIFT表示页面号在地址中的偏移量 Ø PAGE_SIZE=2^ PAGE_SHIFT PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux操作系统移植 v工具链移植 Øbinutils (assembler, linker..) Øgcc (compiler, libgcc) Øglibc/uclibc v内核移植 Ø arch implementation Ødrivers porting v应用程序移植 ØC program recompile Ø Implement absent library PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux内核的平台相关代码 vLinux内核对多平台有很好的支持 v内核的对外部接口是统一的,并且 与平台无关 v内核的大多数代码也是与平台无关 的 v主要的体系结构相关代码存在于 Ø arch/architecture Ø include/asm-architecture v比如arm体系的平台相关代码主要是 Ø arch/arm Ø include/asm-arm PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 已有代码向Linux内核移植 v将已有代码向内核中移植有一些限 制 Ø内核中没有标准C库支持 Ø内核中没有象用户程序那样的内存保护 Ø内核中不便使用浮点操作 Ø内核的堆栈是固定大小的,并且比较有限 Ø在内核中需要编程者考虑并发带来的竞争与 冒险,以及同步问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux内核移植 vLinux内核代码可以分为平台相关部分和 平台无关部分 vLinux内核绝大部分代码是平台无关的, 可以被各种平台所共享 Ø 调度算法 Ø 存储器管理 Ø I/O子系统 Ø 网络协议栈 v依赖于特定硬件的代码在Linux中采用条 件编译的方式区分 Ø ARCH = x86 即打开x86特有的代码 Ø ARCH = arm 即打开arm特有的代码 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 Linux内核的arch目录 v进入arch目录,每个体系结构代码都 有一个子目录 v进入arm目录,在arm体系结构下我 们可以看到很多sub-arch的子目录 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 实现sub-arch v在sub-arch子目录下,以mach-s3c2410为 例 v一个硬件平台支持需要实现以下几个硬件 相关的文件 Ø mach-s3c2410.c, irq.c, clock.c, dma.c, gpio.c, pm.c, sleep.c, time.c Ø 同时在include/asm-arm/arch-s3c2410要实现 üLow-level IRQ helper macros üDebug output macros ü Irq number definations üDMA definations üMemory mapping/translation üReset operation ü IDLE function PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 mach-smdk2410 v在mach-smdk2410.c中,我们要定义以下 几个内容 Ø smdk2410_iodesc,描述了所有保留的设备io地址。这 个描述符是我们移植一个特定目标板非常重要的地方 Ø 在这个板描述文件中还要定义 ü .phys_ram ü .phys_io ü .io_pg_offst ü .boot_params ü .map_io ü .init_irq ü .timer PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 map_io vmap_io里面需要实现设备io的初始 化 v在这里要用到smdk2410_iodesc描述 符。该描述符是一个数组,其中每 一项都描述了一个设备的IO映射 v时钟pll的设置,uart的设置都可以在 map_io中调用 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 init_irq v在这个调用里面,关于中断的初始 化将会被完成 Ø清除中断pending寄存器 Ø注册主要的中断处理程序 Ø设置系统中的设备中断 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 timer vtimer是一个sys_timer类型的结构, 它包含以下成员 Ø init 调用执行硬件相关的timer初始化 Øoffset 调用返回自从上次timer中断以来经过的 微秒数 Ø resume 调用执行系统唤醒后的timer恢复操作, 一般实现上和init里面的初始化一样 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 应用程序移植 v最理想情况下,程序可以不作更改, 或仅仅打一些补丁,然后告诉编译 环境按照目标环境要求编译即可 Øbusybox Øbash Ø sysv init PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 应用程序移植(2) v依赖某些平台特性的应用程序移植 起来往往难度更大 Ø图形库 Ø为速度进行优化的代码,比如编解码器 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 应用程序移植(3) v软件编程语言的跨平台性直接影响 软件的可移植性。此外还有其他因 素 v软件协议/源代码的开放程度 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 应用程序移植常见问题 v依赖软件造成移植性问题 ØC库版本问题 Ø图形库带来的问题 Ø软件依赖某些服务带来问题 v网络应用在little-endian平台上的处 理 Ø网络传递数据是big-endian的 v软件依赖特定平台的特性 v平台的数据一致性模型差异 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 远见品质 让我们一起讨论! PDF 文件使用 "pdfFactory Pro" 试用版本创建 ā www.fineprint.com.cn www.TopSight.com.cn 谢谢! 成功之路 PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì ÿ www.fineprint.com.cn
本文档为【嵌入式Linux的移值】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_954947
暂无简介~
格式:pdf
大小:2MB
软件:PDF阅读器
页数:25
分类:互联网
上传时间:2009-12-24
浏览量:21