嵌入式系统开发实用指南
1. 嵌入式系统概述
嵌入式系统是执行特定、专用任务且无需直接或持续用户交互的计算设备。由于市场和技术的多样性,这些设备形态各异,但通常体积小且资源有限。
嵌入式系统开发与传统高级软件开发面临不同挑战。在开发与嵌入式系统资源和外设交互的软件组件时,需先明确适用技术和架构模式的范围。
嵌入式Linux系统是嵌入式市场的一部分,这类设备有足够的能力和资源运行GNU/Linux操作系统的变体。不过,其开发涉及不同的设计和组件集成策略,不在我们的讨论范围内。典型的能运行基于Linux内核系统的硬件平台,配备了高达数GB的RAM和足够的存储空间来存储GNU/Linux发行版中的所有软件组件。此外,为了让Linux内存管理为系统中的每个进程提供独立的虚拟地址空间,硬件必须配备内存管理单元(MMU),它能在运行时协助操作系统在物理地址和虚拟地址之间进行转换。这类设备的特性对于构建定制解决方案来说往往过于复杂,而简单设计的系统可以降低单个产品的生产成本。
硬件制造商和芯片设计师一直在研究新的技术来提升基于微控制器的系统性能。在过去几十年里,他们推出了新一代平台,降低了硬件成本、固件复杂度、设备尺寸和功耗,以满足嵌入式市场的需求。在某些实际场景中,嵌入式系统需要在短时间内可测量、可预测地执行一系列任务,这类系统被称为实时系统,与桌面、服务器和手机采用的多任务计算方式不同。在嵌入式Linux平台上实现实时处理非常困难,甚至几乎不可能。Linux内核并非为硬实时处理而设计,即使有补丁可以修改内核调度器来满足这些需求,其效果也无法与专为实时处理设计的裸机受限系统相媲美。
一些应用领域,如电池供电和能量收集设备,可以从较小嵌入式设备的低功耗能
超级会员免费看
订阅专栏 解锁全文
216

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



