1. 程式人生 > >Keil MDK在個別電腦上下載程式失敗的解決辦法

Keil MDK在個別電腦上下載程式失敗的解決辦法

文章原始地址: http://feotech.com/?p=90
Keil MDK在個別電腦上無法下載程式
Keil MDK下載程式時顯示 No Cortex-M SW Device Found (本例中使用SWD介面)
這裡寫圖片描述
這裡寫圖片描述
選擇Options for Target “Project”
這裡寫圖片描述
在 Debug->Settings中能識別JLink模擬器卻不能識別目標晶片.
這裡寫圖片描述
這裡寫圖片描述
起初以為是硬體問題,可是同樣的目標板與模擬器在其他電腦上卻可以下載其他的工程.
說明硬體沒有問題,只不過是工程配置的問題.

經過試驗發現替換Keil MDK工程中JLinkSettings.ini 這個檔案即可.
將能燒錄程式的JLinkSettings.ini 替換覆蓋到有問題的工程中.
替換JLinkSettings.ini檔案後可以識別晶片,下載程式成功.
初步分析可能為開發團隊中個別人使用的Keil MDK軟體版本不同, 造成設定檔案不統一.
這裡寫圖片描述


以下JLinkSettings.ini檔案內容僅供參考 測試中Keil MDK版本為 V5.14.0.0

[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 = 0
Device="UNSPECIFIED"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF