|
Project1:嵌入式操作系统调研
- 通过各种网络资源,了解目前在嵌入式各个领域中占据主要市场的嵌入式操作系统有哪些(要给出出处,参考文献等)
- 选择你感兴趣的某个领域,举例说明这个领域(或某项产品)对嵌入式操作系统的需求有哪些?举例说明某个嵌入式操作系统是如何满足这些需求的。
- 了解目前,嵌入式专业相关的工作有哪些?需要哪些技术积累?
- 给出调研报告
|
Project2:基于Arm的linux的启动分析
- 选择一种启动方案,进行基于arm的Linux的启动分析
- 分析直到调用start_kernel为止
- 给出分析报告
|
Project3:在skyeye中运行u-boot
- 安装交叉编译器
- 安装skyeye
- 编译u-boot
- 在skyeye中运行u-boot
- 提交实验报告
- 在实验报告中给出步骤
- 安装软件的版本
- 编译u-boot的命令
- 运行u-boot的界面
|
Project4: rtems-4.0.0源代码分析
在RTEMS-4.0.0中,选择下列任一模块加以分析:
- 内存管理模块,包括:
- Heap内存管理算法
- Partition管理器
- 理清楚workspace、region、malloc之间的关系
- 任务管理模块,包括:
- Score中的thread管理、thread队列、优先级管理
- Rtems中的rtems task
- 以及它们各自对外的接口
- 任务间同步机制,包括
- Score和rtems中的信号量、互斥信号量以及它们之间的关系
- 掌握防止优先级翻转的优先级继承、优先级置顶协议
- 系统初始化
- 基于x86的rtems的初始化
- 了解hello任务是如何得到执行的
|
Project5: 基于ARM的Linux 2.6中断、异常、系统调用处理分析
- arm的硬件中断机制
- linux对arm中断向量表的初始化
- linux对arm中断、异常的处理(提示:从汇编-->C语言函数;asm_do_IRQ)
- 以上可以以一个中断或一个异常或一个系统调用来进行举例说明
|
Project6: Linux2.6下的虚拟字符驱动
- 模拟一个字符设备,提供字符设备驱动
- 在Linux 2.6环境中,动态加载虚拟字符驱动模块
- 编写一个应用程序,对虚拟字符设备驱动进行读写
- 课堂举例的参考
|