以前的硬件版本只使用了一个eth口,新的板子增加了一个eth口,并且增加了响应的通信时使用的灯。

led修改涉及到一下的内容:

(1)led 对应的gpio口(这个需要根据原理图来定义)

需要修改的源文件为 target/linux/ar71xx/files/arch/mips/ath79/mach-ap143.c

#define AP143_GPIO_LED_WLAN 0
  //#define AP143_GPIO_LED_WAN 4   // 以前使用GPIO4连接wan口
      #define AP143_GPIO_LED_LAN1 1    // 一直使用GPIO1连接eth0口
      #define AP143_GPIO_LED_LAN2 4    // 现在使用GPIO4连接eth1口

(2)修改配置文件( target/linux/ar71xx/base-files/etc/uci-defaults/01-leds)

添加对lan2的led的定义

然后进行clean命令,重新编译即可。

附录:

ucidef_set_led_netdev() 位于uci-defaults.sh 文件中,
定义如下:
 

ucidef_set_led_netdev() {
 local cfg="led_$1"
 local name=$2
 local sysfs=$3
 local dev=$4

uci -q get system.$cfg && return 0    // 首先去/etc/config/system配置文件中查找灯设备(譬如本例中 led_lan2),若查找到,则返回,若无,则进行下面的修改

uci batch <<EOF                             // 向配置文件中写入配置
  set system.$cfg='led'
  set system.$cfg.name='$name'
  set system.$cfg.sysfs='$sysfs'
  set system.$cfg.trigger='netdev'
  set system.$cfg.dev='$dev'
  set system.$cfg.mode='link tx rx'
EOF
 UCIDEF_LEDS_CHANGED=1         // 更新标记     
}

 

关于mach-ap143.c中led和gpio相关联的结构体的定义(位于linux-3.10.49/include/linux/leds.h)

/* For the leds-gpio driver */
struct gpio_led {
     const char *name;                               // led名字
     const char *default_trigger;                  // 触发类型
     unsigned  gpio;                                    // 绑定的GPIO端口
     unsigned active_low : 1;                        // 高低点评有效,为1时低电平有效,为0时高电平有效。
     unsigned retain_state_suspended : 1;
     unsigned default_state : 2;               
       /* default_state should be one of LEDS_GPIO_DEFSTATE_(ON | OFF | KEEP) */
};

ap143 led修改的更多相关文章

  1. zju(5)LED控制实验

    1.实验目的 1.学习和掌握如何将一个驱动程序添加到Kconfig,编译到内核. 二.实验内容 1.编写EduKit-IV试验箱Linux操作系统下LED灯的驱动: 2.编写EduKit-IV试验箱L ...

  2. Android驱动入门-LED--HAL硬件访问服务层②

    硬件平台: FriendlyARM Tiny4412 Cortex-A9 操作系统: UBUNTU 14.04 LTS 时间:2016-09-21  16:58:56 为了避免访问冲突,则创建了硬件访 ...

  3. Arduino学习笔记二:修改LED点灯程序

    看了开源社区的LED控制程序,开始上手代码编写,修改,下载以及调试,原文地址:http://www.arduino.cn/thread-1072-1-1.html,这个帖子写的比较通俗易懂. 自己移植 ...

  4. 3.修改第一个程序来点亮LED

    在上一节中已经将驱动程序框架搭建好了 接下来开始写硬件的操作(控制LED): (1)看原理图,确定引脚 (2)看2440手册 (3)写代码(需要使用ioremap()函数映射虚拟地址,在linux中只 ...

  5. CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第四件事就是 修改第三件事信号量超时改为 事件 超时,并增加 事件控制 ,用于控制LED 闪烁时间或者关闭

    /* * data_process.c * * Created on: 2018年7月5日 * Author: admin */ #include "board_led.h" #i ...

  6. ..\OBJ\LED.axf: Error: L6218E: Undefined symbol EXTI_Init (referred from exti.o). 错误修改

    今天在移植野火的程序到元子的开发平台上时候,发现自己在中断初话中断函数的时候出现了:..\OBJ\LED.axf: Error: L6218E: Undefined symbol EXTI_Init ...

  7. 4位或者5位led数码显示,485通信modbus,支持任意小数点写入,工业标准设置,可和plc,dcs,组态完美对接,支持定制修改

    MRD-5030具有4位8段数码管,支持通过工业标注协议Modbus(Modbus-RTU)控制显示,支持任意小数点的显示.数据以半双工方式通信.电源端口和通信端口都具有防浪涌,防雷600W保护,能够 ...

  8. FPGA与simulink联合实时环路系列——实验二LED

    实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...

  9. 最简单的STM32入门教程----闪烁LED

    本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看. 第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED... 第一步,建立一个文件夹0. ...

随机推荐

  1. nginx开启后主机无法访问虚拟机的nginx解决方案

    如果IP可以通的话 一般是防火墙引起 方法1.cat /etc/sysconfig/iptables # Generated by iptables-save v1. :: *filter :INPU ...

  2. winform程序中为无边框窗体手动添加窗体拖动代码

            Point oldMousePoint;//记录开始移动窗口前鼠标点下箭头的位置        Point oldFormPoint;//记录开始移动窗口前窗体位置        // ...

  3. HTML5学习+javascript学习:打飞机游戏Service层Control层+源码

    2.Service层 如前所述,Service层是Control层与Model层之间桥接的一层,它拥有所有要在屏幕上显示的实体(除了背景)的引用 我们知道,当游戏运行时,随时都可能发生碰撞,随时都可能 ...

  4. ThinkPHP中连接mysql数据库的四种实用和通用的连接方法

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理.目前的数 ...

  5. gd库不支持jpeg的解决方法

    杜工就不在这里啰嗦怎么遇到这个问题的了,如果你确实安装了的gd库,却发现无法支持jpeg格式的图片,可从下面找到答案. 原因是在编译gd库前,配置时未声明jpeg库路径.解决方法如下: 32位系统: ...

  6. android 工程里缺少 R.java 文件原因和解决方法

    作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自 ...

  7. 关于iOS 5 Could not instantiate class named NSLayoutConstraint错误

    因为使用Xcode 4.6.2,新建工程的时候SDK 6.1,但是要做低版本适配.在将iOS模拟器选为5.0编译运行时候出现Could not instantiate class named NSLa ...

  8. Java8:使用Lambda表达式增强版Comparator排序

    学习路上的自我记录-------路好长,就问你慌不慌,大声港,不慌.----jstarseven. 实体类: package com.server.model; /** * Created by js ...

  9. js Get中文乱码 转码

    encodeURI  escape post: location.href = "ActivitiesOnSale?CurrId=" + Cid + "&CNam ...

  10. ONLY三行脚本 SQL数据恢复到指定时间点

    经常看到有人误删数据,或者误操作,特别是Update和Delete的时候没有加WHERE ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩. 话说,如果没有犯过错误,那你还算是程序猿(媛)麽?!没了偶尔 ...