上一页 1 ··· 6 7 8 9 10
摘要: 1.MPU:Micro Processor Unit,微处理器;MCU:Micro Controller Unit ,微控制器,两者之间的区别是MPU具有MMU内存管理单元(映射和选址),而MCU具有内存控制单元(选址)。 2.两者可以将程序分为应用层和驱动层(库实现),驱动层都用来操作具体的硬件, 阅读全文
posted @ 2022-09-29 10:12 QianFa01 阅读(193) 评论(0) 推荐(0)
摘要: 裸机 uboot 内核 文件系统 驱动 应用;(前三者入门不看) vi中快速定位:“/”+关键字“ 可以快速查找关键字。“N” 定位到下一个高亮关键字;复制n行:nyy;p是粘贴;set nu :显示行号;set nu!:不显示行号; 监听内核打印消息,另开一个终端,使用root权限执行 cat / 阅读全文
posted @ 2022-09-22 10:05 QianFa01 阅读(45) 评论(0) 推荐(0)
摘要: 这个问题源自理解container_of函数原型的时候的困惑。 先看一个简单的例子: 1 char a[] = "hello"; 2 cahr a1[] = {'h' ,'e' , 'l', 'l', 'o',0}; 3 const char *b = "hello";//加上const,否则会发出 阅读全文
posted @ 2022-09-21 20:25 QianFa01 阅读(200) 评论(0) 推荐(0)
摘要: container_of(ptr,type,member) 该函数原理:已知结构体type的成员member的地址ptr,求结构体type的首地址。 1 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 2 3 #defin 阅读全文
posted @ 2022-09-21 16:16 QianFa01 阅读(103) 评论(0) 推荐(0)
摘要: 信号处理函数的定义为: void signal_handler(int signum) 可以理解为:参数为int型,返回值为void型的函数; 信号函数signal()定义如下: void ( *signal( int signum,void (*handler)(int) ) ) (int);si 阅读全文
posted @ 2022-09-18 18:31 QianFa01 阅读(1098) 评论(0) 推荐(0)
摘要: udev工作原理: (1)当内核检测到系统中出现了新设备,内核会通过netlink套接字发送uevent。 (2)udev获取内核发送的信息,进行规则的匹配。匹配的事物包括SUBSYSTEM、ACTION、attribute、内核提供的名称(通过KERNEL=)以及其他的环境变量。 例子:插上一个U 阅读全文
posted @ 2022-09-06 17:39 QianFa01 阅读(190) 评论(0) 推荐(0)
摘要: 运行无参版本:insmod book.ko;相应输出模块内的默认值 运行有参版本:insmod booko.ko book_name='GoodBook' book_num=5000;输出用户传递的参数 使用命令:cat /var/log/kern.log 查看内核的输出 使用命令:cat /sys 阅读全文
posted @ 2022-09-05 16:25 QianFa01 阅读(26) 评论(0) 推荐(0)
摘要: 命令输入: .ko文件:kernel object文件,内核模块;该文件的意义就是把内核的一些功能移动到内核外边, 需要的时候插入内核,不需要时卸载。 insmod ./hello.ko 加载模块; rmmod hello 卸载模块; printk中的8种日志级别: #define KERN_EME 阅读全文
posted @ 2022-09-05 11:36 QianFa01 阅读(72) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10