labs for embedded system, 2021 summer
要求:
- 内核与文件系统都使用源代码编译生成二进制目标文件,通过 qemu 测试运行自己的内核与文件系统。
- 使用 buildroot 即可完成,体系结构推荐使用 arm(具体开发板类型不限),也可以使用 x86(相对简单些)生成 Linux 操作系统的内核和可用的文件系统,用 qemu 进行测试。
报告要求:
- 说明自己使用的源代码版本,基本操作过程,和最终成品截图。
- 截图要使用 uname -a 命令显示所使用的内核版本号。
- 在操作过程中遇到的主要问题和解决方法是什么。
参考资料:网络
要求:服务器端在主机运行,客户端在 qemu 模拟器中运行,能实现交互聊天即可。
报告要求:全部源代码,运行界面截图。
要求:
- 为 qemu 中的 edu 设备编写 PCI 设备驱动程序,基本要求是读出设备的版本号即可。
- 如果对更多的驱动功能感兴趣也可以支持更多的功能(中断/DMA等)(edu 设备的 ARM 版我没有测试过,也可能行不通)
1'. (简化版)编写一个可以存储少量数据的驱动,通过字符设备接口进行读写。
报告要求:
- 附上驱动程序源码和测试程序代码(如果有)
- 简要说明遇到的问题和解决方法
参考资料:
- qemu 的源代码,主要看看里面的 docs/specs/edu.txt
- Linux Device Driver 第三版
- 网络资源
要求:
- 五子棋对抗小游戏,需要有图形界面,用户交互。
- 具有一定网络功能。可以作为服务器等待其它用户接入或者接入其它服务器。
通信协议如下:
服务器应有功能:规则判断,棋局记录,用时计算。
示例协议(-> 表示发送,没有 -> 表示接收,在客户端接入之后发送NG)
- ->NG ; 表示新游戏
- OK ; 正常
- ->MV h8 ; h8位置下棋
- MV h9 ; 对手下棋
- ->MV g7
- ER 1 ; 错误1:禁手,错误2:位置不空 ...
- ->MV d5
- OV 1 ; 1 表示胜利,0表示失败
- OV T ; 表示对方超时(选做)。
报告要求:
- 附上全部代码
- 简要对代码进行说明
参考资料:网络与 QT 在线文档