嵌入式系统中的异步系统调用胶囊开发指南
1. 驱动使用与设备差异
- 已成功为树莓派Pico设置了DigitLetterDisplay驱动,由于使用了嵌入式操作系统,所需更改极少。接下来只需将树莓派Pico连接到常规树莓派板,并上传内核和示例应用。
- 树莓派Pico和micro:bit的关键区别在于ARM MCU类型,树莓派Pico使用ARM Cortex - M0 + MCU,而micro:bit使用ARM Cortex M4 MCU。Tock允许以TBF文件格式分发二进制应用,但因MCU不同,不能对两者使用相同的TBF文件,否则会因指令不兼容而报错。此时Tock应用程序包(TAB)文件发挥作用,它是一个包含多个TBF文件的tar存档,每个MCU架构对应一个TBF文件。不过,tockloader知道如何使用该文件,而gdb则不行。
- 在向树莓派Pico加载进程时,必须小心选择正确的ELF文件,要确保使用build/cortex - m0文件夹中的文件。需要注意的是,从进程角度看,Cortex - M0和Cortex - M0 +架构是相同的。
2. 系统调用与驱动概述
- 内核处理的三种类型的胶囊或驱动,分别是系统调用胶囊、服务胶囊和驱动。详细介绍了它们在Tock架构中的含义和相关性,还展示了系统调用基础设施以及系统调用如何从用户空间进程分发到系统调用胶囊。
- 说明了Tock的启动方式以及驱动如何初始化并注册到内核,应熟悉内核为驱动开发提供的API。
- 给出了为系统调用胶囊构建库以及在进程中使用它的示例。首次编写Tock胶囊可能比较棘手,因此仅使用了命令
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



