首页 > 其他分享 >RT-Thread学习(一)-基于GD32移植

RT-Thread学习(一)-基于GD32移植

时间:2023-06-05 20:36:58浏览次数:47  
标签:RT rt Thread init board GD32 Tick OS

1 前言

啊啊啊,纠结了很久,一直在纠结学哪种rtos,在freertos和rt之间反复横跳,一直在想以后工作了会用什么,但是因为现在自己的项目用了GD32,既然国产了,那就继续国产吧,认真好好学rt

2 参考资料

PS:因为我很懒,不想自己配置,所以就想用keil直接解决

  1. https://aijishu.com/a/1060000000367440 (技术贴)
  2. https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-port-keil/an0039-nano-port-keil (官方教程)

3 硬件电路

GD32F427RK(买的开发板)
GD32F427VE(自己画的板子)

4 移植过程

详细的移植过程根据前面的参照资料一步步来就行
特意记录的部分:
board.c中会有这个

点击查看代码
//#error "TODO 1: OS Tick Configuration."
    /*
     * TODO 1: OS Tick Configuration
     * Enable the hardware timer and call the rt_os_tick_callback function
     * periodically with the frequency RT_TICK_PER_SECOND.
     */
这里需要自己配置时钟,在rt_hw_board_init做出如下更改
void rt_hw_board_init(void)
{
//#error "TODO 1: OS Tick Configuration."
    /*
     * TODO 1: OS Tick Configuration
     * Enable the hardware timer and call the rt_os_tick_callback function
     * periodically with the frequency RT_TICK_PER_SECOND.
     */
    /* 1、系统、时钟初始化 */
    systick_config(); // 配置系统时钟
    SystemCoreClockUpdate(); // 对系统时钟进行更新

    /* 2、OS Tick 频率配置,RT_TICK_PER_SECOND = 1000 表示 1ms 触发一次中断 */
    SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);
    /* Call components board initial (use INIT_BOARD_EXPORT()) */
#ifdef RT_USING_COMPONENTS_INIT
    rt_components_board_init();
#endif

#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)
    rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
#endif
}

注意包含头文件systick.h和gd32f4xx.h

标签:RT,rt,Thread,init,board,GD32,Tick,OS
From: https://www.cnblogs.com/tongwumiracle/p/17458827.html

相关文章

  • AssertionError CUDA unavailable, invalid device 0 requested
    报错信息UserWarning:Userprovideddevice_typeof'cuda',butCUDAisnotavailable.Disablingwarnings.warn('Userprovideddevice_typeof\'cuda\',butCUDAisnotavailable.Disabling')AssertionError:CUDAunavailable,inv......
  • speaking part2
    3to4minutes1minutetopreparespeakfor 2minutestaskcarddescribe.... Makenotesfirstthingcametoheadfollowthepointsonthetaskcardbulletpoints  BeforetheexamPrepareforcommontopicareasVocabularyandideasarethekey......
  • RTP协议之Header结构解析(转)
    原文:https://blog.csdn.net/yu_yuan_1314/article/details/9849581作者:MultiMedia之旅 实时传输协议RTP,RTP提供带有实时特性的端对端数据传输服务,传输的数据如:交互式的音频和视频。那些服务包括有效载荷类型定义,序列号,时间戳和传输监测控制。应用程序在UDP上运行RTP来使......
  • echarts 曲线图组件
    样式如图使用:     <echartLine      ref="day30Echat"      :xAxis="timeList"      :xlist="xlist30Day"      :xlist2="xlist230Day"      :smooth="true"     ><......
  • 定时执行的任务Quartz.net
          ......
  • Substring of Sorted String 题解
    SubstringofSortedString写篇题解纪念一下蒟蒻第一次赛时切出的F题。题目简述对一个字符串进行单点修改,区间判断操作。修改操作为将一个字符修改为另一个,判断操作为判断区间是否是整个字符串升序排序后的字串。思路分析蒟蒻第一眼线段树,但刚开始没仔细看题,以为是判断区......
  • DRTREE - Dynamically-Rooted Tree 题解
    DRTREE-Dynamically-RootedTree本题建议评蓝。思路:题目就是要对一颗不定根树求子树权值和。这题不带修,如果带修难度会增加一点,就跟遥远的国度差不多。首先分析一下在以不同根下子树的变化。当一颗树以1号节点为根时,比如说长这样:假设每个点的权值为1,那么这8个点......
  • ChartGPT 到期后是否还能使用?
    今天在浏览器中搜索时发现,ChartGPT插件出现异常,无法返回预期值,出现报错信息。如图示:然后到官网查看使用情况,发现已经过期。然后到网页端发现还能正常使用。总结:网页端可以正常使用,但是嵌入API-KEY的插件不能使用了,如想继续使用只能到网页端使用。由于现在不能注册新账号......
  • 实验6 turtle绘图与python库应用编程体验
    任务1fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red')move(-200,0)draw(3)mov......
  • Transformer结构及其应用详解——GPT、BERT、MT-DNN、GPT-2
    前言 本文首先详细介绍Transformer的基本结构,然后再通过GPT、BERT、MT-DNN以及GPT-2等基于Transformer的知名应用工作的介绍并附上GitHub链接,看看Transformer是如何在各个著名的模型中大显神威的。本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专......