精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>接口定義>

與CPU或編譯器 - 基于mC/OS-II的視頻監控終端無線網絡接口設計

2011年08月24日 15:13 本站整理 作者:網絡 用戶評論(0
與CPU或編譯器

  相關的include文件

  在/src/arch/include/arch 目錄下的cc.h、cpu.h、perf.h中有一些與CPU或編譯器相關的定義,如數據長度、字的高低位順序等,這應該與用戶實現mC/OS-II時定義的數據長度等參數一致。一般情況下C語言的結構體struct是4字節對齊的,但是在處理數據包的時候,LwIP是通過結構體中不同數據的長度來讀取相應數據的,所以,一定要在定義struct的時候使用_packed關鍵字,讓編譯器放棄struct的字節對齊。

  sys_arch操作系統相關部份

  sys_arch. [ch]中的內容是與操作系統相關的一些結構和函數。mC/OS-II實現了消息隊列結構OSQ及其操作,但沒有對消息隊列中的消息進行管理,因此不能直接使用,必須重新實現。對隊列本身的管理可利用mC/OS-II自己的OSQ操作完成,然后使用mC/OS-II中的內存管理模塊實現對消息的創建、使用、刪除回收,兩部分綜合起來即可形成LwIP的消息隊列功能。

  sys_thread_new 創建新線程

  在mC/OS-II 中,沒有線程(thread)的概念,只有任務(Task)。它已經提供了創建新任務的系統API調用OSTaskCreate,因此只要把 OSTaskCreate封裝一下,就可以實現sys_thread_new。需要注意的是LwIP中的thread并沒有mC/OS-II中優先級的概念,實現時要由用戶事先為LwIP中創建的線程分配好優先級。

  lib_arch中庫函數的實現

  LwIP協議棧中用到了8個外部函數,這些函數通常與用戶使用的系統或編譯器有關,因此應由用戶自己實現。

  LwIP的設備驅動程序接口

  LwIP與PPP的程序結構簡要描述如下:

  #define NTHREADS 3

  #define STACKSIZE( CYG NUM_HAL_STACK_SIZE_TYPICAL + 4096 )

  #define NTHREADS 3

  #define STACKSIZE ( CYG NUM_HAL_STACK_SIZE_TYPICAL + 4096 )

  err = cyg_io_lookup( "/dev/ser1", &handle1 );

  if (ENOERR == err) {

  middleblink();

  } else {

  leftblink();

  };

  pppInit();

  pppSetAuth(PPPAUTHTYPE_ PAP," pppuser","pppassword");

  pd=pppOpen(handle1,ppp LinkStatus Callback,NULL);

  void pppLinkStatusCallback (void * ctx, int errCode, void * arg) {

  skipblink();

  }

  結語

  本設計有機地結合了嵌入式終端設備和無線傳輸,符合嵌入式和無線網絡結合的發展趨勢。同時,這一接口設計也對其它視頻監控系統的發展起到一定的借鑒意義。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:小蘭 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?