1.置换linker file(lz已经作了) 2.项目中设置使用flash loader,要不然谁把你的代码写进flash啊 3.矢量表要放到相应的位置上: #ifdef VECT_TAB_RAM /* Set the Vector Table base location at 0x20000000 */ NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); #else /* VECT_TAB_FLASH */ /* Set the Vector Table base location at 0x08000000 */ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); #endif 使能相应的#define哦。
1.设置成:$PROJ_DIR$lnkarm_flash.xcl 2.矢量已经按楼上说的设置的设置(程序为ST库里的). 3.Use Flash Loader打上勾 4.编译出现错误出现对话框,上面内容为: debugging session could not be started. There might be more information in the Debug Log Window. 请各位大侠帮
可以使用$PROJ_DIR$lnkarm_flash.xcl,但是需要把IAR中工程设置里的C/C++编译选项下的VECT_TAB_RAM改掉,我的习惯是改成VECT_TAB_RA,这样再回RAM调试时加个M就可以的,偷懒点。原因很简单,这几句就说明白了: #ifdef VECT_TAB_RAM /* Set the Vector Table base location at 0x20000000 */ NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); #else /* VECT_TAB_FLASH */ /* Set the Vector Table base location at 0x08000000 */ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); #endif 如果定义了VECT_TAB_RAM,中断向量表位置就不对了,CPU不晕菜才怪!我的代码量:31 140 bytes of CODE memory 2 558 bytes of DATA memory 1 951 bytes of CONST memory RAM调试已经无能为力了,只有在FLASH中了。