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.

[参考译文] RM48L952:无系统节拍计数器

Guru**** 2482105 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/703404/rm48l952-no-system-tick-counter

器件型号:RM48L952
主题中讨论的其他器件:HALCOGEN

您好!

我在 Keil uVision5 RTX-RTOS 中有一个 RM48 HDK、IAM 编程、我正在使用 Seeger JLink 编程器。 我编写了下面的简单示例程序。 在两个任务中调用 os_dly_wait()后,控制台报告“* JLink Info: memory access: CPU temp”。 已停止: https://wiki.segger.com/Memory_accesses#Stop_mode,"、程序停止。

#include /* RTX 内核函数和定义 */
#include "RTI.h"
#include 

易失性 U32 g_os_err_code;

/* ID1、ID2将包含运行时的任务标识*/
os_TID ID1、ID2;

int counter1;
int counter2;

/*正向参考*/
__task void task1 (void);
__task void task2 (void);


//用于调试*/
uint32_t time_t

__task void task1 (void)
{
//获取自己的系统任务标识号*/ID1
= OS_tsk_self ();
//将任务1的系统标识号分配给 ID1 */
ID2 = OS_tsk_create (ev2、1);

while (1)
{
sys_time = OS_TIME_get();
+ 0X2+
=任务
集;/任务集0x0002 +;/任务集
/*等待完成该操作(0xFFFF 意味着没有超时)*/
OS_evt_wait_or (0x0004、0xFFFF);
//立即等待50ms */
OS_dly_wait ((uint16_t) 5);
sys_time = OS_TIME_GET ();
}


SYS_TASK __WAIT 2 (0x000+)





for task_out+(while)
(0x000+ for task_time_task_out+);(0x000+ for task_wait time_time_out+(0x000+)(while = 0x000+ for time_time_task_out+)(0x000+)(while + for task_time_wait time_out+)( //*执行该操作*//
//*暂停20ms,直到将事件发送到任务1 */
os_dly_wait (uint16_t) 2;
//指示任务1完成该操作*/
os_evt_set (0x0004、ID1);
}


}int main (void)
{
//启用中断。
__ENABLE_FIQ ();
__ENABLE_IRQ ();

OS_SYS_INIT (任务1);
} 

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

    我对 Keil uVision5 RTX-RTOS 的使用没有任何经验。 OS_dly_wait()是否位于在用户模式下无法访问的内存区域?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    os_dly_wait()可在用户模式下访问。 我被用来暂停呼叫任务。

    我已经完成了更多的调试、RM48似乎没有提供系统计时器。 因此、RTX-RTOS 永远不会脱离空闲状态、因为它没有得到系统节拍。 您能告诉我如何正确设置 RM48系统计时器的信息吗?

    William

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

    RM48有一个 RTI (实时中断)模块、此模块可被用于节拍定时器。

    请参阅通过 TI HALCoGen 工具为 RM48器件生成的 FreeRTOS 示例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    QJ、

    感谢您的链接。 我已经根据该示例设置了 RTI。 但是、我找到了一个工作项目并导入了*。DIL 文件。 这会使系统节拍正常工作。 我还没有弄清楚两种 HALCoGen 配置之间的差异、但至少我有一块工作板。

    感谢您的帮助、

    William