ARM32开发——第一盏灯

2024-05-31 22:44
文章标签 开发 arm32 一盏灯

本文主要是介绍ARM32开发——第一盏灯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》

⛺️心若有所向往,何惧道阻且长

文章目录

    • 开发流程
    • 需求分析
    • 项目新建
    • 代码编写
      • GPIO初始化
    • 程序编译
    • 程序烧录
    • 烧录扩展(熟悉)
    • 官方烧录器烧录(熟悉)

开发流程

  1. 项目新建
  2. 代码编写
  3. 程序烧录
  4. 验证结果

需求分析

在这里插入图片描述
点亮LED1灯,并且闪烁。

项目新建

附件为模板代码,解压后修改项目名称。
在这里插入图片描述

进入Project目录,双击uvprojx文件,即可打开项目
在这里插入图片描述
在这里特别强调:
在这里插入图片描述

代码编写

GPIO初始化

void GPIO_config(void){// 1. 时钟初始化rcu_periph_clock_enable(RCU_GPIOB);// 2. 配置GPIO 输入输出模式gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_2);// 3. 配置GPIO 模式的操作方式gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO_PIN_2);
}
// 设置PB2为高电平
gpio_bit_set(GPIOB, GPIO_PIN_2);
// 设置PB2为低电平
gpio_bit_reset(GPIOB, GPIO_PIN_2);
delay_1ms(1000);

完整代码

#include "gd32f4xx.h"
#include "systick.h"
#include <stdio.h>
/*********************
任务目标:点亮LED1: PB2**********************/void GPIO_config(void) {// 1. 时钟初始化rcu_periph_clock_enable(RCU_GPIOB);// 2. 配置GPIO 输入输出模式gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_2);// 3. 配置GPIO 模式的操作方式gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_2MHZ, GPIO_PIN_2);
}int main(void) {// 系统滴答定时器初始化systick_config();// IO引脚初始化GPIO_config();while(1) {// 设置PB2为高电平gpio_bit_set(GPIOB, GPIO_PIN_2);// 休眠1000msdelay_1ms(1000);// 设置PB2为低电平gpio_bit_reset(GPIOB, GPIO_PIN_2);// 休眠1000msdelay_1ms(1000);}}

程序编译

在keil的操作栏中,点击保存编译,可以进行程序编译
在这里插入图片描述

程序烧录

  1. 将烧录器的排线接到开发板的烧录口,将USB接到电脑端。
  2. 配置烧录方式。点击魔法棒,进入debug栏目,如下图所示,配置为CMSIS-DAP Debuger
    在这里插入图片描述

点击烧录按钮,如下图,进行烧录
在这里插入图片描述
4. 按下开发板中央的重置按钮,开发板开始工作。

烧录扩展(熟悉)

  1. 烧录器额外配置
    在这里插入图片描述
    查看烧录器连接状态
    在这里插入图片描述
    配置烧录后自动重启程序
    在这里插入图片描述

官方烧录器烧录(熟悉)

GD-Link 适配器(adapter)是一个用于GD32系列MCU的三合一多功能开发工具。
它通过JTAG/SWD接口提供CMSIS-DAP调试器端口。用户可以使用GD-Link 适配器(adapter)进行在线编程或在兼容的IDE(如Keil或IAR)中调试代码。
官网链接:https://gd32mcu.com/cn/download?kw=GD-Link&lan=cn
软件下载:
GD_Link_Programmer_xxx.7z压缩包下载后解压,打开其中的GD-Link Programmer.exe
烧录流程如下:

  1. 连接设备
    首先将GD32设备通过DAP_LINK转接器连接至PC。
    然后 [Target] - [Connect] 连接设备。(快捷键为F2)

在这里插入图片描述
链接成功后,右侧会显示MCU相关信息,下侧会显示连接成功的输出日志。

在这里插入图片描述
2. 打开固件
选择.hex或.bin文件作为烧录固件:[File] - [Open] (快捷键为Ctrl + O)
.hex通常在工程文件xxx.nvprojx所在目录的Objects子目录中。
在这里插入图片描述
如果找不到.hex文件,或编译后没有生成,请展开此折叠块进行设置
● 打开Options for Target…

● 勾选Create HEX File

● 重新编译工程即可。
3. 烧录固件
选择 [Target] - [Program] 进行烧录。(快捷键为F7)
在这里插入图片描述
提示Successfully!即为成功烧录
在这里插入图片描述
点击OK确认,此时按下开发板上的RESET按钮即可使新固件生效。或通过 [Target] - [Run App] 直接运行新的固件。

这篇关于ARM32开发——第一盏灯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019250

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安