標(biāo)題: 解決EXIT.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from ... [打印本頁]

作者: niujia    時間: 2015-7-17 00:52
標(biāo)題: 解決EXIT.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from ...
今天在玩STM32的外部中斷的時候遇到下邊問題:
compiling stm32f10x_nvic.c...
linking...
EXIT.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).
EXIT.axf: Error: L6218E: Undefined symbol __GetBASEPRI (referred from stm32f10x_nvic.o).
EXIT.axf: Error: L6218E: Undefined symbol __RESETFAULTMASK (referred from stm32f10x_nvic.o).
EXIT.axf: Error: L6218E: Undefined symbol __RESETPRIMASK (referred from stm32f10x_nvic.o).
EXIT.axf: Error: L6218E: Undefined symbol __SETFAULTMASK (referred from stm32f10x_nvic.o).
EXIT.axf: Error: L6218E: Undefined symbol __SETPRIMASK (referred from stm32f10x_nvic.o).
Target not created
先一開始覺得是不是stm32f10x_conf.h里面沒有把NVIC定義,后來發(fā)現(xiàn)定義了。那為什么還會有問題咧?打開stm32f10x_nvic.c文件,在里邊看見這個函數(shù),里邊調(diào)用函數(shù)了__RESETPRIMASK();可__RESETPRIMASK()的來源在哪兒,
void NVIC_RESETPRIMASK(void)
{
  __RESETPRIMASK();
}
用代碼閱讀器查找了一下,它們在cortexm3_macro.h中聲明了,那它就應(yīng)該在cortexm3_macro.c中,可STM32的庫中沒有cortexm3_macro.c文件,但找到了一個cortexm3_macro.s文件,打開cortexm3_macro.s文件,看到:
  EXPORT __RESETPRIMASK
  EXPORT __SETPRIMASK
  EXPORT __READ_PRIMASK
  EXPORT __RESETFAULTMASK等函數(shù),終于找到地方了,呵呵、、、還有.s文件一般是啟動文件,所以就把cortexm3_macro.s文件加到工程啟動文件的地方:

這樣就好了!






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1