SylixOS 下读写寄存器小工具集

SylixOS 下读写寄存器小工具集

在驱动开发的过程中,经常需要的一个调试手段就是读出寄存器的值来验证某个功能是否配置正确,一般的做法是在驱动中添加一条打印,将寄存器值打印出来。这样就得重新更改源码,然后编译,最后运行观察结果。这样的方法很繁琐也浪费时间,用下面的工具就可以很方便的在命令行读写某个寄存器,从而达到快速验证功能的目的。
编译方法:
1.ker_rw.zip 是驱动模块,regeditor.zip 是应用程序
2.将这两个工程源码导入到 IDE 中
3.更改这两个工程的base为具体平台的 base
4.编译上传到目标板
  使用方法:
    1.确保目标板的寄存器空间已经在 bspmap.h 中配置好,否则读写寄存器会报内存错误。
    2.使用前必须先安装 ker_rw 模块,在 SylixOS 命令行执行:modulereg  /xxx你的模块所在路径xxx/ker_rw.ko
    3.可以将 regeditor 程序复制到 /bin 目录下,这样就可以直接在命令行输入 regeditor 使用了
    4.输入“regeditor r8/r16/r32 寄存器地址 [个数]”来读寄存器值,个数可以省略,省略表示默认读1个数据,这1个数据多少位是用 8/16/32 来指明的 输入“regeditor w8/w16/w32 寄存器地址 寄存器值”来写寄存器
    5.寄存器地址和寄存器值都为16进制,需加0x前缀,如:regeditor r32 0x10000000 0xa,读取10个数据。
    6.输入 regeditor 回车,可以查看使用说明(图中的 reg 是 regeditor 被我重命名过后的名字)
 

    工具下载:
     ker_rw.zip (6.62 KB, 下载次数: 5)      regeditor.zip (6.21 KB, 下载次数: 5)

    • Related Articles

    • SylixOS 下好用的小工具集

      问:SylixOS 下有哪些好用的小工具? (1)本工具集目前包SylixOS下小工具集含三个功能:读寄存器、写寄存器、hexdump文件。 (2)本工具集是一个ko模块,包含三个命令:md、mw、hexdump。 由于是在内核空间操作,所以操作者必须保证操作的正确性,否则可能引起系统崩溃。 (3)md、mw移植自uboot,使用方式和uboot一样。 只是原来在uboot下的md.b xxx这些操作在SylixOS下要换成md -b xxx操作。 (4)hexdump用法为hexdump ...
    • 使用 GDB 命令行调试 SylixOS 应用程序

      一、简介 SylixOS 在内核中内置了一个标准的 GDB Server。使用 GDB 调试,只有两个步骤: 在 SylixOS 上启动 GDB Server; 使用交叉编译工具链中的 GDB 应用程序连接到 SylixOS 上的 GDB Server。 两个步骤完成后,便可以使用 GDB 进行调试了 注:SylixOS 的 GDB 不支持 Watch 变量的功能,因为 Stub 不支持数据断点。 二、前提条件 1. 断开硬件调试工具 GDB 依靠 CPU ...
    • GDB 调试时如何显示浮点寄存器

      Q:GDB 调试时如何显示浮点寄存器? SylixOS 的 IDE 对 64 位浮点寄存器的按 double 类型显示,如果是 float 类型的变量用 info all-reg 来查看:操作是需要选中 mips64-sylixos-elf-gdb 在 debugger console 里输入 info all-reg 或者 info float 如下图所示:                                                                     ...
    • SylixOS 功能介绍及版本差异

      SylixOS功能介绍及版本差异 SylixOS 标准版 SylixOS 标准版是 SylixOS 的基础版本,具备如下功能: 兼容 IEEE 1003(ISO/IEC 9945)操作系统接口规范; 兼容 POSIX 1003.1b(ISO/IEC 9945-1)实时编程标准; 支持国军标 GJB7714-2012 操作系统接口规范; 优秀的实时性能(任务调度与切换算法时间复杂度为 O(1)); 支持无限多任务; 抢占式调度支持 256 个优先级; 支持虚拟进程; ...
    • SylixOS lite 版—基于 STM32F767 资源使用情况

      1、基本概念     代码段(text):顾名思义,代码存放的位置,在 STM32 中代码段一般存放于内置 FLASH 中; 已初始化数据段(data):已初始化数据段会分别体现在 FlASH 中和 RAM 中。因为是全局变量,运行过程中需要进行读写操作,因此占用一段 RAM 空间。又因为有初始值,其初始值需要占用 FlASH 空间。   未初始化的数据段(bss):bss 与 data 相同的地方时它也是全局变量,运行过程中需要进行读写操作,因此占用一段 RAM ...