- 博客(17)
- 收藏
- 关注
原创 如何获取驱动适配内核的相关信息
例如,可以使用‘info’命令来查看已加载模块的信息,包括驱动程序所适配的内核版本、作者、描述等。通过查看内核源代码中的驱动文件或者模块的代码,可以了解驱动程序与内核版本之间的适配关系。总之,获取驱动适配内核的相关信息需要结合官方文档、内核源代码、命令行查询等多种方式进行。驱动供应商通常会提供相关的文档,其中包括了驱动所适配的内核版本、要求的内核配置选项等信息。一些第三方工具和网站提供了驱动与内核的适配信息的数据库或检索服务,可以通过输入驱动程序的名称或相关信息来查询适配信息。
2023-08-11 17:02:18
410
1
原创 linux编译中报错:找不到头文件
在Linux中,头文件通常保存在/usr/include目录下,或者用户自定义的路径中,如果编译找不到头文件,可能是头文件路径没有正确配置。总之,在编译的时候找不到头文件通常是由于配置不正确或者文件问题引起的。针对不同情况,应该采取不同的解决方法。有些头文件需要使用对应的开发库才能编译,如果没有正确安装相应的开发库,就会找不到头文件。文件名大小写一定要注意一致,文件名的大小写会区分成不同的文件。1、头文件不在标准路径中。3、文件名大小写不一致。其中lib-dev为对应的开发库名称。
2023-08-11 14:51:44
4636
1
原创 Rockchip Android13平台提取kernel环境编译KO
转载:Rockchip Android13平台提取kernel环境编译KO_android 编译ko_loitawu的博客-优快云博客
2023-08-10 17:25:47
330
1
原创 正确姿势解决Android源码编译Werror类型错误
转载:正确姿势解决Android源码编译Werror类型错误_-werror,-wunused-variable_IT先森的博客-优快云博客
2023-08-08 09:03:45
259
1
原创 Android.mk error: unused parameter 处理方法
转载:Android.mk error: unused parameter 处理方法_chyQino的博客-优快云博客
2023-08-07 20:00:49
270
1
原创 pthread_mutex_lock函数
pthread_mutex_lock函数是一个线程同步函数,用于对互斥锁进行加锁操作。它阻塞调用线程,直到可以获得互斥锁为止。如果互斥锁已经被其他线程锁定,则调用线程将被阻塞,直到互斥锁被解锁。指向的互斥锁已经被其他线程锁定,则调用线程将被阻塞,直到互斥锁被解锁。指向的互斥锁当前没有被锁定,则调用线程将获得锁,并继续执行。该函数返回值为0表示成功加锁,非零值表示失败。函数来释放锁,以避免死锁的情况发生。是一个指向互斥锁变量的指针。
2023-08-07 16:20:54
6197
1
原创 $(MODULE_NAME)-objs
是一个变量,用于存储目标文件(object files)。在这个代码片段中,它被用作一个对象文件列表的集合。然后,这些目标文件将在链接过程中使用,以生成最终的可执行文件或库文件。通常情况下,模块的构建规则会将编译产生的目标文件添加到相应的。可能是另一个变量,用于指定模块的名称。,可以创建一个与该模块关联的对象文件列表变量。
2023-08-01 10:48:29
309
1
原创 HIF芯片常见的接口模式
需要注意的是,HIF芯片可能具有多个接口模式,并支持更多不同的接口标准和协议,具体取决于芯片的设计和规格。以上列举的只是一些常见的接口模式,实际应用中还可能存在其他模式和功能。SDIO(Secure Digital Input/Output):SDIO是一种用于移动设备的存储扩展接口,可以支持SD存储卡、Wi-Fi模块、蓝牙模块等外围设备。USB(Universal Serial Bus):USB是一种用于连接电脑和外部设备的通用接口标准,广泛用于各种设备,包括打印机、键盘、鼠标、存储设备等。
2023-08-01 09:06:12
738
1
原创 Makefile += -I -D -W
因此,使用 += -I -D -W 的组合,可以将特定的头文件搜索路径、宏定义和警告选项添加到Makefile中的变量中,以便在编译过程中使用它们。在Makefile中,+= 是一个赋值操作符,用于向变量追加内容。而 -I、-D 和 -W 是gcc编译器的命令行选项,用于指定编译器的行为。
2023-08-01 08:58:45
428
1
原创 memset函数
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.函数解释:将s中当前位置后面的n个字节 (typedef int size_t)用 ch 替换并返回 s。memset:作用是在一段内存块中填充某个给定的值,它是对较大结构体或数组进行清零操作的一种最快方法 [1]
2023-07-21 17:25:39
54
1
原创 SRAM与DRAM
然而,当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。(DRAM)里面所储存的数据就需要周期性地更新。
2023-07-19 22:00:13
62
1
原创 copy_to_user/copy_from_user的简析
因为内核空间与用户空间的内存不能直接互访,所以借助函数copy_to_user()完成内核空间到用户空间的复制,函数copy_from_user()完成用户空间到内核空间的复制。from 源地址,这个地址是内核空间的地址;from 源地址,这个地址是内核空间的地址;to 目标地址,这个地址是用户空间的地址;to 目标地址,这个地址是用户空间的地址;n 将要拷贝的数据的字节数。n 将要拷贝的数据的字节数。此处的目标地址是用户地址,源地址是内核空间的地址。此处的目标地址是内核空间的地址,源地址是用户地址。
2023-07-13 16:10:08
855
1
原创 [LINUX]映射 ioremap函数 和取消映射 iounmap函数
该函数是把物理地址映射到虚拟内存中,这样的话,在虚拟内存上跑的驱动程序,就可以直接通过这个函数,去操作外设的寄存器地址了。通过可以使用writel去写映射过来的虚拟地址;使用readl去读映射过来地址上的值。ioremap(物理地址,大小)它的作用就是把映射过来的物理地址还原,释放掉虚拟地址。
2023-07-13 10:46:01
873
1
原创 (Linux内核)Linux的errno简介IS_ERR,PTR_ERR
强制转换为unsigned long后,判断是否大于(unsigned long)-MAX_ERRNO。如果是异常指针,返回指针对应的errno,否则返回0。将任意类型的指针转为void型指针。判断指针是否异常或NULL。
2023-07-13 09:50:45
265
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人