2024.7.15
引言
针对嵌入式进行程序开发
嵌入式系统
专业定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能 可靠性 成本 体积 功耗等严格要求的专用计算机系统。
简单理解:除pc外,一切对控制类的硬件设备开发都可以称为嵌入式开发,嵌入式系统是要包含一个可用于变成控制的开发板(51,stm32)及外围器件(stm32小车蓝牙 避障等模块)组成。
课程内容
Linux基础指令
嵌入式c语言编程:l
基础:变量 数据类型 运算符 流程控制
进阶:数组 函数
核心:指针 构造类型 文件流 预处理
高级:数据结构与算法(单向链表 双向链表 二叉树 栈 队列) 工程管理 工程调试
Linux系统IO
Linux多进程/多线程
Linux网络编程
Linux数据库编程
C++:
·面向对象思想
·面向对象三大特征(封装、继承、多态)
·泛型编程
·Stl编程
·io流,异常处理
QT GUI编程
·信号与槽机制
·基础组件、布局
·主窗口设计
·对话框
·网络数据库编程
STM32开发
·基础(标准外设)
GPIO 中断 定时器 pwm
·高级
传感器、总线、实时系统
嵌入式linux驱动开发(扩展)
内核架构、内核剪裁、内核编译、字符设备、块设备
为什么选择linux
Linux是一个操作系统,开源的、免费的、可裁剪的,是一个基于文件的操作系统,所有的一切都是针对文件进行。在嵌入式开发中,扮演了非常重要的角色
操作系统就是运行在系统平台上的一套软件,可向应用程序提供访问硬件的接口,并客人直接操作硬件的运行。应用程序时运行在操作系统上的。
为什么选择linux?
主要时由嵌入式产品特点来决定
·内部时基于一个控制器
·体积一般比较小(决定了嵌入式,它的硬件资源一般比较紧张)
·对功耗有要求
·特定的应用
·越来越智慧化
- 花时间和精力
- 时间安排
- 上课要认真听讲,课后多做练习,每天的老师的代码至少敲2-3遍
- 主动学习,利用网络资源,利用ai大模型,多思考多练习。
设置虚拟机ubuntu和windows之间文件的共享
·第一步在window电脑非系统盘更目录下的YQ文件夹下新建share文件夹
第二步在虚拟机上配置共享文件夹
·第三步在ubuntu的终端,通过命令访问共享文件夹
Linux指令起步
·yueqian@yueiqan-vm:~$
·yueqian:当前登录的用户明
·@:分隔符
·yueqian-vm:主机名
··~:当前登录用户的家路径
·pwd:linux命令,用来查看当前所在的绝对路径,linux绝对路径是从/开始的,/称之为根路径
问题:~等价于/home/yueqian
·cd:切换目录
·ls查找,获取到的时缩略形式的文件或者文件夹
·ls -l:查看,获取到的是详细信息,其中开头位置的d代表文件夹,linux称之为目录。
2024.7.16
/:根目录
/bin:主要存放系统的普通指令
/boot:主要存放系统的引导程序
/dev:存放硬件设备对应的文件(二阶段Linux应用开发起就是就访问这里的文件)
/etc:存放系统和应用程序的配置文件
/home:家目录,存放当前系统下所有用户对应的目录
/lib:存放系统和应用程序依赖的库文件,有系统库,也有第三方库
/pros:存放系统运行时的运行信息
/usr:是软件的默认安装路径
/var:存放缓存,备份文件
/cdrom:光驱
/mnt:用于系统文件系统的挂在目录
/sbin:用于存放特权指令
路径的概念
绝对路径:以根目录(/)为参考点描述的路径,称之为绝对路径。
举例:cd /home/yueqian – 任何地方都可以切换
相对路径:以当前目录(./)为参考点描述的路径,称之为相对路径
举例:cd /home – 绝对路径
cd ./yueqian – 相对路径,必须是当前路径才可以切换,不可任意切换
cd yueqian – 相对路径,另一种写法
文件类型
说明:
d:目录(文件夹)
-:文件
l:快捷方式
c:字符设备文件
b:块设备文件(大容量磁盘-存储设备)
s:表示套接字文件
p:表示管道文件
通配符
*:匹配任意一个或多个字符
?:匹配任意单个字符
[..]:匹配方括号给定的范围中的任意一个字符
指令
语法:
pwd:查看当前目录的路径·(绝对路径)
ls:显示指定路径(默认当前路径)下的文件或者目录
-a:显示所有(包含隐藏文件)文件或者目录
-l:显示所有文件或目录的详细信息列表
-r:将文件以相反次序显示(原定依照英文字母次序)
-t:将文件以厂家时间的先后次序
说明:多个参数是可以共同出现的,如:
ls -t -l -r == ls -tlr
cd:切换目录
格式:cd 目录,cd后不跟文件路径,应该跟文件夹路径
cd中的特殊的写法:
cd ~:切换到当前家目录下的用户目录
cd /:切换到根目录
cd -:返回上一次的工作目录
cd ./:切换到当前目录
cd ../:回退到上一级目录
cd ../..:回退到上上级目录
mkdir:创建目录
语法:mkdir 文件夹路径(目录·)
参数:
-p:可以创建多层文件夹
语法:mkdir -p
touch:创建文件
语法:touch 文件路径
rmdir:删除空目录,仅限与删除空目录
语法:rmdir 空目录路径
语法:rm[选项] 目录/文件路径
选项:
-i:给出交互提示,可以输入yes或者no
-f:强制删除,不提示
-r:递归删除
cp:复制文件或文件夹(也就是windows中复制家粘贴)
语法:cp选项 被复制的目录/文件路径 目的地的路径
mv:移动文件(重命名文件)
语法:mv被移动的文件路径 目的地的文件路径/目录
说明:被移动的文件名或者目的地的文件名不一行字,相当于重命名了
文件操作
cat:查看文件内容
语法:cat 文件路径
cat [选项] 文件路径
选项:
-n:显示行号
more:分页查看文件内容