嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业 控制、现代农业、家用电器、汽车电子、测控系统、数据采集等),计算机应用的延伸(MP3、手机、通信、网络、计算机外围设备等)。从这些应用可以看出, 要完成一个以MCU为核心的嵌入式系统应用产品设计,需要硬件、软件及行业领域相关知识。硬件主要有MCU的硬件最小系统、输入/输出外围电路、人机接口设计。软件设计有固化软件的设计,也可能含PC机软件的设计。行业知识需要通过协作、交流与总结获得。
概括地说,学习以MCU为核心的嵌入式系统,需要以下软硬件基础知识与实践训练:
①硬件最小系统(电源、晶振、复位、写入调试接口);
②通用I/O(开关量输入/输出,涉及各种二值量检测与控制);
③模/数转换(各种传感器信号的采集与处理,如红外、温度、光敏、超声波、方向等);
④数/模转换(对模拟量设备利用数字进行控制);
⑤通信(串行通信接口SCI、串行外设接口SPI、集成电路互联总线I2C、CAN、USB、嵌入式以太网、ZigBee技术等);
⑥显示(LED、LCD等);
⑦控制(控制各种设备,包括PWM等控制技术);
⑧数据处理(图形、图像、语音、视频等的处理或识别);
⑨各种具体应用。
万变不离其宗,任何应用都可以归入这几类。而应用中的硬件设计、软件设计、测试等都必须遵循嵌入式软件工程的方法、原理与基本原则。所以,嵌入式软件工程也是嵌入式系统知识体系的有机组成部分,只不过它融于具体项目的开发过程之中。
初学者,应该把工具的使用和要达到的目的结合起来,这样才能达到最终的效果。学习嵌入式操作系统可以观看创客学院的视频教学,如果光看不进行真正的代码实操,到最后也只是了解这个技术而不会运用,偏离了最终目标,甚至方向嵌入式系统领域。