RT-Thread 7. RT-Thread Studio ENV修改MCU型号

1. 修改MCU型号

在这里插入图片描述
在这里插入图片描述

2.在ENV界面输入
scons -c
scons --dist
3. dist下为更新后完整源代码

在这里插入图片描述

4.导入RT-Thread Studio

发现GD32F330已经生效了。

在这里插入图片描述

5. 自己编写startup_gd32f3x0.S,准确性待验证
;/*
; * Copyright (c) 2006-2021, RT-Thread Development Team
; *
; * SPDX-License-Identifier: Apache-2.0
; *
; * Change Logs:
; * Date           Author       Notes
; * 2018-05-22     tanek        first implementation
; */.syntax unified
.cpu cortex-m4
.fpu softvfp
.thumb.global  g_pfnVectors
.global  Default_Handler.section  .isr_vector,"a",%progbits.type  g_pfnVectors, %objectg_pfnVectors:.word     _estack                       // Top of Stack.word     Reset_Handler                     // Reset Handler.word     NMI_Handler                       // NMI Handler.word     HardFault_Handler                 // Hard Fault Handler.word     MemManage_Handler                 // MPU Fault Handler.word     BusFault_Handler                  // Bus Fault Handler.word     UsageFault_Handler                // Usage Fault Handler.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     SVC_Handler                       // SVCall Handler.word     DebugMon_Handler                  // Debug Monitor Handler.word     0                                 // Reserved.word     PendSV_Handler                    // PendSV Handler.word     SysTick_Handler                   // SysTick Handler// external interrupts handler.word     WWDGT_IRQHandler                  // 16:Window Watchdog Timer.word     LVD_IRQHandler                    // 17:LVD through EXTI Line detect.word     RTC_IRQHandler                    // 18:RTC Wakeup through EXTI Line.word     FMC_IRQHandler                    // 19:FMC.word     RCU_CTC_IRQHandler                // 20:RCU and CTC.word     EXTI0_1_IRQHandler                // 21:EXTI Line 0 and EXTI Line 1.word     EXTI2_3_IRQHandler                // 22:EXTI Line 2 and EXTI Line 3.word     EXTI4_15_IRQHandler               // 23:EXTI Line 4 to EXTI Line 15.word     TSI_IRQHandler                    // 24:TSI.word     DMA_Channel0_IRQHandler           // 25:DMA Channel 0 .word     DMA_Channel1_2_IRQHandler         // 26:DMA Channel 1 and DMA Channel 2.word     DMA_Channel3_4_IRQHandler         // 27:DMA Channel 3 and DMA Channel 4.word     ADC_CMP_IRQHandler                // 28:ADC and Comparator 0-1.word     TIMER0_BRK_UP_TRG_COM_IRQHandler  // 29:TIMER0 Break,Update,Trigger and Commutation.word     TIMER0_Channel_IRQHandler         // 30:TIMER0 Channel Capture Compare.word     TIMER1_IRQHandler                 // 31:TIMER1.word     TIMER2_IRQHandler                 // 32:TIMER2.word     TIMER5_DAC_IRQHandler             // 33:TIMER5 and DAC.word     0                                 // Reserved.word     TIMER13_IRQHandler                // 35:TIMER13.word     TIMER14_IRQHandler                // 36:TIMER14.word     TIMER15_IRQHandler                // 37:TIMER15.word     TIMER16_IRQHandler                // 38:TIMER16.word     I2C0_EV_IRQHandler                // 39:I2C0 Event.word     I2C1_EV_IRQHandler                // 40:I2C1 Event.word     SPI0_IRQHandler                   // 41:SPI0.word     SPI1_IRQHandler                   // 42:SPI1.word     USART0_IRQHandler                 // 43:USART0.word     USART1_IRQHandler                 // 44:USART1.word     0                                 // Reserved.word     CEC_IRQHandler                    // 46:CEC.word     0                                 // Reserved.word     I2C0_ER_IRQHandler                // 48:I2C0 Error.word     0                                 // Reserved.word     I2C1_ER_IRQHandler                // 50:I2C1 Error.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     USBFS_WKUP_IRQHandler             // 58:USBFS Wakeup.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     DMA_Channel5_6_IRQHandler         // 64:DMA Channel5 and Channel6 .word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     0                                 // Reserved.word     USBFS_IRQHandler                  // 83:USBFS.size  g_pfnVectors, .-g_pfnVectors.section  .text.Reset_Handler.weak  Reset_Handler.type  Reset_Handler, %function
Reset_Handler:ldr r1, =_sidataldr r2, =_sdataldr r3, =_edatasubs r3, r2ble fill_bss_startloop_copy_data:subs r3, #4ldr r0, [r1,r3]str r0, [r2,r3]bgt loop_copy_datafill_bss_start:ldr r1, =__bss_startldr r2, =__bss_endmovs r0, 0subs r2, r1ble startup_enterloop_fill_bss:subs r2, #4str r0, [r1, r2]bgt loop_fill_bssstartup_enter:bl SystemInitbl entry/* Exception Handlers */.weak   NMI_Handler.type   NMI_Handler, %function
NMI_Handler:b       ..size   NMI_Handler, . - NMI_Handler.weak   MemManage_Handler.type   MemManage_Handler, %function
MemManage_Handler:b       ..size   MemManage_Handler, . - MemManage_Handler.weak   BusFault_Handler.type   BusFault_Handler, %function
BusFault_Handler:b       ..size   BusFault_Handler, . - BusFault_Handler.weak   UsageFault_Handler.type   UsageFault_Handler, %function
UsageFault_Handler:b       ..size   UsageFault_Handler, . - UsageFault_Handler.weak   SVC_Handler.type   SVC_Handler, %function
SVC_Handler:b       ..size   SVC_Handler, . - SVC_Handler.weak   DebugMon_Handler.type   DebugMon_Handler, %function
DebugMon_Handler:b       ..size   DebugMon_Handler, . - DebugMon_Handler.weak   PendSV_Handler.type   PendSV_Handler, %function
PendSV_Handler:b       ..size   PendSV_Handler, . - PendSV_Handler.weak   SysTick_Handler.type   SysTick_Handler, %function
SysTick_Handler:b       ..size   SysTick_Handler, . - SysTick_Handler/* IQR Handler */.section  .text.Default_Handler,"ax",%progbits.type  Default_Handler, %function
Default_Handler:b  ..size  Default_Handler, . - Default_Handler.macro  IRQ handler.weak   \handler.set    \handler, Default_Handler.endmIRQ WWDGT_IRQHandlerIRQ LVD_IRQHandlerIRQ RTC_IRQHandlerIRQ FMC_IRQHandlerIRQ RCU_CTC_IRQHandlerIRQ  EXTI0_1_IRQHandler                IRQ  EXTI2_3_IRQHandler                IRQ  EXTI4_15_IRQHandler               IRQ  TSI_IRQHandler                    IRQ  DMA_Channel0_IRQHandler           IRQ  DMA_Channel1_2_IRQHandler         IRQ  DMA_Channel3_4_IRQHandler         IRQ  ADC_CMP_IRQHandler                IRQ  TIMER0_BRK_UP_TRG_COM_IRQHandler  IRQ  TIMER0_Channel_IRQHandler         IRQ  TIMER1_IRQHandler                 IRQ  TIMER2_IRQHandler                 IRQ  TIMER5_DAC_IRQHandler             IRQ  TIMER13_IRQHandler                IRQ  TIMER14_IRQHandler                IRQ  TIMER15_IRQHandler                IRQ  TIMER16_IRQHandler                IRQ  I2C0_EV_IRQHandler                IRQ  I2C1_EV_IRQHandler                IRQ  SPI0_IRQHandler                   IRQ  SPI1_IRQHandler                   IRQ  USART0_IRQHandler                 IRQ  USART1_IRQHandler                 IRQ  CEC_IRQHandler                    IRQ  I2C0_ER_IRQHandler                IRQ  I2C1_ER_IRQHandler                IRQ  USBFS_WKUP_IRQHandler             IRQ  DMA_Channel5_6_IRQHandler         IRQ  USBFS_IRQHandler                  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/150813.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaEE -10(11000字详解5层重要协议)

一:应用层重点协议 1.1: DNS DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统。 TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息&#x…

c++ qt连接操作sqlite

qt客户端编程,用到数据库的场景不多,但是部分项目还是需要数据库来保存同步数据,客户端用到的数据库,一般是sqlite。 Qt提供了数据库模块,但是qt本身的数据库模块并不好用,会有各种问题, 建议大家不要,可以自己封装数据库的操作。本篇博客介绍qt连接操作sqlite。 sqlit…

【Java 进阶篇】Java Request 继承体系详解

在Java编程中,Request(请求)是一个常见的概念,特别是在Web开发中。Request通常用于获取来自客户端的信息,以便服务器能够根据客户端的需求提供相应的响应。在Java中,Request通常涉及到一系列类和接口&#…

J2EE项目部署与发布(Windows版本)

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 ,越幸运。 1.单机项目的部署 1.1们需要将要进行部署的项目共享到虚拟机中 在部署项目之前,我们先要检查一下…

【面试经典150 | 链表】合并两个有序链表

文章目录 Tag题目来源题目解读解题思路方法一:递归方法二:迭代 写在最后 Tag 【递归】【迭代】【链表】 题目来源 21. 合并两个有序链表 题目解读 合并两个有序链表。 解题思路 一种朴素的想法是将两个链表中的值存入到数组中,然后对数组…

HTTP发起请求与收到响应的大致过程

可以《《透视 HTTP 协议》Windows 10 搭建最小实验环境》搭建环境,之后才能进行下边的操作。 1.鼠标左键点击两下www目录下的start.bat批处理文件。 2.打开Wireshark,然后选择Adapter for loopback traffic capture。 3.然后把tcp.port 80 || udp.…

Linux--进程等待

1.什么是进程等待 1.通过系统调用wait/waitid,来对子进程进行进行检测和回收的功能。 2.为什么有进程等待 1.对于每个进程来说,如果子进程终止,父进程没有停止,就会形成僵尸进程,导致内存泄露,为了防止僵尸进程的形成…

win10 + VS2017 编译libjpeg(jpeg-9b)

需要用到的文件: jpeg-9b.zip win32.mak 下载链接链接:https://pan.baidu.com/s/1Z0fwbi74-ZSMjSej-0dV2A 提取码:huhu 步骤1:下载并解压jpeg-9b。 这里把jpeg-9b解压到文件夹"D:\build-libs\jpeg\build\jpeg-9b" …

如何使用 nvm-windows 这个工具来管理你电脑上的Node.js版本

nvm-windows 是一个用于管理在 Windows 上安装的多个 Node.js 版本的工具。以下是安装和使用 nvm-windows 的步骤: 第1步:下载 nvm-windows 访问 nvm-windows 的 GitHub发布页面.下载最新版本的 nvm-setup.zip 文件。 第2步:安装 nvm-wind…

uniapp 单选框以及多选框样式更改

radio以及checkbox默认样式不符合自身需求时,根据自身需求更改样式,以下是自身的示例: 单选: 多选: 由于uniapp自身包含了一套默认的样式,所以如果不想全局更改只想在某个单据页面使用的话,就…

Python 框架学习 Django篇 (六) 数据表关联、ORM关联

在后端服务器开发中,特别是前后端分离的架构中数据库是非常重要的,后端主要就是负责管理数据,而我们经常使用的mysql、oracle 都是关系型数据库,什么是关系型数据库?就是建立在关系模型基础上的数据库,而最…

p5.js画布操作实战:创建,绑定指定元素,动态调整大小,隐藏滚动条,删除画布

文章简介 之前在 《p5.js 光速入门》 里粗略讲过一下如何使用 p5.js 创建画布。 这次要介绍几个 p5.js 提供的画布相关的方法。 创建画布时的相关配置。让画布绑定指定元素。重置画布大小。删除画布。 学习本文前你需要具备一点 p5.js 的知识,想了解的请查看 《p…