Error[Li005] no definition for "__program_start"

来源:互联网 发布:智能语音软件 编辑:程序博客网 时间:2024/05/02 06:52
在用IAR的高版本编译器对较低版本下建立的进行工程编译的时候会出现以下错误:
Error[Li005] no definition for "__program_start"
这是你需要对stm32f10x_vector.c做一些修改,如下所示:
将原先程序中的
void  __program_start( void );      
#pragma location = "INTVEC"
/* STM32F10x Vector Table entries */
const intvec_elem __vector_table[] =
{
  { .__ptr = __sfe( "CSTACK" ) },
  __program_start,
做如下更改即可正确编译:
void __iar_program_start(void);       
#pragma location = "INTVEC"
/* STM32F10x Vector Table entries */
const intvec_elem __vector_table[] =
{
  { .__ptr = __sfe( "CSTACK" ) },
  __iar_program_start,   
需要注意的是在iar_program_start, 前面一定要有两个下划线!!!