STM32F030C8移植到GD32F130C8過程
最近公司一個(gè)項(xiàng)目要從STM32F030C8移植到GD32F130C8。第一次做項(xiàng)目的移植,對GD的單片機(jī)也不是很了解,寫下這篇博客記錄我的移植過程。正在移植的過程中,每天更新,希望自己進(jìn)步的同時(shí)可以給別人一些參考。
這兩款單片機(jī)的pin腳基本兼容,屬于pin對pin。
下面是我的移植路程,(我可能要開始走彎路了,看到這篇文章的大俠少俠們?nèi)绻懈玫姆椒ㄕ堉刚?/p>
一、添加芯片類型判斷程序:
在庫中的啟動(dòng)代碼前面加一段,讀一下ID code,自動(dòng)區(qū)分一下芯片的廠商和類型,這樣就一勞永逸了。
按照 ARM 和 JEDEC-106 標(biāo)準(zhǔn),執(zhí)行下面這個(gè)函數(shù)
這個(gè)程序可以讓程序知道當(dāng)前的芯片是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();//啟動(dòng)芯片之前判斷芯片是
返回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