关键词不能为空

当前您在: 主页 > 英语 >

GD32F10x到GD32F1x0 软件移植说明

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 08:23
tags:

-

2021年2月8日发(作者:云用英语怎么说)


GD32F10x



GD32F1x0


的软件移植说明



1




移植前准备工作。



将原有的


ST



10x


的库替换 成我们


GD


的库


(可以从


demo


中找到)



包括系 统头文件、


外设库文件以及启动文件等,当前给客户提供的库都是以

stm32f0xx


命名,这是我们在


ST



10x



0xx

< p>
的外设库的基础上修改的,完全可以正常使用,后续我们会推出自己的库。开


发环境的


device


选择和


fla sh


配置可以有两种方式,一种方式是直接


device


中选择


ST



STM 32F100C8



flash


配置选 择


ST



64K



flash


配置文件;另一种方式是使用我们提供的


GD



GD32F1x0


device


(需要事先在


ke il


安装目录下添加我们


GD


的配置文 件)



flash


< br>置选择我们


GD



64K


flash


配置文件,其他配置可保持与之前相同不用改动。如果选 择


GD


的配置文件,需要操作的步骤如下(假如


keil


的安装路径为:


C:Keil







拷贝






C:KeilUV4






拷贝



GD32F1x0_




C:KeilARMFlash






C:Keil

< br>下创建文件夹命名“


GD









GD


文 件夹下创建文件夹命名“


GD32F1x0


< br>。







拷贝






C:K eilARMSFDGDGD32F1x0




这样,在


keil



devi ce


界面,就可以找到


GD32F1x0



device


,如图


1.1


所示。
























1.1


选择


GD32F1x0



device




1.2



flash


配置文件及路径说明



2




所有模 块的


GPIO


初始化部分。



1x0


相对于


10x


系 列最大的改动在


GPIO


部分,主要有以下三点:



2.1



GPIO


时钟总线配置区别。



之前


10x


系列的


G PIO ABCDF


都挂在了


APB2


总线上,而


1x0



GPIO


口都挂在了


AHB



线 上,所以在打开


GPIO ABCDF


的时钟的时候就要注意,如下:


< br>比如使能


GPIOA


时钟:


< /p>


10x


下配置为:


RCC_APB2Pe riphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);


1x0


下需改为:


RCC_AHBPeriphClo ckCmd(RCC_AHBPeriph_GPIOA,ENABLE);


GPIO B



C



D< /p>



F


的时钟使能以此类推。



2.2



GPIO


口复用配置区别。



1x0


系列和


10x


系 列的


IO


口复用配置模式不同。具体对比说明如下:

< p>


比如


USART1


的< /p>


GPIO


口配置,可以映射到


PA9



PA10


,也可以映射到


PB6



PB7


< p>


2.2.1



10x


配置


USART1


< br>GPIO


口,大概过程如下(以


PA9

< br>和


PA10


为例)


< p>


2.2.1.1


首先使能

USART1



GPIOA



AFIO


的时钟。



RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);


RCC_APB2PeriphClockCmd(RCC_APB 2Periph_GPIOA , ENABLE);



RC C_APB2PeriphClockCmd(RCC_APB2Periph_AFIO



, ENABLE);


2.2.1.2


然后配置


PA9



PA10


的模式。



GPIO_InitTypeDef GPIO_InitStructure;




GPIO__Pin = GPIO_Pin_9;


GPIO__Speed = GPIO_Speed_50MHz;


GPIO__Mode = GPIO_Mode_AF_PP;


GPIO_Init(GPIOA, &GPIO_InitStructure);




GPIO__Pin = GPIO_Pin_10;


GPIO__Mode = GPIO_Mode_IN_FLOATING;


GPIO_Init(GPIOA, &GPIO_InitStructure);


1x0


无需这一步



复用模式配置



2.2.1.3


最后配置串口相应参数,这部分和


1x0


完 全相同,就不列出来了。



2.2.2



1x0


配置


USART1



GPIO


口,大概过程 如下(以


PA9



PA10

< p>
为例)




2.2.1.1


首先使能


USART 1



GPIOA


的时钟。



RCC_APB2PeriphClockCmd(RCC_APB2Pe riph_USART1, ENABLE);


RCC_AHBPeriphCloc kCmd(RCC_AHBPeriph_GPIOA , ENABLE);



2.2.1.2


然后配置


PA9



PA10


的模式。



GPIO_InitTypeDef GPIO_InitStructure;


GPIO_PinAFConfig( GPIOA , GPIO_PinSource9, GPIO_AF_1 );



GPIO_PinAFConfig( GPIOA , GPIO_PinSource10, GPIO_AF_1 );




GPIO__Pin



= GPIO_Pin_9 | GPIO_Pin_10;


GPIO__Mode



= GPIO_Mode_AF;


GPIO__Speed



= GPIO_Speed_50MHz;


GPIO__OType



= GPIO_OType_PP;


GPIO__PuPd



= GPIO_PuPd_NOPULL;


GPIO_Init( GPIOA , &GPIO_InitStructure);


如果将


USA RT1


映射到


PB6



PB7


,则复用模式配置如下:



GPIO_PinAFConfig( GPIOB , GPIO_PinSource6, GPIO_AF_0 );



GPIO_PinAFConfig( GPIOB , GPIO_PinSource7, GPIO_AF_0 );


复用模式配置










PA10


为浮空输


入了



至于为什么


PA9



PA10


映射 到


GPIO_AF_1



PB6



PB7


映射到


GP IO_AF_0


,需要查看


1x0


的< /p>


datasheet


,如下图:





2.1



PB


复用功能说明


< br>所以,关于


GPIO


口的复用配置都需要参考

< p>
datasheet


来完成。



2.2.2.3


最后配置串口相应参数,这部分和

< p>
10x


完全相同,就不列出来了。



2.3



GPIO


口模式配置



10x


系列的


GPIO


口有< /p>


8


种模式,如下图:






2.2



10x


系列


GPIO



8


种模式

< br>



1x0


系列的


GPIO


口配置在


10x


系 列的基础上,


按输入输出、


推挽开漏、


上拉下拉模式


分成了三个结构体,相较


10x

< br>系列而言,组合方式更加自由,如下图:







2.3



1x0


系列


GPIO


口模式



例如:


10x


系列配置某个


GPIO


口为推挽输出



GPIO__Mode



= GPIO_Mode_Out_PP


1x0


系列中,就变成了两条语句:



GPIO__Mode = GPIO_Mode_OUT;


GPIO__OType= GPIO_OType_PP;


又如:


10x


系列配置某个


GPIO< /p>


口为下拉输入:



GPIO__Mode



= GPIO_Mode_IPD


1x0


系列中,就变成了:



GPIO__Mode = GPIO_Mode_IN;


GPIO__PuPd



= GPIO_PuPd_DOWN;



3




外设中断部分



1x0


相对于


10x


系列增加了一些模块(如


SYSCFG



TSC



CEC


等)


,删减了一些模块(如


1x0


只有一个


ADC


、最多两路


DMA


等)


,因此


1x0


的中断向量表的名称包括位置相对于


10 x


系列都有很大改变。很多客户都反映移植中经常遇到的问题就是无法进入中断。


10x



1x0


系列 的中断向量表的对比如下:


-


-


-


-


-


-


-


-



本文更新与2021-02-08 08:23,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/613267.html

GD32F10x到GD32F1x0 软件移植说明的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文