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

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

這樣就好了!






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