项目简介
本项目是一个基于C语言和uCore操作系统的简单shell移植项目,适配了LoongArch 32架构,解决了与MIPS架构在跳转指令、寄存器等方面的差异。同时提供了简单shell程序,具备命令行输入解析、文件操作、进程控制等功能。
项目的主要特性和功能
移植部分
- 适配LoongArch 32架构,解决了与MIPS架构在跳转指令、寄存器、例外处理、存储空间管理等方面的差异。
- 提供Docker镜像用于快速搭建编译环境。
- 支持编译、运行和调试内核的操作。
简单shell程序部分
- 支持命令行输入与解析,能根据输入调用相应系统调用或内部函数执行命令。
- 可进行文件的基本操作,如读取、写入、获取状态等。
- 提供进程控制功能,包括创建子进程、等待子进程结束、杀死进程等。
- 具备错误处理和警告机制,能输出相应信息。
- 提供交互式界面,允许用户持续输入命令并获取反馈。
安装使用步骤
移植项目部分
- 下载本项目的源码文件。
- 准备编译环境:使用
docker pull chenyy/la32r-env
安装Docker镜像,并在该容器内完成编译。 - 编译内核:在容器内执行
make
命令。 - 运行内核:执行
make qemu
命令。 - 调试内核:一个终端执行
make debug
,另一个终端执行make gdb
。
简单shell程序部分
- 下载本项目的源码文件。
- 编译:使用uCore提供的编译器和工具链进行编译。
- 运行:在uCore操作系统环境下运行生成的可执行文件。
- 输入命令:在交互式界面中输入命令,如"ls"、"cd"、"echo"等。
- 查看结果:根据命令的执行结果,查看文件列表、目录内容、输出信息等。
真实硬件运行注意事项
如果硬件未保证I - D Cache一致性,需要正确实现CACOP指令,并修改kern/include/loongarch.h
中的缓存行大小宏定义。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】