tja1050中文资料 嵌入式架构有多重要?
要做到嵌入式应用的代码逻辑清晰, 且避免重复的造轮子,
没有好的应用架构怎么行?
如果没有好的架构,
移植将会是一件很痛苦的事情。
如果没有好的架构, 复用是最大的难题,
没法更大限度的复用原有的代码。
如果没有好的架构, 一旦驱动改了, 所有的地方都要改, 费时费力且很容易出错。
如果没有好的架构,
应用层中穿插着硬件驱动层的代码,
看着会是一片混乱, 逻辑不清,
代码维护起来会很困难。
接下来嵌入式ARM便和大家分享一下, 嵌入式架构那些事儿…… 01
嵌入式系统的基本架构
嵌入式系统一般由软件和硬件两个部分组成,基中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分可以分为三个层次,分别是系统软件、支撑软件和应用软件,其中系统软件和支撑软件是基础,应用软件是最能体现整个嵌入式系统的特点和功能部分。 硬件架构
嵌入式系统的核心部件是各种类型的嵌入式处理器:
(1)嵌入式微处理器:在功能上跟普通微处理器基本一致,但是它
具有体积小、功耗低、成本低及可靠性高的优点。
(2)嵌入式微控制器:双称单片机,一般以某一种微处理器内核为核心,整个计算机系统都集成到一块芯片中,与嵌入式微处理器相比,最大特点是单片化。
(3)嵌入式数字信号处理器:一种专门用于信号处理的处理器,DSP(Digital Signal Processor)是芯片内部采用程序和数据分开的结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令。
(4)嵌入式片上系统:一种在一块芯片上集成很多功能模块的复杂系统,在大量生产时,生产成本也远远低于单片部件组成的电路板系统。 软件架构
大多数人参与的是嵌入式软件设计,更多的是接触的是上层软件系统部分,可以分为两大类型嵌入式软件应用工程师以及嵌入式驱动工程师。
前者主要负责 linux APP 设计,负责应用层业务开发,主要具备如
下几个专业技能:
1.熟悉网络编程、TCP/IP协议、IIC、SPI协议 2.熟悉多线程管理、进程间通信、文件IO操作 3.了解基本的shell编程 4.熟悉数据库操作 5.了解QT或者Android
后者负责驱动开发,更加涉及底层。
1.熟悉uboot和Linux内核,完成Linux内核裁剪定制以及系统的固件更新
2.熟悉Linux驱动模型 3.熟悉ARM架构 4.熟悉基本的电路原理