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.

[参考译文] RTOS/AM5728:使用 DSP2计时器时出现 Linux 内核严重错误

Guru**** 2943350 points

Other Parts Discussed in Thread: AM5728, SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/673224/rtos-am5728-linux-kernel-panic-with-dsp2-timer-in-use

器件型号:AM5728
Thread 中讨论的其他器件: SYSBIOS

工具/软件:TI-RTOS

你好。

我正在 Linux 上使用 am5728和 dsp1、dsp2负载。
我用的是
 PDK:1.0.7.
 IPC:3.46.0.2
 BIOS:6.46.5.55
 PSDK:4.0.0.4


对于 am5728器件的 dsp2、我尝试添加 SYSBIOS 的计时器。
我在 dsp2 .cfg 文件中添加计时器。

VAR 时钟= xdc.useModule('ti.sysbios.knl.Clock');
clock.tickPeriod = 100;

clock.tickSource = Clock.tickSource_user;

VAR 计时器= xdc.useModule('ti.sysbios.timers.dmtimer.Timer');


Timer.intFreq.hi = 0;
Timer.intFreq.lo = 20000000;

Timer.checkFrequency = false;
var timerParams = new Timer.Params();
timerParams.period = Clock.tickPeriod;
timerParams.periodType = Timer.PeriodType_microsecs;

timerParams.tiocpcfg.softreset = 0x0;

timerParams.tiocpCfg.idlemode = 0x3;

timerParams.twer.OVF WUP_ENA = 0x1;
timer.create (-1、Clock.doTick、timerParams);


在 Linux 引导完成(没有 dsp2固件)后、随意加载 dsp2固件、计时器运行良好。
"echo 41000000.dsp >/sys/bus/platform/drivers/omap-rproc/bind


问题是复制 dsp2固件“/lib/firmware/dra7-dsp2-fw.xe66”并重新启动。

加载 dsp2固件时、会发生内核严重错误、这是由.cfg 文件中存在 Timer.create()函数引起的。

请检查 Dsp2.cfg 文件是否错误。

e2e.ti.com/.../Dsp2.cfg

e2e.ti.com/.../kernellog.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    默认情况下、DSP 分别对 DSP1和 DSP2使用 GPTimer 5和6 (即 timerId 4和5)。 software-dl.ti.com/.../TimerSupport.html

    在.cfg 文件中、TimerSupport.availMask = 0x0030;Timer.create (-1、Clock.doTick、timerParams);所有这些看起来都是正确的。 您可以检查 RTOS ROV 视图以查看用于 DSP2的确切 TimerId。 或者、您可以更改为 Timer.create (5、Clock.doTick、timerParams);明确请求 timerID 5以查看它是否起作用。

    此外、从 Linux 角度来看、Linux 是否使用了此计时器?

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我查看了 Linux 器件树文件、发现 dsp1使用的是 GPTimer5、dsp2使用的是 GPTimer6。

    Steve K.