完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 AURIX TC39 开发我的应用程序。 软件中有多个中断服务例程,因此我考虑让不同的 ISR 由不同的内核执行,以优化执行时间。 通过捕捉 ISR 开始和结束时 STM0 定时器计数器的值来测量 ISR 的执行时间,我尝试比较不同内核执行 ISR 时的执行时间,结果如下:
-CPU0=5.09 微秒。 -CPU1=8.08微秒。 -CPU2=8.08微秒。 -CPU3=8.08微秒。 -CPU4=8.08微秒。 -CPU5=8.08微秒。 在这里,我有一个疑问,因为我希望所有内核都在相同的时钟频率下工作,因此它们的速度应该不相上下,但遗憾的是,它们并非如此。 下面我将介绍为不同内核分配 SRI 的技术: 示例: (在 tom 配置中):tomConf[0].interrupt.isrProvider = IfxSrc_Tos_cpuX; (在 ISR 定义中): IFX_INTERRUPT(Control_task,X,CONTROL); 其中,X I 表示要执行 ISR 的内核。 因此,我想知道这种内核分配程序是否正确,我还想确认内核是以相同的速度工作还是以不同的速度工作。 |
|
相关推荐
1个回答
|
|
要让所有内核在 AURIX TC39 上以相同的时钟频率工作,您需要确保以下几点:
1. **时钟配置**:确保所有内核的时钟源是相同的。在 AURIX TC39 中,内核时钟可以来自不同的源,例如内部振荡器、外部振荡器或PLL。您需要在系统初始化时配置这些时钟源,以确保所有内核使用相同的时钟频率。 2. **PLL配置**:如果使用PLL作为时钟源,确保所有内核的PLL配置相同。这包括PLL的输入频率、倍频器设置和输出分频器设置。这样,所有内核的时钟频率将保持一致。 3. **时钟门控制**:在 AURIX TC39 中,时钟门控制用于启用或禁用特定内核的时钟。确保所有内核的时钟门都已正确配置并启用,以便它们可以接收时钟信号。 4. **中断服务例程(ISR)的分配**:在您的应用程序中,确保所有ISR都分配给所有内核,以便它们可以并行执行。这将有助于平衡负载并确保所有内核以相同的速度工作。 5. **性能分析**:使用性能分析工具(如STM0定时器)来测量不同内核的执行时间。这将帮助您确定是否存在性能瓶颈或时钟频率不一致的问题。 6. **软件优化**:确保您的软件代码针对所有内核进行了优化,以便它们可以以相同的速度执行。这可能包括代码重构、循环展开、使用内联函数等技术。 7. **硬件检查**:检查硬件设计,确保所有内核之间的连接和信号完整性良好。这包括时钟信号、电源和地线等。 通过遵循上述步骤,您应该能够确保所有内核在 AURIX TC39 上以相同的时钟频率工作。这将有助于提高应用程序的性能和响应速度。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5437 浏览 2 评论
4076 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3593 浏览 9 评论
1204 浏览 8 评论
3496 浏览 7 评论
412浏览 2评论
244浏览 2评论
353浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5443浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
417浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:20 , Processed in 0.638402 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号