英国威廉希尔公司_WilliamHill官网-中文网站

XF002008_Linux内核开发技术实验
发布时间: 2018-08-31 浏览次数: 16

Linux内核开发技术实验》教学大纲

Experiments of Linux Kernel Development Technology

课程代码:XF002008学时:32学分:1

理论学时:实验或讨论学时:32

适用专业:计算机科学与技术等课程性质:选修

撰稿人:王雅琴、王秀丽、于群审定人:

  

  1. 实验课的性质与任务

    本实验课作为专业选修课,强调突出实践操作能力的特点,以符合培养应用型人才的教学方针。教学以嵌入式Linux系统开发为应用背景,实验主要涵盖系统应用级和系统内核级两个方面的内容,从应用角度学习在PC-Linux系统下的结合Linux内核原理的应用程序开发,在内核角度上验证ARM-Linux的内核启动机制及系统内核移植的实现。

    二、实验目的与要求

通过本课程的学习,使学生熟练进行Linux系统之上的应用编程,并具备内核级程序的分析和内核编程、移植等实践能力。

三、实验项目设置情况

序号

实验项目名称

学时

开出要求

实验项目类型

必做

选做

基础型

综合设计

研究创新

演示

验证

1

交叉编译环境的配置

2

Δ


  

Δ

  

  

2

PC-Linux上的多进程、多线程编程

4-6

Δ



Δ



3

PC-Linux上的内存编程

4-6

Δ

  

  

Δ

  

  

4

PC-Linux上的文件编程

4-6

Δ

  

  

Δ

  

  

5

Bootloader移植

6

Δ

  

  

  

Δ

  

6

内核启动分析

6

Δ

  

  

Δ

  

  

7

ARM-Linux内核移植

4

  

Δ

  

  

Δ

  

  

  

  

  

  

  

  

  

  

四、各实验项目教学内容

实验项目一:交叉编译环境的配置2学时

(一)实验目的要求

WindowsPC-LinuxARM-Linux三个系统的搭建及交叉编译环境的配置。

(二)实验材料和仪器设备

分别安装WindowsLinux操作系统的机器,一个Arm开发板

  1. 实验内容

    搭建Windows系统:传送和一些简单的文本文件编辑。因为连接ARM-Linux系统完成文件传送。

    搭建PC-Linux系统:在此系统上安装ARM-Linux交叉编译器,对代码文本文件进行编译,生成可在ARM-Linux系统中运行的可执行程序。后续Linux程序的开发工作(包括代码编写、调试和编译生成可执行文件)在此系统上进行。

    搭建ARM-Linux系统:ARM-Linux程序运行的平台。此系统的硬件载体是一块小型的嵌入式Arm板,用于运行在PC-Linux宿主机上开发编译生成的,并通过Windows系统传递ARM-Linux可执行程序。

    实验项目二:PC-Linux上的多进程、多线程编程4-6学时

    (一)实验目的要求

    了解有关系统调用(如forkexecpthread多线程函数等)的用法。

    (二)实验材料和仪器设备

    一台安装有Linux操作系统的机器

    (三)实验内容

    进程及线程系统调用函数的使用;多种进程间通信方法比较;进程与线程的并发执行效果对比。

    实验项目三:PC-Linux上的内存编程4-6学时

    (一)实验目的要求

    练习内存管理函数malloc()free()calloc()realloc()的使用,编程实现内存的分配和回收操作。

    (二)实验材料和仪器设备

    一台安装有Linux操作系统的机器

    (三)实验内容

    练习内存管理函数malloc()free()calloc()realloc()的使用,辨析不同内存分配方式的区别。

    实验项目四:PC-Linux上的文件编程4-6学时

    (一)实验目的要求

    ANSIC文件和POSIX文件的编程

    (二)实验材料和仪器设备

    一台安装有Linux操作系统的机器

    (三)实验内容

    编程实现ANSIC文件的打开、关闭、读写文件、文件流定位。

    编程实现POSIX文件的打开、关闭、读写文件、文件内容定位、修改打开文件属性。理解文件描述符的概念

    实验项目五:Bootloader移植6学时

    (一)实验目的要求

    移植U-BootARM开发板

    (二)实验材料和仪器设备

    分别安装WindowsLinux操作系统的机器,一个Arm开发板

    (三)实验内容

    下载获取U-Boot

    在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例。

    创建一个新目录存放开发板相关的代码,并且添加文件。

    为开发板添加新的配置文件后配置开发板,make编译成功得到U-Boot映像。注意有些错误是跟配置选项是有关系的,通常打开某些功能选项会带来一些错误,一开始可以尽量跟参考板配置相同。

    添加驱动或者功能选项:在能够编译通过的基础上,还要实现U-Boot的以太网接口、Flash擦写等功能。

    调试U-Boot源代码,直到U-Boot在开发板上能够正常启动。

    实验项目六:内核启动分析6学时

    (一)实验目的要求

    使用Gdb跟踪Linux内核启动过程,练习根文件系统的烧写

    (二)实验材料和仪器设备

    分别安装WindowsLinux操作系统的机器,一个Arm开发板

    (三)实验内容

    Gdb调试内核,设置使用RAM Disk作为根文件系统

    实验项目七:ARM-Linux内核移植6学时

    (一)实验目的要求

    实现一个简单的ARM-Linux内核移植

    (二)实验材料和仪器设备

    分别安装windowsLinux操作系统的机器,一个Arm开发板

    (三)实验内容

    ARM-LINUX-GCC版本4.3.2安装在/usr/local/arm/4.3.2.

    修改内核的Makefile件,修改平台输入时钟、时钟频率,机器类型ID号;给内核打上补丁使内核支持yaffs2;修改内核mtd分区和bootloadervivi)使其一致。执行make menuconfig,并对内核选项进行配置,make zImage 编译生成内核,在arch/arm/boot下生成编译好的可执行程序zImage. 并在vivi下使用,完成移植。

  2. 实验报告要求

    报告形式:电子文档排版后上传到FTP

    报告内容要求:排版整齐,条理清楚,建议可分以下几个部分:

    1. 实验题目

    2. 实验说明及结果分析(要求阐述清楚,逻辑清晰,有结果配图)

    3. 总结

      六、课程考核方式及成绩评定

      (一)考核方式

      平时成绩:ð实验报告

      结课后考试:ð随堂技能测试

      (二)课程成绩评定办法

      成绩构成:考勤ð10%//实验报告 50%//测试ð30%

      七、实验应配套的主要仪器设备及台(套)数(以一个实验教学班为标准)

      每人一个配置Windows系统的PC,一个配置Linux系统的PC,一个配置Linux系统的ARM

  

附:教学参考资料

主要参考书:

  1. 弓雷等编著,ARM嵌入式Linux系统开发详解(第2版),清华大学出版社,20142

  2. 杨水清,张剑,施云飞编著,精通ARM嵌入式Linux系统开发,电子工业出版社,20125

  3. (罗德里格斯(费舍尔()斯莫斯基著,陈莉君等译,Linux内核编程,人民邮电出版社,20115

  4. []Robert Love\祝洪凯等译,Linux系统编程(第2版),人民邮电出版社,20145

  5. 宋宝华,Linux设备驱动开发详解,机械工业出版社,20158

      

      


Baidu
sogou