/*****************************************************
* 1.嵌入式认知
* 2.课程内容
* 3.搭建开发环境
******************************************************/
一.嵌入式认知
1.什么是嵌入式?
以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、
体积、功耗等有严格要求的专用计算机系统。
软硬件可裁剪:
软件裁剪:
硬件裁剪:
无线短距离通信:蓝牙、WiFi、ZigBee。
简单理解:
1.除了PC之外,一切针对控制类的设备,都可以看成是嵌入式。
2.软硬件可裁剪的系统。
二.课程内容
(一).嵌入式Linux基础:
1.Linux基础指令;(1周)
2.嵌入式C语言;(2周)
1) C介绍;
2) 变量的命名规则;
3) 变量和常量;
4) 数据类型; char short int ...
5) 运算符;
6) 三大结构;(顺序、循环、分支)
7) 数组;
8) 函数;模块化编程思想。
9) 指针;
10) 数组与指针; 数组指针 指针数组
11) 指针与函数; 指针函数 函数指针
12) 复合数据类型;(结构体、联合体(共用体)、枚举)
13) 位带操作;(<< >> ! ^ )
3.Linux Shell编程;(3 day)
4.数据结构(单链表、双链表、栈(LIFO)、队列(LILO)、二叉树(前序遍历、中序遍历、后序遍历));(1周)
(二).嵌入式Linux系统开发:
1. Linux 文件IO;(Linux系统调用) 在Linux中,一切皆文件。 (1周)
2. Linux中多任务编程;(多进程、多线程)。 (2周)
3. Linux网络编程。(TCP/IP、UDP)。 OSI模型 (1周)
(三).嵌入式Linux高级开发:
1.C++;(封装、继承、多态) (2周)
2.Qt;(基于C++的图形界面库开发) (2周)
3.串口编程; (1天)
4.音视频开发;(2~3天)
5.数据库;(1周)
(四) ARM开发;(STM32) (2周)
1.基础:
GPIO、STM32时钟体系、中断、定时器、PWM ...
2.高级:
传感器、总线(SPI、CAN、IIC)、实时系统(Ucos_III)
(五) Linux驱动开发 (2周)
内核架构、内核裁剪、驱动开发(LED、BEEP、USB)
三. 什么是Linux?
linux是一个可裁剪、开源、免费的操作系统。
操作系统:运行在硬件平台上的一套软件。
四.为什么要学习Linux?
嵌入式:
Linux:
五.linux的发行版本
1.Red Hat(红帽)
2.centos:红帽的免费版本
3.Fedora:
4.ubuntu:乌邦图 乌班图
六.安装
1.首先安装 Vmware 。
七.linux系统中基本概念
1.命令行
作用:用来接受用户输入的命令。
2.终端
Terminal 是linux系统中自带的一个软件。
3.终端的打开方式
(1) 使用鼠标打开;
鼠标右键 -------> 打开终端;
(2) 使用快捷键: Ctrl + Alt + T(大小写均可)
(3) 通过搜索框;
4.终端大小调整
放大:ctrl + shift + "+"
缩小:ctrl + "-"
5.终端关闭
(1) 图形界面操作;
(2) 使用命令:exit
6.命令解释器:shell
作用:负责解释用户输入的指令。
7.Linux系统中的一大特点
在Linux中,一切皆文件。
八.linux中的文件系统结构
Linux中对文件的管理采用倒树型、分层级的管理方法。
Linux系统中所有文件都是以 “/”(根目录) 为起始点向下延申。
/bin:主要用来存储系统的普通命令;
/boot:主要用来存储系统的引导文件;
/dev:主要存储设备文件;
/etc:主要存储系统及应用软件的配置文件;
/home:存储用户;
/root:/root为root用户的家目录;//linux中用户分为普通用户和超级用户
/sbin:主要存储系统的特权指令;
/usr:应用程序默认的安装路径;
/proc:存储正在运行程序的信息以及系统的信息。
九.路径
用来描述文件所在的位置。
绝对路径:以根目录作为起始点; /usr/local/man/man1
相对路径:以当前所在路径为起始点,到目标文件的路径;
十.命令行
m@ubuntu:~$:
m:用户名
@:分隔符
ubuntu:主机名
: ----> 分隔符
~ ----> 家目录(/home/用户名)
$ ----> 当前用户为普通用户