SylixOS调试方法详解——综合案例分析
admin
2023-02-19 10:20:03
0次

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

 

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

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使用手册》

 


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...