SimpleOS开发(1)环境准备

gewenbin
gewenbin
gewenbin
188
文章
15
评论
2022年5月22日19:24:13 评论 748

1. 项目简介

基于全志D1开发板开发一个类UNIX系统来学习操作系统开发相关知识,设计上会参考xv6和SylixOS,并且是从最底层开发,也即不使用uboot或者opensbi之类的引导程序,而是直接从m模式到s模式最后到用户层u模式。目前将最终的OS命名为SimpleOS,越简单越好,方便学习,同时在本网站博客上也会不定期更新开发进度。目前系统设计支持以下特性:

  • 支持串口、定时器、中断控制器。
  • 支持每个进程单独的地址空间。
  • 支持系统调用。
  • 支持简易文件系统。
  • 支持简易Shell。

源码放在gitee上:https://gitee.com/databuser/simpleos

2. 编译环境准备

2.1 交叉工具链安装

全志D1使用的是阿里平头哥玄铁c906内核,所以需要下载其对应的交叉工具链,地址为平头哥芯片开放社区(OCC) (t-head.cn)。这里我选择在windows平台开发,所以我下载的是windows平台的交叉工具链。

SimpleOS开发(1)环境准备

下载完成后解压到电脑上某个目录下,然后将bin目录路径添加到系统Path环境变量中。

SimpleOS开发(1)环境准备

另外还需要下载安装make工具,但是由于我的电脑已经安装过SylixOS IDE,其中自带make,所以make工具我是能直接使用的,其他人需要自行安装make。

安装好后可以通过“riscv64-unknown-elf-gcc.exe -v”命令来检查是否设置正确。

SimpleOS开发(1)环境准备

2.2 xfel工具安装

全志的芯片都烧录了BootROM,用于上电时最底层的初始化和寻找可引导程序。当芯片找不到可引导程序时进入fel模式,这时就可以通过usb接口和芯片来通信,比如下载程序到内存中执行等等。我们使用fel模式来下载OS镜像到内存中并运行,这就需要借助xfel工具,在安装xfel工具之前我们还需要首先安装usb驱动,下面一一介绍。

2.2.1 更换开发板fel模式的usb驱动

首先需要下载安装zadig软件,然后连接开发板的otg口到电脑上,运行zadig软件,在options下选择list all device,在列表中选中USB Device(VID_1f3a_PID_efe8),这是全志D1开发板。

SimpleOS开发(1)环境准备

在Driver一栏选择WinUSB,然后选择install driver,等待一会后驱动安装完成。

2.2.2 安装xfel工具

下载windows下的xfel工具:xfel-windows-v1.2.7 · xboot/xfel - Gitee.com。下载好后解压到电脑中,同样需要将xfel的目录路径添加到系统Path环境变量中。

SimpleOS开发(1)环境准备

设置好后可以通过“xfel -h”来检查设置是否正确。

SimpleOS开发(1)环境准备

gewenbin
  • 本文由 发表于 2022年5月22日19:24:13
  • 转载请务必保留本文链接:http://www.databusworld.cn/10746.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: