![]() |
1
6
|
![]() |
2
2
目前还没有任何解释语言“被制造”来使用freertos或任何其他微控制器线程库(在e2e社区中被松散地称为“rtos”)。 然而,我在嵌入式系统中有第一手经验的语言包括(a)用c编写,和(b)小到可以嵌入微控制器的语言:
我没有直接的经验,但是ruby可能和python一样容易嵌入。 |
![]() |
3
1
不要寻找freertos特定的解释器,您可以尝试为您的特定微控制器或微控制器寻找任何解释器。可以将它们与freertos接口,或者将解释器转换为一个任务。 好像有人想找 Lua on FreeRTOS (PIC32)。 |
![]() |
4
0
我想您的问题归根结底是找到在低级rtos机制之上增加抽象级别的方法。虽然解释语言的抽象级别可能比c更高,但通过应用基于事件驱动框架和状态机的方法,您可以做得更好。这样的事件驱动框架已经存在了几十年,并在各种领域的无数嵌入式系统中得到了验证。如今,几乎所有能够生成代码的嵌入式系统建模工具(如rational rose-rt、rhapsody等)都包含了这种状态机框架的变体。 但是,事件驱动的状态机框架也可以在没有大型工具的情况下使用。例如,qp状态机框架(state machine.com)可以做常规rto所能做的一切,只是效率更高,还有很多rto做不到的事情。 当你开始使用状态机的现代事件驱动编程范式时,你的问题就会改变。您将不再与15个级别的if-else复杂语句作斗争,您将不再担心信号量或其他此类低级rtos机制。相反,你会开始思考 更高层次的抽象 关于状态机和它们之间交换的事件。在经历了这一重大飞跃之后,您将永远不想回到原始的rtos和意大利面代码。 米罗·萨梅克,state-machine.com |
![]() |
conopizda2 · 为什么我的静态数组没有被memset清除? 3 年前 |
![]() |
jhe4x · C按位OR返回的值不正确 3 年前 |
![]() |
Tim · 如何用c语言打印程序的执行流程# 6 年前 |
![]() |
jatinBatra · 关于嵌入式固件开发[已关闭] 6 年前 |
![]() |
Will · 嵌入链接器脚本-是否正确放置“堆栈”和“堆”区域? 7 年前 |
![]() |
K. Crow · 不等于PIC32上启用中断时操作员不工作[关闭] 7 年前 |
![]() |
spiff42 · 清除位时唯一的最大不同字节值集 7 年前 |