- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux 系统移植Linux 系统移植
Linux 系统移植:
裸板开发:
没有操作系统的支持,没有任何库支持,包括硬件的驱动和上层应用程序都是自己开发的,若是实现相对简单的程序,容易实现复杂一些的程序,对程序员来说,需要懂硬件,懂软件,难度相对较大。
基于操作系统开发:
操作系统为我们提供了很多资源,提供了大量封装好的接口函数,共程序员使用,包括已经实现好的硬件驱动程序。
如何在一个裸板上部署一个操作系统将是在以下几天的主要内容:::
为TPAD部署系统需要:
1,引导程序(bootloader) u-boot.bin
2,操作系统内核 Image
3,文件系统 rootfs.cramfs
4,应用程序
移植课:
基于移植前的软件经过移植成为可以运行的软件(掌握原理和方法)
部署到开发板(熟练操作)
引导程序boot+loader
1,在操作系统运行之前运行的一段代码
Boot:初始化硬件设备,建立内存空间映射图,将系统的软硬
环境带到一个合适的状态
loader:将内核映像文件加载到内存(nand,tftp),之后跳转至内核处执行
2,操作系统内核linux:
Linux内核的本质:从c语言的角度,内核就是c语言函数的集合。从硬件的角度,内核就是管理者。从应用程序的角度,内核就是服务的提供者。
Linux内核的功能:进程管理,内存管理,设备管理,文件系统,网络协议。
3,文件系统
是一种对存储设备上的数据进行组织和控制的机制,是操作系统的一部分,负责管理和存储文件信息。
TFTP:简单的网络传输协议
NFS :网络文件系统
嵌入式bootloader的操作模式:
启动加载模式
下载模式
U-boot 最新的源代码:ftp://ftp.denx.de/pub/u-boot
分析U-boot源码:u-boot根目录下共有26个目录,可以分为四类:
Cpu相关的或者开发板相关的目录:
board,cpu
通用的函数目录:
include,lib_arm ,lib_i386,lib_generic,common
通用的设备驱动程序目录:
disk,driver,fs,nand_sal,net,post,rtc
U-boot工具,示例程序,文档目录:
tools,examples,doc
1.与硬件无关
2.与硬件相关(需要根据不同的硬件更改的代码)
CPU:包含CPU架构相关的代码, uboot支持的每一款cpu在此目录下都有一个对应的文件夹
Board:包含和开发板相关的文件,每一个开发板都以一个子目录出现在当前目录中。
Include:(include/configs/CW210.h)宏定义文件
Driver:各类具体设备的驱动,基本上可以通用,但是要通过宏从外面引入平台或者开发板相关的函数。
Lib_arm:支持arm架构下的通用文件
/uboot/ Makefile文件:1,决定编译哪些文件。 2 ,怎样编译这些文件。3,怎样链接这些文件,最重要的是他们的顺序
Makefile:
1,确定了编译器 arm-linux-
2,确定OBJS LIBS 编译哪些文件
3,怎样编译这些文件,链接所有目标文件(链接脚本.lds)
配置u-boot
Make CW210_config
Make
二,u-boot 启动过程概述:
阶段一:
硬件设备初始化:关闭MMU,CACHE,设置系统时钟比例,关闭看门狗,初始化SDRAM
加载u-boot的第二阶段代码准备RAM空间
复制u-boot的第二阶段代码到RAM空间中
设置好栈
跳转到第二阶段代码的C入口点。
阶段二:
初始化本阶段要使用的硬件设备
检测系统内存映射
将内核映像和根文件系统映像从Flash上读到RAM空间中
为内核设置启动参数
U-boot 的前8k代码是位置无关码,可以运行在非链接地址上。
U-boot中的命令:
Bootargs:
Init:内核启动之后,进入系统中运行的1号进程
Nfsroot:文件系统的路径
Ip:开发板IP:服务器IP:网关:掩码 ::开发板网卡名:on
制定系统启动之后的网卡的IP地址,如果是NFS文件系统,那么必须有这个参数。
struct cmd_tbl_s {
char *name; /* Command Name */
int maxargs; /* maximum number of arguments */
int repeatable; /* autorepeat allowed? */
/* Implementation function */
int (*cmd)(struct cmd_tbl_s *, int
您可能关注的文档
- AF100功能简介AF100功能简介.doc
- android解释android解释.doc
- AOI技术资料AOI技术资料.doc
- AK 型旋转接头样本AK 型旋转接头样本.pdf
- Arduino报告Arduino报告.doc
- arch安装过程arch安装过程.doc
- ARM使用方法ARM使用方法.doc
- ATX电源维修检查ATX电源维修检查.doc
- Arduino语言Arduino语言.docx
- arduino控制arduino控制.doc
- [专精特新]金华永和氟化工有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]重庆升光电力印务有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]无锡巨力重工股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西凯安新材料集团股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江永昌电气股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]苏州中创铝业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]杭州汽轮铸锻有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江美声智能系统有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]汕头市虹桥包装实业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西亚中电子科技股份有限公司行业竞争力评级分析报告(2023版).pdf
最近下载
- 江苏省2021年中学生生物学奥林匹克初赛理论试题答案.doc
- 2025年哈尔滨应用职业技术学院单招语文测试题库附答案.docx VIP
- 2025年安徽水利水电职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 【道氏理论】(完全版).doc
- 分娩镇痛的现状和临床应用课件.ppt
- 学科中心教研组管理方案.docx VIP
- 五年级下册数学单元测试-3长方体和正方体 人教版(含答案).docx
- 2024年安徽水利水电职业技术学院单招职业技能测试题库(考试直接用).docx VIP
- 23S516 混凝土排水管道基础及接口图集.docx VIP
- 数控系统(CNC)系列:Fanuc 31i-B_(6).G代码和M代码详解.docx
文档评论(0)