实验内容
搭建Windows系统:传送和一些简单的文本文件编辑。因为连接ARM-Linux系统完成文件传送。
搭建PC-Linux系统:在此系统上安装ARM-Linux交叉编译器,对代码文本文件进行编译,生成可在ARM-Linux系统中运行的可执行程序。后续Linux程序的开发工作(包括代码编写、调试和编译生成可执行文件)在此系统上进行。
搭建ARM-Linux系统:ARM-Linux程序运行的平台。此系统的硬件载体是一块小型的嵌入式Arm板,用于运行在PC-Linux宿主机上开发编译生成的,并通过Windows系统传递ARM-Linux可执行程序。
实验项目二:PC-Linux上的多进程、多线程编程4-6学时
(一)实验目的要求
了解有关系统调用(如fork,exec,pthread多线程函数等)的用法。
(二)实验材料和仪器设备
一台安装有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-Boot到ARM开发板
(二)实验材料和仪器设备
分别安装Windows,Linux操作系统的机器,一个Arm开发板
(三)实验内容
下载获取U-Boot;
在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例。
创建一个新目录存放开发板相关的代码,并且添加文件。
为开发板添加新的配置文件后配置开发板,make编译成功得到U-Boot映像。注意有些错误是跟配置选项是有关系的,通常打开某些功能选项会带来一些错误,一开始可以尽量跟参考板配置相同。
添加驱动或者功能选项:在能够编译通过的基础上,还要实现U-Boot的以太网接口、Flash擦写等功能。
调试U-Boot源代码,直到U-Boot在开发板上能够正常启动。
实验项目六:内核启动分析6学时
(一)实验目的要求
使用Gdb跟踪Linux内核启动过程,练习根文件系统的烧写
(二)实验材料和仪器设备
分别安装Windows,Linux操作系统的机器,一个Arm开发板
(三)实验内容
Gdb调试内核,设置使用RAM Disk作为根文件系统
实验项目七:ARM-Linux内核移植6学时
(一)实验目的要求
实现一个简单的ARM-Linux内核移植
(二)实验材料和仪器设备
分别安装windows,Linux操作系统的机器,一个Arm开发板
(三)实验内容
ARM-LINUX-GCC版本4.3.2安装在/usr/local/arm/4.3.2下.
修改内核的Makefile件,修改平台输入时钟、时钟频率,机器类型ID号;给内核打上补丁使内核支持yaffs2;修改内核mtd分区和bootloader(vivi)使其一致。执行make menuconfig,并对内核选项进行配置,make zImage 编译生成内核,在arch/arm/boot下生成编译好的可执行程序zImage. 并在vivi下使用,完成移植。