【Linux应用】sysfs、gpio、设备树调试常用命令以及物理寄存器读取小工具

段错误gdb调试ulimit -c unlimitedsudo /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb ./digitupdate /home/book/nfs_rootfs/corebacktrace strace -o log.txt (+ 应用程序)查看input系统的信息cat
摘要由CSDN通过智能技术生成

段错误gdb调试

ulimit -c unlimited
sudo /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb ./digitupdate /home/book/nfs_rootfs/core

backtrace
    
strace -o log.txt (+ 应用程序)

查看input系统的信息

cat /proc/bus/input/devices

挂载

ifconfig eth0 172.20.143.144
mount -t nfs -o nolock,vers=3 172.20.143.140:/home/book/nfs_rootfs /mnt

中断调试

cat /proc/interrupt
cat /sys/kernel/debug/gpio

设备树

cd /sys/firmware/devicetree/base

spi

cd /sys/bus/spi/devices

平台设备总线

cd /sys/bus/platform/drivers

GPIO

cd /sys/class/gpio
echo 13 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio13/direction
echo 1 > /sys/class/gpio/gpio13/value
err = gpio_request(13, "test"); //请求一个GPIO
gpio_free();

读写物理地址

devmem -h
devmem 0x50002000 32

搜索devmem2可以找到源代码 程序有问题 STM32MP157有问题

volatile unsigned int *gpioa;
gpioa = ioremap(0x50002000, 4);

printk("gpioa 0x%x", *gpioa);

iounmap(gpioa);

跨平台复制

scp book@192.168.5.11:/home/book/nfs_rootfs/leddrv.ko leddrv.ko

在这里插入图片描述

物理寄存器读取小工具

应用程序

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <poll.h>
#include <signal.h>
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>

#define KER_RW_R8      0
#define KER_RW_R16     1
#define KER_RW_R32     
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值