RT-Thread:RT-Thread Nano移植到GD3E103

news/2024/11/17 6:53:57/

文章目录

  • 前言
  • 一、下载、添加RT-Thread包
  • 二、移植代码
  • 三、Debug
  • 四、编译、下载和运行
  • 总结


前言

项目需要使用GD32E103,虽然兆易创新的旗舰店客服有发数据包给我,里面有GD32E103的RT-Thread的代码,但是不知道为什么能编译,但是无法运行,本人也不想纠结他的问题,网上也没有这个系列芯片移植资料,直接自己开干,不参考他的。源码我会放到文章最后,欢迎大家下载,如果下方还没连接说明还没审核通过。

一、下载、添加RT-Thread包

1、找到GD32E103的跑马灯例程(前提这个程序能正常运行),修改工程文件,后缀加上一个x。
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

2、打开工程,点击工具栏的 Pack Installer 图标:
在这里插入图片描述
3、点击右侧的 Pack,展开 Generic,可以找到 RealThread::RT-Thread,点击 Action 栏对应的 Install ,就可以在线安装 Nano Pack 。
在这里插入图片描述
4、打开Manage Run-Time Environment,选择Kenel,点击ok。
在这里插入图片描述
在这里插入图片描述
5、RTOS代码已经加入工程
在这里插入图片描述

二、移植代码

1、注释掉HardFault_Handler、PendSV_Handler和SysTick_Handler函数,这三个函数已经被RTT接管使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、修改_SysTick_Config函数

static uint32_t _SysTick_Config(rt_uint32_t ticks)
{if ((ticks - 1) > 0xFFFFFF){return 1;}_SYSTICK_LOAD = ticks - 1; _SYSTICK_PRI = 0xFF;_SYSTICK_VAL  = 0;_SYSTICK_CTRL = 0x07;  return 0;
}

在这里插入图片描述
3、使用动态内存功能
在这里插入图片描述
4、修改main.c

#include <rtthread.h>
#include "led.h"int main(void)
{led_init();while(1){/* turn on LED2 */gpio_bit_set(GPIOC,GPIO_PIN_6);rt_thread_mdelay(500);/* turn off LED2 */gpio_bit_reset(GPIOC,GPIO_PIN_6);rt_thread_mdelay(500);}
}

在这里插入图片描述
led.c

#include "led.h"void led_init(void)
{/* enable the LED2 GPIO clock */rcu_periph_clock_enable(RCU_GPIOC);/* configure LED2 GPIO port */ gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_6);/* reset LED2 GPIO pin */gpio_bit_reset(GPIOC,GPIO_PIN_6);
}

三、Debug

1、打开Options for Target,最注意要修改size的值,我之前遇到就是size值很小,导致下载失败,size就是指代码区大小,我的是128k所以是0x00020000
在这里插入图片描述

四、编译、下载和运行

1、编译后0错误1警告,警告是因为有一个对象定义了却没有使用,可以不用管他。
在这里插入图片描述
2、下载运行现象就是能够正常看到LED的闪烁和裸机运行的时候LED闪烁现象一直说明就是成功了
3、代码下载。

总结

还不能回家躺尸,还不能使用控制台...

http://www.ppmy.cn/news/796565.html

相关文章

[翻译]Energy transfer between Gd3+ and Tb3+ in phosphate glass

Energy transfer between Gd3 and Tb3 in phosphate glass 磷酸盐玻璃中Tb3与Gb3之间的能量转移 Abstract: The phosphate glass doped with Gd3, Tb3 and Gd3/Tb3 were prepared by high temperature melting. The photo-luminescence behavior of Gd3 and Tb3 in phosphate g…

Gd-DTPA钆元素钆元素对比磁共振造影剂 氟-19磁共振/荧光双模态显影剂19F MRI

Gd-DTPA钆元素钆元素对比磁共振造影剂 氟-19磁共振/荧光双模态显影剂19F MRI 钆对比剂的原理 钆(Gd)元素螯合物是所有磁共振造影剂中使用较广泛的。由于其独特的电子结构&#xff0c;Gd3具有7个不成对电子&#xff0c;这些电子与质子一样为偶极子&#xff0c;具有磁矩&#x…

钆离子(Gd3+)与RGD多肽共修饰碳量子点/修饰金原子蔟多肽研究

钆离子(Gd3)与RGD多肽共修饰碳量子点的制备研究&#xff1a; 结合磁共振成像(MRI)和荧光成像技术,以钆离子(Gd3)、量子点及精氨酸(R)-甘氨酸(G)-天冬氨酸(D)(RGD)多肽等为功能单元,采用纳米载体组装技术构建了MRI弛豫率/荧光效率高和靶向性强的Gd3与RGD共修饰的量子点双模态纳…

Windows环境Jmeter调优

在windows环境下搭建jmeter的压测实验环境&#xff0c;需要对操作系统默认的一些个参数进行设置&#xff0c;以提高并发能力。特别是作为压力机的时候。 Socket 编程时&#xff0c;单机最多可以建立多少个 TCP 连接&#xff0c;受到操作系统的影响。 Windows 下单机的TCP连接数…

18.Lucas-Kanade光流及OpenCV中的calcOpticalFlowPyrLK

文章目录 光流法介绍OpenCV中calcOpticalFlowPyrLK函数补充reference 欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f339;&#x1f339; 光流法介绍 光流描述了像素在图像中的运动&#xff0c;就像彗星☄划过天空中流动图像。同一个像素&#xff0c;随着时…

android 空间不足 sd卡,手机sd卡空间不足怎么清理【图文教程】

手机可以分为自身存储空间和外置SD卡存储增大空间两种&#xff0c;一般手机里面文件比较多&#xff0c;想要安装更多软件的时候都会外置SD卡。外置SD卡虽然简单&#xff0c;但是也可能会出现“手机sd卡空间不足”的提示&#xff0c;面对这类提示信息时&#xff0c;大部分人都需…

android 重复文件夹,清理手机空间小工具!搜索重复文件App

很多朋友都会遇到安卓手机空间越用越少的问题&#xff0c;明明也没往里面放什么&#xff0c;但空间就是不断流失。实际上&#xff0c;这可能是由于系统和App产生了一些重复的文件&#xff0c;重复的文件不断增多的结果就是大大压缩了存储空间。有没有什么好办法可以删掉重复的文…

android10存储空间不足怎么清理,手机磁盘空间不足怎么清理?详细介绍

安卓智能手机大家应该知道吧!除了 苹果 手机之外&#xff0c;其他品牌的智能手机都是采用的安卓系统&#xff0c;安卓手机既然有这么多的手机品牌去使用它&#xff0c;那说明它有很多的优势&#xff0c;但是安卓系统也有一些缺点就是不支持自动关闭后台功能和自动清理功能&…