引言

笔者之前开发了SKRTOS的多个版本,包括数表版本、链表版本、红黑树版本、响应EDF版本,但是,由于笔者时间并不是非常宽裕,测试也并不完全,所以这四个版本有不少bug,并且只支持arm cm3一种架构,目前只是一个玩具。

因为笔者并不是单片机从业者,也并没有使用SKRTOS做过项目,只是对硬件与操作系统感兴趣的爱好者而已。所以,自己写的RTOS自己都不用,是不好意思给别人用的,因此,笔者将其定义为学习型RTOS,项目的重点在于文档教程相关的操作系统设计及源码讲解。

如果后面有时间的话,笔者会修复四个版本中的bug,在经过充分的测试后,会发布release版本。

好了,笔者最近将SKRTOS移植到了imx6ull(cortex-A7)上,算是多支持了一种架构。

请原谅笔者在SOC上跑RTOS,而不是继续支持arm cm4或其他mcu架构。因为笔者手上的单片机,只有RISCV和arm cm3架构的,压根没有cm4架构的mcu。虽然说可以仿真cm4架构,但是有失严谨。所以,笔者只能将目光瞄准SOC了,不过好在手上有2440、imx6ull这些学习开发板。

好了,笔者向各位展示如何在cortex-A7上运行RTOS吧。

环境

一块开发板:正点原子imx6ull mini版。

一张SD卡:fat32文件系统,8gb存储,使用USB2.0烧录。

操作系统:ubuntu16虚拟机

串口软件: MobaXterm(其他的串口软件也可以)

运行SKRTOS

读者可以去skaiui2/SKRTOS_sparrow at main下载imxproject文件夹。

下载后,将imxproject文件夹放入ubuntu16虚拟机中,这一步可以通过FTP协议相关的软件完成。

进入imxproject/armgcc/down目录。

由于每个人的路径设置不同,因此需要修改脚本do.sh配置自己的路径。

不过在此之前,给该脚本赋予权限:

1
chmod 755 do.sh

使用vi命令,vi do.sh

1
vi do.sh

将其中的路径修改为自己的路径即可.

插上usb与sd卡,连接到虚拟机,

执行:

1
./do.sh

烧录完成后,将sd卡插入到imx6ull中,打开串口软件MobaXterm(其他串口软件也可以),以sd卡模式启动开发板.

读者会发现MobaXterm上不断打印线程运行信息.