深度探索RK3568嵌入式教学平台实战案例:设备驱动开发实验

描述


 

一、产品简介

TL3568-PlusTEB人工智能实验箱

国产高性能处理器

64 位 4 核低功耗
 

2.0 GHz超高主1T 超高算力 NPU

RK3568

兼容鸿蒙等国产操作系统

RK3568RK3568RK3568RK3568RK3568

 

二、实验目的

1、熟悉基本字符设备的驱动程序设计;

2、掌握在Linux系统下GPIO的使用方法;

3、掌握验证LED驱动的方法。

 

RK3568

 

三、实验原理

管脚控制

根据原理图,可知LED1和LED2的管脚控制:

LED1是GPIO0_D5_d管脚控制。

LED2是GPIO0_D6_d管脚控制。

 

RK3568

 

设备树源码

leds节点这里定义了几个leds灯。

som_led0为心跳指示灯

som_led1为硬盘指示灯

user_led0与user_led1为用户LED灯

label是唯一的,用于标识一个设备,不同的设备(如led)不可以分配相同的标签。如果忽略label,则标签是默认取自节点名(不包括地址)。

gpios是存储gpio的信息,包括id,标志等。包括指定的GPIO控制器节点cells的数字。

linux,default-trigger:如果存在这个参数,则它是分配给led的一个由字符串定义的触发器,目前的触发器类型有:

backlight:led将作为背光灯,由framebuffer控制系统。

default-on:led会点亮。

heartbeat:基于负载平均速率的基础上,led会实现双闪。

ide-disk:led用于指示显示磁盘活动。

timer:led将会以已配置好的频率闪烁。

default-state:led的初始状态,如果不存在这个属性,则默认关闭“off”。该属性的有效值有“on”"off" "keep",分别表示开、关、保持。

 

RK3568

 

定义的节点是将这些pin设置为普通gpio。

 

RK3568

 

四、实验设备

实验软件

本实验中使用的软件为VMware17+Ubuntu18.04.4 和串口调试工具Xshell。

 

RK3568RK3568

 

实验硬件

本实验中使用的是TL3568-PlusTEB实验箱,所需的配件为Micro SD卡、Type-C线和电源。

 

RK3568

 

RK3568RK3568RK3568

 

五、实验步骤

驱动配置

(1)执行指令进入内核文件夹里面,然后输入命令进入内核菜单;

(2)在内核菜单,通过电脑键盘的上下左右按键、Enter键控制进入相应目录;

选择LED驱动,默认已经配置完成,在此无需修改;

(3)选择exit,按下enter键不断退出;

注意:如果配置有修改,可按照第一章实验 2 的 2.4.5 编译 LinuxSDK 小节重新编译,生成镜像,再按照第一章实验 4 的 4.4.4 制作 SD 系统启动卡小节重新制作 SD 卡,更新驱动。

 

RK3568

 

硬件连接

接着进行硬件连接,

(1)将Linux系统启动卡插至Micro SD卡槽。

(2)使用Type-C线连接USB TO UART2调试串口到PC机。

(3)连接电源线,先不要上电。

 

RK3568

 

软件操作

接着进行软件部分操作。

(1)先在设备管理器查看串口的端口号;

(2)再设置串口调试工具,波特率设置为1500000,点击连接,在Xshell调试终端会显示连接成功。

(3)连接成功后,拨动实验箱的电源开关,将实验箱上电。

(4)等待系统登录SD卡系统。

(5)登录成功后,在串口调试窗口执行命令控制LED亮灭。

(6)执行相关命令后,LED能正常亮灭,说明LED驱动正常。

 

RK3568

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分