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.

[参考译文] TMS570LC4357:HALCoGen (04.07.01)如何在预定义的"用户代码块"之外编写代码

Guru**** 2457760 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/1223525/tms570lc4357-halcogen-04-07-01-how-to-write-code-outside-pre-defined-user-code-blocks

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

尊敬的 TI 专家:

我正在使用 HALCoGen 为 TMS570LC435生成源代码文件(并使用 FreeRTOS 型号)。 我想在 gioSetBit()函数开始和结束时编写一些个人/自定义代码。 我知道、我需要将我的代码放置在"USER CODE BEGIN"注释块中、这样我的代码就不会被 HALCoGen 覆盖。 函数 gioSetBit()有一个用户代码块定义在函数的开头,而不是在函数的结尾。 在 HALCoGen 提供的代码块之外、我是否可以手动插入新的用户代码块?

下面是一个描述我遇到的问题的屏幕截图:

我试图添加我自己的评论块类似于"用户块开始(X)"、但它不起作用;我尝试了几个变体和不同的数字、没有任何运气。 那么、我的问题是、如果没有预定义的用户块、我可以做什么来添加定制代码?

谢谢!

阿默尔

P.S.我尝试这样做的原因是能够暂时将 CPU 模式从"用户"更改为"特权"、因为当 CPU 处于"用户模式"时、RTP/DMM GIO 不能被控制。 如果你有一个不同的解决办法让我尝试,我将非常感激

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

    在 HALCoGen 安装中、有些驱动程序文件看起来包含 @@USERCODE、这些文件会扩展到用户块部分。

    例如、C:\ti\Hercules\HALCoGen\v04.07.01\drivers\TMS570LC4357ZWT\GIO570v000\Gio.c 的 gioSetBit 配置如下、@@USERCODE 仅在 开头:

    void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value)
    {
    @@USERCODE
    
        if (value != 0U)
        {
            port->DSET = (uint32)1U << bit;
        }
        else
        {
            port->DCLR = (uint32)1U << bit;
        }
    }

    而 gioSetPort  在开头和结尾有一个@@USERCODE:

    void gioSetPort(gioPORT_t *port, uint32 value)
    {
    @@USERCODE
    
        port->DOUT = value;
    
    @@USERCODE
    
    }

    我尚未尝试、但认为如果驱动程序文件是在 HALCoGen 安装中修改的、以便添加额外的 @@USERCODE 条目、这将导致项目中生成的源文件中出现用户块段。

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

    感谢这个建议,这似乎是有希望的。 这种方法的唯一问题是需要修改 HALCoGen 安装文件。 我可以在我的本地机器上这样做、但这意味着我的部门中使用此代码库的其他所有人都需要进行修改、这是难以实施/维护的。 我希望允许"动态"添加 HALCoGen 用户代码、而不会限制在提供的用户块部分。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此方法的唯一问题是它需要修改 HALCoGen 安装文件。 我可以在我的本地机器上这样做,但这意味着我的部门中使用此代码库的其他人都需要进行修改,这是难以实施/维护的。

    同意这不是理想的。

    我希望 TI 的员工能够提供一条更易于维护的建议、该建议不需要修改卤素安装文件。