SYD8821燒錄模擬說明二“Error:Flash Download failed - "Cortex-M0"”【校驗失敗】【打斷點失敗】【演算法選擇錯誤】

城東發表於2018-08-16

SYD8821是具有全球領先低功耗(RX 2.4mA @-94.5dBm靈敏度,TX 4.3mA @0dBm輸出功率)的藍芽低功耗SOC晶片,在極低電流下實現了優異的射頻效能,搭配176kB SRAM,512kB flash,非常適合中高階可穿戴、智慧家居、物聯網等低功耗應用。具體可諮詢:http://www.sydtek.com/

Error:Flash Download failed - “Cortex-M0” 校驗失敗

發生這個錯誤是因為校準不通過,flash寫的過程就是擦除和寫入兩個過程,針對這些出錯的可能這裡可以做如下幾種方法嘗試:
這裡寫圖片描述
1.可能是燒錄的4K_setting檔案有錯,關於4K_SETTING的檔案燒錄步驟請看:https://blog.csdn.net/chengdong1314/article/details/80736064中的《一.燒錄4K_setting檔案》:
這裡寫圖片描述

官方SDK提供的bin檔案在如下目錄:

  這裡請燒錄正確的4K_setting檔案,一般而言4k_setting檔案有兩個,如下:

A.《SYD8821_Cache_0db_Setting_2018-6-12.bin》:Cache模式下的4k_setting檔案

B.《SYD8821_PRAM_0db_Setting_2018-6-12.bin》:PRAM模式下的4k_setting檔案

具體的說明請看:https://blog.csdn.net/chengdong1314/article/details/79599299中的《SYD8821的執行模式》

Error:Flash Download failed - “Cortex-M0”(打斷點失敗)

這裡是說打斷點失敗的情況下的Error:Flash Download failed - “Cortex-M0”,注意還有一種錯誤(校驗出錯)也會報出該字樣的錯誤,具體請看之前的文章:https://blog.csdn.net/chengdong1314/article/details/80079490的相應章節,這裡不做再次詳述!
該錯誤的提醒如下:
這裡寫圖片描述
其實之前在jflash的文章中已有該錯誤的詳細說明與解決辦法,請看具體文章:https://blog.csdn.net/chengdong1314/article/details/80194341中的:【對於空晶片(或者被擦除內容的晶片)的特殊處理】
這裡如果真的要在keil中解決的話,解決辦法如下:
修改下載初始指令碼檔案,開啟如下;
這裡寫圖片描述
可做如下的修改;
這裡寫圖片描述
也就是在下載之前先配置一下sysconfig暫存器,配置完後在下載就不會有打斷點失敗的錯誤,有可能進入到檢驗失敗的錯誤,具體請看:https://blog.csdn.net/chengdong1314/article/details/80079490中的【Error:Flash Download failed - “Cortex-M0”】章節!
這裡貼上最後修改的指令碼:
//
/* FLASH.INI: Flash Initialization File */
/
/

//FUNC void Setup (void) {
//// BYTE sys_config=0;

//// sys_config= _RBYTE (0x50001000); // read sysconfig
//// if((sys_config & 0x0F)==0x06)
//// {
//// sys_config &=0x0F;
//// sys_config |=0x04;
//// _WBYTE(0x50001000, sys_config); // write sysconfig
//// }
//
// _WBYTE(0x50001000, 0x04); // write sysconfig
//}

//Setup(); // Setup for Flash

[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 1
Device=“Unspecified”
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

這裡上傳指令碼檔案:https://download.csdn.net/download/chengdong1314/10608031

Error:Flash Download failed - “Cortex-M0”(演算法選擇錯誤)

該項錯誤下KEIL會做如下提示:
這裡寫圖片描述
該錯誤是因為KEIL中下載的設定不對,請檢查如下下載設定:
這裡寫圖片描述
更多資訊請看:https://blog.csdn.net/chengdong1314/article/details/79599299相關章節!

相關文章