三级4级全黄60分钟_韩国中文字幕在线_美女一区二区三区在线观看_wwwwww欧美_亚洲欧洲无码一区二区三区_成在在线免费视频_亚洲毛片在线看_天堂资源在线亚洲_96精品久久久久中文字幕_香蕉综合视频_国内精品视频一区_香蕉视频一区二区三区

首頁 > 汽車

基于DWC_ether_qos的以太網(wǎng)驅(qū)動開發(fā)-LWIP的堆(內(nèi)存池)未對齊導(dǎo)致問題的案例分享

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

一.前言

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

二.問題

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


(資料圖片僅供參考)

#define MEM_ALIGNMENT 1U

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

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

所以是在運(yùn)行0x20006C88時進(jìn)入了異常,當(dāng)然這個地方不一定是原始問題所在點(diǎn),異常可能是跑了很久才出現(xiàn)的。

所以先在這里打個斷點(diǎn)試試

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

我們運(yùn)行發(fā)現(xiàn)斷點(diǎn)并不能觸發(fā),之前就已經(jīng)異常了,所以只能跟代碼逐漸縮小范圍確認(rèn)問題的。一般采用的方式是,逐步斷點(diǎn)或者打印或者刪除代碼,逐步縮小范圍的方法。

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

這里還是從pbuf開始,先找到相關(guān)代碼上層函數(shù)處,斷點(diǎn)

b pbuf_init_alloced_pbuf

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

看到此時p的值是0x28201406

查看如下匯編代碼可知

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

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

再si單步確實(shí)進(jìn)入異常

所以問題確認(rèn)了。

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

struct pbuf 操作,所以實(shí)際是將一個區(qū)塊地址強(qiáng)制轉(zhuǎn)為了結(jié)構(gòu)體指針。

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

當(dāng)然出于可靠性設(shè)計,建議不要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,比如MISRA標(biāo)準(zhǔn)里的規(guī)范就是如此。

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

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

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

三.總結(jié)

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

相關(guān)稿件

基于DWC_ether_qos的以太網(wǎng)驅(qū)動開發(fā)-LWIP的堆(內(nèi)存池)未對齊導(dǎo)致問題的案例分享

宗茂林(宗茂)

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

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

2023美網(wǎng):中國新銳正當(dāng)時

廣東廣州:幼蛇頻頻出沒 小貓“大戰(zhàn)”眼鏡蛇

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

安徽豆粉云信息科技有限公司_關(guān)于安徽豆粉云信息科技有限公司介紹

高盛策略師:美國經(jīng)濟(jì)衰退可能性正在上升

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

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

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

周杰倫天津演唱會發(fā)生意外?經(jīng)紀(jì)公司凌晨回應(yīng)

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

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

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

滴滴出行虧損1.4億元 單量持續(xù)增加

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

張寶成是誰 張寶成

長春到沈陽高鐵幾小時

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

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

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

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

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

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

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

茶坊鎮(zhèn)東紅村扶貧互助資金協(xié)會(關(guān)于茶坊鎮(zhèn)東紅村扶貧互助資金協(xié)會簡述)

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

若你成風(fēng)(關(guān)于若你成風(fēng)簡述)


狠狠入ady亚洲精品| 欧美群妇大交群的观看方式| 国产综合色一区二区三区| 日本在线成人| 亚洲精品视频中文字幕| 韩国中文字幕在线| 色一情一伦一子一伦一区| www99avcom| 国产免费观看久久| 男人天堂网视频| 岛国一区二区在线观看| 亚洲欧美日韩国产yyy| 亚洲资源av| 免费毛片一区二区三区久久久| 欧美日本一区二区视频在线观看| 国产日韩欧美在线播放| 加勒比久久综合| 国产成人精品一区二区| 少妇精品久久久一区二区三区| 97视频在线观看播放| 男人的天堂久久| 国产91免费看片| 国产不卡av一区二区| 国产精品极品在线| 99视频精品视频高清免费| 91免费观看网站| 亚洲一级电影| 亚洲精品日韩在线观看| 国产高清亚洲一区| 99精品视频播放| 亚洲欧美视频在线观看视频| 一二三四社区在线视频6| 色吊一区二区三区 | 鲁大师成人一区二区三区| 久久超碰亚洲| 久久国产夜色精品鲁鲁99| 日本一级黄视频| 久久亚洲免费视频| 97在线观看播放| 欧美日韩久久久久| 岛国中文字幕在线| 国产丝袜一区二区| 影音先锋欧美激情| 成人av在线天堂| 热久久久久久久| 国产免费成人在线| 亚洲在线视频一区| 午夜视频成人| 亚洲天堂视频在线观看| 久久丝袜视频| 国产综合精品一区二区三区| 国产精品996| 国产视频二区| 欧美一卡二卡三卡| 国产一区二区高清在线| 国产成人自拍视频在线观看| 一区二区三区成人精品| 大陆av在线播放| 亚洲一卡二卡三卡四卡无卡久久| 在线免费观看黄色av| 在线午夜精品自拍| 青草国产精品| 特色特色大片在线| 亚洲激情自拍视频| av免费网站在线| 国内免费久久久久久久久久久| 欧美精品18| 日韩精品 欧美| 色综合天天狠狠| 日本一区二区中文字幕| 91精品在线影院| 国产成人免费视频一区| 久草影视在线| 亚洲精品大尺度| 国产成人调教视频在线观看| 先锋影音日韩| 亚洲黄色片在线观看| 色多多在线观看| 国产精品视频99| 国产一区二区三区国产| 在线91av| 欧美激情精品久久久| 日韩avvvv在线播放| 4虎在线播放1区| 亚洲精品电影网| 日韩综合精品| 国产69精品久久久久999小说| 一道本成人在线| 国产乱人伦精品一区| 中文字幕剧情在线观看一区| 狠狠躁天天躁日日躁欧美| 成人福利片在线| 欧美二区三区| 夜夜嗨av一区二区三区四季av| 666av成人影院在线观看| 99在线观看| 国产精品久久久久永久免费观看| bl视频在线免费观看| 亚洲一区二区自拍| 国产精品久久久久久久午夜片| 免费毛片在线看片免费丝瓜视频| 91精品国产自产在线| 中文字幕av一区二区三区高| 在线手机中文字幕| 精品日本一区二区三区在线观看| 欧美激情一区二区三区在线| 啊啊啊久久久| 91视频网页| 一二三四区精品视频| 日韩高清在线观看一区二区| 99亚洲精品视频| 日韩一级大片在线观看| 欧美精品入口| 亚洲人成网址| 情事1991在线| 国产欧美日产一区| 色猫猫成人app| 亚洲欧美丝袜| 91麻豆精品久久久久蜜臀| 欧美a级片一区| 97香蕉久久| 欧美一级淫片videoshd| www激情久久| 欧美在线一级| 精品无码国模私拍视频| 亚洲男人天堂久| 日日摸夜夜添夜夜添精品视频| 丁香婷婷在线观看| 国产美女精品视频免费观看| 亚洲人成人一区二区在线观看| 日韩在线免费av| 国产大陆精品国产| 国产成人免费精品| 国产高清精品在线观看| 久久6精品影院| 国产精品情趣视频| 一区二区三区高清在线观看| 激情婷婷综合网| 欧美多人乱p欧美4p久久| 国产欧美日韩中文久久| 嫩草国产精品入口| 激情婷婷丁香| 国产精品十八以下禁看| 香蕉加勒比综合久久| 日韩在线第七页| 国产系列在线观看| 欧美日本韩国国产| 亚洲国产三级网| 成人免费高清在线| 中文在线综合| 免费女人黄页| 国产欧亚日韩视频| 精品视频资源站| 男人的j进女人的j一区| 国精产品一区一区三区四川| 最近免费中文字幕中文高清百度| 韩国视频理论视频久久| 一区二区三区在线观看动漫| 亚洲午夜精品一区二区国产| 国产视频网站在线| 色综合久久久久久久久五月| 亚洲欧美国产精品| 中文字幕 久热精品 视频在线 | 亚洲欧洲日本专区| 国产日韩精品一区二区浪潮av| 亚洲成aⅴ人片久久青草影院| 91美女在线| 精品国产乱码久久久久| 亚洲欧洲av一区二区| 国产精品免费看片| 好吊日精品视频| 亚洲校园激情春色| 99热com| 国内一区在线| 日韩精品日韩在线观看| 国产欧美日韩激情| 欧美在线国产| 玛雅亚洲电影| 97国产在线| 一区二区三区四区视频在线观看| 精品少妇一区二区30p| 色香色香欲天天天影视综合网| 精品在线播放免费| 天天躁日日躁成人字幕aⅴ| 一本一道波多野毛片中文在线 | 毛片av一区二区| 视频精品二区| 18视频免费网址在线观看| 99热久久这里只有精品| 成人激情视频小说免费下载| 亚洲老司机av| 精品高清美女精品国产区| 国产经典欧美精品| 97国产成人高清在线观看| 成人性生活av| 四虎精品在线| 人妻有码中文字幕| 久久久久资源| 国模私拍一区二区三区| 538prom精品视频线放|