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

 


相关内容

热门资讯

特朗普:美方正与伊朗谈判,不排... 当地时间7月24日,美国总统特朗普在白宫谈及对伊朗战争的“退出战略”时表示,美国有两种选择:一是继续...
小伙相亲2天后花33万闪婚,一... 极目新闻记者 邓波2025年4月,安徽安庆小伙何攀到贵州贵阳花果园相亲,并与相识两天的贵阳籍女子陆某...
丘成桐:王虹和邓煜都在MIT待... 当地时间7月23日,在美国费城举行的2026年国际数学家大会开幕式上,中国数学家邓煜、王虹获得菲尔兹...
欧盟对俄制裁列单中企,中国驻欧... 问:2026年7月23日,欧盟通过第21轮对俄罗斯制裁方案,新增列单制裁中国企业。中方对此有何评论?...
特朗普预警9月政府“停摆”,美... 一国总统公开预警自家联邦政府即将“停摆”,这种魔幻剧情又双叒叕要在华盛顿上演?当地时间7月22日,特...
视频丨2026年APEC数字和... 昨天(23日),2026年亚太经合组织数字和人工智能部长会议在四川成都举行。本届会议的主题为“数字和...
海南商发二期发射区土建完工,建... 7 月 24 日消息,海南商发今日宣布,海南商业航天发射场二期发射区建设项目土建工作完成,全面转入设...
菲律宾,没有以色列的命,得了以... 菲律宾,马尼拉。美国国务卿鲁比奥来了。菲律宾期盼已久的“救星”来了。菲律宾认为的“阳光”来了。从机场...
服务器盛会东莞启幕,松山湖软硬... 7月23日至24日,“智算筑基 融链共赢——2026年服务器产业供需对接活动”在东莞举行。作为系列配...
面向6G通信、高端安检、精准医... 太赫兹作为“电磁波段最后一块未开垦之地”,近年在超快光电子、低尺度半导体技术的推动下,逐步从实验室走...