完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
在配置定时中断的时候,只能将CPU0设置为中断服务者,改为其他核调试时就会跳Bug。不知道大家有没有遇到过这种情况,希望不吝赐教。代码如下:IfxGtm_enable( MODULE_GTM); IfxGtm_Tom_timer_Config timerConfig; IfxGtm_Tom_Timer_initConfig( timerConfig, MODULE_GTM); timerConfig.base.frequency = TOM_FREQ; timerConfig.base.isrPriority = ISR_PRIORITY_TOM; timerConfig.base.isrProvider = IfxSrc_Tos_cpu2; timerConfig.tom = IfxGtm_Tom_1; timerConfig.timerChannel = IfxGtm_Tom_Ch_0; timerConfig.clock = IfxGtm_Tom_Ch_ClkSrc_cmuFxclk3; IfxGtm_Cmu_enableClocks( MODULE_GTM, IFXGTM_CMU_CLKEN_FXCLK); IfxGtm_Tom_Timer_init( g_timerDriver, timerConfig); IfxPort_setPinModeOutput(LED, IfxPort_OutputMode_pushPull, IfxPort_OutputIdx_general); IfxGtm_Tom_Timer_run( g_timerDriver);
|
|
相关推荐
1个回答
|
|
|
设置为CPU0中断服务者的原因可能是因为在配置定时中断时,只有CPU0核能够正确地接收和处理中断请求。其他核可能无法正确识别中断请求或处理中断服务例程,导致出现Bug。
这种情况可能是由于硬件架构中的一些限制或差异导致的。具体的原因可能需要进一步的调试和分析。 如果你遇到了类似的问题,可以尝试以下几种方法: 1. 确保你的代码和配置正确:仔细检查你的代码和配置是否正确。确保所有的参数和寄存器设置都是正确的,并且没有漏掉任何必要的配置。 2. 调整中断优先级:尝试调整中断优先级,确保中断服务例程能够正确地被调度和执行。可以将中断优先级设置为更高的优先级,以确保中断能够在其他任务之前及时得到处理。 3. 调试其他核的中断服务例程:如果需要在其他核上运行中断服务例程,可以尝试调试和修改其他核的中断服务例程,并确保其能够正确地处理中断请求和执行相应的功能。 总的来说,这个问题可能涉及到硬件架构、中断控制器、中断优先级等多个方面的因素。需要仔细分析和调试来解决。如果你还有其他问题或疑问,可以提供更多的信息,以便我们更好地帮助你。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
528 浏览 0 评论
654 浏览 0 评论
858 浏览 0 评论
837 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
770 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
17060 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 15:14 , Processed in 0.449348 second(s), Total 39, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1089