您好,登錄后才能下訂單哦!
SylixOS實現了一個功能強大的調試stub(樁),可在設備或模擬器上在線調試應用程序,RealEvo-IDE也提供配套的調試插件。目前RealEvo-IDE既支持自動推送調試、也支持傳統的手動啟動gdbserver的調試方式。在官方公布的使用手冊中沒有詳細寫出在日常開發中非常實用的幾種調試方式,本文主要介紹一個由底層到應用層的綜合調試方法。
綜合案例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; } |
右擊應用程序,選擇Properties,將動態庫添加至應用程序中并進行關聯,如圖 21所示。
圖 21 添加動態庫
關聯后將user_app(應用層程序)、calc_lib(中間層動態庫)、pwm_driver(底層驅動模塊)部署到模擬器上。
在“ /lib/modules ”下查看驅動模塊是否上傳成功,如圖 22所示。
圖 22 驅動模塊上傳成功
用“modulereg”指令加載驅動模塊,如圖 23所示。
圖 23 加載驅動模塊
運行應用程序,結果如圖 24所示,調用了動態庫中的算法。
圖 24 應用程序運行結果
在SylixOS中可以使用多種調試方式進行相關調試,根據實際情況對程序進行調試,本節主要通過一個完整的工程文件來描述從從應用層到底層的基本使用流程。
《SylixOS應用程序開發手冊》
《RealEvo-IDE使用手冊》
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。