導航:首頁 > 源碼編譯 > mdk5編譯出錯的原因

mdk5編譯出錯的原因

發布時間:2022-08-20 02:27:59

㈠ Keil 編譯一直錯誤error C129: missing ';' before 'char'

原因:因為缺少';。解決步驟如下:

1.第一步是打開devc++5.11,然後進入以下界面。

㈡ 用keil5 STM32F107系列晶元編譯一個指令時提示錯誤為 A1105E: Area directive missing 怎麼解決

STM32調試過程中常見的問題及解決方法 一、 在「Debug選項卡」下設置好模擬器的類型後,下載程序時卻提示「No ULINK Device found.」
解決辦法: Keil MDK默認使用ULINK模擬器下載程序,在「Project --->Option for Target 'xxx' --->Utilities選項卡」下把編程所使用的模擬器改為相應的類型即可。
二、 編譯工程時提示如下信息:
main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __GetBASEPRI (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __RESETFAULTMASK (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __RESETPRIMASK (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __SETFAULTMASK (referred from stm32f10x_nvic.o).
main.axf: Error: L6218E: Undefined symbol __SETPRIMASK (referred from stm32f10x_nvic.o).
解決辦法:工程缺少「cortexm3_macro.s」文件,把cortexm3_macro.s和STM3210x.s全部添加到工程即可。
三、調試器不能連接到STM32的問題與解決辦法
很多人都碰到過調試器不能連接到STM32的問題,不管是IAR的J-Link還是Keil的ULink,或者是ST的ST-Link。出現這個問題時,調試軟體會提示不能建立與Cortex-M3的連接,或提示不能下載程序,或提示找不到要調試的設備等。
這樣的問題都是發生在調試那些可以在CPU不幹預的時候自動運行的模塊、或在調試低功耗模式的程序的時候。所謂「可以在CPU不幹預的時候自動運行的模塊」包括:DMA、定時器、連續轉換模式下的ADC、看門狗等模塊。
--------------------------------------------------------------------------------
這個問題的根源是:
1. 調試器需要在RAM內執行一段程序,對Flash進行擦寫操作,如果不停止這些自動運行的模塊,它們會干擾程序在RAM中的執行,致使下載失敗。比如DMA模塊被配置為不停地拷貝一段數據區,而調試器剛好需要使用DMA數據傳輸的目標區域,這時DMA的操作將會與調試器的操作發生沖突。再比如,如果啟動了看門狗而沒有執行硬體復位,則在下次調試器需要下載程序時,看門狗超時將觸發晶元復位,導致下載操作失敗。
2. 低功耗是通過停止CPU的時鍾而實現,JTAG調試是通過與CPU的通信實現,停止了CPU的時鍾致使調試器會失去與CPU的通信。

㈢ win8 安裝MDK5 編譯時出錯,求解答

這是因為5.14里需要自己加入CMSIS庫,core_cm3.h位於CMSIS庫中
菜單「Project -> Manage -> Run-time Environment」,展開CMSIS -> CORE,選中右邊的復選框,點擊OK,回到工程里rebuild就可以了

㈣ MDK5編譯報錯

使用C:\Keil\ARM\Startup\ST\STM32F10x.s這個啟動代碼

㈤ 問一個keil5的編譯錯誤的問題

提示指出了4個未定義的符號,在文件中無法識別到。
例如 stm32f4xx_it 中用到了 EXTI_ClearITPendingBit,但是從 stm32f4xx_it 這個模塊的角度而言,它查不到你在哪裡定義了這個符號,無法判斷這個符號究竟是什麼,也就無法進行連接。
一般而言都是包含關系有錯誤,或工程的搜尋路徑配置有問題。

㈥ mdk5 匯編和C語言編程的時候出現了錯誤 A1207E: Bad or unknown attribute error: A1106E: Missing comma

有一個函數是隱含定義的,沒有明確定義。
根據提示的函數名,查一查是什麼函數。有可能是引用函數名稱錯誤,或者某個庫文件沒有包含進來。

㈦ keil編譯時報錯:error: L6002U: Could not open file .\***\core_cm3.o

歷時好幾次的碰壁,我終於解決這個問題了。

根據網路其他答案給的思路,其實就是修改環境變數,因為當前系統TEMP和TMP環境變數存在著中文。但是如果你直接修改 %USERPROFILE% 為其他英文路徑開Keil會卡死並閃退(其實是你打開main.c就閃退)!!!

因為修改成別的一個英文文件夾是不行的,你只是在環境變數中修改了文件路徑,但是電腦中這些路徑並不存在,所以你打開Keil才會閃退。

那麼解決問題的關鍵就是:先在系統C盤中創建好了所有的英文路徑,再你創建的文件夾路徑修改環境變數!!!


准備工作:先將你的Keil軟體關閉


1、在【C盤根目錄】創建【UserData】文件夾


點擊確定後退出。

再次打開Keil編譯即可不再報錯,再次愉快寫代碼吧。


祝願諸位萬事如意。

㈧ keil c51編譯錯誤什麼原因,求解

可能是因為你軟體沒安裝好,比如重裝系統之後可能會出現這個問題。
另外,估計你是用的KEIL V4版的,你安裝個KEIL V2 或V3版,然後用V2 或V3 打開工程,就可以順利編譯工程,並生成HEX文件了。

㈨ keil5,編譯出現錯誤,提示是段太大,怎麼辦

keil5,編譯出現錯誤,提示是段太大,怎麼辦?如果是51單片機的話,因為RAM資源很小,所以要盡量節約每一個位元組RAM,如果是常量數組就定義成常量,例如 code char datastr[2]={1,2};
如果有外部RAM,則定義到XRAM中,例如:xdata char datastr[2];
能用BIT就不要用char,能用char 就不要用Int。做單片機的話, 還是必須要了解一下其存儲結構, 最起碼得知道data idata xdata所指的存儲區域
idata 指向的片內ram ,大小范圍為256位元組,所以你一個數組定義在idata段內,不能超過256位元組,超過就會報錯。
xdata指向的片外ram,大小范圍為64KB,你可以將你需要的大容量數組定義在該段內

閱讀全文

與mdk5編譯出錯的原因相關的資料

熱點內容
查看手機谷歌伺服器地址 瀏覽:191
python操作zookeeper 瀏覽:705
蘋果手機dcim文件夾顯示不出來 瀏覽:430
如何壓縮文件夾聯想電腦 瀏覽:583
程序員的學習之旅 瀏覽:440
apkdb反編譯 瀏覽:922
雪花演算法為什麼要二進制 瀏覽:825
在文檔中打開命令行工具 瀏覽:608
android圖標尺寸規范 瀏覽:369
python實用工具 瀏覽:208
流量計pdf 瀏覽:936
科東加密認證價格 瀏覽:532
dos命令讀文件 瀏覽:996
成為程序員需要什麼學歷 瀏覽:674
pdf農葯 瀏覽:228
canal加密 瀏覽:497
日本安卓系統和中國有什麼區別 瀏覽:137
linux命令行修改文件 瀏覽:838
從編譯和解釋的角度看 瀏覽:649
徐志摩pdf 瀏覽:652