Linux驱动
文章平均质量分 57
燃烧的卡卡
加油~
展开
-
查看当前Linux系统的内核编译config文件,生成编译驱动所需的内核头文件
插看当前Linux系统的内核编译config文件,生成编译驱动所需的内核头文件原创 2023-01-03 10:12:55 · 2015 阅读 · 0 评论 -
dynamic debug 使用
debugfs_dir 为挂载的目录,可自定义,这里以/sys/kernel/debug为例。可以按需要,选定 模块,文件,行号,格式,选择调试输出。// 打开文件路径中包含“mtd”的所有文件的调试信息。// 提供函数svc_process()的所有信息。// 提供文件 svcsock.c 1603行信息。// 提供NFS调用的所有以READ开始的信息.和打开调试类似,只需要将+p 改为-p ,即可。// 提供文件svcsock.c所有信息。// 提供NFS服务模块所有的信息。原创 2022-10-17 11:23:32 · 454 阅读 · 0 评论 -
Installing Debian over serial console
Installing Debian over serial console on APU boardPosted byPawel SuwalaonSep 24, 2017Installing Debian on APU boards is easy, if you know the steps.Step 1:Download netinst, amd64 image from...转载 2020-01-16 19:33:50 · 527 阅读 · 1 评论 -
浅谈 NCSI 及其在 Linux 上的实现--IBM Developer社区文章
http://www.ibm.com/developerworks/cn/linux/l-cn-ncsi/转载 2019-11-02 18:08:09 · 1248 阅读 · 0 评论 -
ARM ASPEED 2500 uboot openbmc linux 启动记录
支持原创,转载请注明出处ARM ASPEED 2500 uboot openbmc linux 启动记录前言其实openbmc 官方推荐的方法是使用Yocto poky方法来定制aspeed 2500相关的组件,看起来也很方便,一站式解决所有问题,但是由于鄙人不太熟悉Yocto那套编译方法所以就放弃了, 我采用了单独编译Uboot,openbmc/linux ,busybox的方...原创 2020-03-07 15:50:11 · 5109 阅读 · 4 评论 -
u-boot FIT image介绍
1. 前言Linux kernel在ARM架构中引入device tree(全称是flattened device tree,后续将会以FDT代称)的时候[1],其实怀揣了一个Unify Kernel的梦想----同一个Image,可以支持多个不同的平台。随着新的ARM64架构将FDT列为必选项,并将和体系结构有关的代码剥离之后,这个梦想已经接近实现:在编译linux kernel...转载 2019-10-29 15:00:28 · 985 阅读 · 0 评论 -
BMC相关
BMC基本概念介绍:BMC:基板管理控制器 (Baseboard Management Controller) BMC(Baseboard Management Controller,基板管理控制器)支持行业标准的 IPMI 规范。该规范描述了已经内置到主板上的管理功能。这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除。 BMC 提供下列功能: 与 IP...原创 2019-10-15 14:31:51 · 3437 阅读 · 1 评论 -
__attribute__((packed))
#include #define ATTRIBUTE#ifdef ATTRIBUTE#define ATTR __attribute__ /*((aligned(8)))*/((packed))#else#define ATTR#endiftypedef struct ATTR _size{ char name[7]; int b;}size;i转载 2012-08-31 14:46:45 · 3516 阅读 · 0 评论 -
应用程序中对/dev/mem和/dev/kmem设备文件的访问
Linux下/dev/mem和/dev/kmem的区别:/dev/mem: 物理内存的全镜像。可以用来访问物理内存。/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。作用: /dev/mem用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存原创 2012-07-17 18:16:21 · 6426 阅读 · 0 评论 -
内核符号表
【内核符号表,kernel symbol table】Linux的内核是个单内核monolithic,任一函数都可以访问公共数据结构和函数调用。在设计程序时,需要命名一些函数名、变量名等;同样内核中就含有很多的全局符号。内核不是人脑皮层,要使用变量和函数-地址(指针)-来访问对应的变量和函数。内核符号表就是为程序员通过符号来访问程序体的对应地址(指针),建立了一个动态的,可变更的映转载 2012-07-11 18:03:44 · 4712 阅读 · 0 评论 -
编译模块出现WARNING: "xxxx" [xxxx.ko] undefined!的警告
应该是正在编译的模块a对另外的模块b有依赖关系 (意思是b内有EXPORT_SYMBOL(xx_fun),而xx_fun正是a模块中调用了的),首先将b加载上去,然后在加载a,就不用在意这些WARNING了,还有就是记得Makefile中所指的源码路径的内核重新编译,生成的uImage也要更新,这样才能保证符号表相符。如果不是这个问题,就用EXPORT_SYMBOL_GPL()或者EXPORT原创 2012-07-11 18:02:22 · 10191 阅读 · 0 评论 -
busybox tftp命令的使用
Busybox下的tftp命令可以用来进行单文件传输。使用的时候,是把电脑作为服务器Server,Busybox作为客户端Client,使用tftp命令可以实现从Server下载单个文件到Client,或者从Client上***个文件到Server。 首先来了解一下tftp命令参数,在Busybox下输入tftp –help,得到tftp使用的详细参数,如下图转载 2012-07-09 20:49:08 · 4321 阅读 · 0 评论 -
Linux内核调试方法
原文链接kdb:只能在汇编代码级进行调试; 优点是不需要两台机器进行调试。 gdb:在调试模块时缺少一些至关重要的功能,它可用来查看内核的运行情况,包括反汇编内核函数。 kgdb:能很方便的在源码级对内核进行调试,缺点是kgdb只能进行远程调试,它需要一根串口线及两台机器来调试内核(也可以是在同一台主机上用vmware软件运行两个操作系统来调试)printk() 是调转载 2012-03-22 15:38:10 · 12029 阅读 · 0 评论 -
使用 Crash 工具分析 Linux dump 文件
原文链接:http://www.ibm.com/developerworks/cn/linux/l-cn-dumpanalyse/index.htmlLinux 内核(以下简称内核)是一个不与特定进程相关的功能集合,内核的代码很难轻易的在调试器中执行和跟踪。开发者认为,内核如果发生了错误,就不应该继续运行。因此内核发生错误时,它的行为通常被设定为系统崩溃,机器重启。基于动态存储器的转载 2012-03-22 13:32:46 · 1194 阅读 · 0 评论 -
关于ioctl的几个链接
http://blog.sina.com.cn/s/blog_693301190100vyhh.htmlhttp://3954552.blog.51cto.com/blog/3944552/717732http://blog.chinaunix.net/link.php?url=http://lwn.net/Articles/119652/转载 2012-04-01 22:55:15 · 379 阅读 · 0 评论 -
warning: function declaration isn’t a prototype(函数声明不是原型)的解决办法
linux驱动中定义一个无参的函数int probe_num(){ ....}警告:函数声明不是一个原型 [-Wstrict-prototypes]应对方法:改成int probe_num(void){ ....}警告消失原创 2012-03-30 11:00:34 · 35174 阅读 · 2 评论