嵌入式
走向:
软件 人机交互
硬件 单片机、stm32
1、什么叫嵌入式?
以应用为中心、以计算机基础为基础(电脑操作)、软硬件可裁剪
软硬件结合之后的产品:手机、手环
2、嵌入式应用:
消费类:智能家居、智能安防、智能农业
工控类:机械手臂、医疗用具
3、嵌入式开发框架:
Linux开发:c语言——>编译文件(二进制)——>下载到操作系统——>运行
4、c语言框架
头文件——声明接口函数
主函数——用于实现函数
返回值——用于返回程序的结果
5、项目介绍
A:A8、A9、A53.
R:工业控制.
M: M3、M4、stm32.
基于A53的电梯多媒体呼叫显示系统.
1、控制ARM开发板,在LCD屏幕上通过帧缓冲实现UI界面设计
2、开发输入子系统————运用触控屏相关技术
3、音频解码,解码MP3格式的语言文件,使用Linux系统中接口完成语音播报
4、进程与线程控制多线程、多任务
5、数据结构,链表,实现系统的自动处理
6、开发环境
在一台电脑上去跑两个程序,Windows/Linux
7、Linux基础
- Linux和Ubuntu的关系
Linux:指的是整个系统,包含界面和内核
Ubuntu:就是内核,操作系统 - 如何查看Ubuntu版本
12.04:版本号
.2:修订号(经过2次修订)
LTS:长期支持使用 - 如何查看Ubuntu操作位数
8、分析Linux系统特点
- 图像简陋 开发效率高
- Linux 操作系统交互模式——>命令行进行
分区之间使用反斜杠分割
所有文件都按照规矩放置到对应的分区
如何调大调小终端字体:
调大: ctrl+shift+加号.
调小: ctrl+减号.
9、Windows与Linux的差异
Windows架构:
Linux架构:
Linux:一棵树,分区从属目录,目录之间没有包含关系,所有的入口都是根目录(/)
10、linux命令
-
命令提示符
gec——用户名
@——分隔符
Ubuntu——主机名
;—— 分隔符
~——家目录(当前路径)
$——代表权限 -
打印工程路径
只要是Linux的目录,一定会存在两个目录文件
. 当前目录
… 父目录(上一级目录) -
ls——查看当前目录文件
-l:查看当前文件所有信息
(d开头:目录 -开头:普通文件 p开头:管道文件)
-a:查看上一级目录
-
cd——切换路径
-
touch——创建文件
-
mkdir——创建目录
-
cp——复制文件
cp 路径 文件 路径 -
rm——删除文件
删除文件:rm 文件名
删除目录:rm 文件名 -rf -
mv——移动文件/重命名
移动文件:mv 文件名 目标路径
重命名:mv 旧的文件名 新的文件名 -
cat——查看文件内容
cat 文件名 -
clear——清除屏幕信息
-
tab键——自动补齐命令
练习:
补充: -
家目录(/home/gec)——>gec拥有一切的权限
-
解决权限不足的问题,切换超级用户,sudo
-
切换家目录:cd ~ 或 cd /home/gec 或 cd
-
绝对路径和相对路径
绝对路径:从根目录开始,带(/)
相对路径:从当前路径开始,以当前路径为参照物 -
切换到超级用户:sudo -s
切换到普通用户:exit -
/root:超级用户家目录
/home/gec:普通用户家目录
嵌入式Linux编程
1、编程环境:Linux
开发环境:linux接口+开发语言(Linux c语言)——>面向过程
文件格式:后缀.c
2、嵌入式开发流程
1、编写工程
vi编辑器:
一般模式:不能进行编写,可以方向键控制光标的移动,按“i”,在低行出现insert,就可以编写了,按“esc”,进入一般模式.
低行模式:低行模式一定是由一般模式切换而来,不能从编辑模式切换过来,按“shift + :”,进入低行模式,wq保存并退出,w:保存.,q:退出,q!: 强制退出
共享文件夹:
(1)、在Windows桌面新建一个文件夹(不能为中文)
(2)、打开虚拟机,设置共享文件
找到新建的文件夹
(3)、进入共享文件夹
2、编译工程
(1)、本地编译:gcc、g++
编译格式:gcc 文件名.c -o 文件名
-o:指定生成一个可执行文件(二进制)
(2)、交叉工具编译链:arm-linux-gcc 文件名.c -o 文件名