linux
风而已
这个作者很懒,什么都没留下…
展开
-
usb-gadget-configfs 的使用
usb gadget configfs 的使用挂载mount -t configfs none /sys/kernel/config挂载路径自定,上面命令挂载在 /sys/kernel/config 目录下挂载后的目录结构如下,configfs自动生成usb_gadget目录config| ---- usb_gadget创建 gadget目录mkdir -p /sys/kernel/config/usb_gadget/my_gadget挂载后的目录结构如下,都是usb原创 2020-09-29 11:24:59 · 5590 阅读 · 10 评论 -
linux gpio中断
最近用到gpio中断,gpio中断也是嵌入式系统用的比较多的。对于GPIO操作 linux 有一套标准的 API,set value、get value之类的,当然也有关于中断的。关于中断的就是:static inline int gpio_to_irq(unsigned int gpio){ return __gpio_to_irq(gpio);}1 使用g原创 2015-03-27 14:30:22 · 10222 阅读 · 2 评论 -
linux中断系统的一些研究
关于linux的中断系统网上有好多文章,基本的原理流程都能查的差不多。这里是我个人学习或使用中遇到的一些疑问,作为一个记录。个人理解,可能会有错漏,欢迎指出。1,linux内核有没有中断优先级?linux中断没有引入优先级的概念,并且现在linux内核会在执行中断处理函数时禁止cpu中断。2,关于IRQF_DISABLED 这个flag已经在新版本内核中不再原创 2015-03-26 13:58:17 · 415 阅读 · 0 评论 -
arm-linux-gdb与gdbserver
1、arm-linux-gcc每一种硬件都有其对应的最好的编译工具,并不是最新的最好。其实思想很简单,就是在宿主机(PC)上编译目标板子上运行的程序。所以工具链要用目标板的,这样去编译生成可执行的二进制文件。这里有一个工具制作工具链,http://www.kegel.com/crosstool/。虽然它可以自动下,还是先下好吧自己,那个速度,呵呵。2、arm-linux-gdb转载 2015-08-19 14:44:43 · 540 阅读 · 0 评论 -
linux ttyS设备的close
/* * Open file table structure */struct files_struct { /* * read mostly part */ atomic_t count; struct fdtable __rcu *fdt; struct fdtable fdtab; /* * written part on a separate cach原创 2017-11-30 15:22:55 · 938 阅读 · 0 评论 -
使用iptables使多网口开发板可级联上网
需求情况开发板A有两个网口eth0 eth1,分别属于不同网段eth0在10.130.x.x ,而eth1在192.168.1.x开发板A eth0在192.168.1.x 那么板B eth0与 板A eth1 相连可以ping通, 那么板B如何通过板A连到10.130.x.x网段 如下图:使用开源工具iptables即可实现1,下载编译iptables下载不再细说,网上搜索iptables即可...原创 2018-03-22 13:21:20 · 1344 阅读 · 0 评论 -
SLUB DEBUG检测内存问题
打开内核功能CONFIG_SLUB=yCONFIG_SLUB_DEBUG=yCONFIG_SLUB_DEBUG_ON=y或者CONFIG_SLUB_DEBUG_ON=n时使用启动参数来打开debug功能,具体参数如下slub_debug=<Debug-Options> Enable options for all slabsslub_debug=<Debug-Opt...原创 2018-03-22 10:57:13 · 3246 阅读 · 0 评论 -
arm linux 启动进入login
1.busybox 配置[*] login[*] passwd 重新编译busybox后,更新文件系统2.启动进入系统,使用passwd命令为root添加密码3.如果使用romfs需要把/etc/passwd 和/etc/shadow文件保存到rootfs4.在inittab里面加一句:::sysinit:/etc/init.d/rcS::respawn:/bin/login/etc/init....原创 2018-03-22 11:18:21 · 3655 阅读 · 0 评论 -
ARM Linux下spinlock 的实现
1),spin lock 结构体typedef struct spinlock { union { struct raw_spinlock rlock;#ifdef CONFIG_DEBUG_LOCK_ALLOC# define LOCK_PADSIZE (offsetof(struct raw_spinlock, dep_map)) st...原创 2019-08-07 17:58:43 · 802 阅读 · 0 评论