如何从STM32F030C8移植到GD32F130C8

最近公司一个项目要从STM32F030C8移植到GD32F130C8。第一次做项目的移植,对GD的单片机也不是很了解,写下这篇博客记录我的移植过程。正在移植的过程中,每天更新,希望自己进步的同时可以给别人一些参考。

如何从STM32F030C8移植到GD32F130C8

这两款单片机的pin脚基本兼容,属于pin对pin。

下面是我的移植路程,(我可能要开始走弯路了,看到这篇文章的大侠少侠们如果有更好的方法请指正)

一、添加芯片类型判断程序:

在库中的启动代码前面加一段,读一下ID code,自动区分一下芯片的厂商和类型,这样就一劳永逸了。

按照 ARM 和 JEDEC-106 标准,执行下面这个函数

这个程序可以让程序知道当前的芯片是ST的还是GD的。

uint16_t Get_JTAG_ID( )

{

if( *( uint8_t *)( 0xE00FFFE8 ) & 0x08 )

{

return ( ( *( uint8_t *)( 0xE00FFFD0 ) & 0x0F ) 《《 8 ) |

( ( *( uint8_t *)( 0xE00FFFE4 ) & 0xFF ) 》》 3 ) |

( ( *( uint8_t *)( 0xE00FFFE8 ) & 0x07 ) 《《 5 ) + 1 ;

}

return 0;

}

MCUid = Get_JTAG_ID();//启动芯片之前判断芯片是

返回0x041 是 ST(ST手册Doc ID 13902 Rev 14 的 1055页 31.6.2 和31.6.4 ),

返回0x7A3 是GD 。

  • 如何从STM32F030C8移植到GD32F130C8已关闭评论
    A+
发布日期:2019年07月14日  所属分类:参考设计