学习内容
嵌入式开发概述、嵌入式Linux安装与使用
学习目标
1、嵌入式开发VS传统开发
2、嵌入式优缺点
3、嵌入式开发的就业前景
4、Linux安装(文档化)
5、Linux命令(30-40命令)
6、IDE环境-vscode
嵌入式开发学习路线
1、嵌入式Linux安装及使用
2、嵌入式Linux开发工具 gcc,gdb,make,git,shell,cmake
3、嵌入式C语言开发
4、嵌入式Linux C开发;文件io\多任务,网络,数据库
5、嵌入式C++开发(嵌入式服务器、中间件)
6、嵌入式GUI开发 QT
//人工智能
7、嵌入式硬件基础(51,stm32)
8、嵌入式硬件开发 crotex-A
9、嵌入式系统移植 BSP,u-boot 实时操作系统
10、嵌入式Linux内核开发(内存管理)
11、嵌入式底层驱动开发
12、嵌入式操作系统开发
//fpga+IC设计
什么是嵌入式开发?
首先,都是软件烧写到硬件。
传统开发:单片机
缺点:软件硬件耦合度太高
嵌入式开发:
在已有的硬件上移植操作系统
上层:软件:应用软件(调用open函数)
底层:操作系统:系统软件:驱动、BSP、内核(实现open函数)
缺点:提高开发成本
看懂芯片手册
嵌入式系统CPU的选择?
ARM体系结构:
crotex-M(MCU (stm32))
crotex-R(实时性)
crotex-A(MPU)
低功耗
实时操作系统
RT-thread
POSIX:可移植操作系统接口
GUN计划:Gun is not unix
gcc gdb make
GPL协议
操作系统
最核心的是内核
虚拟机
作用:通过软件的方法模拟一台PC机
种类:
vmware:商业软件 windows
vitualPC:微软
vitualBOX:支持Linux
Linux使用
root用户切换到普通用户及普通用户切换到root用户
~代表是root用户
或者直接用su也可以切换到root用户
普通用户权限不够
加上sudo就可以了,sudo申请权限来执行这条操作,使用时要输入密码。
reset和clear都是清屏,reset使用后上拉找不到之前使用过的命令,一般用clear。
Tab键可以自动补齐。
创建用户:adduser XX
不同用户可以赋予不同的权限
删除用户:deluser XX 不能以XX用户登录删XX,因为被某个进程占用着。可以杀死某个正在使用的进程 kill+进程编程。 常用强制杀死:kill -9
ps -a 查看当前所有的进程
文件管理命令:Linux一点哲学:一切皆为文件 分类(四大类):普通文件(以-开头),目录文件(以d开头),设备文件(以c/b开头),链接文件(以l开头)
-s共享文件 -f堆栈文件 -p管道文件
rwxr-xr-x r可读w可写x可执行
rwx指当前用户对文件的操作权限
r-x指与当前用户在同一组
r-x指其他用户
r4 w2 x1
touch创建一个空文件
ls(-l -a)
查看一个文件:cat XX
cat -n 显示行号
编辑一个文件:gedit XX
创建一个目录:mkdir XX
删除一个目录:rm -r XX
rmdir XX 只能删除空目录,不能删除非空目录
绝对路径与相对路径
不带根目录的就是相对路径
从根目录开始的就是绝对路径
bin目录:存放系统命令
sbin目录:存放成绩用户命令
dev:设备文件
etc:配置文件
lib:存放系统运动所需要的库文件
root:root用户的工作目录
usr:第三方应用软件的默认安装目录
proc
sys
mnt
查看目录所处的路径,查看绝对路径:pwd
拷贝XX到XXX:cp XX XXX
拷贝目录要加 -r :cp -r XX XXX
把XX剪切到XXX:mv XX XXX
mv也可以重命名:mv XX XXX
查看文件属性:file XX
ifconfig:查看当前网卡上的IP
网络配置
查看本机IP:ifconfig
配置:
编辑-------虚拟网编辑器-------(右下角)更多设置
DCH设置
apt-get的使用
rpm:rehat
apt-get命令是Ubuntu系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包
语法格式:apt-get[options] command
使用apt-get命令先要设置软件源并更新
apt-get update 更新软件列表信息
apt-get upgrade 更新软件