返回首页  设为首页  加入收藏  今天是:
网站首页电脑主板电脑cpu电脑内存电脑硬盘电脑显卡电脑电源显示器电脑配件电脑维修
相关文章
 基于DWC_ether_qos的以太网驱…
 硬件与软件兼备 学而思学习机…
 free在释放内存的时候为什么…
 RTX 4060显卡价格是多少 40系…
 4080显卡能带的动4K吗 显卡频…
 生成式AIGPU Busy游戏性能提…
 4060显卡带的动2K吗 显卡支持…
 Intel AIGC体验:酷睿轻薄本…
 DCDC控制器降压电源芯片U611…
 某数据中心因UPS重大变更造成…
 LQS厂家)便携式总碱度仪库号…
 逻辑电源与接口电源的区别
 LQS厂家)总磷浓度检测仪库号…
 快要淘汰的机械硬盘为什么我…
 2023年机械硬盘公司排名
 2023年机械硬盘行业前景分析…
 最受欢迎SSD、机械硬盘品牌出…
 性价比非常高的机械硬盘西部…
 华硕智能手机开通全新服务热…
 华硕客服电线小时华硕rog人工…
 华硕客服售后电线小时华硕客…
 可送货上门 华硕VM590LB5500…
 华硕客服售后怎么投诉
 “高仿”安全套隐身网店流入…
 春水堂曝成人用品业暴利 线倍
 销售假“伟哥”?株洲石峰检…
 摊主进货由市场而不是由“市…
 裸购助成人用品迎第二春 我友…
 清华紫光台式电脑显示器(清华…
 警惕青光眼!你的电脑显示器…
 清华同方显示器质量怎么样谁…
 全新17寸电脑显示器 全视角 …
 清华同方电脑自营旗舰店
 I5 12500H笔记本有哪些 酷睿…
 I5 12500H是几纳米工艺 I5 1…
 宏碁发布四款 Chromebook 教…
 酷睿I5-12500H是什么时候发布…
 酷睿I9 12900HX有哪些笔记本…
 主板型号大全整理
 华硕主板电脑开机后硬盘或M2…
 电脑主板型号怎么看 电脑主板…
 再也不用担心选主板了!一线…
 主板型号的分类介绍
 SketchUp英文版教程
 虚拟内存 (Virtual Memory)
 ram plus虚拟内存有什么用
 IoT物联网观察之IaaS PaaS S…
 虚拟内存的基本概念
 RTX 4090有必要换吗 4090显卡…
 2023年《星空》把我们炸回了…
专题栏目
网络
您现在的位置: 电脑评测网 >> 电脑内存 >> 正文
高级搜索
基于DWC_ether_qos的以太网驱动开发-LWIP的堆(内存池)未对齐导致问题的案例分享
作者:佚名 文章来源:本站原创 点击数: 更新时间:2023/9/16 21:03:47 | 【字体:

  爱的根源交友网内存未对齐访问问题这个已经是老生常谈的问题了, 由于LWIP的堆管理中也用到了地址(指针)强制转换所以也会遇到这个问题。对于老手比较容易发现,对于新手可能会比较疑惑。所以也单独分享一个案例吧,权当一个小的check list的case。

  异常时打印寄存器如下,当然不同平台异常时如何获取上下文信息方式不一样,不在本文讨论范围内,我这里是RISC-V环境。

  所以是在运行0x20006C88时进入了异常,当然这个地方不一定是原始问题所在点,异常可能是跑了很久才出现的。

  我们运行发现断点并不能触发,之前就已经异常了,所以只能跟代码逐渐缩小范围确认问题的。一般采用的方式是,逐步断点或者打印或者删除代码,逐步缩小范围的方法。

  因为堆是分配的一块区域,每一块区域的开始地址对齐值就是上面设置的对齐大小,分配区块后作为其他模块使用,比如pbuf使用,前面部分作为管理结构体

  struct pbuf 操作,所以实际是将一个区块地址强制转为了结构体指针。

  此时访问结构体成员,编译器是自动按照自然对齐生成汇编指令的,因为编译器并不知道你的对齐要求,所以如果系统不支持对应的指令非对其访问就有问题,但是有些系统对应的汇编指令的行为支持不对齐访问那么就没有问题。

  当然出于可靠性设计,建议不要进行强制类型转换,比如MISRA标准里的规范就是如此。

  如果代码要做到兼容性可靠性非常好就要注意这个问题,此时不能使用强制类型转换,而是使用字节序手动拼接得到成员的值。

  但是出于灵活性考虑,很多协议栈的设计都是直接使用强制类型转换的,所以这时用户就需要注意,比如这里我们可以配置#define MEM_ALIGNMENT 4U

  来保证上述分配出来的地址p是4字节对齐的,所以按照偏移,其成员也是4字节对齐的,sw指令操作的就是4字节对齐的成员,就不会有问题。

  以上分享一个简单的案例,目的是提醒下要注意类似问题,尤其有指针强制类型转换的要注意对齐问题。问题不难,也不复杂,但是可以作为check list的case可以作为检查项目。

电脑内存录入:admin    责任编辑:admin 
  • 上一个电脑内存:

  • 下一个电脑内存: 没有了
  •  
     栏目文章
    普通电脑内存 基于DWC_ether_qos的以太网驱动开发-LWIP的堆… (09-16)
    普通电脑内存 硬件与软件兼备 学而思学习机让学习事半功倍 (09-16)
    普通电脑内存 free在释放内存的时候为什么不需要指定内存的… (09-16)
    普通电脑内存 SketchUp英文版教程 (09-15)
    普通电脑内存 虚拟内存 (Virtual Memory) (09-15)
    普通电脑内存 ram plus虚拟内存有什么用 (09-15)
    普通电脑内存 IoT物联网观察之IaaS PaaS SD详解 (09-15)
    普通电脑内存 虚拟内存的基本概念 (09-15)
    普通电脑内存 手机已测32GB内存机型:远超大多数电脑 (09-14)
    普通电脑内存 从ISA到PCI-E “高速路”建成史! (09-14)
    普通电脑内存 内存芯片最高涨20%!存储涨价潮逐渐蔓延 (09-14)
    普通电脑内存 IO Data新款NAS发布 内存容量为8GB (09-14)
    普通电脑内存 太猛了!2款16GB+1TB旗舰仅2299元大内存“亲民… (09-14)
    普通电脑内存 索尼A7 IV怎么连接电脑 尼康Z7II照相机显示TC… (09-13)
    普通电脑内存 芝奇荣获3项年度内存品牌大奖 (09-13)
    普通电脑内存 学动漫学习动漫使用的电脑内存越大越好吗 (09-13)
    普通电脑内存 不走寻常路 单条24GB?新乐士狂刃战士RGB DDR… (09-13)
    普通电脑内存 苹果iPhone14 Plus内存是多少 比iPhone14好在… (09-13)
    普通电脑内存 ColorOS 14开启公测新功能全面曝光安全、流畅… (09-13)
    普通电脑内存 i713700k配什么内存 (09-13)