iTOP-STM32MP157开发板是基于意法半导体ST ARM双Cortex-A7核加单Cortex-M4核的一款多核异构处理器。Cortex-A7内核提供对开源操作系统Linux的支持,借助Linux系统庞大而丰富的软件组件处理复杂应用。M4 内核上运行对于实时性要求严格的应用。
开发板既有A7核,又有M4核,从学习者角度来看,既可以学习嵌入式Linux,又可以学习STM32单片机,一板两用,节省学习成本而且便捷。从开发角度来看,STM32有很好的生态,资料丰富。目前已经广泛的应用于智能网关、电力设备、安防工程、手持设备、数字终端、智能交通、医疗电子、仪器仪表等领域。
《STM32MP157开发板手册》
第一部分硬件及资料介绍
第零章 开发板使用前必读
第一章 iTOP-STM32MP157开发板简介
第二章 开发板组装
第三章 外设功能验证
第四章 外设模块测试
第二部分 开发环境搭建
第五章 VMware和Ubuntu环境搭建
第六章Windows环境搭建
第三部分 开发板固件烧写
第七章 设置启动模式(必看)
第八章STM32MP157烧写系统
第四部分开发板源码编译
第九章 搭建编译环境
第十章编译TF-A
第十一章 编译U-Boot
第十二章 编译Linux内核
第十三章 编译QtE5.12文件系统
第五部分 Qt应用开发
第十四章 QtE5.12应用开发
第六部分 构建文件系统
第十五章制作最小linux系统
第十六章 Buildroot制作根文件系统
第十七章制作Ubuntu文件系统
第十八章Debian文件系统
第十九章 Yocto系统开发
第七部分 LInux系统移植
第二十章 Trusted Firmware-A 移植
第二十一章 U-Boot移植
第二十二章 linux内核移植
第八部分 M4内核裸机开发
第二十三章Cortex-M4 开发环境搭建
第二十四章STM32CubeIDE的初步使用
第二十五章Cortex-M4 GPIO_LED实验
第二十六章Cortex-M4 GPIO_蜂鸣器实验
第二十七章Cortex-M4按键实验
第二十八章Cortex-M4外部中断实验
第二十九章Cortex-M4串口实验
第三十章Cortex-M4通用定时器实验
第三十一章Cortex-M4窗口看门狗实验
第三十二章Cortex-M4 PWM呼吸灯实验
第三十三章Cortex-M4 DMA实验
第三十四章Cortex-M4 ADC实验
第三十五章A7 和M4 联合调试
第九部分 M4内核freertos实时系统开发
第三十六章 认识freertos
第三十七章 Freertos的任务基础知识
第三十八章 任务管理实验
第三十九章 消息队列实验
第四十章 二值信号量实验
第四十一章 计数信号量实验
第四十三章 软件定时器实验
《STM32MP157嵌入式Linux开发指南》
第一篇 嵌入式Linux入门篇
前言 总领及学习指引
第一部分 嵌入式Linux开发环境构建及基础知识
第一章 安装虚拟机VM软件
第二章 获取并安装Ubuntu操作系统
第三章 Ubuntu系统介绍
第四章 Ubuntu启用root用户
第五章 Ubuntu使用apt-get下载
第六章 Vim 编辑器的使用
第七章 Linux 常用命令第一部分
第八章 Linux相对路径和绝对路径
第九章 Linux 家目录和根目录概念
第十章 Linux常用命令第二部分
第十一章 Linux 帮助手册讲解
第十二章 Linux 权限管理
第十三章 Linux连接档概念
第十四章 Linux 目录结构讲解
第十五章 Linux 文件系统概念
第十六章 Linux 第一个程序 HelloWorld
第十七章 Linux 环境变量讲解
第十八章 Linux编写第一个自己的命令
第十九章 Linux 工具之make 工具和 makefile 文件
第二十章 makefile 基本语法(上)
第二十一章 makefile基本语法(下)
第二十二章 安装VMware Tool 工具
第二部分 嵌入式Windows开发环境构建
第二十三章 安装 SSH 软件
第二十四章 安装 Samba
第二十五章 Source Insight 的安装和使用
第二十六章 MobaXterm的安装教程
第三部分 嵌入式平台入门实操
第二十七章 交叉编译器的安装和使用
第二十八章 借助U盘或TF卡拷贝程序到开发板上
第二十九章 点亮第一个 led灯
第二篇 Linux系统编程篇
第一部分 Linux下I/O操作
第三十章 文件IO和标准IO
第三十一章 目录IO
第三十二章 库的制作与使用
第二部分 进程与进程间通信
第三十三章 进程基础
第三十四章 进程间通信
第三篇 嵌入式 Linux 驱动开发篇
第一部分 Linux 驱动初探
第三十五章 嵌入式开发概述及环境构建
第三十六章 Linux驱动初探
第二部分 Linux内核裁剪与定制
第三十七章 Linux内核模块
第三十八章 驱动模块编译进内核
第三部分 Linux 驱动基础
第三十九章 Linux Misc驱动
第四十章 Linux用户层和内核层
第四十一章 物理地址与虚拟地址
第四十二章 BEEP驱动实验
第四十三章 驱动模块传参
第四十四章 注册字符设备号
第四十五章 注册字符类设备
第四十六章 自动创建设备节点
第四十七章 字符设备和杂项设备总结回顾
第四十八章 Platform 设备驱动
第四十九章 平台总线总结回顾
第四部分 Linux驱动进阶
第五十章 Linux设备树
第五十一章 添加设备树节点
第五十二章 设备树常用of函数
第五十三章 设备树下的platform驱动
第五十四章 Pinctrl 子系统和 GPIO 子系统
第五十五章 Pinctrl和GPIO子系统实验
第五十六章 设备驱动IO控制
第五十七章 Linux中断实验
第五十八章 中断下文之tasklet
第五十九章 等待队列
第六十章 中断下文之工作队列
第六十一章 Linux内核定时器
第六十二章 定时器按键消抖实验
第六十三章 输入子系统实验
第六十四章 Linux I2C驱动
第六十五章 Linux I2C驱动实验
第六十六章 电容屏触摸驱动实验
第四篇 嵌入式Linux系统移植篇
第六十七章 Trusted Firmware-A 移植
第六十八章 U-Boot移植
第六十九章 linux内核移植
第五篇 文件系统构建篇
第七十章 Buildroot制作根文件系统
第七十一章 制作Ubuntu文件系统
第七十二章 Debian文件系统
第七十三章 Yocto系统开发
第七十四章 制作最小linux系统
第七十五章 编译QtE5.12文件系统
第六篇 嵌入式GUI开发篇
第七十六章 C++入门
第七十七章 交叉编译QT工程
第七十八章 Qt控制硬件
视频教程: