STM32編譯錯誤

2021-09-25 18:45:07 字數 830 閱讀 1516

.\output\test.axf: error: l6218e: undefined symbol systeminit (referred from startup_stm32f10x_hd.o). not enough information to list image symbols.

此問題錯誤提示已經十分清楚的告訴你錯在**了,undefined symbol systeminit ,翻譯過來就是:systeminit 這個符號沒有定義,隨後的小括號告訴你了,是在startup_stm32f10x_md.o這個檔案裡面被提及的,這個.o檔案在工程裡面並沒有,它是乙個在編譯的時候根據.c/.s檔案生成的。所以我們只需要找到工程裡面的.s或者.c即可,這裡對應這個名字的就是startup_stm32f10x_md.s了

在此檔案裡面可以找到systeminit的所在:

reset_handler proc

export reset_handler [weak]

import __main

import systeminit

ldr r0, =systeminit

blx r0

ldr r0, =__main

bx r0

endp

原來在復位中斷服務函式裡面,呼叫了systeminit這個函式,而這個函式在.s檔案裡面沒有定義。

解決辦法:

import systeminit

ldr r0, =systeminit

blx r0

這三行去掉。

stm32常見錯誤分析

原文 1.warning 550 d variable d was set but never used 描述 變數 d 定義但從未使用,或者是,雖然這個變數你使用了,但編譯器認為變數d所在的語句沒有意義,編譯器把它優化了.解決 仔細衡量所定義的變數d是否有用,若是認定變數d所在語句有意義,那麼嘗試...

STM32外部中斷的錯誤

今天在玩stm32的外部中斷的時候遇到下邊問題 compiling stm32f10x nvic.c.linking.exit.axf error l6218e undefined symbol basepriconfig referred from stm32f10x nvic.o exit.ax...

mk編譯錯誤

要在工程 中加乙個巨集去控制 在config.mk中定義這個巨集 enable it6263 1 在compile option.mk中根據這個值來定義巨集 ifeq enable it6263 1 cc opts denable it6263 1 else cc opts denable it62...