国产精品一区二区在线看_国产高清免费的视频_国产精品bbw一区二区三区_四虎影视免费看电影

首頁 > 汽車

基于DWC_ether_qos的以太網驅動開發-LWIP的堆(內存池)未對齊導致問題的案例分享

來源:面包芯語 時間:2023-09-09 13:12:32

一.前言

內存未對齊訪問問題這個已經是老生常談的問題了, 由于LWIP的堆管理中也用到了地址(指針)強制轉換所以也會遇到這個問題。對于老手比較容易發現,對于新手可能會比較疑惑。所以也單獨分享一個案例吧,權當一個小的check list的case。

二.問題

Lwipopts.h中MEM_ALIGNMENT可以配置堆對齊大小,有問題時是配置為1


(資料圖片僅供參考)

#define MEM_ALIGNMENT 1U

異常時打印寄存器如下,當然不同平臺異常時如何獲取上下文信息方式不一樣,不在本文討論范圍內,我這里是RISC-V環境。

看到打印的mepc是0x20006C88,異常原因是地址未對齊。

所以是在運行0x20006C88時進入了異常,當然這個地方不一定是原始問題所在點,異常可能是跑了很久才出現的。

所以先在這里打個斷點試試

可以看到是pbuf.c的代碼中,所以可以懷疑是內存池或者堆的問題。

我們運行發現斷點并不能觸發,之前就已經異常了,所以只能跟代碼逐漸縮小范圍確認問題的。一般采用的方式是,逐步斷點或者打印或者刪除代碼,逐步縮小范圍的方法。

可以借鑒一些二分的思想,加快定位。

這里還是從pbuf開始,先找到相關代碼上層函數處,斷點

b pbuf_init_alloced_pbuf

看到異常前是可以停下來的

看到此時p的值是0x28201406

查看如下匯編代碼可知

sw zero,0(a0)即對應代碼p->next = NULL;

sw是word操作指令,但是地址a0不是word對齊,所以會產生異常

再si單步確實進入異常

所以問題確認了。

因為堆是分配的一塊區域,每一塊區域的開始地址對齊值就是上面設置的對齊大小,分配區塊后作為其他模塊使用,比如pbuf使用,前面部分作為管理結構體

struct pbuf 操作,所以實際是將一個區塊地址強制轉為了結構體指針。

此時訪問結構體成員,編譯器是自動按照自然對齊生成匯編指令的,因為編譯器并不知道你的對齊要求,所以如果系統不支持對應的指令非對其訪問就有問題,但是有些系統對應的匯編指令的行為支持不對齊訪問那么就沒有問題。

當然出于可靠性設計,建議不要進行強制類型轉換,比如MISRA標準里的規范就是如此。

如果代碼要做到兼容性可靠性非常好就要注意這個問題,此時不能使用強制類型轉換,而是使用字節序手動拼接得到成員的值。

但是出于靈活性考慮,很多協議棧的設計都是直接使用強制類型轉換的,所以這時用戶就需要注意,比如這里我們可以配置#define MEM_ALIGNMENT 4U

來保證上述分配出來的地址p是4字節對齊的,所以按照偏移,其成員也是4字節對齊的,sw指令操作的就是4字節對齊的成員,就不會有問題。

三.總結

以上分享一個簡單的案例,目的是提醒下要注意類似問題,尤其有指針強制類型轉換的要注意對齊問題。問題不難,也不復雜,但是可以作為check list的case可以作為檢查項目。

相關稿件

基于DWC_ether_qos的以太網驅動開發-LWIP的堆(內存池)未對齊導致問題的案例分享

宗茂林(宗茂)

云杰:黃金1920多接1929空驗證,后市將看跌1904

您好?我被偷拍私密視頻后被人傳播了?我有他偷拍的聊天記錄?但

2023美網:中國新銳正當時

廣東廣州:幼蛇頻頻出沒 小貓“大戰”眼鏡蛇

從“跳水大爺” 到安全志愿者

安徽豆粉云信息科技有限公司_關于安徽豆粉云信息科技有限公司介紹

高盛策略師:美國經濟衰退可能性正在上升

華為智慧屏V5 Pro即將上市:98英寸巨幕影院

賠835.4萬 巴奴火鍋為子品牌超島涉事羊肉買單

《幽靈行者2》初代超過250萬份 發行商宣布

周杰倫天津演唱會發生意外?經紀公司凌晨回應

周末天氣多變,防雨水突襲?

通報:山西一人搶救無效死亡!

公告精選:商品代雞苗售價大漲 民和股份8月銷售收入環比增加41%

滴滴出行虧損1.4億元 單量持續增加

中國8月狂賣192萬輛汽車創同期史高 自主品牌破100萬

張寶成是誰 張寶成

長春到沈陽高鐵幾小時

長春到沈陽高鐵啥時候開通的

馬蒂諾:如果梅西能出戰玻利維亞,我認為他不會提前回到俱樂部

外媒:日本二季度GDP下修為年率增4.8%

信科移動:9月7日公司高管李秉成增持公司股份合計5800股

智力英文單詞怎么寫(智力英文)

一次開藥1800片?江西通報三起超量開藥類違規案例

華商記者幫|長安天然氣公司要求商戶整改安裝電磁閥 商戶們覺得其下屬子公司的“一口價”報價有些貴

茶坊鎮東紅村扶貧互助資金協會(關于茶坊鎮東紅村扶貧互助資金協會簡述)

一高校食堂檔口因不漲價被罰?校方:中止外包

若你成風(關于若你成風簡述)


国产精品一区二区在线看_国产高清免费的视频_国产精品bbw一区二区三区_四虎影视免费看电影

      1. <ul id="dtpp1"></ul>
      2. 中文字幕亚洲影视| 午夜欧美精品| 国产中文在线播放| 99在线|亚洲一区二区| 91伊人久久| 午夜久久黄色| 韩国久久久久久| 国产欧美激情| 亚洲毛片在线| 日韩一区二区免费看| 国产h片在线观看| 日韩免费精品| 亚洲乱码久久| 午夜在线精品偷拍| 亚洲女同中文字幕| 欧美日韩免费看片| 国产一区二区三区日韩精品| 国产日本久久| 国产精选久久| 国产亚洲精品美女久久 | 国产精品九九| 日韩国产一二三区| 石原莉奈在线亚洲二区| 欧美午夜精彩| 日韩欧美一区免费| 日本精品在线中文字幕| 国产精品专区免费| 一区二区三区四区日本视频| 国模精品一区| 国产精品毛片久久| 亚洲美女久久精品| 99久久久久| 日韩一区二区免费看| 国产午夜精品一区二区三区欧美 | 亚洲精品护士| 久久国产三级| 老司机精品视频网| 福利一区二区| 日韩国产一区二区三区| 日韩精品永久网址| 尤物在线精品| 日本不卡视频在线| 日韩av中文字幕一区| 国产日本精品| 电影亚洲精品噜噜在线观看| 伊人精品在线| 欧美一区二区三区久久精品| 国产精品成人a在线观看| 国产精品久久观看| 日韩中文欧美在线| 国产videos久久| 91久久久精品国产| 欧美日韩视频免费看| 97精品国产福利一区二区三区| 91精品亚洲| 国产精品网在线观看| 视频二区不卡| 日韩欧美2区| 亚洲不卡av不卡一区二区| 蜜桃视频第一区免费观看| 国产日韩欧美高清免费| 久久精品中文| 欧美日本不卡| 黄色亚洲大片免费在线观看| 国产亚洲精品美女久久| 欧美日韩一区二区三区视频播放| 日韩一区精品| 精品在线99| 欧美91在线| 亚洲男女自偷自拍| 波多视频一区| 国产精品www.| 久久国产精品毛片| 中文字幕在线免费观看视频| 91精品麻豆| 国产亚洲在线| 久久人人88| 国产66精品| 欧美日韩a区| 在线日韩成人| 欧美日韩少妇| 久久精品电影| 日本免费久久| 欧美日韩精品免费观看视完整| 97久久超碰| 日韩欧美精品一区二区综合视频| 伊人久久成人| 亚洲国产专区| 日韩在线观看不卡| 麻豆理论在线观看| 久久精品三级| 精品久久久中文字幕| 国产亚洲一区二区三区啪| 免费日韩一区二区| 国产精品7m凸凹视频分类| 福利欧美精品在线| 国产精品国产三级国产在线观看| 久久久亚洲欧洲日产| 国产欧美日韩一区二区三区四区| 亚洲天堂av资源在线观看| 欧美日韩三区| av成人国产| 亚洲欧美成人综合| 久久av一区二区三区| 99国内精品| 综合国产精品| 日韩中文字幕| 国产精品一线| 久久精品一区二区国产| 久久影院资源站| 日韩精品91| 精品日韩毛片| 人人爽香蕉精品| 色8久久久久| 国产欧美亚洲精品a| 97精品国产一区二区三区| 日韩免费av| 99国产精品99久久久久久粉嫩| 亚洲欧美日韩视频二区| 日韩一二三区在线观看| 国产精品亚洲人成在99www | 婷婷视频一区二区三区| 日本在线不卡视频一二三区| 91精品国产自产观看在线| 国产精品久久久久77777丨| 精品国产一区二| 久久在线视频免费观看| 亚洲欧美日韩国产| 欧美黄色精品| 久久精品卡一| 久久狠狠久久| 激情丁香综合| 欧美日韩18| 久久激情婷婷| 亚洲18在线| 中文一区一区三区高中清不卡免费| 99国产精品免费视频观看| 久久aⅴ国产紧身牛仔裤| 国产精品麻豆成人av电影艾秋| 日韩中文在线电影| 亚洲深夜福利在线观看| 国产不卡精品| 四虎精品一区二区免费| 日本免费久久| 国产欧美日韩一级| 欧洲激情综合| 久久亚洲黄色| 日韩精品一区二区三区av| 成人免费网站www网站高清 | 国产精品伊人| 亚洲深夜福利| 日韩理论片av| 国产麻豆一区二区三区| 欧美国产91| 亚洲精品88| 国产激情久久| 日韩黄色免费网站| 国产一区91| 伊人久久大香线蕉av不卡| 免费一级欧美片在线观看网站| 欧美专区一区二区三区| 蜜臀久久精品| 麻豆精品av| 伊人www22综合色| 午夜欧美在线| 成人羞羞在线观看网站| 国产成人免费精品| 国产欧美日韩一级| 91精品尤物| 欧美啪啪一区| 亚洲天堂av资源在线观看| av一区在线| sm捆绑调教国产免费网站在线观看| 日韩av黄色在线| 视频一区日韩精品| 日本午夜精品久久久| 日本欧美一区二区在线观看| 日韩在线观看一区二区| 黄色日韩在线| 久久xxxx| 视频一区欧美精品| 蜜桃视频一区二区| 蜜臀精品久久久久久蜜臀| 久久国产高清| 91精品国产自产在线丝袜啪| 久久国产三级| 国产精品久久久网站| 国产精品久久久久77777丨| 国产图片一区| 国内揄拍国内精品久久| 日韩免费小视频| 亚洲精品888| 国产高清一区| 国产精品呻吟| 青青国产91久久久久久| 国产精品自拍区| 肉色欧美久久久久久久免费看| 久久影视一区| 日韩欧美久久| а√天堂8资源在线|