2290551_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2290551_zh-CN

2290551_zh-CN

NETC 驱动程序代码审查:同步障碍

1.在 NETC 驱动程序中,"MCAL_INSTRUCTION_SYNC_BARRIER() "不应该是必须的。它会降低性能,可以将其删除。根据我的理解,如果不动态更改指令序列,就不需要刷新指令 FIFO (isync)。如果我说错了,请帮忙仔细检查。

例如,在 Netc_Eth_Ip_SendFrame() 中,关于下面的代码,对于存储指令,投机不会执行,为什么我们需要这个障碍?

/* 启用开发错误时,我们需要先添加一个障碍,以避免在前一个 else if 条件完成之前发生投机性检测。 在前一个 else if 条件完成之前,我们需要先添加一个障碍。*/

mcal_instruction_sync_barrier();

mcal_data_sync_barrier();

2. 需要对 "MCAL_DATA_SYNC_BARRIER() "中的某些内容进行审查。其中部分似乎不一定(如上),部分需要调整。例如,在 Netc_Eth_Ip_SendFrame()中,关于下面的代码,"MCAL_DATA_SYNC_BARRIER() "应移到缓存操作之后,TBPIR 寄存器之前。

/* BD 在内存中的写入已被优化,因此在开始传输前需要进行同步处理。 以确保在内存中正确写入传输 BD。*/

mcal_data_sync_barrier();

 

RTDRe: NETC driver code review: sync barrier

关于"变量 LockTxBufferDes 已更改" ,正如我在问题中所述,任何投机执行都不会导致内存存储动作损坏,因为内存存储动作不会被撤销。请仔细检查投机概念。

Re: NETC driver code review: sync barrier

您好,

我知道在更改全局变量之前会添加障碍命令,以避免对其他变量造成影响。例如:在函数 SendFrame 中使用以下代码:

Nhi_Nguyen_0-1768806506161.png

如果没有屏障命令,在"之前,如果" 条件完全解决,就会执行推测执行。如果出现 NextProducerIndex = LastTxdata 的情况,说明队列已空或已满,但 CPU 预测错误,因此设置变量 LockTxBufferDes = TRUE。在"if" 条件结束后,CPU 发现错误并返回,但变量 LockTxBufferDes 发生了变化。该变量的序列为:发送前,LockTxBufferDes = LOCKED;在 ReportTransmission 中处理后,LockTxBufferDes = UNLOCKED。这导致一个缓冲区被忽略使用。

对于此命令:

Nhi_Nguyen_1-1768807145360.png

这与 RM 中的说明有关:

Nhi_Nguyen_2-1768807370172.png

添加障碍是为了确保 TxBD 在以下命令开始之前同步到内存:

Nhi_Nguyen_3-1768807434328.png

顺祝商祺!

Nhi

Re: NETC driver code review: sync barrier

您好,

我的回答如下:

Nhi_Nguyen_0-1768891529819.png

我对此没有更多了解,因此我创建了票据 ARTDCC1-640,您可以通过该票据从 SW 团队获得解释。

顺祝商祺!

Nhi


Re: NETC driver code review: sync barrier这张截图来自哪里?截图中没有显示的来源和背景是什么?Re: NETC driver code review: sync barrier

是的,我通过人工智能工具找到了这个。是科迪。

Re: NETC driver code review: sync barrier该截图没有 URL 可以查询,是人工智能生成的文本,这种说法对吗?如果是,是哪个人工智能;如果不是,这是从哪里来的?Re: NETC driver code review: sync barrier

您好,

我刚刚找到它,虽然不是官方文档,但我认为这可能是 SW 添加该命令的原因。我不知道,也许我的想法是错的,他们有其他原因。SW 团队将在上述票据中给予答复。

顺祝商祺!

Nhi

Re: NETC driver code review: sync barrier好吧,这又是一个人工智能工具以非常漂亮的措辞提供根本不正确信息的案例。
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-23-2026 04:22 AM
更新者: