中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SylixOS調試方法詳解——綜合案例分析

發布時間:2020-07-23 20:00:04 來源:網絡 閱讀:465 作者:Esc120 欄目:軟件技術

1. SylixOS調試方法介紹

SylixOS實現了一個功能強大的調試stub(樁),可在設備或模擬器上在線調試應用程序,RealEvo-IDE也提供配套的調試插件。目前RealEvo-IDE既支持自動推送調試、也支持傳統的手動啟動gdbserver的調試方式。在官方公布的使用手冊中沒有詳細寫出在日常開發中非常實用的幾種調試方式,本文主要介紹一個由底層到應用層的綜合調試方法。

2. SylixOS綜合案例調試步驟詳解

2.1      綜合案例演示demo

綜合案例demo包括三個部分:user_app(應用層)、calc_lib(中間層動態庫)、pwm_driver(底層驅動模塊)。本篇文檔通過介紹應用層對TTY接口(pwm_driver )和calc_lib的調用來全面的展示系統的使用方式。user_app主要是打開PWM設備并調用動態庫中的算法,代碼如程序清單 21所示;calc_lib是一個動態庫,代碼如程序清單 22所示;程序pwm_driver是一個TTY設備接口函數。

程序清單  21  user_app代碼

#include <stdio.h>

 

int main (int argc, char **argv)

{

   int  icalc_result;

     /*

      *  打開PWM設備

      */

   int  pwm_fd = open("/dev/pwm/pwm", O_RDWR);

 

     /*

      *  打開設置步進速度

      */

   ioctl(pwm_fd,1,2);

 

   while  (1) {

      /*

       *  獲取算法結果

       */

      icalc_result  = lib_func (10);

      malloc(100);

 

      /*

       *  控制PWM輸出

       */

      write(pwm_fd,  &icalc_result, sizeof(icalc_result));

 

      sleep(1);

   }

 

     return  (0);

}

 

程序清單  22 calc_lib代碼

#include <stdio.h>

int lib_func (int ivalue)

{

   int  iresult = 0;

   iresult  += 100;

     return iresult;

}

 

2.2      中間層calc_lib(動態庫)調用

右擊應用程序,選擇Properties,將動態庫添加至應用程序中并進行關聯,如圖 21所示。

SylixOS調試方法詳解——綜合案例分析                            

圖 21  添加動態庫

關聯后將user_app(應用層程序)、calc_lib(中間層動態庫)、pwm_driver(底層驅動模塊)部署到模擬器上。

2.3      加載驅動模塊(pwm_driver)

在“ /lib/modules ”下查看驅動模塊是否上傳成功,如圖 22所示。

SylixOS調試方法詳解——綜合案例分析

圖 22  驅動模塊上傳成功

用“modulereg”指令加載驅動模塊,如圖 23所示。

SylixOS調試方法詳解——綜合案例分析

圖 23  加載驅動模塊

運行應用程序,結果如圖 24所示,調用了動態庫中的算法。

SylixOS調試方法詳解——綜合案例分析

圖 24  應用程序運行結果

3. 總結

在SylixOS中可以使用多種調試方式進行相關調試,根據實際情況對程序進行調試,本節主要通過一個完整的工程文件來描述從從應用層到底層的基本使用流程。

4. 參考資料

《SylixOS應用程序開發手冊》

《RealEvo-IDE使用手冊》

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤庆县| 黑水县| 恭城| 札达县| 壶关县| 高雄市| 泽普县| 榆林市| 贵定县| 樟树市| 大城县| 沅江市| 涞水县| 上高县| 惠水县| 娱乐| 临沭县| 江津市| 昭苏县| 汪清县| 西平县| 乐都县| 崇信县| 瑞昌市| 甘孜县| 四川省| 长沙市| 渝北区| 汕尾市| 德兴市| 凌源市| 舒兰市| 乃东县| 武威市| 老河口市| 原阳县| 芜湖县| 河东区| 洛浦县| 九台市| 涪陵区|