在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>嵌入式開發(fā)>嵌入式設備的踩內存問題定位分析總結

嵌入式設備的踩內存問題定位分析總結

2019-07-17 | pdf | 0.12 MB | 次下載 | 1積分

資料介紹

  現象

  51交換機中移入ERPS功能后,通過ping設備抓包發(fā)現設備的mac地址的后兩位并不是設備的原先的地址,原先的mac地址為 fc:19:d0:01:02:03,但是設備arp應答的地址卻是

  fc:19:d0:01:05:07,設備arp應答的地址時通過uip_ethaddr該全局變量獲取的。故pc發(fā)送icmp的目的mac地址

  fc:19:d0:01:05:07,不為設備的mac地址,設備無法命中對應的ACL規(guī)則,導致ping設備不通.

  初步懷疑是新增ERPS代碼導致

  故通過添加調試打印的方式進行跟蹤查看該全局變量uip_ethaddr的mac地址是何時被修改的,從設備初始化開始加,最后發(fā)現在main函數中的while循環(huán)中,當第一個10ms定時器出發(fā)后,進入Drv_Port_IsolateApply()該函數的調用后uip_ethaddr該內容的后面兩個字節(jié)就被修改了。當時感覺很不可思議,怎么無緣無故就發(fā)生變化了呢。

  則通過注釋ERPS的新增代碼發(fā)現,當注釋到uip_ERPS_PduHandle函數時發(fā)現能夠正常ping通設備。并且經過測試發(fā)現當將某個全局變量改大或者改小的話,問題也不會出。這就更加感覺離譜了,然后就懷疑是存儲變量的xdata區(qū)域是否有界限限定,但是咨詢后發(fā)現xdata區(qū)域大小是48K,所以并沒有超出范圍。

  借助MAP文件分析

  通過咨詢得到可以通過Keil編譯生成的MAP文件進行查看uip_ethaddr該變量前后是否出現相關其他變量,是否出現內存越界問題。借助MAP文件,經過測試發(fā)現當問題出現時總是發(fā)生在指針地址為02007FF6H地方,并且是從02007FFAH的位置開始踩內存,踩內存的大小為6個字節(jié)。

  根據這一現象,則懷疑是否我們原先代碼就是存在這樣的問題的,然后從庫上下載代碼,并且通過調整幾個變量的大小,使得 uip_ethaddr的位置剛好落在02007FF6H處。最后驗證發(fā)現確實是同樣存在問題的,uip_ethaddr的內存的最后兩個字節(jié)被修改為05,07。然后再次調整,將某個全局變量落在該指針處,通過將該指針的內容打印方式進行確認是否是在該問題02007FFAH的往后6個字節(jié)被踩掉了。結果驗證確實如此,該全局數組的數據從指針地址02007FFAH開始的往后6個字節(jié)被修改了。

  故猜想是否只要有內存落在該地址區(qū)間,這片內存就會被改變,根據該猜想進行驗證,通過查找文檔發(fā)現,可以直接指定某個變量在某個地址區(qū)間,Keil C可以讓你指定變量的存儲地址例如 你想定義一個整型變量 并把它初始化為0x4050 用C是不能夠把變量指定在某個地址的 另外你也不能指定位變量的地址 但是 對于不需要初始化的變量 你可以使用關鍵字_at_來指定地址,故根據文檔設置全局變量如下: uint8 xdata ucString2[64] _at_ 0x7FF6; 并且通過調試手段將該內存的內容給打印出來。經過測試發(fā)現,正如我們猜想的,還是在同一個位置地址02007FFAH處被踩了6 個字節(jié)。根據上述現象,我們就想采取使用占用地址的方式來規(guī)避該問題。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 特黄特色三级在线播放 | 青草视频久久 | 性欧美大战久久久久久久 | 99热久久国产精品 | 亚洲五月激情 | 在线播放免费 | 久久激情五月 | 免费观看黄视频网站 | 日本资源在线 | 欧美性久久久久 | 亚洲伊人久久大香线蕉结合 | 亚洲在成人网在线看 | 色天天躁夜夜躁天干天干 | 免费午夜视频 | 午夜爽| 国产精品国产三级在线高清观看 | 亚洲欧美在线视频免费 | 男女一进一出无遮挡黄 | 狠狠色狠狠色综合网 | 香蕉狠狠再啪线视频 | 影视精品网站入口 | 日本黄色的视频 | 在线午夜 | 久久6免费视频 | 国产精品www视频免费看 | 免费视频www | 久久综合五月开心婷婷深深爱 | 天天干在线影院 | 免费三级网站 | 少妇被按摩 | dvd碟片色爱| 色多多污网站在线观看 | 欧美日韩在线成人看片a | 尤物蜜芽福利国产污在线观看 | 女人本色高清在线观看wwwwww国产 | 国产精品午夜高清在线观看 | 天堂网在线资源www最新版 | 免费免播放器在线视频观看 | 欧美一级欧美一级高清 | 国产精品资源 | 日本加勒比在线精品视频 |