《如何学习基于ARM嵌入式系统》笔记整理
如何学习基于ARM嵌入式系统
一.嵌入式系统的概念
从硬件上讲,将外围器件,与CPU集成在一起。
从操作系统上讲,定制符合要求的系统内核
从应用上讲,把软件内核和应用一起烧录到ROM中
二.嵌入式系统的分层
硬件层:硬件平台是基础,增值靠软件
驱动层:
驱动程序在系统调用的时候,不会独占操作系统的时间片。而导致其他任务不能执行。
研究操作系统内核和调度
数据结构和算法,操作系统原理,编译原理
操作系统层:移植
应用层:编译和开发环境
三.目标与定位
先有目标,再去定位
从硬件上讲:接口电路设计;汇编和C语言
从软件上讲:基于ARM处理器的操作系统层面的驱动,移植
结合自身的特点,选择层面。
四.关于开发平台选择
从自己的未来和目标方向,看开发板的接口资源,看行业的通用性。
五.培训
时间成本,同龄人竞争
六.高级嵌入式系统硬件工程师
从系统的层面考虑多个因素。
七.高级嵌入式软件工程师(自己补充)
初级阶段:
熟悉C,Linux命令,vim,
了解汇编,Makefile,shell
常用通信协议:UART,SPI ,IIC , CAN,Modbus,1-wire,
了解基本网络协议:TCP/IP,MQTT , HTTPS
了解网络数据交换格式:cjson解析及构造
了解芯片架构:x86,ARM,MIPS
硬件角度:
基本元器件原理,基本升压,降压电路
常用通讯接口,了解常用无线通讯原理
利用示波器及万用表测量和排出问题
进阶阶段:驱动设计,编译,链接,操作系统,熟悉网络协议
高级阶段:内存管理,系统框架,工程化角度