我目前正在学习嵌入式实时工程的职业。但是发现很难找到好的培训材料。尤其是因为您无法像使用桌面应用程序开发那样体验嵌入式开发。
是否有任何书籍和/或工具包可用于基础培训?对学习 RTOS 有什么建议吗?
使用 RTOS 时有什么建议吗?
这真是一门复杂的学科,有太多的选择和取舍。
在硬件方面,我会选择低端的微控制器,因为当它们变得更小时,事情往往会变得更容易,并且离桌面越远,你就越了解嵌入式编程的思维方式。
由于您在日本,因此最好在当地查看流行的控制器,这样您就可以获得良好的社区支持并可以轻松购买零件。
在德国这里是 AVR ATMEGA,我认为这是一个不错的选择。它得到了 GNU 工具的最佳支持,它以 DIP 封装形式提供,并且可以使用其内部振荡器运行,因此可以轻松地在面包板上运行。最大的障碍是我需要一个 ISP 程序员。有一个很好的德语教程。
我还有一台瑞萨的 R8C,它在日本可能更受欢迎。让 GNU 工具运行起来更加困难,我必须自己从源代码构建它们。对于 MS-Windows,有免费的 IAR Kickstart 套件,代码大小限制为 4KB。它可以使用串行接口(但具有 TTL 电平)进行编程,为此我有一个 FTDI USB 转串行模块。
至于 RTOS,看看 OSEK,有几个免费的实现。它可以用于非常小的控制器。
您也可以自己编写一个基本的 RTOS,这并不难,而且您学得最多。
您无需学习特定的 RTOS,有数以万计的嵌入式 RTOS 被细分到市场细分市场,即使您知道您要从事的确切细分市场,仍然有很多操作系统在同一细分市场中运行。
重要的是要了解操作系统的基本概念,并且有很强的 C 背景。当我们招聘时(我们是嵌入式开发公司),我们不需要任何嵌入式编程或特定操作系统方面的特定知识。我们正在寻找能够编写完美 C 代码并能够学习的聪明人。
我会推荐 Quantum Leaps Platform 和 Quantum Framework。这是一个复杂的状态机环境,需要极低的占用空间。它也可以在 Windows 上运行(用于学习它)。
您首先需要弄清楚您想了解嵌入式系统的哪些内容。
*) 硬件细节 *) 操作系统 *) 应用程序编程 *) 开发板 *) 小型微控制器 *) Linux
...还有更多选择...
我会决定完成某个嵌入式项目并购买/学习相关技术。