day1
嵌入式系统
专业定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性,成本,体积,功耗等严格要求的专用计算机系统。
简单理解:除PC外,一切针对控制类的硬件设备开发都可以称之为嵌入式开发,嵌入式系统往往包含一个可用于编程控制的开发板及外围器件组成。
课程内容
1.嵌入式Linux基础
(1)Linux基础指令
(2)嵌入式C语言编程
基础:变量、数据类型、运算符、流程控制.....
进阶:数组、函数
核心:指针、构造类型、文件流、预处理...
高阶:数据结构与算法(单向链表,双向链表,二叉树,栈,队列...),工程管理工程调试
2.Linux应用开发
(1)Linux系统IO
(2)Linux多进程/多线程
(3)Linux网络编程
(4) Linux数据库编程
3.嵌入式Linux高级开发
(1)C++(核心岗位)
面向对象思想、
面向三大特征(封装,继承,多态)
泛型编程
STL编程
IO流、异常处理
(2)QT GUI编程(桌面窗体应用开发)
信号与槽机制
基础组件,布局
主窗口设计
对话框
网络数据库编程
4.STM32开发
基础(标准外设)
GPIO,中断,定时器,PWM...
高级
传感器,总线,实时系统....
5.嵌入式Linux驱动开发(扩展)
内核架构,内核建材,内核编译,字符设备,块设备...
选择Linux的原因:
Linux是一个操作系统,开源的,免费的,可裁剪的,是一个基于文件的操作系统,所有的一切都是针对文件进行。在嵌入式开发中,扮演了很重要的角色。
操作系统
(运行在系统平台上的一套软件,可向应用程序提供访问硬件的接口,并可直接控制操作硬件的运行。应用程序是运行在操作系统上的。)
原因:
主要由嵌入式产品特点来决定。
内部是基于一个控制器
体积一般比较小(决定了嵌入式产品,他的硬件资源一般比较紧缺)
对功耗有要求
特定的应用
越来越智能化
设置共享目录
设置虚拟机Ubuntu和Windows之间文件的共享:
1.在windows电脑非系统根目录下YQ文件夹新建share文件
2.在虚拟机上配置共享文件夹
3.在Ubuntu的终端,通过以下命令来访问
cd/mnt/hgfs
Linux指令起步
yueqian@yueqian-vm:~$
yueqian:当前登录的用户名
@:分隔符
yueqian-vm:主机名
~:当前登录用户的家路径
pwd:Linux命令,用来查看当前所在的绝对路径,Linux绝对路径是从/开始的
(~等价于/home/yueqian)
cd:切换目录
cd/:进入根目录
cd~:进入家目录
cd-:回到上一步
cd/mnt/hgfs:直接进入到mnt/hgfs
cd..:返回还是上一级目录
cd../..:返回上两级目录
cd./xxx:进入当前目录下指定的xxx目录
ls:查看,查找,获取到的是缩略形式的文件或文件夹
ls-l:查看,获取到的是详细信息,其中开头位置的d代表文件夹,Linux称之为目录。
快捷键
Crtl+Alt+T:打开终端
Crtl+Shift+"+":终端放大字体
Crtl+-:终端缩小字体