This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、TI 专家!
我们的团队发现了一个由 Sciclient_pmSetModuleClkFreq () API 引起的紧急问题,我们在 autosar mcuR5代码中添加了引导序列,就像 demo mcusw_demos/boot_app_mcu_rtos/boot.c 一样。
在我们的自动加载程序项目中,我们把启动任务放在最低优先级,有一些任务,如 CAN、看门狗任务,还有一些重要的任务是较高的优先级。
我们发现,如果我们不打开独木舟,让 CAN 消息运行 ,启动代码运行错误,日志打印显示的 puloading 已满,但在功能之前 Sciclient_pmSetModuleClkFreq、
日志显示加载仅为18%左右(线程 id 0是空闲任务,id 8是引导顺序,can 任务 id 1 )
Cert @ 0xb8000004 ...BYD_R5F_P1_R100 Date Dec 11 2023 Time 09:45:28 live_count 5 ##cpuload## thread id 00, loading 00% ##cpuload## thread id 01, loading 02% ##cpuload## thread id 02, loading 01% ##cpuload## thread id 03, loading 00% ##cpuload## thread id 04, loading 00% ##cpuload## thread id 05, loading 00% ##cpuload## thread id 06, loading 08% ##cpuload## thread id 07, loading 00% ##cpuload## thread id 08, loading 83% ##cpuload## thread id 09, loading 01% ##cpuload## thread id 10, loading 00% ##cpuload## thread id 11, loading 00% ##cpuload## thread id 12, loading 00% ##cpuload## thread id 13, loading 00% ##cpuload## thread id 14, loading 00% ##cpuload## thread id 15, loading 00% ##cpuload## thread id 16, loading 01% ##cpuload## thread id 17, loading 00% ##cpuload## thread id 18, loading 00% ##cpuload## thread id 19, loading 00% ##cpuload## thread id 20, loading 00% ##cpuload## thread id 21, loading 00% ##cpuload## thread id 22, loading 00% ##cpuload## thread id 23, loading 00% ##cpuload## thread id 24, loading 00% ##cpuload## thread id 25, loading 00% ##cpuload## thread id 26, loading 00% ##cpuload## thread id 27, loading 00% ##cpuload## thread id 28, loading 00% ##cpuload## thread id 29, loading 00% ##cpuload## thread id 30, loading 00% 1 00000003 Verify Passed...done Copying 0x98 bytes to 0x9a100000 Copying 0x80 bytes to 0x9a200000 Copying 0x880 bytes to 0x9a400000 Copying 0x880 bytes to 0x9a600000 Copying 0xf50a0c bytes to 0x9c604000 BYD_R5F_P1_R100 Date Dec 11 2023 Time 09:45:28 live_count 6 ##cpuload## thread id 00, loading 00% ##cpuload## thread id 01, loading 02% ##cpuload## thread id 02, loading 02% ##cpuload## thread id 03, loading 00% ##cpuload## thread id 04, loading 00% ##cpuload## thread id 05, loading 00% ##cpuload## thread id 06, loading 08% ##cpuload## thread id 07, loading 00% ##cpuload## thread id 08, loading 82% ##cpuload## thread id 09, loading 01% ##cpuload## thread id 10, loading 00% ##cpuload## thread id 11, loading 00% ##cpuload## thread id 12, loading 00% ##cpuload## thread id 13, loading 00% ##cpuload## thread id 14, loading 00% ##cpuload## thread id 15, loading 00% ##cpuload## thread id 16, loading 01% ##cpuload## thread id 17, loading 00% ##cpuload## thread id 18, loading 00% ##cpuload## thread id 19, loading 00% ##cpuload## thread id 20, loading 00% ##cpuload## thread id 21, loading 00% ##cpuload## thread id 22, loading 00% ##cpuload## thread id 23, loading 00% ##cpuload## thread id 24, loading 00% ##cpuload## thread id 25, loading 00% ##cpuload## thread id 26, loading 00% ##cpuload## thread id 27, loading 00% ##cpuload## thread id 28, loading 00% ##cpuload## thread id 29, loading 00% ##cpuload## thread id 30, loading 00% 1 00000002 Copying 0x3a628 bytes to 0x9d554a10 Copying 0x2b7bc bytes to 0x9d58f038 Copying 0x48 bytes to 0x9d5ba914 Copying 0x1000 bytes to 0x9d5de008 Copying 0x5d8180 bytes to 0x9d600000 Setting entry point for core 18 @0x9a200000 Copying 0x98 bytes to 0x98100000 Copying 0x40 bytes to 0x98200000 Copying 0x840 bytes to 0x98400000 Copying 0x840 bytes to 0x98600000 Copying 0xf4ee9c bytes to 0x98604000 Copying 0x2e5ac bytes to 0x99752ea0 Copying 0x28 bytes to 0x9978156c Copying 0x110f4 bytes to 0x997a5008 Copying 0x1000 bytes to 0x997b60fc Copying 0x173940 bytes to 0x99800000 Setting entry point for core 19 @0x98200000 BootImage completed, status = 0 Sciclient_procBootReleaseProcessor, ProcId 0x8... Sciclient_procBootReleaseProcessor, ProcId 0x9... Sciclient_procBootReleaseProcessor, ProcId 0x30... Sciclient_procBootReleaseProcessor, ProcId 0x31... Calling Sciclient_procBootRequestProcessor, ProcId 0x30... Sciclient_procBootSetProcessorCfg, ProcId 0x30, EntryPoint 0x9a200000... Sciclient_pmSetModuleClkFreq, DevId 0x8 @ 1000000000Hz... BYD_R5F_P1_R100 Date Dec 11 2023 Time 09:45:28 live_count 7 ##cpuload## thread id 00, loading 00% ##cpuload## thread id 01, loading 17% ##cpuload## thread id 02, loading 16% ##cpuload## thread id 03, loading 03% ##cpuload## thread id 04, loading 00% ##cpuload## thread id 05, loading 01% ##cpuload## thread id 06, loading 40% ##cpuload## thread id 07, loading 00% ##cpuload## thread id 08, loading 00% ##cpuload## thread id 09, loading 08% ##cpuload## thread id 10, loading 00% ##cpuload## thread id 11, loading 00% ##cpuload## thread id 12, loading 00% ##cpuload## thread id 13, loading 00% ##cpuload## thread id 14, loading 00% ##cpuload## thread id 15, loading 00% ##cpuload## thread id 16, loading 08% ##cpuload## thread id 17, loading 00% ##cpuload## thread id 18, loading 00% ##cpuload## thread id 19, loading 01% ##cpuload## thread id 20, loading 00% ##cpuload## thread id 21, loading 00% ##cpuload## thread id 22, loading 00% ##cpuload## thread id 23, loading 00% ##cpuload## thread id 24, loading 00% ##cpuload## thread id 25, loading 00% ##cpuload## thread id 26, loading 00% ##cpuload## thread id 27, loading 00% ##cpuload## thread id 28, loading 00% ##cpuload## thread id 29, loading 00% ##cpuload## thread id 30, loading 00% 1 00000012
为了调试这个问题、我们添加了一些测试代码来测量 MCUR5的 CPU 速度、方法是将代码
Rte_DisableOSInterrupts(); timer1= Mcu_GetTimeElapsed(); timer2 = Mcu_GetTimeElapsed(); Rte_EnableOSInterrupts(); Log_Printf(LOG_MODULE_INFO, " 1 %08x\r\n",timer2-timer1);
发现在 Sciclient_pmSetModuleClkFreq ()之前测试打印 00000002,在 Sciclient_pmSetModuleClkFreq ()之后打印00000012,看起来 MCU R5 CPU 频率低到1/10导致我们的其他任务运行错误 CPU 加载已满,无法返回到引导任务,Sciclient_ModuleClkFreq () 在发送 sci 服务器消息后无法返回、这会导致我们的 MCU R5低频率。
如果我们添加该虚幻保护代码以防止其他任务中断该序列、则不会发生此问题、但这需要很长时间才能导致我们的其他任务出现运行错误、
您好!
由于专家今天要离开、因此对该线程的响应会有点延迟。
此致、
坦迈
您好、Tanmay、
这对我们来说很重要、请帮助我们尽快将其签出。
您好!
线程重复。
有关更新,请查看以下 URL。
此致
M·塔伦