4月「掘金·日新计划」第14天
一、嵌入式是什么
- 应用为中心
- 软硬件皆可裁剪
- 对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统
二、ARM架构
- 特点是低功耗,高性能,低成本,可扩展性强
- 应用智能手机,平板电脑,智能手表,智能家居工业自动化领域
三、树莓派
- 实物图
0. 性能
-
针脚
四、库概念
-
分文件编程
- 功能责任划分
- 方便调试
- 主程序简洁
-
库是什么
-
功能函数整合成一个库,库包含了编译好的代码和数据,方便使用
-
程序函数库分为:静态库,动态库,共享库
-
静态库
- 程序执行前,就编译加入到目标程序里了
- 用gcc编译,在gcc后用-l来指定这个库函数
- 不想让人看到源代码,可以使用静态库
-
动态库
- 程序执行时,由目标程序去调用
- 跟window的.dll相似
-
-
库优缺点:运行,程序大小,更新
-
静态库
-
优点
- 运行快
- 发布程序无需提供静态库,因为已经在程序中(app中),移植方便
-
缺点
- 程序大
- 更新,部署,发表麻烦。因为要重新编译生成目标程序
-
-
动态库
-
优点
- 程序小
- 更新升级简单,因为app中没有库源代码,升级库就可以升级app
-
缺点
- 运行慢,加载速度慢
- 发布程序需要提供动态库
-
-
五、串口概念
-
多机通信,全双工
- 全双工,同一时间都发,互骂
- 半双工,同一时间只能单方向,一个骂完另一个骂
-
数据格式,语言(数据位,停止位,奇偶校验位)
-
波特率,语速
六、交叉编译概念
-
什么是交叉编译(1点)
- 一个平台上生成另一个平台上的可执行代码
- 例如:window上用kell编译c51,生成的可执行代码xxx.hex在单片机上运行
-
为什么要用(2点:无法安装,未建立)
- 目标平台上无法安装编译器,例如c51(因为资源不足)
- 目的平台未建立,要交叉编译生成bootloader(启动引导代码)以及操作系统核心
- 宿主机:编辑和编译程序的平台
- 目标机:用户开发的系统,比如ARM平台
-
交叉编译工具
- 交叉编译器,交叉编译工具链