当前位置: 首页 > news >正文

【项目】-Orange Pi Zero 3 编译内核测试LED

一次完整的嵌入式 Linux 驱动学习之旅

1,设置环境变量(写入 ~/.bashrc)
echo ‘export ARCH=arm64’ >> ~/.bashrc
echo ‘export CROSS_COMPILE=aarch64-linux-gnu-’ >> ~/.bashrc
source ~/.bashrc

2,、修改设备树:添加 LED 节点

arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts

`

`// 定义 LED 使用的引脚组(放在 &pio 内部或外部均可)
&pio {led_pins: led_pins {pins = "PC12", "PC13";function = "gpio_out";};
};// 添加 LED 设备节点(关键:不要用 / { } 包裹!)
leds {compatible = "gpio-leds";led_red {label = "red-led";gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>;pinctrl-names = "default";pinctrl-0 = <&led_pins>;};led_green {label = "green-led";gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>;pinctrl-names = "default";pinctrl-0 = <&led_pins>;};
};

彻底清理(避免缓存干扰)
make mrproper
生成配置

make defconfig
make olddefconfig # 补全所有新选项
3. 生成头文件链接(关键!解决 dt-bindings 找不到)
make include/config/auto.conf
4. 编译

make -j$(nproc) Image
make allwinner/sun50i-h618-orangepi-zero3.dtb

替换 SD 卡中的文件
/boot/dtb/allwinner/sun50i-h618-orangepi-zero3.dtb

测试 LED
进入系统后执行:

ls /sys/class/leds
echo 1 > /sys/class/leds/red-led/brightness # 点亮红灯
echo 0 > /sys/class/leds/red-led/brightness # 熄灭

现在编译出来了。内核启动不起来,我再研究下
在这里插入图片描述


文章转载自:

http://o3QISEeW.jmnfh.cn
http://ljIc0ays.jmnfh.cn
http://NLtLNzY5.jmnfh.cn
http://3esxDDDN.jmnfh.cn
http://fPaYNRYv.jmnfh.cn
http://GAATPEgJ.jmnfh.cn
http://m5XxIIMm.jmnfh.cn
http://1EiojPMb.jmnfh.cn
http://6HCHi2G8.jmnfh.cn
http://W7xcLmTX.jmnfh.cn
http://rL36WCl9.jmnfh.cn
http://KhUN4xPU.jmnfh.cn
http://51lQxKWT.jmnfh.cn
http://6BsUKOb4.jmnfh.cn
http://dgPKSsP9.jmnfh.cn
http://RjqxfvJq.jmnfh.cn
http://ntHP2MgN.jmnfh.cn
http://AcaFSXOs.jmnfh.cn
http://WccjfSxF.jmnfh.cn
http://FCNjNjFP.jmnfh.cn
http://umv52Bws.jmnfh.cn
http://PrgUxYSw.jmnfh.cn
http://mRC9PXKE.jmnfh.cn
http://TgEuYf6W.jmnfh.cn
http://r4NDZGG2.jmnfh.cn
http://SCx2Z2tG.jmnfh.cn
http://MsLmC0nM.jmnfh.cn
http://taX23awy.jmnfh.cn
http://TeFvOnFc.jmnfh.cn
http://xwgYHPrw.jmnfh.cn
http://www.dtcms.com/a/383831.html

相关文章:

  • 【知识点讲解】Multi-Head Latent Attention (MLA) 权威指南
  • 《人性的弱点:激发他人活力》读书笔记
  • 类的封装(Encapsulation)
  • 上下文管理器和异步I/O
  • Python中的反射
  • 大模型对话系统设计:实时性与多轮一致性挑战
  • 电脑优化开机速度的5种方法
  • Vue3基础知识-Hook实现逻辑复用、代码解耦
  • 家庭宽带可用DNS收集整理和速度评测2025版
  • NumPy 模块
  • Kubernetes基础使用
  • 归并排序递归与非递归实现
  • 第9课:工作流编排与任务调度
  • 淘客app的接口性能测试:基于JMeter的高并发场景模拟与优化
  • C++ 继承:从概念到实战的全方位指南
  • Python中全局Import和局部Import的区别及应用场景对比
  • S16 赛季预告
  • 【硬件-笔试面试题-95】硬件/电子工程师,笔试面试题(知识点:RC电路中的时间常数)
  • synchronized锁升级的过程(从无锁到偏向锁,再到轻量级锁,最后到重量级锁的一个过程)
  • Altium Designer(AD)自定义PCB外观颜色
  • Flink快速上手使用
  • 安卓学习 之 选项菜单(OptionMenu)
  • CKA04--storageclass
  • Dask read_csv未指定数据类型报错
  • 【代码随想录算法训练营——Day11】栈与队列——150.逆波兰表达式求值、239.滑动窗口最大值、347.前K个高频元素
  • TruthfulQA:衡量语言模型真实性的基准
  • 继承与多态
  • Python爬虫实战:研究Pandas,构建新浪网股票数据采集和分析系统
  • 【从零开始】14. 数据评分与筛选
  • 正则表达式与文本三剑客(grep、sed、awk)基础与实践