華大F460 官方IAP例子問題:無ICG數(shù)據(jù)

數(shù)量(件) 價(jià)格
100 3000.00元/件
  • 最小起訂: 1件
  • 發(fā)貨地址: 遼寧 沈陽(yáng)市
  • 發(fā)布日期:2021-08-25
  • 訪問量:217
咨詢電話:138-0292-3731
打電話時(shí)請(qǐng)告知是在機(jī)電之家網(wǎng)上看到獲取更多優(yōu)惠。謝謝!
5

沈陽(yáng)芯碩科技有限公司

實(shí)名認(rèn)證 企業(yè)認(rèn)證
  • 聯(lián)系人:沈陽(yáng)芯碩科技-024-85718900
  • 手機(jī):13802923731
  • 電話:024-85718900
  • 營(yíng)業(yè)執(zhí)照:已審核 營(yíng)業(yè)執(zhí)照
  • 經(jīng)營(yíng)模式: 貿(mào)易型-
  • 所在地區(qū):遼寧 沈陽(yáng)市
  • 家家通積分:860分

更多>>推薦產(chǎn)品

詳細(xì)參數(shù)
品牌其他型號(hào)華大
封裝形式其他導(dǎo)電類型其他
封裝外形其他集成度其他
加工定制

產(chǎn)品詳情

華大F460支持IAP升級(jí)程序,但一般做IAP程序時(shí)都需要做一個(gè)bootloader,華大官方也提供了一個(gè)IAP demo。

但是這個(gè)demo例程會(huì)有一個(gè)問題:
此demo是基于華大F460官方開發(fā)板制作的,官方開發(fā)板是使用了外部8M晶振。但到了客戶那里,可能不使用外部晶振,使用內(nèi)部HRC晶振。
那么問題就來了,460 在Flash 0x00000400地址上存儲(chǔ)ICG數(shù)據(jù)(ICG配置,請(qǐng)參考華大編程手冊(cè)第6章內(nèi)容)

這個(gè)IGC功能是在MCU上電時(shí),硬件讀取Flash地址0x0400上的系統(tǒng)配置數(shù)據(jù)。
其中ICG1存儲(chǔ)了HRC上電時(shí)是16M RC還是20M的RC。

客戶出現(xiàn)的問題是,每次編譯bootloader后,系統(tǒng)時(shí)鐘一會(huì)是16M,一會(huì)是20M,每次編譯后都隨機(jī)變動(dòng)。

對(duì)比了一下客戶的.map文件和官方SDK內(nèi)例程的.map :
                                                      
SDK官方例程uart_dma_rx_tx map文件                                                

華大給的IAP hc32f46x_boot程序(bootloader)map文件

會(huì)發(fā)現(xiàn)在0x00000400地址上,SDK中例子是data區(qū),放入的是默認(rèn)的ICG數(shù)據(jù)信息。而華大IAP bootloader 0x000004000地址范圍內(nèi)是代碼函數(shù),是code區(qū)。
那么MCU上電后從Flash的0x00000400地址開始讀ICG數(shù)據(jù) 設(shè)置MCU硬件,SDK內(nèi)例子沒問題,而IAP bootloader 讀到的卻是code代碼數(shù)據(jù),這樣HRCFREQSEL確定RCH頻率的位就變得不確定。

那么確實(shí),華大官方給的IAP demo中boot代碼工程是由問題的。

那改怎么做呢?看了一下uart_dma_rx_tx例子工程代碼,其中該工程把華大driver中的hc32f46x_icg.c文件加入到了工程參與編譯。
請(qǐng)看hc32f46x_icg.c內(nèi)容:

hc32f46x_icg.c 中把默認(rèn)的ICG信息map到了0x00000400地址上,而且是data分區(qū)(定義成const數(shù)組)。

所以根據(jù)460 MCU上電后硬件自動(dòng)讀取0x00000400地址上數(shù)據(jù) ,把數(shù)據(jù)加載到初始化配置寄存器 這一操作,我們必須把ICG數(shù)據(jù)放入到0x00000400地址上。


那么可以參考SDK中例程的方法,直接在keil或其他IDE中添加hc32f46x_icg.c文件,讓hc32f46x_icg.c文件參與編譯,參與code map。
這樣 在程序下載hex的同時(shí),ICG數(shù)據(jù) 自動(dòng)下載到了地址0x00000400地址上。

當(dāng)然,我們可以根據(jù)我們的需要,更改hc32f46x_icg.c 各個(gè)數(shù)據(jù),以便ICG配置適合我們的使用。
華大官方460 IAP例子 bootloader代碼中沒有加入hc32f46x_icg.c文件:


以上ICG一定要注意添加,而且華大460 IAP demo代碼是沒有添加ICG的,這個(gè)是一個(gè)明顯的錯(cuò)誤。

溫馨提示

  • 還沒找到想要的產(chǎn)品嗎? 立即發(fā)布采購(gòu)信息,讓供應(yīng)商主動(dòng)與您聯(lián)系!

免責(zé)聲明:所展示的信息由會(huì)員自行提供,內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由發(fā)布會(huì)員負(fù)責(zé),機(jī)電之家網(wǎng)對(duì)此不承擔(dān)任何責(zé)任。機(jī)電之家網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關(guān)系及法律糾紛,糾紛由您自行協(xié)商解決。
友情提醒:本網(wǎng)站僅作為用戶尋找交易對(duì)象,就貨物和服務(wù)的交易進(jìn)行協(xié)商,以及獲取各類與貿(mào)易相關(guān)的服務(wù)信息的平臺(tái)。為避免產(chǎn)生購(gòu)買風(fēng)險(xiǎn),建議您在購(gòu)買相關(guān)產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。過低的價(jià)格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請(qǐng)采購(gòu)商謹(jǐn)慎對(duì)待,謹(jǐn)防欺詐,對(duì)于任何付款行為請(qǐng)您慎重抉擇!如您遇到欺詐等不誠(chéng)信行為,請(qǐng)您立即與機(jī)電之家網(wǎng)聯(lián)系,如查證屬實(shí),機(jī)電之家網(wǎng)會(huì)對(duì)該企業(yè)商鋪?zhàn)鲎N處理,但機(jī)電之家網(wǎng)不對(duì)您因此造成的損失承擔(dān)責(zé)任!
您也可以進(jìn)入“消費(fèi)者防騙指南”了解投訴及處理流程,我們將竭誠(chéng)為您服務(wù),感謝您對(duì)機(jī)電之家網(wǎng)的關(guān)注與支持!

您是不是在找