s3c2440led驱动开发使用

S3Cmini2440的LED驱动开发

1、Linux系统烧写

首先我们先烧写这些文件,这次我们使用MiniTools工具进行烧写。

前提条件是已经有了uboot.bin、zImage、rootfs.img文件。

当开发板连接上MiniTools工具后会显示已连接

选择烧写linux

BooLoader:选择你的u-boot.bin文件

Linux Kernel:选择你的zImage文件

Kernel CommadndLIne中输入:

noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

Linux RootFs:选择你的rootfs.img文件

烧写完成后,我是使用的是Xshell与开发板串口通信,Xshell设置如下,每个人的COM口不同,请查看设备管理器的COM串口号

快速启动后会出现下列内容,出现[root@Mini2440 /]#,说明一切启动正常

到这里开发板的简单的linux系统已经搭建完成,后面想要启动,只需要在MiniTools中点击快速启动即可,无需烧写

2、LED灯及蜂鸣器驱动

这里默认已经写好驱动和测试代码,后续可能会出教程

  • 开发板的网线设置

手动输入ifconfig eth0 192.168.1.230 netmask 255.255.255.0 up 开发板设置IP地址与上位机ip在一区域内,使其能够通过网线ping通上位机(这里设置的与我上位机同一个网络下,后续会说,IP改为你开发板的IP)

  • 开发板nfs挂载上位机共享的文件

这里也是默认上位机配置好nfs共享,使用命令

mount -t nfs -o nolock 192.168.1.137:/home/ling/driverCode /mnt/nfsShare

将上位机的driverCode共享挂载到本地nfsShare文件下(这是我上位机的IP以及nfs共享的文件夹,记得换成自己的,第一次可能需要自己创建mnt/nfsShare文件)

可以看出共享后文件夹下出现很多共享的文件

  • 驱动加载与测试程序

这里也是默认已经在上位机上面搞定的驱动程序和测试程序编写以及编译

insmod ~~~.ko安装我们自己编写的模块驱动(或者使用modprobe -r ~~~.ko)

例如我这里加载beep_dev.ko驱动

insmod beep_dev.ko

创建dev下面beep设备文件与我们的beep_dev驱动绑定

mknod /dev/beep c 251 0

原命令形式:mknod /dev/node_name c major minor

major=主设备号,在安装驱动模块时会返回,每个人的设备号可能有所不同,minor=次设备号一般默认为0

这样/dev下面就会出现beep文件

使用./beep_test运行蜂鸣器

当出现Start beep,蜂鸣器开始工作,按下Enter键后停止工作(个人测试驱动编写如此,可根据不同人编写驱动以及测试程序不同而改变)

同理led_dev.ko与led_test也是这样操作

使用./led_test运行led灯,开始跑马灯

当使用完成后可以使用

rmmod ~~~.卸载相应的模块驱动

效果如下,拍摄手法较差,十分抱歉!!!!!

uboot.bin、zImage、rootfs.img文件下载:

链接:https://pan.baidu.com/s/1aWaVZUKRHJAuyesah_dhxQ?pwd=1024
提取码:1024

posted @ 2023-06-13 03:11  Prinz_Eugen  阅读(106)  评论(2编辑  收藏  举报