网上关于这个实时操作系统的资料十分地少。主要是因为这个操作系统开源的项目不出名吧,比起nuttx拥有PX4这个已经经过长期验证的飞控,echronos开源的飞控SMACCMPilot就显得十分冷门了。但是吸引我的一点是,这个操作系统十分安全。号称这个世界上最安全的操作系统seL4也是基于这个实时操作系统。而我注重的是,用户任务崩溃不会影响系统任务崩溃。这是个十分有意思的特性,即便我最后不选择这个操作系统,echronos的内存管理方式也值得我借鉴。
首先https://github.com/echronos/echronos从git上clone下来这个操作系统的源码。我目标是把它下载到我的stm32F407VET6的板子上。我发现echronos支持的板子少的可怜,幸好支持f4discovery,跟我用的芯片类似而且使用的也是8M的时钟。
虽然没有这个板子的官方教程,但是根据readme的例子,我决定依葫芦画瓢模仿一下。
这里使用了模拟器,既然我有板子就不用模拟器了,把原文这句话改为
prj/app/prj.py build machine-qemu-simple.example.gatria-system
prj/app/prj.py build machine-stm32f4-discovery.example.blinky-system
machine-stm32f4-discovery.example.blinky-system可以看做machine-stm32f4-discovery/example/blinky-system 是packages下的文件目录,我不知道为什么要写成这样,这里 . 和 / 的作用是一样的
接下来原文就直接上机调试了