3.6 本章总结¶
嵌入式系统开发工作的75%以上都是软件部分的工作,而且软件的质量往往会影响硬件性能,以及系统的可靠性。过去我们在预算嵌入式系统成本时,往往只关注硬件, 即看得见的那些材料成本,现在人们越来越已经非常重视软件成本(含开发和运维)预算。
本章主要探讨嵌入式系统软件开发的基本模式和方法,以及使用和不使用RTOS的嵌入式软件的模型和基本架构,并了解相关的概念。本章还将编译型语言和脚本语言放在一起对比, 帮助我们了解使用两种不同语言开发嵌入式系统软件的基本方法、所用工具和效率等方面的区别,并对比两种语言的源码程序如何被嵌入式计算机执行,以及Python解释器的运行机制。 开源社区丰富的资源已是提高现代软件开发效率的重要工具,Arduino作为全球最大的嵌入式系统软硬件开源社区,如何使用Arduino平台也是本章的重点内容。
通过本章的学习,已初步掌握嵌入式系统的软件模型、层次架构、运行机制、开发方法等,为后续的深入学习奠定软件基础。
本章总结如下:
- 使用RTOS的嵌入式系统软件模型,以及软件架构。并了解RTOS相关的概念和使用RTOS的益处等
- 无RTOS的嵌入式系统软件模型,对比有RTOS和无RTOS的嵌入式系统软件执行机制,并了解事务轮转型软件模型和中断驱动型软件模型的相关概念和设计思路
- 了解Python解释器相关概念,嵌入式系统执行Python脚本程序的机制,使用Python脚本语言开发嵌入式系统软件的工具和环境
- 了解Arduino IDE和Arduino程序结构,以及Arduino的开发板管理器等相关概念,了解使用Arduino开发嵌入式系统软件的基本方法和分层抽象的软件结构,以及相关工具软件
- 通过自定义一种兼容Arduino的开源板的软件开发环境搭建项目,初步了解嵌入式系统软件如何抽象硬件资源,以及使用Arduino开源平台开发嵌入式软硬件的基本思路
虽然单靠看书是学不会编程的,动手才能掌握编程的技能。如果能够拥有软件设计模式、面向对象的编程思维、RTOS、软件编译和执行原理、运行机制等方面扎实的理论知识, 一定会让我们的软件开发工作变得更高效。所以,我们仍提供一些与本章核心内容相关的拓展阅读。
本章拓展阅读:
参考文献:
.. [1] https://www.freertos.org/wp-content/uploads/2018/07/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf
.. [2] Jim Cooling, Real-time Operating Systems Book 1: The Theory, (个人自主发行), 2019.8
.. [3] Jim Cooling, Real-time Operating Systems Book 2: The Practice: Using STM Cube, FreeRTOS and the STM32 Discovery Board, (个人自主发行), 2017.12
.. [4] http://c.biancheng.net/design_pattern/
.. [5] Walter Savitch, Problem Solving with C++ (10th Edition), Pearson, 2017.2