什么是嵌入式
- 传统定义(狭义):嵌入式系统是以应用为中心以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
- 客观定义(广义):除PC之外的一切计算机系统都可以称之为嵌入式系统。典型代表:智能手机、工业机器人、汽车电子、航天航空、安防监控等。
- 低功耗(BLE、zigbee、低功耗WIFI)
- 联网化(4G、BT、zigbee、wifi)
- RISC CPU(ARM、MIPS)
- OS(Linux、Android、RTOS)
- 分层(底层、OS层、应用层)
- 跨度大、知识杂、学习曲线陡峭且绵长。
- 消费电子(智能手机、游戏机)
- 工业自动化(工业机器人)
- 汽车电子(汽车控制系统、车载定位导航、自动驾驶系统、车载娱乐)
- 航空航天(四轴飞行器、载人飞行器)
- 物联网(智慧农业、智慧交通、智能家居)
- .......等
- 嵌入式是技术,物联网是技术应用,嵌入式技术是来实现物联网应用的。
- 嵌入式技术催生了物联网技术的成熟。
- 云计算作用于物联网的应用层(计算数据)
- 云计算依赖于设备的联网能力。
- 云计算是嵌入式发展的必然产物。
- 物联网的主要功能就是产生数据、传播数据、分析数据。
- 大数据来自于物联网感知层,其实就是来自于各种嵌入式设备。
- 大数据源于嵌入式、传播于物联网、分析于云计算。
- 第一层次(C语言);第二层次(ARM汇编、shell脚本、C++、Java)
- 操作系统:第一层次(Linux);第二层次(RTOS、Android)
- 硬件方面:会看原理图、懂得串口、I2C、USB等常见通信原理及编程、懂得LCD、触摸屏等常见原件的工作原理及编程。
- 以软件为主,但要对硬件由一定的了解。
- 涉及面宽广,需要能够持续学习。
- 细节多,需要耐心和细致的洞察力。
- 重在调试,需要有修改能力和调试程序的能力。
- 嵌入式是处理“软硬件结合”部分的。
- 嵌入式软件开发并不需要会设计电路和自己画PCB。
- 嵌入式软件开发以C语言和Linux系统为核心,学习的关键和切入口就是这里。
- 高校理工类学生(电子类、自动化类、通信类、计算机专业等)
- 想通过学习进入嵌入式领域的社会人士。
- 目前从事应用程序开发,希望学习嵌入式作为技术扩展的在职软件工程师。
- 对嵌入式感兴趣,有毅力学习的学习者。
推荐阅读
- RTC-PCF8563驱动问题总结
- RTC何时更新系统时间
- Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
- Linux中的文件类型以及文件属性
- 嵌入式Linux|设备驱动开发实验教程(3)_在Ubuntu 18.04环境下编写一个简单的内核模块