FS-MP1A 开发教程
(V1.8)
华清远见教育集团 ● 研发中心
170-9108-5953
2306275952/2668462267
http://www.fsdev.com.cn
support@farsight.com.cn
目录
第 1 章 开发板初体验.............................................................................................................- 1 -
1.1 FS-MP1A 硬件资源介绍..................................................................................... - 1 -
1.2 拨码开关设置......................................................................................................- 3 -
1.3 LCD 模组选择......................................................................................................- 3 -
1.4 netdata...................................................................................................................- 4 -
1.5 摄像头..................................................................................................................- 7 -
1.6 视频播放..............................................................................................................- 7 -
1.7 人工智能..............................................................................................................- 8 -
1.8 3D GPU.................................................................................................................- 9 -
1.9 蓝牙....................................................................................................................- 10 -
1.10 录音与放音......................................................................................................- 11 -
1.11 WIFI 连接......................................................................................................... - 11 -
第一部分 Linux 基础..............................................................................................................- 13 -
第 2 章 嵌入式 Linux 开发介绍...........................................................................................- 14 -
2.1 安装前准备........................................................................................................- 14 -
第 3 章 VMware Player 安装................................................................................................ - 15 -
3.1 VMware Player 介绍.......................................................................................... - 15 -
3.2 VMware 安装..................................................................................................... - 15 -
第 4 章 Ubuntu 操作系统......................................................................................................- 21 -
4.1 发行版 Linux 介绍............................................................................................- 21 -
4.2 Ubuntu 下载........................................................................................................- 21 -
4.3 Ubuntu 安装........................................................................................................- 22 -
4.4 配置虚拟机........................................................................................................- 27 -
4.5 Linux 开发工具安装..........................................................................................- 39 -
第 5 章 Ubuntu 初体验..........................................................................................................- 40 -
5.1 磁盘分区表相关操作........................................................................................- 40 -
第 6 章 Shell 脚本................................................................................................................. - 46 -
6.1 Shell 简介........................................................................................................... - 46 -
6.2 常用 Shell 命令................................................................................................. - 47 -
6.3 编写 Shell 脚本................................................................................................. - 56 -
第 7 章 Linux 下编译器 GCC 的使用..................................................................................- 62 -
7.1 GCC 编译器介绍............................................................................................... - 62 -
7.2 GCC 编译选项解析........................................................................................... - 63 -
7.3 GDB 调试器介绍............................................................................................... - 67 -
7.4 GDB 调试命令................................................................................................... - 68 -
第 8 章 make 工程管理工具及 Makefile............................................................................. - 73 -
8.1 Makefile 基本规则............................................................................................. - 73 -
8.2 Makefile 伪目标................................................................................................. - 78 -
8.3 Makefile 变量..................................................................................................... - 79 -
第二部分 Linux 应用开发...........................................................................错误!未定义书签。
第 9 章 Linux 标准 IO 编程...................................................................... 错误!未定义书签。
9.1 Linux 系统调用和用户程序编程接口...................................错误!未定义书签。
9.2 Linux 标准 I/O 概述............................................................... 错误!未定义书签。
9.3 标准 I/O 编程.........................................................................错误!未定义书签。
第 10 章 进程与线程................................................................................. 错误!未定义书签。
10.1 Linux 下多任务机制的介绍.................................................错误!未定义书签。
10.2 进程编程.............................................................................. 错误!未定义书签。
10.3 Linux 下进程间通信.............................................................错误!未定义书签。
10.4 Linux 多线程编程.................................................................错误!未定义书签。
第 11 章 网络编程..................................................................................... 错误!未定义书签。
11.1 网络体系结构...................................................................... 错误!未定义书签。
11.2 网络基础编程...................................................................... 错误!未定义书签。
11.3 服务器模型.......................................................................... 错误!未定义书签。
11.4 套接字高级编程.................................................................. 错误!未定义书签。
第三部分 ARM 体系结构与接口技术....................................................... 错误!未定义书签。
第 12 章 Cortex-M4 开发环境搭建......................................................... 错误!未定义书签。
12.1 STM32CubeIDE 软件获取...................................................错误!未定义书签。
12.2 STM32CubeIDE 安装...........................................................错误!未定义书签。
12.3 STM32CubeIDE 软件使用...................................................错误!未定义书签。
第 13 章 Cortex-M4 GPIO 编程................................................................ 错误!未定义书签。
13.1 实验目的.............................................................................. 错误!未定义书签。
13.2 实验环境.............................................................................. 错误!未定义书签。
13.3 实验原理.............................................................................. 错误!未定义书签。
13.4 实验步骤.............................................................................. 错误!未定义书签。
13.5 实验现象.............................................................................. 错误!未定义书签。
第 14 章 Cortex-M4 按键扫描................................................................. 错误!未定义书签。
14.1 实验目的.............................................................................. 错误!未定义书签。
14.2 实验环境.............................................................................. 错误!未定义书签。
14.3 实验原理.............................................................................. 错误!未定义书签。
14.4 实验步骤.............................................................................. 错误!未定义书签。
14.5 实验现象.............................................................................. 错误!未定义书签。
第 15 章 Cortex-M4 外部中断................................................................. 错误!未定义书签。
15.1 实验目的.............................................................................. 错误!未定义书签。
15.2 实验环境.............................................................................. 错误!未定义书签。
15.3 实验原理.............................................................................. 错误!未定义书签。
15.4 实验步骤.............................................................................. 错误!未定义书签。
15.5 实验现象.............................................................................. 错误!未定义书签。
第 16 章 Cortex-M4 串行通讯接口......................................................... 错误!未定义书签。
16.1 实验目的.............................................................................. 错误!未定义书签。
16.2 实验环境.............................................................................. 错误!未定义书签。
16.3 实验原理.............................................................................. 错误!未定义书签。
16.4 实验步骤.............................................................................. 错误!未定义书签。
16.5 实验现象.............................................................................. 错误!未定义书签。
第 17 章 Cortex-M4 TIM 定时器中断...................................................... 错误!未定义书签。
17.1 实验目的.............................................................................. 错误!未定义书签。
17.2 实验环境.............................................................................. 错误!未定义书签。
17.3 实验原理.............................................................................. 错误!未定义书签。
17.4 实验步骤.............................................................................. 错误!未定义书签。
17.5 实验现象.............................................................................. 错误!未定义书签。
第 18 章 Cortex-M4 窗口看门狗............................................................. 错误!未定义书签。
18.1 实验目的.............................................................................. 错误!未定义书签。
18.2 实验环境.............................................................................. 错误!未定义书签。
18.3 实验原理.............................................................................. 错误!未定义书签。
18.4 实验步骤.............................................................................. 错误!未定义书签。
18.5 实验现象.............................................................................. 错误!未定义书签。
第 19 章 Cortex-A7 开发环境搭建........................................................... 错误!未定义书签。
19.1 Xshell 6 安装.........................................................................错误!未定义书签。
19.2 STM32CubeProgrammer 安装............................................. 错误!未定义书签。
第四部分 Linux 系统移植...........................................................................错误!未定义书签。
第 20 章 系统移植前说明......................................................................... 错误!未定义书签。
第 21 章 源码编译..................................................................................... 错误!未定义书签。
21.1 编译环境配置...................................................................... 错误!未定义书签。
21.2 u-boot 源码编译....................................................................错误!未定义书签。
21.3 tf-a 源码编译.........................................................................错误!未定义书签。
21.4 optee-os 源码编译.................................................................错误!未定义书签。
21.5 linux 源码编译...................................................................... 错误!未定义书签。
21.6 Yocto 构建系统.....................................................................错误!未定义书签。
第 22 章 系统镜像烧写............................................................................. 错误!未定义书签。
22.1 STM32CubeProgrammer 烧写方式..................................... 错误!未定义书签。
22.2 制作 TF 卡系统卡............................................................... 错误!未定义书签。
22.3 通过 ums 方式映射分区..................................................... 错误!未定义书签。
22.4 通过 tftp 方式下载 linux 内核及设备树............................ 错误!未定义书签。
22.5 通过 scp 方式更新 linux 内核及设备树驱动程序.............错误!未定义书签。
22.6 通过 linux 更新 eMMC 中的 u-boot................................... 错误!未定义书签。
22.7 使用 STM32CubeProgrammer 读取 OTP 配置.................. 错误!未定义书签。
第 23 章 设备树详解................................................................................. 错误!未定义书签。
23.1 简介...................................................................................... 错误!未定义书签。
23.2 基础知识介绍...................................................................... 错误!未定义书签。
23.3 DTS 结构...............................................................................错误!未定义书签。
23.4 DTS 语法介绍.......................................................................错误!未定义书签。
23.5 dts 的组成............................................................................. 错误!未定义书签。
第 24 章 BootLoader(Uboot)移植........................................................ 错误!未定义书签。
24.1 实验原理.............................................................................. 错误!未定义书签。
24.2 实验目的.............................................................................. 错误!未定义书签。
24.3 实验平台.............................................................................. 错误!未定义书签。
24.4 实验步骤.............................................................................. 错误!未定义书签。
第 25 章 Trusted Firmware-A 移植........................................................... 错误!未定义书签。
25.1 Trusted Firmware-A 简介..................................................... 错误!未定义书签。
25.2 实验目的.............................................................................. 错误!未定义书签。
25.3 实验平台.............................................................................. 错误!未定义书签。
25.4 实验步骤.............................................................................. 错误!未定义书签。
第 26 章 Linux 内核简介...........................................................................错误!未定义书签。
第 27 章 Linux 内核目录结构...................................................................错误!未定义书签。
第 28 章 Linux 内核配置及编译...............................................................错误!未定义书签。
28.1 解压内核.............................................................................. 错误!未定义书签。
28.2 添加 STMicroelectronics 官方补丁.................................... 错误!未定义书签。
28.3 生成标准板配置文件.......................................................... 错误!未定义书签。
28.4 配置内核.............................................................................. 错误!未定义书签。
28.5 编译内核.............................................................................. 错误!未定义书签。
28.6 编译内核模块...................................................................... 错误!未定义书签。
28.7 生成设备树.......................................................................... 错误!未定义书签。
28.8 配置 tftp................................................................................错误!未定义书签。
第 29 章 Linux 内核 eMMC 驱动移植..................................................... 错误!未定义书签。
29.1 实验原理.............................................................................. 错误!未定义书签。
29.2 实验目的.............................................................................. 错误!未定义书签。
29.3 实验平台.............................................................................. 错误!未定义书签。
29.4 实验步骤.............................................................................. 错误!未定义书签。
第 30 章 Linux 内核网卡驱动移植...........................................................错误!未定义书签。
30.1 实验原理.............................................................................. 错误!未定义书签。
30.2 实验目的.............................................................................. 错误!未定义书签。
30.3 实验平台.............................................................................. 错误!未定义书签。
30.4 实验步骤.............................................................................. 错误!未定义书签。
第 31 章 Linux HDMI 驱动移植............................................................... 错误!未定义书签。
31.1 实验原理.............................................................................. 错误!未定义书签。
31.2 实验目的.............................................................................. 错误!未定义书签。
31.3 实验平台.............................................................................. 错误!未定义书签。
31.4 实验步骤.............................................................................. 错误!未定义书签。
第 32 章 Linux 内核 MIPI LCD 驱动移植............................................... 错误!未定义书签。
32.1 实验原理.............................................................................. 错误!未定义书签。
32.2 实验目的.............................................................................. 错误!未定义书签。
32.3 实验平台.............................................................................. 错误!未定义书签。
32.4 实验步骤.............................................................................. 错误!未定义书签。
第 33 章 Linux 内核 5 寸触摸屏驱动移植...............................................错误!未定义书签。
33.1 实验原理.............................................................................. 错误!未定义书签。
33.2 实验目的.............................................................................. 错误!未定义书签。
33.3 实验平台.............................................................................. 错误!未定义书签。
33.4 实验步骤.............................................................................. 错误!未定义书签。
第 34 章 Linux 内核 RGB LCD 驱动移植............................................... 错误!未定义书签。
34.1 实验原理.............................................................................. 错误!未定义书签。
34.2 实验目的.............................................................................. 错误!未定义书签。
34.3 实验平台.............................................................................. 错误!未定义书签。
34.4 实验步骤.............................................................................. 错误!未定义书签。
第 35 章 Linux 内核 7 寸触摸屏驱动移植...............................................错误!未定义书签。
35.1 实验目的.............................................................................. 错误!未定义书签。
35.2 实验平台.............................................................................. 错误!未定义书签。
35.3 实验目的.............................................................................. 错误!未定义书签。
35.4 实验步骤.............................................................................. 错误!未定义书签。
第 36 章 Linux 内核音频驱动移植...........................................................错误!未定义书签。
36.1 实验原理.............................................................................. 错误!未定义书签。