一、传统式开发模式
1.软件→硬件(即软件直接访问硬件)
2.缺点:
(1)软件移植性差(软件需要根据硬件的改变重新编码)
(2)软件开发人员必须懂硬件
二、嵌入式开发模式
1.软件→操作系统→硬件(软件通过操作系统访问硬件)
操作系统的作用:管理资源,实质上也是软件
硬件改变则要移植操作系统即修改其原码满足需要
2.优点:
(1)解决软件移植性
(2)软件开发员不需要懂硬件
(3)提供多任务机制
(4)提供丰富的网络协议(操作系统自带网络协议,可实现通过网络远程控制)
(5)提供多种开源的软件和工具
传统应用软件:Linux C/C++、Android/Java、iOS(调用函数)
(6k-1.1w) 1.精通一门语言
2.熟悉一款操作系统
3.熟悉数据结构,算法
系统软件:BSP、驱动、内核(实现函数)
(7.5k-1.4w)1.精通C语言2.熟悉汇编,C++
3.理解操作系统的实现
4.熟悉硬件的工作原理