文章目录

  • vscode编辑环境配置
  • 官方库例程迷惑解答
    • 时钟在哪里初始化
    • 时钟在哪里配置
    • NVIC在哪里初始化
    • NVIC中断分组是什么
    • printf怎么重映射

vscode编辑环境配置

  1. 下载官方库:链接
  2. 插件安装
    c/c++的常用插件,不喜欢英文的可以换个中文:
  3. 工程目录下添加vsc的配置文件
    工程目录下新建.vscode文件夹,然后里面新建两个文件:
  • c_cpp_properties.json
  • setting.json
    文件内容如下,注意definesp配置下面的配置项是保存后自动生成的:
{"configurations": [{"name": "temp","includePath": [//"D:/Keil_v5/ARM/ARMCC/include","D:/GreenSoft/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include","${workspaceFolder}/**"// "${workspaceFolder}/Firmware/CMSIS/GD/GD32F10x/Include",// "${workspaceFolder}/firmware/CMSIS",// "${workspaceFolder}/Template",// "${workspaceFolder}/firmware/GD32F10x_standard_peripheral/Include"],"defines": ["__CC_ARM","GD32F10X_MD"],"intelliSenseMode": "windows-msvc-x64","compilerPath": "D:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30037\\bin\\Hostx64\\x64\\cl.exe","cStandard": "c17","cppStandard": "c++17"}],"version": 4
}
  • setting.json
    文件内容:
{"files.associations": {"gd32f10x.h": "c","gd32f10x_libopt.h": "c","main.h": "c"},"clang.cflags": ["-I${workspaceRoot}/Firmware/CMSIS/GD/GD32F10x/Include"]
}

如果安装了clangd插件要注意:

  • setting.json里面的clang.cflags路径需要改动的话换成你的对应路径。
  • 对于第三方库,照葫芦画瓢即可

官方库例程迷惑解答

时钟在哪里初始化

先在启动文件中调用了SystemInit()然后才调用main(),SystemInit()位于system_gd32f10x.c里面,然后在该函数中初始化时钟

时钟在哪里配置

也是在system_gd32f10x.c里面,最上面,通过这个宏就可以快捷配置

NVIC在哪里初始化

同上,初始化时钟函数下面就会初始化中断管理

NVIC中断分组是什么

通过以下语句获取当前中断分组:

printf("\r\nNVIC Priority Group is %d\r\n", NVIC_GetPriorityGrouping());

不进行更改的话可以看到中断分组:

参考CM3权威指南:

stm32有4个bit是用来中断分组的,gd32也是,如下应有手册说明。该寄存器是MSB对齐的,所以GD32f103CBT6的默认中断优先级分组是[7:6]两位表示抢占优先级,[5:4]两位表示亚优先级,[3:0]四位并未使用

printf怎么重映射

这个参考GD固件库,先配置对应串口,再添加重隐射函数就好了,官方例程copy就可以,注意gd串口号为0、1、2
串口1重映射函数如下:

/* retarget the C library printf function to the USART */
int fputc(int ch, FILE *f)
{usart_data_transmit(USART1, (uint8_t)ch);while(RESET == usart_flag_get(USART1, USART_FLAG_TBE));return ch;
}

第一次用gd的单片机,如果后续还有用gd芯片的话本文档会不定期更新
欢迎各路小白一起讨论

【国产MCU学步随笔------兆易创新GD32f103CBT6,及vscode编辑环境配置】相关推荐

  1. 「免费申请」基于Arm Cortex-M4的兆易创新GD32F427高性能开发板试用活动

    申请链接:「免费申请」基于Arm Cortex-M4的兆易创新GD32F427高性能开发板试用活动 基于Arm® Cortex®-M4的兆易创新GD32F427开发板免费试用活动 近期兆易创新发布了全 ...

  2. STM32CUBEIDE(15)----移植兆易创新SPI Nor Flash之GD25Q64Flash

    spi概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的 ...

  3. STM32CUBEMX开发GD32F303(16)----移植兆易创新SPI Nor Flash之GD25Q64Flash

    spi概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的 ...

  4. GD32F303固件库开发(16)----移植兆易创新SPI Nor Flash之GD25Q64Flash

    spi概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的 ...

  5. 芯片|兆易创新逾7300万股限售股下周一上市流通 占总股本23%

    [TechWeb]8月13日消息,上交所上市公司.芯片设计公司兆易创新昨晚发布公告称,逾7300万股限售股下周一上市流通,占总股本23%. 本次限售股上市类型 经中国证券监督管理委员会证监许可[201 ...

  6. 瑞萨e2studio(22)----移植兆易创新SPI Nor Flash之GD25Q64Flash

    瑞萨e2studio.22--移植兆易创新SPI Nor Flash之GD25Q64Flash spi概述 视频教学 csdn课程 样品申请 完整代码下载 硬件准备 新建工程 工程模板 保存工程路径 ...

  7. 2021秋招IC验证面经-华为/英伟达/兆易创新/ZeKu

    华为 华为一面技术面: 简历上有实习经验的,会先问实习都做过哪些东西,哪些项目,画下图简单解释一下,在你做这个项目的时候,面临的最大的挑战是什么,如何解决的? 解释一下setup time和hold ...

  8. 关于参加“兆易创新杯”第十三届中国研究生电子设计竞赛,国赛二等奖的总结(fishing_5)

    前言   暑假快要过完了,研电赛也终于结束了,值此新旧学期交替之际,打算把比赛了有将近小半年的研电赛的过程简单地总结一下,人说有总结才能有进步嘛. 依稀记得正式开始准备比赛的时间是2018年4月18日 ...

  9. GD32F405RGT6单片机芯片GigaDevice兆易创新ARM Cortex-M4微控制器

    描述 GD32F405系列互联型产品采用全新工艺制程设计,整合了强大的运算效能和丰富的外设接口.处理器主频可达168MHz,并提供了完整的DSP指令集,并行计算能力和专用浮点运算单元(FPU). GD ...

最新文章

  1. cmd常见错误及解决方法
  2. JQuery操作CheckBox和Radio
  3. 百度翻译接口测试(2)
  4. 物理竞赛得奖学计算机,物理竞赛林紫琪带你探索清华学堂计算机科学实验班”(姚班)...
  5. MapStruct:将数据从一个bean传输到另一个bean
  6. 中国移动MM7 API用户手册(七)
  7. 2003 Server下隐藏帐号的建立
  8. CCF NOI1008 水仙花数
  9. Rust : codewars的up AND down 算法
  10. C# 调用office 2007 及 SaveAsPDFandXPS.exe 将Word、Excel、PPT转换为PDF文件
  11. 照片宽高比怎么设置_2019年中级会计报名照片上传完整攻略
  12. 代码的马斯洛金字塔理论
  13. Facebook安卓Feed流的内存优化实践
  14. 2021-08-24
  15. 常用的薪酬管理系统有哪些,薪酬管理需要具备哪些功能?
  16. C++(类与对象)是纸老虎吗?
  17. 智能生活 App SDK 开发入门教程【内附代码段 】
  18. Roaring BitMap(高效压缩位图)
  19. 初探深度优化搜索--小白版
  20. node-telegram-bot-api 基于Nodejs的TG机器人

热门文章

  1. 十五、Response
  2. 2012网赛杭州赛区
  3. MySQL数据库安全配置规范
  4. excel去掉同一个单元格内重复的文字工具
  5. ugame d7/p7/m11/t4/n5/a5/s16/m8/t7开发日志(20111227:p7-0.0.7)
  6. Rust学习—解决crates.io 仓库代码下载慢的问题
  7. 4000字详解数据标签体系构建方法
  8. HDU 2520 JAVA
  9. C语言判断10(可修改)以内素数并打印出来
  10. 【HTML】超链接a标签和图片img标签用法