如何从STM32F030C8移植到GD32F130C8

控制/MCU

1813人已加入

描述

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分