嵌入式学习:嵌入式硬件和软件详解
在嵌入式开发中,是分为硬件部分和软件部分的,大多数的初学者对于嵌入式的硬件和软件之间的区别不是很了解,所以今在这里就和大家具体说说嵌入式硬件和软件详解,大家可以参考一下。
图片来源:摄图网大多数初学者都认为“嵌入式系统=MCU硬件系统+小程序”。这些学者大多具有良好的电子技术基础知识。
实际情况是,早期MCU内部RAM小,程序存储器外接,需要外扩各种I/O,没有像USB、嵌入式以太网等这样较复杂的接口。
因此,程序占总设计量比例小于50%,使人们认为嵌入式系统(单片机)是“电子系统”,以硬件为主,程序为辅。
但是,随着MCU制造技术的发展,不仅.MCU内部RAM越来越大。
Flash进入MCU内部改变了传统的嵌入式系统开发与调试方式,固件程序可以更方便地调试与在线升级,许多情况下与开发PC机程序的方便程相差无几,只不过开发环境与运行环境不是同一载体而已。
这使得嵌入式系统的软件硬件设计方法发生根本变化。实际上说白了嵌入式就是一个硬件电路加上一个实时操作系统。
现在很多从事嵌入式的软件开发者对底层硬件的基本原理不理解。
特别是有些功能软件开发者,过分依赖于底层硬件的驱动软件,自己对底层驱动原理知之甚少。
实际上,一些功能软件开发者,名义上在做嵌入式软件,其实仅仅是使用入式编辑、编译环境而已,本质与开发通用PC机软件没有两样。
而底层硬件驱动软件的开发,若不全面考虑高功能软件对底层硬件的可能调用,也会使封装或参数设计得不合理或不完备,导致高层功能软件调用困难。
由此可以看出,若把嵌入式系统的开发孤立地分为硬件设计、底层硬件驱动软件设计、高层功能软件设计,那么一旦出现问题,就可能难以定位。
实际上,嵌入式系统设计是一个软件、硬件协同设计工程,是要在一个大的框架内协调工作。
所以建议大家,想成为一个嵌入式开发工程师,嵌入式系统的硬件与软件一定要打好基础,才能更好的从事嵌入式开发的工作。
欢迎私信我了解更多IT课程知识。