什么是嵌入式?嵌入式系统要学习哪些知识
嵌入式分为嵌入式硬件和嵌入式软件。所谓嵌入式,就是指软件在特定的嵌入式硬件开发完成后,被固化在此硬件平台中,当硬件启动后,自动执行软件,完成特定的功能。
嵌入式系统启动后,一般是没有人机交互界面的,但会留有调试接口,如RS232串口、网口,可以通过终端工具检测软件运行状态、下发控制指令等。
硬件工程师
嵌入式硬件工程师,主要掌握的是基于CPU设计计算主板的电路知识。所以模电、数电、EDA知识是这类工程师的基本功!除此之外,熟悉常用通信协议和总线,如CAN、SPI、I2C、PCIe、DDR,也是硬件工程师应该掌握的技能。
软件工程师
嵌入式软件工程师,编程语言、数据结构是其基本功,除此之外,还应该熟练掌握以下技能
掌握多线程、多进程编程技术,理解各种线程同步机制,如临界保护、同步信号。知晓进程间通信技术,如共享内存、管道、套接字编程技术;
了解常见外设作用,如CPU、DDR、SDRAM、FLASH、串口、网口等;
了解常见总线或通信协议概念,如数据总线、地址总线、CAN总线、I2C总线、SPI总线等;
理解基于寄存器编程概念,也就是硬件驱动程序实现原理。无论什么硬件,不管函数接口如何封装,其内部一定是对硬件各个寄存器的操作;嵌入式编程由于受限于硬件资源的大小,所以在内存使用上并不像桌面软件那么灵活。比如,在indos下编程,函数中的数组变量可以分配很大的内存,这是因为其栈空间默认很大。在嵌入式环境中,最好把这些内存大的变量定义到外部存储硬件中,如SDRAM或DDR,这是因为嵌入式处理器的片内RAM都很小!
从这里可以看出,嵌入式软件工程师与其他类型软件工程师有一个很大的不同点,就是需要掌握很多硬件知识,这是由嵌入式开发的特点来决定的。
热点新闻
- 黄宗泽导演游客团游纪实才艺熠熠,贡嘎之旅启
- 哈利波特7死亡圣器
- 外地人可以在当地办旅游签证吗(外地人可以在外
- 退选亚姐孙亚莉因欠债自杀 香港艳星生存状况堪
- 梦中所遇逃亡经历探寻背后的深层含义
- 世界上真的有僵尸吗 科学家终于找到答案了
- 侯佩岑婚前自备贞操带 后悔踢炎亚纶下床欲加戏
- 飞甩鸡毛是什么牌子
- 美孚速霸1000机油性能如何 用户体验如何
- 人工智能百度影音如何改善观影体验
- 徐小凤个唱金光灿烂沪上 大方倾诉事业成功感情
- 如何轻松找到大众喜爱的美文
- 银川滨河新区旅游攻略(银川滨河新区公园在哪里
- 步步惊心宫:如何解锁宫廷情感之谜
- 如何用英语表达曲奇 曲奇英文单词是什么
- 公子小丑:如何理解他的角色魅力与独特之处