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.

SYS/BIOS中log使用问题

Other Parts Discussed in Thread: SYSBIOS

在使用CCS进行SYS/BIOS的log模块进行调试时,发现一个问题,HWI的handle在不同的地方值不一样,具体如图:   从图中可以看出,log Raw中的两个Hwi的 handle值与程序中的hwi0和hwi1的handle值都是相差0x10大小,我想知道为什么会这样?

  • 目前在使用C6678芯片进行SYS/BIOS编程,在CCS 5.2软件中想使用SYS/BIOS系统的log模块进行log event的记录。现在在调试过程中发现两个问题:
    1、CFG文件中创建了一个logger,在C文件中通过LoggerBuf_getNextEntry()函数读取log event的值,当程序运行时,log event的结构体中,tstamp表示log event产生时的时间,serial表示log event的序号,第三个参数evt表示log event的类型,arg[0-8]为一些参数值,此时出现的问题是:当我在同一工程中进行上述操作时,如何在CFG文件中声明event模块和不声明event模块,同一log event(比如LM_switch)得到的第三个参数evt值完全不一样,虽然现在在调试过程中同一log event(比如LM_switch)的第三个参数evt值只出现过两种值,但是我担心在CFG文件中声明其它模块后,还可能有其它值出现,我的困惑是同一log event(比如LM_switch)的第三个参数evt值为什么不是固定的,它有几种可能的值?
    2、在进行Raw logs窗口下查看log msg时,发现Hwi模块log msg为LM_begin hwi 0x0x80f268,fun 0x803114,preThread 2 ,intNum 5,irp 0x806489,而我在Expressions窗口下看到我创建的hwi的handle为0x80f258,两者之间相差0x10,另外创建其它hwi时,得到同样的规律,都是在Raw logs窗口下的hwi与Expressions中的hwi handle相差0x10,我想请问为什么同一hwi在不同的地方显示的值不一样,相差0x10大小是固定的规律吗?

    很期待你们对问题的解答。

  • 1 创建了两个HWI handle,其地址不一样是正常的;

    2 RTA log中打印的hwi地址是Hwi_handle中成员变量ti_sysbios_hal_Hwi_HwiProxy_Handle pi;的地址信息,而非Hwi_handle的地址值。

  • 你好,Andy!

       谢谢你的回答!目前在使用C6678调试过程中,关于log模块的使用还有一个疑问,希望你能帮我解答一下。

      在使用LoggerBuf_getNextEntry()函数读取LoggerBuf里面的原始数据时,对于同一种log Event,得到了不同的evt值,如下图:

    在C文件中使用如下函数进行读取LoggBuf的数据

    在CFG文件中有如下配置:

    此时读取Task模块的LD_Ready事件时,evt得到的值是0x0F898023,如下图

    可是当我把CFG文件中的Event模块声明后,得到的却是另一个值,即:0x10108024,如下图

    为什么在同一个程序中就因为多声明了一个模块就会导致log event的值不一样了呢?请问有没有关于log event定义方面的文档可以参考的。很期待你的回答,谢谢Andy!

  • ANDY,关于log的问题请问有没有相关文档可以查阅下的啊?

  • 你可以看看sysBios 安装目录doc下的API 及sysBios user guide,或者在CCS help content中搜索,还有就是查看sysBios安装之后bios_6_35_01_29\packages\ti\sysbios下面的源码;还有E2E.ti.com上或许有类似的问题及答案可以搜索参考参考。我也是这么对照的,你先自己查看一下,sorry。