共2条
1/1 1 跳转至页
问
我用2210开发板在ram里调试程序时出现了预取指中止,具体情况如下:
1.我用了模板里的ARM Executable Image for UCOSII(for lpc2210)
2.用了他们公司的移植代码
3.主函数为
int main(void)
{
TargetInit();
Timer0Init();
VICInit();
OSInit();
/* 在这里创建任务和任务间的通信与同步原语 */
OSTaskCreate(TaskGPRSDialin,NULL,&StkDialin[OS_TASK_STAT_STK_SIZE-1],3);
OSStart();
return 0;
}
4.预取指中止发生在
184 void TargetInit(void)
185 {
800003b4 [0xe92d4008] stmfd r13!,{r3,r14}
186 OS_ENTER_CRITICAL();
800003b8 [0xef000002] swi 0x2
187 srand((uint32) TargetInit);
800003bc [0xe59f012c] ldr r0,0x800004f0 ; = #0x800003b4
800003c0 [0xeb000d38] bl srand
188 VICInit();
800003c4 [0xebffffe7] bl VICInit
189 Timer0Init();
800003c8 [0xebffffda] bl Timer0Init
190 OS_EXIT_CRITICAL();
800003cc [0xef000003] swi 0x3
191 }
800003d0 [0xe8bd8008] ldmfd r13!,{r3,pc}
最后一条指令上
需要更改分散加载文件吗?那几个文件我在xp里好像打不开啊?
时间紧急,望大家能尽快回复我,谢谢!
答 1: 目标板初始化,特别是打开定时器应该放在第一个任务中执行。可以参看我们提供的示例程序。
1.我用了模板里的ARM Executable Image for UCOSII(for lpc2210)
2.用了他们公司的移植代码
3.主函数为
int main(void)
{
TargetInit();
Timer0Init();
VICInit();
OSInit();
/* 在这里创建任务和任务间的通信与同步原语 */
OSTaskCreate(TaskGPRSDialin,NULL,&StkDialin[OS_TASK_STAT_STK_SIZE-1],3);
OSStart();
return 0;
}
4.预取指中止发生在
184 void TargetInit(void)
185 {
800003b4 [0xe92d4008] stmfd r13!,{r3,r14}
186 OS_ENTER_CRITICAL();
800003b8 [0xef000002] swi 0x2
187 srand((uint32) TargetInit);
800003bc [0xe59f012c] ldr r0,0x800004f0 ; = #0x800003b4
800003c0 [0xeb000d38] bl srand
188 VICInit();
800003c4 [0xebffffe7] bl VICInit
189 Timer0Init();
800003c8 [0xebffffda] bl Timer0Init
190 OS_EXIT_CRITICAL();
800003cc [0xef000003] swi 0x3
191 }
800003d0 [0xe8bd8008] ldmfd r13!,{r3,pc}
最后一条指令上
需要更改分散加载文件吗?那几个文件我在xp里好像打不开啊?
时间紧急,望大家能尽快回复我,谢谢!
答 1: 目标板初始化,特别是打开定时器应该放在第一个任务中执行。可以参看我们提供的示例程序。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |