单片机/MCU论坛
直播中

哈哈哈

9年用户 725经验值
擅长:可编程逻辑
私信 关注

要怎么增加FLEXRAY STATIC MESSAGE呢 ?

我使用 SDL 7.8.0 版本,芯片是 tviibh8m
我看了 SDL 里面的 FLEXRAY 示例 comm_static_dynamic 我想要增加 STATIC MESSAGE 与 DYNAMIC MESSAGE
(1) 但是这个要修改 Node1.chi,但是不知道有什么工具可以修改?,可以提供吗 ?
(2) 有办法不要 INCLUDE CHI 档案,而是直接用代码的方式增加 FLEXRAY 的 MESSAGE 吗 ?,可以提供示例参考吗 ?
谢谢
                                                                                                                                                                                                                                                                                                                                                                                                

回帖(2)

赵静

2024-2-1 13:54:33
1. .chi文件是通过.fpf文件来转换的,您可以使用FlexConfig Developer的工具来试试看,我们也没有用过,所以无法提供
2. .chi 文件包含flexray的配置,通信等信息,如果不适用 CHI 文件,那就要手动对其中的寄存器值进行硬编码。客户需要知道寄存器以及哪些设置会影响其他设置,并了解设置之间的约束等。即使通过向 CHI 添加更多缓冲区设置写入块(WRHS1-3、IBCM、IBCR),简单地将更多消息添加到现有的示例通信计划也不是一件容易的事。你们需要使用正确的消息 RAM 偏移量,计算 TX 缓冲区的标头 CRC,并更改全局消息 RAM 配置。所以推荐使用工具来做这些事。
举报

Arvinhw

2024-2-1 17:35:23
要增加FlexRay的静态消息,可以按照以下步骤进行操作:

(1) 在SDL 7.8.0版本中,你可以使用FlexRay Communication Designer (FCD)工具来修改Node1.chi文件。该工具可以在SDL的安装目录中找到。你可以打开Node1.chi文件并增加STATIC MESSAGE和DYNAMIC MESSAGE。

(2) 如果你不想使用INCLUDE CHI文件,可以直接在SDL代码中增加FlexRay的消息定义。下面是一个示例代码供参考:

```sdl
/* 定义FlexRay的消息 */
message FLEXRAY_STATIC_MESSAGE
{
    int id; // 消息ID
    int length; // 消息长度
    int data[8]; // 消息数据
};

message FLEXRAY_DYNAMIC_MESSAGE
{
    int id; // 消息ID
    int length; // 消息长度
    int data[8]; // 消息数据
};

/* 在系统中使用FlexRay消息 */
system
{
    node Node1
    {
        channel FlexRayChannel
        {
            /* 使用FlexRay消息 */
            send FLEXRAY_STATIC_MESSAGE;
            send FLEXRAY_DYNAMIC_MESSAGE;
        }
    }
}
```

你可以根据需要修改消息的属性,例如消息的ID、长度和数据类型等。

希望这些信息可以帮助到你。如果还有其他问题,请随时提问。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分