• ARM32开发——第一盏灯


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

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

    开发流程

    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 
    /*********************
    任务目标:
    
    点亮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);
        // 休眠1000ms
        delay_1ms(1000);
        // 设置PB2为低电平
        gpio_bit_reset(GPIOB, GPIO_PIN_2);
        // 休眠1000ms
        delay_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] 直接运行新的固件。

  • 相关阅读:
    chales 重写/断点/映射/手机代理/其他主机代理
    浅析数据仓库和建模理论
    沉睡者IT创业项目 - 学习如何玩直播卖零食
    Qemu kvm_qemu详细教程
    kafka生产者和消费者(python版)
    算法----字符串转换整数 (atoi)
    Lange电桥的设计
    el-table表格变更前后根据数据值改变背景颜色
    SSH工具:Xshell正版官方免费版下载,不限制站点数量
    移植LVGL到单片机的一个demo简单介绍
  • 原文地址:https://blog.csdn.net/qiuyeyyy/article/details/139318334