尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

课时00 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识

课时00 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识本课程开源地址Giteehttps://gitee.com/fujianxinxi/qianrushishixundianzi.git课件、示例代码与验收脚本都在该仓库可直接git clone或下载 ZIP 使用。开发板资料A盘百度网盘https://pan.baidu.com/s/1_EXrjRUewwmGMgcy38zEZg提取码zbri正点原子官方资料下载http://www.openedv.com/docs/boards/stm32/zdyz_stm32f103_nano.html课程准备 · 2 学时 · 环境Keil MDK5 VS Code 正点原子 STM32F103 Nano V1.3一句话概述开课第一课不写新代码装齐 Keil MDK5 与 STM32F1 器件包、ST-Link 驱动、VS Code、Git认清正点原子 STM32F103 Nano V1.3 的供电口、下载口与复位键再打开仓库里的跑马灯实验案例跑通编译 → 下载 → 复位看现象整条链路为后面每一课打好底座。本节目标能装齐本课程要用的四样工具Keil MDK5 STM32F1 器件包、ST-Link 驱动、VS Code、Git并说清每样干什么用能说出 STM32F103 NanoV1.3板上的供电口、下载口分别是哪个复位键在哪能打开跑马灯实验案例并跑通编译 → 下载 → 复位看现象留下三张关键截图编译输出、设备管理器里的 ST-Link、板子现象一、原理说明STM32 的开发环境是一套工具链Keil 负责把 C 代码编译成 STM32 能执行的机器码ST-Link 下载器负责把机器码写进芯片 FlashGit 负责课件与代码的版本管理。这几样缺一样后面的实验就会卡在某一步而且报出来的错往往像代码写错了实际是工具没装好。所以本课不写新代码先把工具装齐、把板子接口认熟再打开仓库里的跑马灯实验案例跑通编译 → 下载 → 看现象这条链路。二、讲解内容2.1 知识讲解先说清工具链是怎么转起来的你写的代码要通过一串工具才能跑到板子上顺序是写代码VS Code / Keil 编辑器 ↓ 编译Keil ARMCC 编译器——把 C 代码变成 .hex / .axf 机器码 ↓ 下载下载器 驱动——把机器码写进 STM32 的 Flash ↓ 运行板子上电复位——CPU 从 Flash 里取指令执行 ↓ 回传串口——板子把运行信息打给电脑看课时03 起用到本课不涉及四样工具各管一段缺一段就断链工具装什么干什么用装完怎么验证本课验收点Keil MDK5MDK5 主程序 Keil.STM32F1xx_DFP器件包建工程、编译、下载、调试Pack Installer 里能看到 STM32F1 系列能打开跑马灯实验并编译0 Error(s)ST-Link 驱动ST-Link 驱动本课程统一用 ST-Link让电脑认得下载器插上下载器设备管理器里能看到 ST-LinkVS Code编辑器可选装中文包看代码、改例程、写实验记录能用打开文件夹打开课件目录GitGit for Windows拉课件、交作业、留版本git clone课程仓库成功再认板子正点原子 STM32F103 Nano本课程以V1.3 版实物为准。上课时对着板子找这四个地方位置长什么样干什么用供电口板上的 USB 口或 5V 接线柱给板子供电插上电源指示灯亮下载口板上标着 SWD / JTAG 的排针接下载器把程序写进去只需 SWDIO、SWCLK、GND 三根线串口口另一个 USB 口板载 USB 转串口本课不用到课时03 串口通信再按那节课的说明接线、装驱动复位键标着RST/RESET的小按键按一下程序从头跑看现象就靠它注意不同版本板子的丝印位置、跳线帽和排针顺序可能不一样。本课程所有接线表、引脚号都出自V1.3 版如果你手上的板子不是 V1.3先按配套原理图核对接口再照文档做。2.2 代码示例本课不写新代码直接跑厂家写好的跑马灯实验能编译、能下载、能看见现象的完整工程来验证工具链——本课要证明的不是你会写代码而是你的工具链是通的。案例在哪已经在仓库里不用自己翻资料盘课时文档/代码/课时00-环境搭建与开发板认识/跑马灯实验/ ├── USER/LED.uvprojx ← 用 Keil 打开这个工程 ├── USER/main.c ← 主程序 ├── HARDWARE/LED/ ← LED 驱动led.c / led.h板载 8 个 LED 在 PC0~PC7 ├── SYSTEM/ HALLIB/ CORE/ ← 时钟、延时、HAL 库、启动文件 └── OBJ/ ← 编译输出已加入 .gitignore不进仓库用 Keil 打开USER/LED.uvprojx即可。案例里真正干活的就是主循环那几行看懂它你就知道能闪灯意味着什么下面是USER/main.c的原文intmain(void){HAL_Init();/* 初始化 HAL 库顺带配好 1ms 延时基准 */Stm32_Clock_Init(RCC_PLL_MUL9);/* 设置时钟主频 72MHz */delay_init(72);/* 初始化延时函数 */LED_Init();/* 初始化 LED 引脚PC0~PC7推挽输出 */while(1){HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET);/* LED0 亮PC0 输出低电平 */HAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,GPIO_PIN_SET);/* LED1 灭 */delay_ms(500);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);/* LED0 灭 */HAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,GPIO_PIN_RESET);/* LED1 亮PC1 输出低电平 */delay_ms(500);}}这段不用你敲也不用改它只是告诉你能闪灯 编译器、下载器、驱动、板子四样都对了。后面每一课的代码都是在这个骨架上换掉while (1)里的内容。三、实验操作与现象3.1 接线与操作步骤接线表设备接到哪说明开发板 USB 供电口电脑 USB 口给板子供电插上后电源指示灯亮再往下做ST-Link 下载器板子 SWD 排针只接三根必须的SWDIO/SWCLK/GND下载器上的 3.3V 可以不接板子自己已供电ST-Link 另一端电脑 USB 口先把 ST-Link 驱动装好再插最省事操作步骤装 Keil MDK5打开 Pack Installer 装Keil.STM32F1xx_DFP器件包不装这个Keil 里根本找不到 STM32F103装 ST-Link 驱动本课程用 ST-Link插上下载器在设备管理器里确认能看到注意务必看到上述成功的截图否则说明驱动装错了会导致程序无法下载装 VS Code 和 Git克隆课程仓库git clone https://gitee.com/fujianxinxi/qianrushishixundianzi.git用 Keil 打开课时文档/代码/课时00-环境搭建与开发板认识/跑马灯实验/USER/LED.uvprojxOptions for Target → Debug里选好ST-Link Debugger回主界面点Build点Download下载下载完按一下板子复位键外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传3.2 观察到的现象Keil 的 Build Output 显示0 Error(s), 0 Warning(s)Download后提示Programming Done. Verify OK.设备管理器里能看到 ST-Link在通用串行总线设备下或厂商名下说明驱动装对了按复位键后板上的 DS0 与 DS1 交替闪烁每次 500ms1 秒交换一次——能闪就说明编译 → 下载 → 运行整条链路通了勾选了run 那个这个地方就不用按复位键了看不到这些现象编译报错多半是器件包没装下载报No Cortex-M Device found按下面这张表逐条查。现象原因解决Keil 里选不到 STM32F103器件包没装Pack Installer 装Keil.STM32F1xx_DFP重启 Keil下载报No Cortex-M Device found下载器驱动没装 / SWD 三根线没接好 / 板子没供电先看电源灯再查SWDIO、SWCLK、GND最后重装驱动设备管理器里看不到 ST-Link驱动没装 / USB 线只能充电、不带数据装 ST-Link 驱动换一根数据线git clone卡住或失败网络 / 代理问题先用仓库 ZIP 顶上Git 课后再补不影响上课下载成功但板子没反应下载后没复位 / 工程里芯片型号和实物不一致按复位键核对工程选型与板子型号3.3 常用操作速查表操作怎么做位置 / 快捷键编译点 Keil 工具栏的BuildF7下载点 Keil 工具栏的DownloadF8复位重跑按板子上的RST键板子上换下载器Options for Target → Debug工程选项看设备管理器Win X→ 设备管理器 → 通用串行总线设备Windows拉最新课件git pull课件目录下四、学生练习编号任务提示预期结果L0.1装齐四样工具对着 2.1 的表逐项打勾每项都有验证点四项全部通过验证L0.2留下设备管理器证据Win X→ 设备管理器 → 通用串行总线设备截图里能看到 ST-LinkL0.3克隆课程仓库git clone https://gitee.com/fujianxinxi/qianrushishixundianzi.git本地出现课程大纲/、课时文档/、课堂实验/L0.4编译跑马灯实验Keil 打开跑马灯实验/USER/LED.uvprojx→Build输出0 Error(s)L0.5下载并看现象Debug 里选ST-Link Debugger→Download→ 按复位键板上 DS0、DS1 交替闪烁L0.6确认下载器连得上芯片再点一次Download看有没有报错不再出现No Cortex-M Device found五、作业必做交环境截图包4 张——Keil 编译输出、设备管理器里的 ST-Link、板子现象照片或 5 秒短视频、git clone后的本地目录文件名按课时00-序号-描述.png命名选做USER/main.c里还留了一段注释掉的8 个 LED 流水灯版本把它启用把现在这段注释掉重新编译下载体会改代码 → 编译 → 下载的完整流程说说两种现象有什么不同提交4 张截图 一句话我在哪一步卡过、怎么解决的验收标准三张关键截图齐全、板子现象正确DS0、DS1 交替闪、下载时无报错六、本节小结与下节预告本节把四样工具装齐Keil 器件包、ST-Link 驱动、VS Code、Git、把 V1.3 板子的供电口 / 下载口 / 复位键认熟再用跑马灯实验案例跑通了编译 → 下载 → 复位看现象整条链路——这条链路是后面每一课的地基链路不通写多少代码都白搭。下节进入模块一从 GPIO 输出开始把板载 8 个 LEDPC0~PC7挨个点亮写出自己的跑马灯。附录A. 怎么编译下载照着做就能跑1. 接线板子 USB 供电 → ST-Link 接 SWD 三根线SWDIO / SWCLK / GND→ ST-Link 插电脑 2. Keil 打开课时文档/代码/课时00-环境搭建与开发板认识/跑马灯实验/USER/LED.uvprojx 3. 选下载器Options for Target → Debug → 选 ST-Link Debugger → OK 4. 编译BuildF7确认 0 Error(s) 5. 下载DownloadF8确认 Programming Done. Verify OK. 6. 复位按板子 RST 键看 DS0、DS1 交替闪B. 本课代码本课没有自写代码跑的是正点原子官方跑马灯实验HAL 库版工程放在课时文档/代码/课时00-环境搭建与开发板认识/跑马灯实验/文件作用USER/LED.uvprojxKeil 工程文件用 Keil 打开这个USER/main.c主程序DS0 / DS1 交替闪烁原文见 2.2 节HARDWARE/LED/led.c、led.hLED 驱动把 PC0~PC7 配成推挽输出提供LED0~LED7宏SYSTEM/sys、SYSTEM/delay时钟配置与延时函数HALLIB/、CORE/STM32F1 HAL 库与启动文件OBJ/编译输出已加入.gitignore不进仓库C. 待补截图清单本课 4 张文件名拍什么要求课时00-01-Keil编译输出.pngKeil Build Output 窗口能看清0 Error(s), 0 Warning(s)课时00-02-设备管理器.png设备管理器的通用串行总线设备列表能看清 ST-Link课时00-03-板子现象.png板上 DS0 / DS1 一亮一灭的画面拍清板子全景能看出哪个灯亮课时00-04-git克隆.png终端git clone结果能看到仓库目录已下载到本地截图统一放在仓库根目录的截图/正文里用相对路径../../截图/…引用命名与上表一致补图后把正文里每处截图待补删掉即可。相关文档课程大纲课时00 在〇、课程准备课程文档写作规范0.1 教学环境约定下一课课时01 GPIO 输出跑马灯与蜂鸣器
返回列表