嵌入式实验报告三
更新时间:2024-04-07 05:38:01 阅读量: 综合文库 文档下载
嵌入式实验报告三
实验时间 2013/6/9 报告人
一、实验目的: 1.学习cygwin;
2.通过上机实验,使学生验证、巩固和充实所学理论知识,加深对相关内容的理解,了解嵌入式Linux的内核布局,掌握内核配置及编译方法。
二、实验要求:
1.安装cygwin及内核源码;
2.配置基于S3c2410处理器的内核选项。 3.编译生成zImage。
三、问题:
1.简述嵌入式开发中和体系结构相关的内核布局,说明哪些目录是在内核移植中需要重点关注的。
Linux内核主要由5个子系统构成:进程调度、内存管理、文件系统、网络接口和进程通信。相互关系如图:
内核目录有 arch、block、 crypo、drivers、 fs、include、init、 ipc、kernel、lib、 mm、net、security、 sound、usr、Documentation、scripts等,在内核移植中需要重点注意arch、include、init、mm、kernel、drivers、 fs、ipc、lib等目录。
2.简述内核编译的步骤和对应命令的作用,说明zImage、bzImage的异同。 1. 安装cygwin
安装路径 d:\\cygwin 选择全部安装 All
2. 准备文件
复制linux-2.4.18-rmk7-pxa1-mz5.tar --> /tmp/edukit-2410 复制 \\patch --> /tmp/edukit-2410
复制cross-armtools-linux-edukit2410.tar --> /tmp
3. 安装交叉编译工具&设置系统环境 $> cd /tmp/
$> tar -P -xvjf cross-armtools-linux-edukit2410.tar.bz2
$> ls
… armtools-linux … 出现类似这样的信息即为正确,…为/tmp/目录下其他内容 $> source armtools-linux/cross-install.sh $> ls /usr
… arm-linux … 出现类似这样的信息即为正确,…为/usr/目录下其他内容 $> source /tmp/edukit-2410/set_env_linux.sh
4. 安装内核源码包
tar -xvjf /tmp/edukit-2410/linux-2.4.18-rmk7-pxa1-mz5.tar.bz2 5. 安装内核补丁
patch -p1 < /tmp/edukit-2410/patch/linux-2.4.18-rmk7-pxa1-mz5.tar.bz2.edukit2410.patch 6. 编译生成内核
make xconfig或make menuconfig
选择合适的配置文件或者自己进行相应的配置 Make dep Make zImage
7. 检测生成的内核镜像是否存在 /arch/arm/boot
bzImage和zImage的区别来自于保护模式代码的放置位置:
1. 众所周知,内核映像包括两部分代码:实模式代码和保护模式代码,当引导装载器装载
内核映像到代码段内存时,分别放置实模式代码和保护模式代码到不同的位置,然后进入实模式代码执行,实模式代码执行中转入CPU保护模式,开始执行32位保护模式代码。
2. 不管是zImage还是bzImage,他们的实模式代码部分都被装入0x9000:0000(物理地址
0x90000)-0x9A00:0000(物理地址0x9A000),其0x9000:0000-0x9020:0000是内核引导扇区,现在只是些假代码,无用。0x9020:0000-0x9800:0000是内核实模式代码。内核从这里开始执行。
3. bzImage的内核映像中的保护模式代码,由引导装载器直接装载入高位内存(物理地址
0x100000),就是1M以上。内核实模式代码在完成检查引导装载器兼容性(旧loader可能把实模式代码放在不是0x90000的其他地方,这是需要移到这里),A20初始化gdt,idt(全局描述表,和中断描述表)之后,就将CPU初始化为保护模式,然后跳转到0x100000。至此内核活了起来,他进入了强大的32位线性地址空间执行。由于bzImage是在1M以上,所以它的大小理论上是没有限制的。
4. zImage的的内核映像中的保护模式代码由引导装载器装载入低位内存
0x1000:0000-0x9000:0000(物理地址0x10000-0x90000),然后实模式代码在把它移到从64K=0x10000位置移到4K位置0x1000,然后做和bzImage实模式代码一样的事情,如:检查引导装载器兼容性,A20,初始化gdt,idt(全局描述表,和中断描述表),最后进入保护模式代码执行,0x100:0000(物理地址0x1000)位置。所以我们看到保护模式代码范围必须是0x10000-0x90000,大小是512K字节,再大就会覆盖实模式安装代码。所以zImage的内核最大只能512K. 四、实验心得:
在这次试验中已经完全熟练了cygwin的安装,这次试验花费的时间比较长,用了两节实验课的时间才完成,第一次实验课没有成功。再课后花了些时间操作,在第二次的试验课的时候成功完成了,不过中间也遇到了一些小问题。要学好还要继续努力。
正在阅读:
嵌入式实验报告三04-07
撤销处分的思想汇报104-26
各种管道连接方式汇总04-08
吃火锅作文600字07-10
高考数学一轮复习 集合与逻辑题材05-26
光纤宽带接入合同03-20
在全县财政工作会议上的讲话11-19
M1复习资料03-08
笑雨个人教育实习总结03-08
- 计算机试题
- 【2012天津卷高考满分作文】鱼心人不知
- 教育心理学历年真题及答案--浙江教师资格考试
- 20180327-第六届“中金所杯”全国大学生金融知识大赛参考题库
- 洪林兴达煤矿2018年度水情水害预测预报
- 基本要道讲义
- 机电设备安装试运行异常现象分析与对策
- 《有机化学》复习资料-李月明
- 非常可乐非常MC2--非常可乐广告策划提案 - 图文
- 2011中考数学真题解析4 - 科学记数法(含答案)
- 企业人力资源管理师三级07- 09年真题及答案
- 基于单片机的光控自动窗帘控制系统设计说明书1 - 图文
- 20160802神华九江输煤皮带机安装方案001
- (共53套)新人教版一生物必修2(全册)教案汇总 word打印版
- 2014行政管理学总复习
- 中国银监会关于加强地方政府融资平台贷款风险监管的指导意见
- 民宿酒店核心竞争与研究
- 游园活动谜语大全2012
- 河南省天一大联考2016届高三英语5月阶段性测试试题(六)(A卷)
- 小型超市管理系统毕业论文详细设计4
- 嵌入式
- 实验
- 报告
- 鞍山市劳动和社会保障局行政处罚自由裁量权指导标准
- 冶金传输原理-热量传输-第8章 试题库
- 实验九 结构体编程练习
- 植物的光合作用复习题
- 表C15-1 安全检查记录
- 双头钩针项目可行性研究报告(发改立项备案+2013年最新案例范文
- 马鞍山展示馆施工组织设计
- 新旧准则条件下存货会计核算的变化及对企业的影响
- 7B Unit 7 Reading 教案
- 送教上门工作计划
- 辞职信模板下载
- 部编人教版2018年八年级语文上册第一单元测试题及答案
- 四级安全教育培训内容(车间级)
- 《《詹天佑》》情境导入教学设计
- 51单片机c语言源程序
- 2017-2023年中国破碎设备行业市场发展深度调查及投资战略可行性
- 大学防艾知识竞赛策划书
- 试卷1 生物统计与田间试验
- 2011学年第一学期六年级数学期中检测试卷
- 国有企业工会在构建和谐劳动关系中现状与对策