您好!欢迎光临IC普拉斯 元器件现货 !

IC普拉斯 元器件现货

全国服务热线: 18923485199

  • 热门关键词:
  • trace32用于rt线程支持的基本用法和系统插件的原理

    trace32forrt-threadsupport 1.概述2. trace32的基本用法3. Trace32系统插件的原理4.脱机trace32以获取rt-thread状态信息4.1 trace32上的rt-thread插件和菜单栏4.2 Trace32加载dump和elf文件5.摘要1.概述劳特巴赫是世界上最大的,完整的,模块化的和可升级的微处理器开发工具的制造商。自1979年以来,劳特巴赫在制造世界一流的调试器和实时跟踪方面拥有丰富的经验。
    其中,产品线中的TRACE32已为公众所熟知,并且是许多手机制造商和芯片制造商必不可少的工具。在嵌入式底层开发方面,如果不使用trace32,您将永远不会想到开发和调试的便利性以及其强大的功能。
    幸运的是,我学会了在特定芯片的支持下使用trace32工具,并编写了一些trace32forrt-thread插件。现在,我将整理我的经验和实施细节。
    2. trace32的基本使用关于trace32的使用,劳特巴赫提供了相当完整的文档支持。这对于芯片体系结构分析,软件重入分析,数据观察,操作系统状态以及各种符号信息等非常重要。
    它易于观察。它的调试功能强大并且非常易于使用,但是由于昂贵的硬件设备,长时间使用trace32也非常困难。
    但是trace32还提供了一个相关的仿真版本,因此在这里我们使用TRACE32Simulator版本来演示离线功能。您可以直接选择它,也可以输入命令首先选择CPU型号。
    您可以直接选择下面的提示框,也可以直接输入sys.cpu进行选择,这里选择Cortex-A9。然后,您可以进入system.up并开始。
    导入elf符号以查看与符号文件相对应的地址和代码。该程序的源代码可以直接通过elf符号获得。
    这时,您只需要组合转储文件和elf符号即可找到当前程序的执行状态。从以上功能的分析来看,它主要由两部分组成:1.菜单栏(菜单栏)2.显示信息窗口无论您单击菜单栏还是在命令行上输入命令,都可以达到预期的效果其实一样。
    菜单栏只是一个简单的插件,系统可以调用命令。 3. trace32系统插件的原理trace32是一种工具,它提供各种芯片和操作系统插件,并且还可以基于这些插件显示所需的信息。
    在操作系统级别,即RTOS部分,许多国外操作系统都得到了很好的支持,例如Linux,freertos或ucosii等,因此我在此基础上完成了rt-thread支持。要获得其支持,您首先需要获得Lauterbach的官方支持,提供EDK,还需要对rt线程系统的底层有非常深刻的了解,尤其是在系统布局方面全局容器对象,线程和IPC结构数组。
    很清楚之后,您可以继续进行插件的扩展开发。基本原理可以概括如下:TRACE32在执行程序分析时,可以通过ELF获取符号表信息,并查询系统的全局变量和函数地址信息。
    当程序动态运行时,根据符号表对应的地址读取数据,以获取当前程序的状态信息。在rt线程中,有一个核心的全局静态变量,即对象容器(rt_object_container)。
    它记录当前系统中所有线程,IPC和其他链接列表的安装点。根据该线索,可以找到与每个链表地址相对应的结构,并且可以根据符号信息来找到对应对象的状态结构的数据。
    TRACE32插件的基本原理是使用符号和地址之间的对应关系来获取系统信息和当前状态。 4.脱机trace32获得rt线程状态信息。
    在离线分析的这一部分中,转储方案会根据特定的硬件更改而更改,因此在此不再赘述。当程序动态运行时,仅qemu用于转储数据信息。
    为了简单起见,使用Raspberry Pi 2b的rt-threadbsp进行演示。当在qemu上启动raspi2时,必须在开始之前将一个句子添加到编译中。
    / *挂起其他CPU * / mrcp15,0,r0,c0,c0,5andsr0,#3bne_halt _halt的实现如下:_halt:wfeb_halt在这里挂起其他内核。然后在env工具下输入scons进行编译,并输入以下命令来测试qemu的执行情况qemu-system-arm-Mraspi2-m1024M-serialnull-serialstdio-kernelrtthread.elf您可以看到以下效果。

      服务热线:18923485199

      联系电话:0755-29796190

      公司邮箱:momo@jepsun.com

      公司地址:深圳市宝安区翻身路富源大厦408

    相关

    最新

    联系芯普拉斯

    18923485199

    QQ:2215069954
    地址:深圳市宝安区翻身路富源大厦408