S5PV210开发 -- 前言

2019-07-12 16:43发布

这段时间终于把图像和流媒体部分的内容如 FFmpeg、MP4V2、LIVE555、RTSP、H.264 等过了一遍,然后做了一个PM2.5采集项目,学习了MQTT。接下来我们会以基于 210v3开发板/s5pv210开发板+7寸电容屏含android4.0.4源码,和 嵌入式Linux软硬件开发详解 基于S5PV210处理器  来进行嵌入式 Linux 软硬件和Android的开发详解,这才是重头戏。嵌入式部分还好,很多内容之前总结都有涉及到的。嵌入式基本知识必备
Hi3516A开发--安装交叉编译器
Hi3516A开发--编译内核、uboot
Hi3516A开发--根文件系统
Hi3516A开发--环境搭建工具
Hi3516A开发--板卡烧写Hi3516A开发--常用指令和根文件目录详解
Hi3516A开发--板卡烧写后续
DM368开发 -- Bootloader 开发(转毕设)
DM368开发 -- uboot 使用
C语言再学习 -- Linux 中常用基本命令
C语言再学习 -- GCC编译过程
UNIX再学习 -- shell编程
都说学习嵌入式的基础是 C语言+数据结构+一款CPU体系结构。其中对于我来说第一掌握了C语言、第二熟悉UNIX操作系统和数据结构与算法,第三有针对TI和海思板卡的软硬件开发经验,然后熟悉图像和流媒体技术等。所以接下来的总结会根据培训时的进度分 ARM、系统移植、驱动开发 这三部分来讲。了解完硬件设计篇、开发基础篇、系统移植篇,会优先搭建 Android 操作系统。要能写一个简单的APP demo。最后顺便要把之前转载的设备驱动部分的博客归类总结,该删除的删了。
首先要了解一下什么是嵌入式。更多知识点,参看:嵌入式基本知识必备

一、什么是嵌入式系统

(1)嵌入式系统定义

嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。除了大型机、服务器、工作站、PC。由软件、硬件共同构成的专用系统”
特点:“嵌入”、“计算机”、“专用”

(2)嵌入式系统应用领域


(3)嵌入式系统特征

嵌入式系统无处不在无固定形态专用性强,软硬件多样化— 小型化、功耗敏感、成本敏感—要求高可靠性、高稳定性—通常有实时性要求软件可固化有些行业要求芯片或期间的供货周期较长是多学科结合,是技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统软件开发通常需要专门的开发工具和开发环境

二、嵌入式系统构成

嵌入式系统有软硬件共同构成嵌入式硬件最小系统:处理器、电源电路、复位电路、时钟电路。

三、嵌入式岗位或者说是嵌入式行业的职业面向

1、Linux c应用开发工程师
2、嵌入式开发工程师
3、C软件工程师
4、Linux驱动开发工程师
5、Android驱动开发工程师
6、Linux网络开发工程师

四、嵌入式系统职业岗位分析

参看:嵌入式系统职业岗位分析
企业需求的嵌入式人才:
1、嵌入式Linux应用软件开发工程师: 熟悉嵌入式Linux系统架构,熟悉Linux开发规范和流程,精通Linux系统下C语言应用编程,文件操作、进程控制、进程间通讯、多线程编程、网络编程(TCP/IP协议、socket编程)
2、嵌入式底层驱动开发工程师:熟悉Linux驱动开发的基本知识,Linux内核修改和编译,熟悉 Bootloader原理与移植,掌握文件系统制作,掌握Gcc/Makefile的使用,Linux驱动开发。
3、 嵌入式C/C++应用软件开发工程师:精通Linux系统下QT应用编程,熟悉QT应用编程中各个组件,掌握QT多线程、网络编程以及2D/3D图形界面绘制
4、 嵌入式接口开发工程师:熟悉ARM体系结构,精通ARM接口编程,对硬件协议有研究,精通串口协议、I2C协议、I2S协议以及SPI协议。