我的程序在调用UCOSIII相关初始化函数前,初始化了一系列外围IC,其中有个ic用到了外部中断。当初始化了这些外围IC后,执行OSIni、创建任务、OSStart。然后在执行SStart这个函数时会进入HardFault_Handler中断死循环。在网上找了各种方法,最常见的是PendSVHandler函数问题。但我这个UCOSIII例程上直接从UCOS官网上下载的UCOSIII_F051的例程来的。这个数应该不会有错的。最后发现屏蔽了那个初始化配置了外部中断的函数就不会进入HardFault_Handler中断了。把这个中断初始化配置的函数放到一个任务中调用(这个任务执行一次会自我删除),也不会进入中断了。在此之前也尝试了中断优先级,响应优先级、抢占优先级的各种组合,也不行。请问其他人有遇到类似的问题吗?貌似中断配置只要不是放在OS跑起来之前的话就不会有问题? |