项目

一般

简介

错误 #3413

ARM板卡上,RLC AM的pollReTxTmr定时器启动时,协议栈CRASH,并报bus error,X86上无此问题。

王 艳芳12 天 之前添加. 更新于 12 天 之前.

状态:
已关闭
优先级:
指派给:
开始日期:
2025-05-27
计划完成日期:
2025-05-28
% 完成:

100%

预期时间:
8.00 小时

描述

ARM板卡上,RLC AM的pollReTxTmr定时器启动时,协议栈CRASH,并报bus error,X86上无此问题。此代码为原始STE1.0代码,原代码在X86平台上运行无此问题(UU测试定会启动该代码),STE3.0 TRUNK最新代码在X86上验证,亦无此问题

历史记录

#1

王 艳芳 更新于 12 天 之前

  • 计划完成日期 被设置为 2025-05-28
  • 状态新建 变更为 已解决
  • 开始日期2025-05-28 变更为 2025-05-27
  • % 完成0 变更为 100
  • 预期时间 被设置为 8.00 小时

【问题原因】多次尝试后,问题定位为pollReTxTmr数据结构的起始地址未对齐。ARM 架构对内存访问的对齐要求比 x86 更严格。如果定时器结构体(struct rte_timer)的地址未按 CPU 要求对齐(如 4 字节或 8 字节对齐),会触发总线错误。原pollReTxTmr为wnRlcAmTxEnt结构体的一个变量,该结构体按字节排列,所以导致定时器地址不满足CPU要求。
【解决方案】修改pollReTxTmr的内存分配方式为动态申请内存

#2

王 艳芳 更新于 12 天 之前

  • 状态已解决 变更为 已关闭

【问题验证】ARM板卡上验证,该问题已解决

导出 Atom PDF