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

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>μC/OS-Ⅱ嵌入式以太網通信的設計解析

μC/OS-Ⅱ嵌入式以太網通信的設計解析

2017-10-23 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

 uC/OS-Ⅱ是一個源碼開放的搶占式實時操作系統。它內核短小精悍、可裁減、執行時間確定。系統大部分代碼采用C語言編寫,與硬件有關的部分都集中在兩個文件中,給出了規范的接口說明,移植相當方便,可應用于目前大多數型號的8位、16位、32位CPU
  uC/OS-Ⅱ提供的僅僅只是一個實時的調度及任務間通信的內核,沒有集成網絡協議。上網是當前嵌入式設備的廣泛需求,本文討論輕型TCP/IP協議棧的引入以及相關網絡設備驅動程序,實現嵌入式系統的網絡功能。
  本文所用的硬件系統結構如圖1所示。開發板基于TMS320LF2407A的含DSP微處理器和LAN91C111以太網控制器。在成功移植了μCOS-Ⅱ的基礎上進一步實現了以太網通訊功能。下面重點介紹TCP/IP協議棧的引入和LAN91C111驅動的編寫。
  μC/OS-Ⅱ嵌入式以太網通信的設計解析
  圖1 嵌入式以太網硬件系統結構圖
  TCP/IP網絡協議棧的引入
  在μCOS-Ⅱ上引入下TCP/IP協議棧,由于嵌入式系統的硬件資源有限,必須使用小型協議棧。這種協議棧很多,LwIP是其中之一。
  關于LwIP簡介
  LwIP是瑞士計算機科學院(SCICS)的Adam Dunkels等開發的一套用于嵌入式系統的開放源碼的輕型TCP/IP協議棧,但Lwip實現了較為完備的IP,ICMP, UDP, TCP協議,具有超時時間估計、快速恢復和重發、窗口調整等功能。IwIP在保持協議主要功能的基礎上減少對RAMROM的占用,一般它只需要幾十K的RAM和40K左右的ROM就可以運行,很適合同μCOS-Ⅱ相配合用在嵌入式系統中。LwIP在設計時就考慮到了將來的移植問題,它把所有與硬件、操作系統、編譯器相關的部分獨立出來,放在/src/arch目錄下,因此LwIP在μCOS-Ⅱ上的實現就是修改這個目錄下的文件,其它的文件一般不需要修改。下面分別予以說明:
  協議棧的實現
  ·與CPU及編譯器相關的include文件 /src/arch/include/arch目錄下cc.h、cpu.h、perf.h中有一些與CPU或編譯器相關的定義,如數據長度,字的高低位順序等。這應該與用戶實現μCOS-Ⅱ時定義的數據長度等參數一致。
  ·與操作系統相關部分 sys_arch.c中的內容是與操作系統相關的一些結構和函數,主要分四個部分: (1)sys_sem_t信號量LwIP中需用信號量通信,所以在sys_arch中應實現信號量結構體和處理函數:struct sys_sem_t{ sys_sem_new( )/創建一個信號量結構 sys_sem_free()/釋放一個信號量結構sys_sem_signal( )/發送信號量 sys_arch_sem_wait( )/請求信號量}由于μCOS-Ⅱ已經實現了信號量OS_EVENT的各種操作,并且功能和LwlP上面幾個函數的目的功能是完全一樣的,所以只要把μCOS-Ⅱ的函數重新包裝成上面的函數,就可以直接使用了。
  (2 )sys_mbox_t消息
  LwIP使用消息隊列來緩沖、傳遞數據報文,因此要在sys_arch中實現消息隊列結構sys_mbox_t,以及相應的操作函數。
  sys_mbox_new()/創建一個消息隊列 sys_mbox_free( ) /釋放一個消息隊列
  sys_mbox_post( )/向消息隊列發送消息
  sys_arch_mbox_fetch( )/從消息隊列中獲取消息
  μCOS-Ⅱ同樣實現了消息隊列結構及其操作,但是μCOS-Ⅱ沒有對消息隊列中的消息進行管理,因此不能直接使用,必須在μCOS-Ⅱ的基礎上重新實現。
  (3)sys_arch_timeout函數
  LwIP中每個與外界網絡連接的線程都有自己的timeout屬性,即等待超時時間。這個屬性表現為每個線程都對應一個sys_timeout結構體隊列,包括這個線程的timeout時間長度
  ,以及超時后應調用的timeout函數,該函數會做一些釋放連接,回收資源的工作.timeout結構體已經由LwIP自己在sys.h中定義好了,而且對結構體隊列的數據操作也由LwIP負責,我們所要實現的是如下函數:
  struct sys_timeouts*sys_arch_timeouts(void)
  這個函數的功能是返回目前正處于運行態的線程所對應的timeout隊列指針。timeout隊列屬于線程的屬性,它是OS相關的函數,只能由用戶實現。
  (4)sys_thread_new創建新線程
  LwIP可以是單線程運行,也可以多線程運行。為提高效率并降低編程復雜度,就需要用戶實現創建新線程的函數:
  void sys_thread_new(void(*thread)(void*arg), void*arg);
  在μCOS-Ⅱ中,沒有線程(thread)的概念,只有任務(Task)。它已經提供了創建新任務的系統API調用OSTaskCreate,因此只要把OSTaskCreate封裝一下,就可以實現sys_hread_new.
  ·lib_ arch中庫函數的實現
  LwIP協議棧中用到了8個外部函數,這些函數通常與用戶使用的系統或編譯器有關,因此留給用戶自己實現,有關程序如下:
  u16_t htons(u16_t n); /16位數據高低字節交換
  u16_t ntohs(u16_t n);
  int strlen(const char * str);/返回字符串長度
  int strncmp(const char * strl,const char * str2,int len);/字符串比較
  void bcopy(const void * src, void * dest, int len);/內存數據塊之間的互相拷貝
  void bzero(void *data, int n); /內存中指定長度的數據塊清零
  類似于操作系統在硬件上的移植,LwIP的移植也是根據實現的硬件以及操作系統對象,對相應的文件進行修改。整個通訊協議的引入可以很快實現。
  LAN91C111驅動的實現
  在上面為μCOS-Ⅱ引入了TCP/IP協議棧之后,為了實現以太網通信功能還必須完成相關網絡設備驅動程序的添加。LwIP的網絡驅動有一定的模板,其中src/netif/ethernetif.c文件即為驅動的模板,用戶為自己的網絡設備實現驅動時應參照這個模板,根據相應的網絡芯片來實現。本系統選用的網絡芯片是由SMSC公司生產的自適應10M/100M第三代快速以太網控制器芯片LAN91C111,集成了SMSC/CD協議的MAC(媒體層)和PHY(物理層)。由于其靈活性和集成度高,具有較高的性價比。
  LAN91C111工作流程比較簡單,驅動程序將要發送的數據包按指定格式寫入芯片并啟動發送命令,LAN91C111會自動把數據包轉換成物理幀格式在物理信道上傳輸;反之芯片收到物理信號后自動將其還原成數據,并按指定格式存放在芯片RAM中以便主機程序取用。簡言之就是LAN91C111完成數據包和電信號之間的相
  互轉換: 數據包 電信號。LAN91C111的編程主要包括:初始化、發送數據包、接收數據包三部分。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  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單片機開發板設計
  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次下載  |  免費
主站蜘蛛池模板: 爱逼综合 | 色免费在线 | 狠狠色噜狠狠狠狠色综合久 | 狠狠色丁香婷婷综合 | 中文字幕三级久久久久久 | 国产一级特黄高清在线大片 | 四虎影院com| 成人亚洲欧美在线电影www色 | 色爱区综合激月婷婷激情五月 | 成人午夜大片免费7777 | 国产精品亚洲一区二区三区在线播放 | 在线资源网 | 高清国产在线观看 | 免费看毛片网 | 手机在线你懂的 | 国产一区二区三区影院 | 女同激情视频 | 韩漫免费网站无遮挡羞羞漫画 | 操女人免费视频 | 狠狠的日视频 | 亚洲卡1卡2卡新区网站 | 一区免费视频 | 免费观看一级一片 | 亚洲迅雷 | 性欧美大战久久久久久久野外 | 色视频国产 | 午夜视频国产 | 一区视频| 久久久久免费精品国产小说 | 国产在线精品香蕉综合网一区 | 四虎网站在线播放 | 久久免费久久 | bt天堂磁力搜索 | 干天天| 日本最色网站 | 天天澡天天干 | 国产h视频在线 | 免费在线黄色网址 | 久久福利网 | 好男人社区www的视频免费 | 狠狠色噜狠狠狠狠色综合久 |