很多工程師反饋在燒錄極海芯片的時(shí)候,出現(xiàn)MCU燒錄失敗的現(xiàn)象,那我們?cè)趺凑页鰺浭〉脑蚰兀?/span>
一、硬件方面問(wèn)題
①眾所周知,Vcap腳目的是為了保證內(nèi)部主調(diào)壓器的電壓穩(wěn)定,如果這個(gè)地方不接電容或者參數(shù)或位置過(guò)于隨意,調(diào)試、燒錄往往會(huì)有問(wèn)題。所以在測(cè)試極海APM32F003/APM32F4xx系列的芯片時(shí),務(wù)必注意這些引腳接電容接地(一般都是2.2uf電容)。
②一般來(lái)講,我們使用JTAG或者SWD模式下載程序時(shí),就是下載到0×80000000里面,即主閃存存儲(chǔ)器(Flash)。所以我們要根據(jù)用戶手冊(cè)中,確保BOOT0引腳是低電平(一般是10k電阻接地)。

③剩余就是外部因素,由于J-link、DAP-link、ST-link的差異問(wèn)題,有時(shí)候會(huì)出現(xiàn)各種各樣的問(wèn)題,例如能燒這款芯片燒不了另外一款芯片、燒了一次導(dǎo)致芯片進(jìn)入讀保護(hù)等等。還有就是燒錄接口不良等問(wèn)題。
二、軟件問(wèn)題
因?yàn)槊總€(gè)工程師對(duì)編程環(huán)境各有喜好,大多數(shù)工程師都是用keil、IAR作為編譯器,J-Flash作為輔助等等。本篇文章主要講使用keil5和J-Flash中遇到的一些問(wèn)題。下面我們一起來(lái)看一個(gè)案例,在使用APM32F030K6T6的過(guò)程中,開(kāi)發(fā)和測(cè)試都沒(méi)有問(wèn)題,但是實(shí)際到了生產(chǎn)的時(shí)候,由于是人工頂針式燒錄,難免會(huì)有異常情況,然后我們對(duì)燒錄異常的芯片進(jìn)行一系列分析。
①首先使用keil5看是否能正常識(shí)別芯片,先檢測(cè)一下keil5的配置,確保芯片驅(qū)動(dòng)、J-link正常連接,版本號(hào)、SWD、成功識(shí)別芯片、下載算法正常。



②如圖問(wèn)題出現(xiàn)了,即使上面的因素都確定了,但是仍然沒(méi)有辦法正常燒錄。因?yàn)楝F(xiàn)在用的是4pin燒錄線,那么會(huì)不會(huì)是因?yàn)闆](méi)有接reset腳的原因呢,有時(shí)候reset腳沒(méi)有接也會(huì)導(dǎo)致燒錄異常問(wèn)題。接著使用了5pin燒錄線,并且換了新的杜邦線,確保燒錄線沒(méi)有問(wèn)題,結(jié)果還是不行。

③緊接著我們換J-flash嘗試一下,尋找對(duì)應(yīng)芯片驅(qū)動(dòng)、SWD驅(qū)動(dòng)。


④連接成功后,我們擦除芯片,顯示擦除成功。重新嘗試一下燒錄代碼,居然失敗了,為什么可以擦除但是不能燒錄呢?

⑤最后考慮到有沒(méi)有可能是因?yàn)槿斯び秒x線燒錄器的問(wèn)題(或許人工問(wèn)題,或許是離線燒錄器的問(wèn)題),導(dǎo)致芯片進(jìn)入了讀寫(xiě)保護(hù),從而導(dǎo)致無(wú)法二次燒錄造成的燒錄不良。嘗試更換成另外一款離線燒錄器配置成選項(xiàng)字節(jié)燒錄(即解除讀寫(xiě)保護(hù))。最終結(jié)果確認(rèn)是可以燒錄,并且再使用keil燒錄也沒(méi)有問(wèn)題了。

三、總結(jié)
最后,極海芯片燒錄的相關(guān)問(wèn)題總結(jié)如下,大家可以根據(jù)下面表格進(jìn)行排查。

