在imx6ull(cortex-A7)上运行SKRTOS
引言
笔者之前开发了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上不断打印线程运行信息.