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

最近公司一个项目要从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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭