STM32F030C8移植到GD32F130C8过程
扫描二维码
随时随地手机看文章
最近公司一个项目要从STM32F030C8移植到GD32F130C8。第一次做项目的移植,对GD的单片机也不是很了解,写下这篇博客记录我的移植过程。正在移植的过程中,每天更新,希望自己进步的同时可以给别人一些参考。
这两款单片机的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 。
参考连接:http://bbs.21ic.com/icview-581682-1-1.html