嵌入式系统中Tock异步系统调用胶囊的深入解析
1. 驱动使用与硬件差异
在嵌入式系统开发中,我们成功为Raspberry Pi Pico设置了DigitLetterDisplay驱动。由于采用了嵌入式操作系统,所需的更改非常少。接下来,只需将Raspberry Pi Pico连接到常规的Raspberry Pi板,并上传内核和示例应用程序即可。
Raspberry Pi Pico和micro:bit的一个关键区别在于ARM MCU的类型。Raspberry Pi Pico使用ARM Cortex - M0 + MCU,而micro:bit使用ARM Cortex M4 MCU。Tock允许以TBF文件格式分发二进制应用程序,但由于Raspberry Pi Pico和micro:bit的MCU不同,不能使用相同的TBF文件,因为MCU会因指令不兼容而抛出错误。这时,Tock Application Bundle (TAB)文件就派上用场了,它是一个tar存档,包含多个TBF文件,每个MCU架构对应一个。不过,tockloader知道如何使用这个文件,而gdb则不行。
在将进程加载到Raspberry Pi Pico时,必须小心选择正确的ELF文件,要确保使用build/cortex - m0文件夹中的文件。需要注意的是,从进程的角度来看,Cortex - M0和Cortex - M0 +架构是相同的。
2. 系统调用胶囊概述
之前我们已经详细了解了Tock胶囊类型以及如何开发简单的系统调用胶囊。现在,我们要扩展之前的胶囊,使其能够显示多个字符。之前的胶囊版本只能接收并显示一个字符,而新版本将接收一串字符进行显示。胶囊会显示一个数字或字母
超级会员免费看
订阅专栏 解锁全文
24

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



