【嵌入式】GPIO驱动LED设计

【嵌入式】GPIO驱动LED设计

  • 1. 操作内容
  • 2. 操作步骤
    • 2.1 编译Linux内核
    • 2.2 编译LED驱动
    • 2.3 运行文件
  • 3. 操作结果

1. 操作内容

  1. 掌握嵌入式 GPIO 驱动程序的编写,工作原理。
  2. 熟悉 Linux 环境下 LED 驱动程序的编写,运行。

2. 操作步骤

2.1 编译Linux内核

  1. 将android-2.3.tar.gz和arm-2009q3.tar.bz2文件复制到Windows和Linux共享文件夹。
  2. 新建文件夹s210x并修改权限,在其中部署android-2.3.tar.gz和arm-2009q3.tar.bz2源码。
$ sudo mkdir -p /usr/local/src/s210x 
$ sudo chmod -R 777 /usr/local/src/s210x
$ cd /usr/local/src/s210x 

【嵌入式】GPIO驱动LED设计_第1张图片

$ tar xvf /mnt/hgfs/forlinux/android-2.3.tar.gz 
$ tar xvf /mnt/hgfs/forlinux/arm-2009q3.tar.bz2
  1. 利用ls命令可以查看s210x文件夹中部署的源码,其提供了以下实验环境:
工作目录:/usr/local/src/s210x
交叉编译工具链路径:/usr/local/src/s210x/arm-2009q3
源码路径:/usr/local/src/s210x/x210_android-2.3
U-boot源码路径:/usr/local/src/s210x/x210_android-2.3/uboot 
Linux内核源码路径:/usr/local/src/s210x/x210_android-2.3/kernel
  1. 编译Linux内核。
  2. 执行下面命令编译Linux内核源码。
$ export PATH=/usr/local/src/s210x/arm-2009q3/bin:$PATH 
$ cd /usr/local/src/s210x/x210_android-2.3 
$ ./mk -k    //编译Linux内核
  1. 编译成功后,可在/usr/local/src/s210x/s210x_android-2.3/out/release 目录下看到编译生成的镜像文件zImage。

【嵌入式】GPIO驱动LED设计_第2张图片

2.2 编译LED驱动

  1. 设置工作环境:
$ PATH=/usr/local/src/s210x/arm-2009q3/bin:$PATH
  1. 将D盘中“05-实验例程/第13章”的“13.2-led_driver”文件夹复制到D盘Windows和Linux共享文件夹“forlinux”,新建文件夹project,然后复制13.2-led_driver文件夹到project中。
$ sudo mkdir -p /usr/local/src/s210x/project

【嵌入式】GPIO驱动LED设计_第3张图片

  1. 编译LED驱动文件,并将编译后的文件复制到共享文件夹forlinux中。
$ cd /usr/local/src/s210x/project/13.2-led_driver/led_test 
$ make
$ make install
  1. 将编译生成的可执行文件led_test复制到forlinux中。
$ cd /usr/local/src/s210x/project/13.2-led_driver/led_ctrl
$ make
$ make install
  1. 将编译生成的可执行文件led.ko复制到forlinux中。

【嵌入式】GPIO驱动LED设计_第4张图片

2.3 运行文件

  1. 正确设置网络,确保Linux系统与开发板之间能互相ping通。

【嵌入式】GPIO驱动LED设计_第5张图片

  1. 利用Serial COM2串口工具将led_driver和led.ko分别下载至开发板的指定文件夹中。
 # cd /home/app
# rz
  1. 下载led_test至/home/app文件夹中。
 # cd /lib/modules/2.6.35.7/
 # rz
  1. 下载led.ko至/lib/modules/2.6.35.7文件夹中。

【嵌入式】GPIO驱动LED设计_第6张图片

  1. 修改led_test权限。
# cd /home/app
# chmod 777 led_test
  1. 加载LED驱动。
# insmod led
  1. 运行led_test
# ./led_test

【嵌入式】GPIO驱动LED设计_第7张图片

3. 操作结果

【嵌入式】GPIO驱动LED设计_第8张图片
【嵌入式】GPIO驱动LED设计_第9张图片
【嵌入式】GPIO驱动LED设计_第10张图片

你可能感兴趣的:(嵌入式,嵌入式)