longan nano与stm32f103c8t6的区别
时间: 2023-09-30 13:05:11 浏览: 45
Longan Nano是一个基于GD32VF103CBT6处理器的开发板,而STM32F103C8T6则是一个基于STM32F103C8T6处理器的开发板。它们之间的主要区别在于处理器型号和架构,以及所使用的开发工具和库的不同。
Longan Nano使用RISC-V处理器架构,而STM32F103C8T6使用ARM Cortex-M3架构。这意味着它们的指令集和寄存器组不同,因此需要不同的编程技巧和工具。Longan Nano通常使用开源的工具链和库,如GCC编译器和FreeRTOS操作系统,而STM32F103C8T6则通常使用STMicroelectronics提供的工具和库,如Keil MDK和ST HAL库。
另外,Longan Nano还有一些额外的硬件模块,如OLED屏幕和红外接收器,这些模块可以方便开发人员进行快速原型设计和测试。而STM32F103C8T6通常需要外接更多的硬件模块来实现相同的功能。
总之,Longan Nano和STM32F103C8T6都是功能强大的开发板,它们适用于不同的应用场景和开发需求。开发人员可以根据自己的具体需求选择其中一种开发板。
相关问题
gd32f103c8t6 gcc startup
以下是使用 GCC 编译器在 GD32F103C8T6 上启动的基本步骤:
1. 编写 startup 文件
创建一个名为 startup_gd32f10x.s 的文件,其中包含以下内容:
```
/* 启动代码 */
.section .isr_vector
.word _estack /* 堆栈顶指针 */
.word Reset_Handler /* 复位中断处理函数 */
.word NMI_Handler /* NMI中断处理函数 */
.word HardFault_Handler /* 硬件故障中断处理函数 */
.word MemManage_Handler /* 内存管理中断处理函数 */
.word BusFault_Handler /* 总线故障中断处理函数 */
.word UsageFault_Handler /* 用法故障中断处理函数 */
.word 0 /* 保留 */
.word 0 /* 保留 */
.word 0 /* 保留 */
.word 0 /* 保留 */
.word SVC_Handler /* SVC中断处理函数 */
.word DebugMon_Handler /* Debug Monitor中断处理函数 */
.word 0 /* 保留 */
.word PendSV_Handler /* PendSV中断处理函数 */
.word SysTick_Handler /* SysTick中断处理函数 */
/* 复位中断处理函数 */
Reset_Handler:
ldr sp, =_estack /* 初始化堆栈指针 */
bl SystemInit /* 系统初始化 */
bl main /* 跳转到主函数 */
/* 中断处理函数 */
NMI_Handler:
b .
HardFault_Handler:
b .
MemManage_Handler:
b .
BusFault_Handler:
b .
UsageFault_Handler:
b .
SVC_Handler:
b .
DebugMon_Handler:
b .
PendSV_Handler:
b .
SysTick_Handler:
b .
```
2. 编译 startup 文件
使用以下命令将 startup_gd32f10x.s 文件编译为 startup_gd32f10x.o 文件:
```
arm-none-eabi-as -mthumb -o startup_gd32f10x.o startup_gd32f10x.s
```
3. 编写链接文件
创建一个名为 gd32f103c8t6.ld 的文件,其中包含以下内容:
```
/* 定义内存区域 */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K
SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
}
/* 定义符号 */
SECTIONS
{
.text :
{
KEEP(*(.isr_vector))
*(.text)
} >FLASH
.rodata :
{
*(.rodata)
} >FLASH
.data :
{
*(.data)
} >SRAM AT >FLASH
.bss :
{
*(.bss)
} >SRAM
/* 定义栈顶指针 */
_estack = ORIGIN(SRAM) + LENGTH(SRAM);
}
```
4. 编译应用程序文件
编写应用程序的 C/C++ 文件,并将其编译为 .o 文件。
5. 链接所有文件
使用以下命令将所有 .o 文件链接在一起:
```
arm-none-eabi-gcc -mthumb -specs=nano.specs -specs=nosys.specs -T gd32f103c8t6.ld startup_gd32f10x.o main.o -o main.elf
```
6. 生成二进制文件
使用以下命令将 .elf 文件转换为 .bin 文件:
```
arm-none-eabi-objcopy -O binary main.elf main.bin
```
7. 烧录二进制文件
将生成的 main.bin 文件烧录到 GD32F103C8T6 上,即完成启动。
Nano STM32F103RCT6学习资料
你可以参考以下学习资料来学习 Nano STM32F103RCT6:
1. 官方文档:STMicroelectronics官方网站提供了完整的文档、考手册和应笔记,涵盖了件配置、软件发和调试等方面的内容。你可以在官网上搜索相关资料。
2. STM32Cube软件和固件:STMicroelectronics提供了STM32Cube软件和固件包,其中包含了针对不同型号的STM32微控制器的示例代码、驱动程序和工具。你可以下载并学习相关的示例代码,了解如何使用STM32F103RCT6。
3. 在线教程和视频:在网上有很多关于STM32微控制器的在线教程和视频教程,你可以通过搜索引擎找到适合你的学习资源。***
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)