【RK3588开发】Debian系统的驱动开发配置

RK3588的Debian系统的驱动开发配置

(1)打包Linux内核源码

①在sdk里面打包linux内核源码

shell 复制代码
tar -czvf kernel_pack.tar.gz kernel

②用adb传到开发板

shell 复制代码
adb push kernel_pack.tar.gz /userdata/

③在板子上解压

shell 复制代码
tar -xzvf kernel_pack.tar.gz

(2)清理并重新编译内核源码

①安装构建工具

shell 复制代码
apt update
apt install bison flex libssl-dev bc

②清理残留

shell 复制代码
cd /userdata/kernel
make clean

③重新生成配置和工具

shell 复制代码
make modules_prepare

(3)VsCode配置

①C/C++配置

在所以项目的总文件下配置C/C++

在包含路径栏添加:

json 复制代码
${workspaceFolder}/**
/userdata/kernel/include
/userdata/kernel/arch/arm64/include
/userdata/kernel/include/uapi
/userdata/kernel/arch/arm64/include/uapi
/userdata/kernel/include/generated
/userdata/kernel/arch/arm64/include/generated

在定义栏添加:

json 复制代码
__KERNEL__
MODULE
KBUILD_MODNAME="parameter"

②Makefile编写

makefile 复制代码
# 1. 模块名称 (对应xxxx.c,必须一致!)
obj-m := xxxx.o
# 2. 内核路径
KDIR := /userdata/kernel

# 3. 获取当前目录
PWD := $(shell pwd)

# 4. 指定架构 
ARCH := arm64

# --- 编译规则 ---

all:
	make -C $(KDIR) M=$(PWD) ARCH=$(ARCH) modules

clean:
	make -C $(KDIR) M=$(PWD) ARCH=$(ARCH) clean
相关推荐
zhangfeng113313 小时前
CodeBuddy 是否支持 SDD(Spec-Driven Development 规范驱动开发
人工智能·驱动开发
dok1218 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (11)kmalloc 动态内存分配和struct file中的私有数据
linux·驱动开发·算法
qetfw21 小时前
Debian 使用 FTP 镜像源配置 APT 软件源
linux·debian·apt·ftp
sukalot1 天前
windows网络适配器驱动开发-WiFiCx QoS R1 技术(一)
驱动开发
编程圈子2 天前
电机驱动开发学习23. 保护体系与故障状态机
驱动开发·学习
XiangrongZ2 天前
debian中配置stm32的交叉编译环境
运维·stm32·debian
qetfw2 天前
Debian Apache2 执行 Shell CGI:动态时间页面配置与验证
linux·运维·debian
程序员老舅2 天前
啃透 I2C 驱动开发,才算入门嵌入式 Linux 内核驱动
数据结构·驱动开发·b树·内核·嵌入式·嵌入式开发·i2c
dok123 天前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》 (9)manual_cdev
linux·运维·驱动开发
qetfw4 天前
Debian Apache2 实战:自定义站点目录、运行用户与 Basic Auth 认证
linux·运维·debian