linux-arm- drivers
家有工程师
了解的越多就发现自己越无知,路走得越远就发现自己越渺小;博观而约取,厚积而薄发,低调做事,平和为人
展开
-
网络设备
0:网络设备驱动的层次表现1:网络设备接口表现网络设备与linux中一切为文件的说法恰好想矛盾。网络设备最直观的表现是网络通过ethx 表现出现来。2:网络设备对应物理硬件接口下面是高通的QCA8075...原创 2020-07-09 21:59:33 · 280 阅读 · 0 评论 -
oenwrt 中的调试文件系统
1:oenwrt中调试文件系统的创建在使用之前必须对文件系统进行挂载,Debugfs没有物理设备,其挂载方式:mount -t debugfs none /sys/kernel/debug在openwrt的系统启动的文件中有如下代码会挂载debugfs其创建过程中设计到的API如下:struct dentry *debugfs_create_u8(c原创 2015-03-07 13:05:31 · 2033 阅读 · 0 评论 -
linux 下 nf_conntrack_tuple 跟踪记录
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-05-20 21:57:26 · 6608 阅读 · 0 评论 -
跨网段组播数据转发
最近在实际的项目中遇到了组播通信,其中最主要的问题是组播如何跨网络路由的问题,起初在网络找资料,找到了PIMD来实现组播数包的转发。借助pimd也能实现组包数据包的转发。但是,pimd是个应用程序,如果组播数据平凡的话,会影响到系统的效率。同时考虑到实际的项目中,组播数据源和组播的接受者是在同一个局域网之内,只要交换机支持组播,通过交换机将组播的发送者和接受者连接起来,之后通过更改驱动程序原创 2013-03-05 20:21:46 · 23644 阅读 · 0 评论 -
vitesse:74xx交换机VLAN配置及测试
1:系统及软件版本System>ConfigurationSystem Contact : System Name : System Location : MAC Address : 00-01-c1-00-00-00Chip ID : VSC7460System Time : 1970-01-01T00:45:15+00:00原创 2013-09-16 14:40:17 · 3275 阅读 · 1 评论 -
linux 下VLAN数据包格式及vconfig命令测试
主要是对VLAN的数据包格式进行了抓包分析。同时对vconfig命令的适用进行了说明。PC:10.10.107.168 AP:10.10.107.231(eth0.100)1:添加VLAN,使用vconfig。~# vconfigBusyBoxv1.10.3 (2012-09-23 02:13:20 CST) multi-call binaryUsage:vconfi原创 2012-11-25 10:11:39 · 25035 阅读 · 2 评论 -
atheros之flash驱动程序分析
1:uboot中的参数mtkparts在uboot的bootargs的参数设置如下:其中mtdparts=“”的内容会传递给内核进行解析。即:在linux内核文件Cmdlinepart.c打开调试信息:即:/* debug macro */#if 1 //更改为1,将打开调试信息#define dbg(x) do { printk("DEBUG-CMDLINE-原创 2013-06-25 22:02:36 · 4517 阅读 · 0 评论 -
linux 下getsockopt()和setsockopt()分析
1:在linux socket编译成中,我们经常使用如下类似的命令: #include /* See NOTES */ #include int getsockopt(int sockfd, int level, int optname,void *optval, socklen_t *optlen);原创 2013-05-20 22:04:03 · 2153 阅读 · 0 评论 -
根据IP地址获取对应的MAC地址
#include #include #include #include #include #include int main(int argc, char *argv[]){ struct sockaddr_in sin = { 0 }; struct arpreq myarp = { { 0 } }; int sockfd; unsigne原创 2013-01-08 21:32:53 · 5076 阅读 · 0 评论 -
linux 内核线程实例
~ # ps PID USER VSZ STAT COMMAND 1 root 868 S init 2 root 0 SW< [kthreadd] 3 root 0 SW< [ksoftirqd/0] 4 root 0 SW< [events/0] 5 r原创 2012-12-28 21:33:36 · 2909 阅读 · 0 评论 -
linux 内核中的软中断处理
Linux内核定义的软中断如下:static struct softirq_actionsoftirq_vec[NR_SOFTIRQS] __cacheline_aligned_in_smp;char *softirq_to_name[NR_SOFTIRQS] = { "HI","TIMER", "NET_TX", "NET_RX", "BLOCK", "T原创 2012-12-27 19:27:49 · 2050 阅读 · 0 评论 -
mini2440之/proc 目录中的文件创建及测试
在玩mini2440的时候,发现自己要经常查看/proc目中的某些文件,如:modules,mtd,iomem等.其中每个目录和文件都是动态创建的.并不存在于磁盘上[@mini2440 /proc]#ls1 302 cmdline iomem mounts tty11 306原创 2012-02-22 20:34:14 · 2679 阅读 · 0 评论 -
linux下面的”队列“
最近在学习linux内核相关的代码的时候,经常遇到跟"队列“相关的名词。感觉自己不能很清楚地说明白。故现在将跟”队列“有关的总结如下:1: 等待队列2:工作队列3: 请求队列一:等待队列在内核里面,等待队列是有很多用处的,尤其是在中断处理、进程同步、定时等场合。可以使用等待队列在实现阻塞进程的唤醒。它以队列为基础数据结构,与进程调度机制紧密结合,能够用于实现内核原创 2012-03-02 11:35:52 · 1520 阅读 · 0 评论 -
mini2440之nand flash 分析(1)
1:nand falsh 分区信息可以查看mini2440上面的文件/proc/mtd,/proc/partitions ,/dev[@mini2440 /proc]#cat mtd dev: size erasesize namemtd0: 00040000 00020000 "supervivi"mtd1: 00020000 00020000 "param"原创 2012-03-02 08:36:35 · 3216 阅读 · 0 评论 -
linux之misc及使用misc创建字符设备
1:linux字符设备及udev 1.1字符设备字符设备就是:一个一个字节来进行访问的,不能对字符设备进行随机读写。简单字符设备创建实例如下:#include #include #include #include #include #include #include #include #include #include #include原创 2012-02-16 20:11:48 · 17042 阅读 · 0 评论 -
arm之上的threadx OS编程之总结
一:threadx 开场白由于工作的原因,涉及到了threadx操作系统,其实我个人觉得,threadx和ucosII十分的相识,只是threadx用于商业性质,而不像ucosII那样提供了源代码。在消息队列,消息邮箱,事件标志组,信号量与ucosII有相似之处。我个人ucosII源代码自己研究过,对ucos的使用知道些。但是在设计多thread的能力还是欠缺,多个thread之间高效,简原创 2012-02-23 11:02:13 · 22097 阅读 · 1 评论