- 博客(309)
- 资源 (4)
- 收藏
- 关注
原创 基于aarch64分析kernel源码 六:kernel_init进程(1号进程)、kthreadd进程(2号进程)
kernel_init进程(1号进程)、kthreadd进程(2号进程)分析
2023-10-10 17:20:45 470
原创 基于aarch64分析kernel源码 四:printk 内核打印
将信息记录到 log 中;调用控制台驱动来将信息输出。从上图可看出,其核心是一个叫做log buffer的循环缓冲区,printk作为生产者将消息存入该缓冲区,右边的log服务模块作为消费者可从log buffer中读取消息。这样设计有以下几个优点:1、控制台和日志模块初始化前,内核的启动日志可以暂存到log buffer中。待它们初始化完成后,再输出相应信息。2、在printk log输出太快,而log服务的处理速度不足时,防止log信息丢失。
2023-09-02 11:41:32 861
原创 基于aarch64分析kernel源码 三:启动代码分析
1、通过__HEAD将启动代码链接到文件开始位置。2、调用y ,进行初始化相关操作。3、调用调用函数。4、函数进入C语言环境初始化内核。
2023-07-30 11:37:20 1020 1
原创 基于aarch64分析kernel源码 一:环境搭建
6、生成调试compile_commands.json。1、查找ubuntu仓库中aarch64编译器。使用initramfs根文件系统。2、使用gdb调试kernel。2、配置busybox。3、配置kernel。
2023-07-09 17:12:03 1068
原创 raw socket应用笔记
AF_INET:能看到网络层数据。AF_PACKET:能看到链路层数据。AF_INET + SOCK_STREAM:获取基于TCP协议的应用层数据(不能获取TCP头部信息)。AF_INET + SOCK_DGRAM:获取基于UDP协议的应用层数据(不能获取UDP头部信息)。AF_INET + SOCK_RAW:获取基于IP协议的传输层数据(不能获取IP头部信息),获取IP头部信息需要开启IP_HDRINCL特性。
2023-03-14 22:13:15 857
原创 i.MX 6ULL 驱动开发 二十二:SPI(SPI子系统+MISC子系统)
SPI 子系统:作用是完成驱动和设备的匹配。MISC 子系统:作用是简化字符设备注册过程。
2022-11-14 21:01:15 1712
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人