Other Parts Discussed in Thread: SYSBIOS
Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
香榭丽舍
我需要在 AM57x 器件上使用一个计时器、以便由 C66上的 SYSBIOS 初始化、然后从 SoC (A15/IPU)中的其他内核读取。 这用于内核之间的任务同步。 似乎定时器14/15可用、因此我尝试以以下方式静态创建定时器实例。
VAR 计时器= xdc.useModule('ti.sysbios.timers.dmtimer.Timer');
var timer0Params =新 Timer.Params();
timer0Params.instance.name ="timer0";
timer0Params.period = 1000000;
program.global.timer0 = Timer.create (-1、"&MyTimerIsr"、timer0Params);
Timer.anyMask = 48;
与任一掩码设置一致、Timer.create 接受的唯一 ID 为4、5和-1 (这反过来将选择4或5)。
似乎已从 RTSC 挑选的 CPU 目录名称初始化 anyMask 字段。 AM57x 系列具有16个 GP 计时器、根据 SYSBIOS 文档、所有计时器均可通过 SYSBIOS 配置获得(它们都列在计时器映射表中)。 然而、工具链选择 anyMask=0x30、并且不允许将其设置为任何大于0x30的值。
我的理解是、GPTimer 4和5专用于 AM57x 系列中的 C66内核、而其他内核和操作系统实例可使用其他计时器。
问题:
1.工具链当前选择的任何掩码是否为预防措施,旨在防止客户错误地选择可能已在使用的定时器
2.规避此限制并使 SYSBIOS 初始化已知可用的 GPTimer 的正确方法是什么-例如 Timer15。
谢谢、
Michael