前言
移植RT-Thread到国民技术N32G457芯片中,此次移植只是一个最简的移植,不包括移植控制台所需的串口设备驱动,pin设备驱动。
一、替换文件
1、在bsp中复制一个gd32e103的工程做移植,将文件夹重命名为N32G45x。
2、删除N32G45x\Libraries下的所有文件,将官方下载的资料包中通用MCU资料\N32G457xx\N32G457xx\6-软件开发套件(Software Development Kit)\Nationstech.N32G45x_Library.1.1.1\firmware下的文件复制到N32G45x\Libraries下。
3、在国民技术资料通用MCU资料\N32G457xx\N32G457xx\6-软件开发套件(Software Development Kit)\Nationstech.N32G45x_Library.1.1.1\projects\n32g45x_EVAL\examples\GPIO\IORemap\src中的n32g45x_it.c和n32g45x_it.h文件复制到N32G45x\Libraries下。
二、添加文件到工程
1、打开工程,重新图中添加lib文件
修改后
2、添加头文件路径
3、修改全局宏
4、更改单片机型号。
5、删除设备中的usart和gpio,因为我们要使用一个最简的系统,我们只要让一个main线程运行一个跑马灯就可以了。系统正常运行起来后再移植usart和gpio。
三、修改源码
1、全局搜索gd32e10x.h,并替换成n32g45x.h
2、修改n32g45x_it.c文件。
3、修改main.c为以下代码。
#include <rtthread.h>
#include <board.h>
int main(void)
{
GPIO_InitType GPIO_InitStructure;
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE);
GPIO_InitStructure.Pin = GPIO_PIN_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
while(1)
{
/* turn on LED2 */
GPIO_SetBits(GPIOB,GPIO_PIN_5);
rt_thread_mdelay(500);
/* turn off LED2 */
GPIO_ResetBits(GPIOB,GPIO_PIN_5);
rt_thread_mdelay(500);
}
}
4、修改rtconfig.h文件
5、编译下载运行即可看到PB5的LED闪烁。
四、源码下载
总结
还不能躺尸,接下来移植pin和usart设备驱动,如果有需要移植adc、usb等等其他设备驱动可以私信我。