嵌入式开发者社区

标题: AM57x DSP/IPU SYSBIOS定时器问题 [打印本页]

作者: czs----Tronlong    时间: 2019-11-27 15:06
标题: AM57x DSP/IPU SYSBIOS定时器问题
在使用AM5728-IDK 开发板,在DSP开发过程中(IPC组件),发现如下创建Clock定时中断可以运行,但是周期最小只有1ms,我们需要us级的定时中断;
         Error_Block eb;
         Clock_Handle hClock = NULL;
        Clock_Params clockParams;
        Clock_Params_init(&clockParams);
        clockParams.period = 1;//单位ms
        clockParams.startFlag = TRUE;
        hClock = Clock_create(clockFxn, 5, &clockParams, &eb);
        if (hClock == NULL) {
                System_printf("Clock_create() failed!\n");
                BIOS_exit(0);
        }

       于是我想用Timer来解决(之前用Omapl-138使用过,定时周期单位为us),

        Timer_Handle NC_handle;
        Timer_Params timerParams;
        Error_init(&eb);
        Timer_Params_init(&timerParams);
        timerParams.period = 200;
        timerParams.periodType         = Timer_PeriodType_MICROSECS;
        timerParams.startMode         = Timer_StartMode_USER;
        timerParams.runMode         = ITimer_RunMode_CONTINUOUS;
        NC_handle                                 = Timer_create(Timer_ANY, clockFxn, &timerParams, &eb);

        但会出现Timer_create()创建不成功。

        请问贵公司有无相关例程或解决方法,谢谢!

作者: czs----Tronlong    时间: 2019-11-27 15:06
您好,

            sysbios下的定时器使用方法请查看如下链接:http://dev.ti.com/tirex/content/ ... sbios/knl/Idle.html

[attach]5896[/attach]
作者: 阿美好勇敢    时间: 2019-12-11 12:50
DSP核跑的是TI-RTOS,在CCS环境下开发DSP工程。使用sys/bios的硬件抽象层HAL去初始化定时器,发现DSP核没有定时器可用。出现如下错误:

查看了tl570x-evm.dts设备树,发现DSP分配了两个定时器,timer5和timer10


问题:
1.timer10用作了看门狗,这个看门狗是否在使用IPC的时候才起作用?
2.请问timer5是不是默认用作了RTOS的系统心跳了,如果DSP需要使用定时器,是不是在设备树添加多一个定时器才能使用?
[attach]6009[/attach]
作者: czs----Tronlong    时间: 2019-12-11 16:50
阿美好勇敢 发表于 2019-12-11 12:50
DSP核跑的是TI-RTOS,在CCS环境下开发DSP工程。使用sys/bios的硬件抽象层HAL去初始化定时器,发现DSP核没有 ...

Dear ,

1.timer10用作了看门狗,这个看门狗是否在使用IPC的时候才起作用?
   答:timer10作为看门狗时钟,在DSP运行后就开始工作。


2.请问timer5是不是默认用作了RTOS的系统心跳了,如果DSP需要使用定时器,是不是在设备树添加多一个定时器才能使用?
    答:不需要再设备树DSP节点中配置。
           DSP需要使用定时器,可以由ARM或DSP来初始化,当成普通外设资源访问即可,使用方式由两种:
    方法一:在cfg文件中调用
[attach]6010[/attach]

    方法二:在程序源码里调用定时器,做好MMU内存映射,调用定时器API直接使用
[attach]6011[/attach]

作者: echo110    时间: 2020-1-3 14:07
czs----Tronlong 发表于 2019-12-11 16:50
Dear ,

1.timer10用作了看门狗,这个看门狗是否在使用IPC的时候才起作用?

您好,请问这个例程您这边有吗?方便提供一下吗?
作者: czs----Tronlong    时间: 2020-1-3 17:36
echo110 发表于 2020-1-3 14:07
您好,请问这个例程您这边有吗?方便提供一下吗?

Dear 您好,

     这是TI的官方参考链接:

sysbios下的定时器使用方法请查看如下链接:http://dev.ti.com/tirex/content/ ... sbios/knl/Idle.html




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4