logo资料库

领航者ZYNQ之Linux开发指南_V1.2.pdf

第1页 / 共436页
第2页 / 共436页
第3页 / 共436页
第4页 / 共436页
第5页 / 共436页
第6页 / 共436页
第7页 / 共436页
第8页 / 共436页
资料共436页,剩余部分请下载后查看
前言
第一篇 Ubuntu系统入门篇
第一章 Ubuntu系统安装
1.1 安装虚拟机软件VMware
1.2 创建虚拟机
1.3 安装Ubuntu操作系统
1.3.1 获取Ubuntu系统
1.3.2 安装Ubuntu操作系统
1.3.3 弹出系统镜像
第二章 Ubuntu系统入门
2.1 Ubuntu系统初体验
2.1.1 hello Ubuntu
2.1.2 系统设置
2.1.3 系统注销与关机
2.1.4 中文输入测试
2.2 Ubuntu终端操作
2.3 Shell操作
2.3.1 Shell简介
2.3.2 Shell基本操作
2.3.3 常用Shell命令
2.4 APT下载工具
2.5 Ubuntu下文本编辑
2.5.1 Gedit编辑器
2.5.2 VI/VIM编辑器
2.6 Linux文件系统
2.6.1 Linux文件系统简介以及类型
2.6.2 Linux文件系统结构
2.6.3 文件操作命令
2.6.4 文件压缩和解压缩
2.6.5 文件查询和搜索
2.6.6 文件类型
2.7 Linux用户权限管理
2.7.1 Ubuntu用户系统
2.7.2 权限管理
2.7.3 权限管理命令
2.8 Linux磁盘管理
2.8.1 Linux磁盘管理基本概念
2.8.2 磁盘管理命令
第三章 Linux C编程入门
3.1 Hello World!
3.1.1 编写代码
3.1.2 编译代码
3.2 GCC编译器
3.2.1 gcc命令
3.2.2 编译错误警告
3.2.3 编译流程
3.3 Makefile基础
3.3.1 何为Makefile
3.3.2 Makefile的引入
3.4 Makefile语法
3.4.1 Makefile规则格式
3.4.2 Makefile变量
3.4.3 Makefile模式规则
3.4.4 Makefile自动化变量
3.4.5 Makefile伪目标
3.4.6 Makefile条件判断
3.4.7 Makefile函数使用
第二篇 Petalinux使用篇
第四章 开发环境搭建
4.1 Ubuntu和Windows文件互传
4.2 Ubuntu和Windows文件本地共享
4.3 Ubuntu系统搭建tftp服务器
4.4 Ubuntu下NFS和SSH服务开启
4.4.1 NFS服务开启
4.4.2 SSH服务开启
4.5 Source Insight软件安装和使用
4.5.1 Source Insight安装
4.5.2 Source Insight新建工程
4.5.3 Source Insight解决中文乱码
4.6 Visual Studio Code软件的安装和使用
4.6.1 Visual Studio Code的安装
4.6.2 Visual Studio Code插件的安装
4.6.3 Visual Studio Code新建工程
4.7 CH340串口驱动安装
4.8 SecureCRT软件安装和使用
4.8.1 SecureCRT安装
4.8.2 SecureCRT使用
4.9 Putty软件的安装和使用
4.9.1 Putty软件安装
4.9.2 Putty软件使用
第五章 Petalinux的安装
5.1 Petalinux简介
5.2 下载Petalinux安装包
5.3 安装Petalinux
5.3.1 安装依赖库以及软件
5.3.2 安装Petalinux
5.3.3 修改bash
5.4 安装XSDK
5.5 Linux系统安装JTAG cable驱动
第六章 Petalinux设计流程实战
6.1 Petalinux的设计流程概述
6.2 使用Petalinux定制Linux系统
6.2.1 创建Vivado硬件平台
6.2.2 设置Petalinux环境变量
6.2.3 创建petalinux工程
6.2.4 配置petalinux工程
6.2.5 配置Linux内核
6.2.6 配置Linux根文件系统
6.2.7 配置设备树文件
6.2.8 编译Petalinux工程
6.2.9 制作BOOT.BIN启动文件
6.2.10 制作SD启动卡
6.2.11 开发板启动模式设置
6.2.12 打开串口上位机,进入Linux系统
第七章 使用XSDK开发Linux应用
7.1 创建XSDK工程
7.2 使用TCF Agent方式运行
7.3 使用NFS共享方式运行
7.4 使用SSH方式运行
第八章 Linux基础外设的使用
8.1 GPIO之LED的使用
8.2 IIC之EEPROM与RTC的使用
第九章 Linux显示设备的驱动
9.1 准备工作
9.2 配置Petalinux工程
9.3 配置Linux内核
9.4 配置设备树
9.5 编译Petalinux工程
9.6 制作BOOT.BIN启动文件并复制到SD卡
9.7 在开发板上启动Linux
第十章 Linux图形界面的使用
10.1 简介
10.2 配置Petalinux工程
10.3 编译Petalinux工程
10.4 制作BOOT.BIN启动文件并复制到SD卡
10.5 拷贝根文件系统到SD卡的ext4分区
10.6 在开发板上启动Linux
第三篇 系统移植篇
第十一章 U-Boot使用实验
11.1 U-Boot简介
11.2 U-Boot初次编译
11.3 U-Boot烧写与启动
11.4 U-Boot命令使用
11.4.1 信息查询命令
11.4.2 环境变量操作命令
11.4.3 内存操作命令
11.4.4 网络操作命令
11.4.5 EMMC和SD卡操作命令
11.4.6 FAT格式文件系统操作命令
11.4.7 EXT格式文件系统操作命令
11.4.8 BOOT操作命令
11.4.9 其他常用命令
第十二章 U-Boot顶层Makefile详解
12.1 U-Boot工程目录分析
12.2 VScode创建uboot工程
12.3 U-Boot顶层Makefile分析
12.3.1 版本号
12.3.2 MAKEFLAGS变量
12.3.3 命令输出
12.3.4 静默输出
12.3.5 设置编译结果输出目录
12.3.6 代码检查
12.3.7 模块编译
12.3.8 获取主机架构和系统
12.3.9 设置目标架构、交叉编译器和配置文件
12.3.10 调用scripts/Kbuild.include
12.3.11 交叉编译工具变量设置
12.3.12 导出其他变量
12.3.13 make xxx_defconfig过程
12.3.14 Makefile.build脚本分析
12.3.15 make过程
第十三章 U-Boot移植
13.1 Xilinx官方开发板uboot编译测试
13.1.1 查找Xilinx官方的开发板默认配置文件
13.1.2 编译Xilinx官方开发板对应的uboot
13.1.3 验证与驱动测试
13.2 在U-Boot中添加自己的开发板
13.2.1 添加开发板默认配置文件
13.2.2 添加开发板对应的头文件
13.2.3 添加开发板对应的板级文件夹
13.2.4 添加开发板对应的设备树
13.2.5 修改U-Boot图形界面配置文件
13.2.6 使用新添加的板子配置编译uboot
13.3 bootcmd和bootargs环境变量
13.3.1 环境变量bootcmd
13.3.2 环境变量bootargs
13.4 uboot启动Linux测试
13.4.1 从SD卡启动Linux系统
13.4.2 从网络启动Linux系统
第十四章 U-Boot图形化配置及其原理
14.1 U-Boot图形化配置体验
14.2 menuconfig图形化配置原理
14.2.1 make menuconfig过程分析
14.2.2 Kconfig语法简介
14.3 添加自定义菜单
第十五章 Linux内核目录分析
15.1 Linux内核获取
15.2 Linux内核编译初次编译
15.3 Linux工程目录分析
第四篇 ARM Linux驱动开发篇
第十六章 字符设备驱动开发
16.1 字符设备驱动简介
16.2 字符设备驱动开发步骤
16.2.1 驱动模块的加载和卸载
16.2.2 字符设备注册与注销
16.2.3 实现设备的具体操作函数
16.2.4 添加LICENSE和作者信息
16.3 Linux设备号
16.3.1 设备号的组成
16.3.2 设备号的分配
16.4 chrdevbase字符设备驱动开发实验
16.4.1 实验程序编写
16.4.2 编写测试APP
16.4.3 编译驱动程序和测试APP
16.4.4 运行测试
附录A1 Coretx-A9 MPCore架构
A1.1 Cortex-A9 MPCore简介
A1.2 Cortex-A处理器运行模型
A1.3 Cortex-A寄存器组
A1.3.1 通用寄存器
A1.3.2 程序状态寄存器
附录A2 ARM汇编基础
A2.1 GNU汇编语法
A2.2 Cortex-A9常用汇编指令
A2.2.1 处理器内部数据传输指令
A2.2.2 存储器访问指令
A2.2.3 压栈和出栈指令
A2.2.4 跳转指令
A2.2.5 算术运算指令
A2.2.5 逻辑运算指令
参考文献
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 领航者 ZYNQ 之 Linux 开发指南 V1.2 -正点原子 领航者 NAVIGATOR 开发板教程 1
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 广州市星翼电子科技有限公司 淘宝店铺 1:http://eboard.taobao.com 淘宝店铺 2:http://openedv.taobao.com 技术支持论坛 (开源电子网) :www.openedv.com 原子哥在线教学:www.yuanzige.com 官方网站:www.alientek.com 最新资料下载链接:http://www.openedv.com/posts/list/13912.htm E-mail: 389063473@qq.com QQ: 389063473 咨询电话:020-38271790 传真号码:020-36773971 团队:正点原子团队 正点原子,做最全面、最优秀的嵌入式开发平台软硬件供应商。 友 情 提 示 如果您想及时免费获取“正点原子”最新资料,敬请关注正点原子 微信公众平台,我们将及时给您发布最新消息和重要资料。 关注方法: (1)微信“扫一扫”,扫描右侧二维码,添加关注 (2)微信→添加朋友→公众号→输入“正点原子”→关注 (3)微信→添加朋友→输入“alientek_stm32” →关注 2 (3)微信→添加朋友→输入“alientek_stm32” →关注
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 文档更新说明 版本 版本更新说明 负责人 校审 发布日期 V1.0 添加第一篇 Ubuntu 系统入门篇 正点原子 正点原子 2019.10.8 添加: V1.1 1.添加 4.2Ubuntu 和 Windows 文件本地共享; 正点原子 正点原子 2019.11.15 正点原子 正点原子 2020.01.19 2.添加第二篇 Petalinux 篇 修改: 修改文档中的已知错误: 优化文档中的细节。 添加: 1. 添加 4.3 节 Ubuntu 系统搭建 tftp 服务器; 2. 添加 5.5 节 Linux 系统安装 JTAG cable 驱动: 3. 添加第十一章 U-Boot 使用实验: V1.2 4. 添加第十二章 U-Boot 顶层 Makefile 详解; 5. 添加第十三章 U-Boot 移植: 6. 添加第十四章 U-Boot 图形化配置及其原理 7. 添加第十五章 Linux 内核目录分析; 8. 添加第十六章字符设备驱动开发: 9. 添加附录 A1 Coretx-A9 MPCore 架构; 10. 添加附录 A2 ARM 汇编基础。 3
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 目录 前言 ................................................................................................................................................................... 10 第一篇 Ubuntu 系统入门篇 ............................................................................................................................ 11 Ubuntu 系统安装 ................................................................................................................................ 12 1.1 安装虚拟机软件 VMware ................................................................................................................ 13 1.2 创建虚拟机 ....................................................................................................................................... 19 1.3 安装 Ubuntu 操作系统 ..................................................................................................................... 30 获取 Ubuntu 系统 ..................................................................................................................... 30 安装 Ubuntu 操作系统 ............................................................................................................. 30 弹出系统镜像 ........................................................................................................................... 39 Ubuntu 系统入门 ................................................................................................................................ 40 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Ubuntu 系统初体验 .......................................................................................................................... 41 hello Ubuntu .............................................................................................................................. 41 系统设置 ................................................................................................................................... 43 系统注销与关机 ....................................................................................................................... 46 中文输入测试 ........................................................................................................................... 47 Ubuntu 终端操作 .............................................................................................................................. 49 Shell 操作 .......................................................................................................................................... 50 Shell 简介 .................................................................................................................................. 50 Shell 基本操作 .......................................................................................................................... 51 常用 Shell 命令 ......................................................................................................................... 52 APT 下载工具 ................................................................................................................................... 60 Ubuntu 下文本编辑 .......................................................................................................................... 63 Gedit 编辑器 ............................................................................................................................. 63 VI/VIM 编辑器 ......................................................................................................................... 64 Linux 文件系统 ................................................................................................................................. 69 Linux 文件系统简介以及类型 ................................................................................................. 69 Linux 文件系统结构 ................................................................................................................. 70 文件操作命令 ........................................................................................................................... 74 文件压缩和解压缩 ................................................................................................................... 78 文件查询和搜索 ....................................................................................................................... 84 文件类型 ................................................................................................................................... 85 Linux 用户权限管理 ......................................................................................................................... 86 Ubuntu 用户系统 ...................................................................................................................... 86 权限管理 ................................................................................................................................... 86 权限管理命令 ........................................................................................................................... 89 Linux 磁盘管理 ................................................................................................................................. 91 Linux 磁盘管理基本概念 ......................................................................................................... 91 磁盘管理命令 ........................................................................................................................... 92 Linux C 编程入门 ............................................................................................................................... 96 4
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 3.2 3.1 Hello World! ................................................................................................................................... 97 编写代码 ................................................................................................................................... 97 编译代码 ................................................................................................................................... 98 GCC 编译器 .................................................................................................................................... 100 gcc 命令 ................................................................................................................................... 100 编译错误警告 ......................................................................................................................... 100 编译流程 ................................................................................................................................. 101 3.3 Makefile 基础 .................................................................................................................................. 101 何为 Makefile .......................................................................................................................... 101 Makefile 的引入 ...................................................................................................................... 102 3.4 Makefile 语法 .................................................................................................................................. 106 Makefile 规则格式 .................................................................................................................. 106 Makefile 变量 .......................................................................................................................... 107 Makefile 模式规则 .................................................................................................................. 109 Makefile 自动化变量 .............................................................................................................. 110 Makefile 伪目标 ...................................................................................................................... 111 Makefile 条件判断 .................................................................................................................. 112 Makefile 函数使用 .................................................................................................................. 112 第二篇 Petalinux 使用篇 ............................................................................................................................... 115 开发环境搭建 ................................................................................................................................... 116 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Ubuntu 和 Windows 文件互传 ....................................................................................................... 117 Ubuntu 和 Windows 文件本地共享 ............................................................................................... 122 Ubuntu 系统搭建 tftp 服务器 ......................................................................................................... 130 Ubuntu 下 NFS 和 SSH 服务开启 .................................................................................................. 132 NFS 服务开启 ......................................................................................................................... 132 SSH 服务开启 ......................................................................................................................... 133 Source Insight 软件安装和使用 ..................................................................................................... 133 Source Insight 安装 ................................................................................................................. 133 Source Insight 新建工程 ......................................................................................................... 139 Source Insight 解决中文乱码 ................................................................................................. 146 Visual Studio Code 软件的安装和使用 ......................................................................................... 148 Visual Studio Code 的安装 ..................................................................................................... 148 Visual Studio Code 插件的安装 ............................................................................................. 152 Visual Studio Code 新建工程 ................................................................................................. 155 CH340 串口驱动安装 ..................................................................................................................... 160 SecureCRT 软件安装和使用 .......................................................................................................... 163 SecureCRT 安装 ...................................................................................................................... 163 SecureCRT 使用 ...................................................................................................................... 168 Putty 软件的安装和使用 ................................................................................................................ 173 Putty 软件安装 ........................................................................................................................ 173 Putty 软件使用 ........................................................................................................................ 176 Petalinux 的安装 ............................................................................................................................... 179 5
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com Petalinux 简介 ................................................................................................................................. 180 5.1 5.2 下载 Petalinux 安装包 .................................................................................................................... 180 5.3 安装 Petalinux ................................................................................................................................. 182 安装依赖库以及软件 ............................................................................................................. 182 安装 Petalinux ......................................................................................................................... 183 修改 bash ................................................................................................................................. 184 5.4 安装 XSDK ..................................................................................................................................... 185 Linux 系统安装 JTAG cable 驱动 .................................................................................................. 194 5.5 Petalinux 设计流程实战 ................................................................................................................... 196 Petalinux 的设计流程概述 ............................................................................................................. 197 6.1 6.2 使用 Petalinux 定制 Linux 系统 ..................................................................................................... 197 创建 Vivado 硬件平台 ............................................................................................................ 197 设置 Petalinux 环境变量 ........................................................................................................ 203 创建 petalinux 工程 ................................................................................................................. 203 配置 petalinux 工程 ................................................................................................................. 204 配置 Linux 内核 ...................................................................................................................... 210 配置 Linux 根文件系统 .......................................................................................................... 211 配置设备树文件 ..................................................................................................................... 212 编译 Petalinux 工程 ................................................................................................................ 216 制作 BOOT.BIN 启动文件 ..................................................................................................... 216 制作 SD 启动卡 ...................................................................................................................... 217 开发板启动模式设置 ............................................................................................................. 221 打开串口上位机,进入 Linux 系统 ...................................................................................... 221 使用 XSDK 开发 Linux 应用 ........................................................................................................... 224 7.1 创建 XSDK 工程 ............................................................................................................................ 225 7.2 使用 TCF Agent 方式运行 ............................................................................................................. 228 7.3 使用 NFS 共享方式运行 ................................................................................................................ 231 7.4 使用 SSH 方式运行 ........................................................................................................................ 231 Linux 基础外设的使用 ..................................................................................................................... 233 8.1 8.2 GPIO 之 LED 的使用 ..................................................................................................................... 234 IIC 之 EEPROM 与 RTC 的使用 ................................................................................................... 235 Linux 显示设备的驱动 ..................................................................................................................... 238 9.1 准备工作 ......................................................................................................................................... 239 9.2 配置 Petalinux 工程 ........................................................................................................................ 239 9.3 配置 Linux 内核 .............................................................................................................................. 243 9.4 配置设备树 ..................................................................................................................................... 244 9.5 编译 Petalinux 工程 ........................................................................................................................ 249 9.6 制作 BOOT.BIN 启动文件并复制到 SD 卡 .................................................................................. 249 9.7 在开发板上启动 Linux ................................................................................................................... 250 Linux 图形界面的使用 ..................................................................................................................... 252 6
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 10.1 10.2 10.3 10.4 10.5 10.6 简介 ............................................................................................................................................. 253 配置 Petalinux 工程 .................................................................................................................... 256 编译 Petalinux 工程 .................................................................................................................... 257 制作 BOOT.BIN 启动文件并复制到 SD 卡 .............................................................................. 258 拷贝根文件系统到 SD 卡的 ext4 分区 ...................................................................................... 259 在开发板上启动 Linux ............................................................................................................... 260 第三篇 系统移植篇 ....................................................................................................................................... 262 U-Boot 使用实验 .......................................................................................................................... 263 11.1 U-Boot 简介 .................................................................................................................................... 264 11.2 U-Boot 初次编译 ............................................................................................................................ 267 11.3 U-Boot 烧写与启动 ........................................................................................................................ 271 11.4 U-Boot 命令使用 ............................................................................................................................ 273 信息查询命令 ......................................................................................................................... 275 环境变量操作命令 ................................................................................................................. 276 内存操作命令 ......................................................................................................................... 278 网络操作命令 ......................................................................................................................... 281 EMMC 和 SD 卡操作命令 ..................................................................................................... 286 FAT 格式文件系统操作命令 ................................................................................................. 290 EXT 格式文件系统操作命令 ................................................................................................. 292 BOOT 操作命令...................................................................................................................... 293 其他常用命令 ......................................................................................................................... 297 U-Boot 顶层 Makefile 详解 .......................................................................................................... 299 12.1 U-Boot 工程目录分析 .................................................................................................................... 300 12.2 VScode 创建 uboot 工程 ................................................................................................................. 303 12.3 U-Boot 顶层 Makefile 分析 ............................................................................................................ 308 版本号 ..................................................................................................................................... 309 MAKEFLAGS 变量 ................................................................................................................ 309 命令输出 ................................................................................................................................. 309 静默输出 ................................................................................................................................. 312 设置编译结果输出目录 ......................................................................................................... 313 代码检查 ................................................................................................................................. 314 模块编译 ................................................................................................................................. 315 获取主机架构和系统 ............................................................................................................. 316 设置目标架构、交叉编译器和配置文件 .............................................................................. 317 调用 scripts/Kbuild.include .................................................................................................... 318 交叉编译工具变量设置 ........................................................................................................ 319 导出其他变量 ........................................................................................................................ 319 make xxx_defconfig 过程 ....................................................................................................... 323 Makefile.build 脚本分析 ......................................................................................................... 328 make 过程 ................................................................................................................................ 331 U-Boot 移植 .................................................................................................................................. 340 7
领航者 ZYNQ 之 Linux 开发指南 原子哥在线教学:www.yuanzige.com 论坛:www.openedv.com 13.2 13.1 Xilinx 官方开发板 uboot 编译测试 ............................................................................................... 341 查找 Xilinx 官方的开发板默认配置文件 ............................................................................. 341 编译 Xilinx 官方开发板对应的 uboot ................................................................................... 342 验证与驱动测试 ..................................................................................................................... 343 在 U-Boot 中添加自己的开发板................................................................................................ 347 添加开发板默认配置文件 ..................................................................................................... 347 添加开发板对应的头文件 ..................................................................................................... 348 添加开发板对应的板级文件夹.............................................................................................. 350 添加开发板对应的设备树 ..................................................................................................... 350 修改 U-Boot 图形界面配置文件 ............................................................................................ 353 使用新添加的板子配置编译 uboot ....................................................................................... 353 bootcmd 和 bootargs 环境变量 ....................................................................................................... 354 环境变量 bootcmd .................................................................................................................. 357 环境变量 bootargs ................................................................................................................... 359 uboot 启动 Linux 测试 .................................................................................................................... 360 从 SD 卡启动 Linux 系统 ....................................................................................................... 360 从网络启动 Linux 系统 .......................................................................................................... 361 13.3 13.4 U-Boot 图形化配置及其原理 ...................................................................................................... 365 14.1 U-Boot 图形化配置体验 ................................................................................................................ 366 14.2 menuconfig 图形化配置原理 ......................................................................................................... 370 make menuconfig 过程分析 .................................................................................................... 370 Kconfig 语法简介 ................................................................................................................... 370 添加自定义菜单 ......................................................................................................................... 381 14.3 Linux 内核目录分析 ..................................................................................................................... 383 15.1 Linux 内核获取 ............................................................................................................................... 384 15.2 Linux 内核编译初次编译 ............................................................................................................... 384 15.3 Linux 工程目录分析 ....................................................................................................................... 386 第四篇 ARM Linux 驱动开发篇 ................................................................................................................... 392 字符设备驱动开发 ....................................................................................................................... 393 16.1 16.2 字符设备驱动简介 ..................................................................................................................... 394 字符设备驱动开发步骤 ............................................................................................................. 396 驱动模块的加载和卸载 ......................................................................................................... 396 字符设备注册与注销 ............................................................................................................. 398 实现设备的具体操作函数 ..................................................................................................... 399 添加 LICENSE 和作者信息 ................................................................................................... 401 16.3 Linux 设备号 ................................................................................................................................... 402 设备号的组成 ......................................................................................................................... 402 设备号的分配 ......................................................................................................................... 403 chrdevbase 字符设备驱动开发实验 ............................................................................................... 403 实验程序编写 ......................................................................................................................... 404 编写测试 APP ......................................................................................................................... 410 16.4 8
分享到:
收藏