摘要:
在Linux系统中,一切都是“文件”:普通文件、驱动程序、网络通信等等。所有的操作,都是通过“文件IO”来操作的。 1.文件有哪些? 1.1磁盘、Flash、SD卡、U盘这样的真实文件,以某种格式(FAT32、EXT4等)保存在某个设备上,要先mount mount /dev/sda1 /mnt 通 阅读全文
posted @ 2019-11-04 12:31
一个不知道干嘛的小萌新
阅读(338)
评论(0)
推荐(0)
摘要:
1.上章的oops栈信息如下图所示: 9fe0: 代表最初的栈顶SP寄存器位置 9e80:代表函数出错的SP寄存器位置 2.我们先来分析上图的栈信息,又是怎样的过程呢? 2.1内核主要是通过STMDB和LDMIA汇编命令来入栈和出栈 (STMDB和LDMIA汇编命令参考: http://www.cn 阅读全文
posted @ 2019-11-03 19:04
一个不知道干嘛的小萌新
阅读(270)
评论(0)
推荐(0)
摘要:
1.当驱动有误时,比如,访问的内存地址是非法的,便会打印一大串的oops出来 1.1以LED驱动为例 将open()函数里的ioremap()屏蔽掉,直接使用物理地址的GPIOF,如下图所示: 1.2然后编译装载26th_segmentfault并执行测试程序后,内核便打印了oops出来,如下图所示 阅读全文
posted @ 2019-11-03 18:56
一个不知道干嘛的小萌新
阅读(547)
评论(0)
推荐(0)
摘要:
1.Makefile解析 1.1Makefile规则: 目标(target)…: 依赖(prerequiries)… <tab>命令(command) 如果“依赖文件”比“目标文件”更加新,那么执行“命令”来重新生成“目标文件”。 命令被执行的2个条件:依赖文件比目标文件新,或是 目标文件还没生成。 阅读全文
posted @ 2019-11-01 11:47
一个不知道干嘛的小萌新
阅读(655)
评论(0)
推荐(0)
摘要:
1.用Makefile编译一个程序 1 hello: hello.c 2 gcc -o hello hello.c 3 clean: 4 rm -f hello 将上述4行存为Makefile文件(注意必须以Tab键缩进第2、4行,不能以空格键缩进) make命令根据文件更新的时间戳来决定哪些文件需 阅读全文
posted @ 2019-11-01 09:35
一个不知道干嘛的小萌新
阅读(606)
评论(0)
推荐(0)
浙公网安备 33010602011771号