ap143 led修改
以前的硬件版本只使用了一个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修改的更多相关文章
- zju(5)LED控制实验
1.实验目的 1.学习和掌握如何将一个驱动程序添加到Kconfig,编译到内核. 二.实验内容 1.编写EduKit-IV试验箱Linux操作系统下LED灯的驱动: 2.编写EduKit-IV试验箱L ...
- Android驱动入门-LED--HAL硬件访问服务层②
硬件平台: FriendlyARM Tiny4412 Cortex-A9 操作系统: UBUNTU 14.04 LTS 时间:2016-09-21 16:58:56 为了避免访问冲突,则创建了硬件访 ...
- Arduino学习笔记二:修改LED点灯程序
看了开源社区的LED控制程序,开始上手代码编写,修改,下载以及调试,原文地址:http://www.arduino.cn/thread-1072-1-1.html,这个帖子写的比较通俗易懂. 自己移植 ...
- 3.修改第一个程序来点亮LED
在上一节中已经将驱动程序框架搭建好了 接下来开始写硬件的操作(控制LED): (1)看原理图,确定引脚 (2)看2440手册 (3)写代码(需要使用ioremap()函数映射虚拟地址,在linux中只 ...
- CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第四件事就是 修改第三件事信号量超时改为 事件 超时,并增加 事件控制 ,用于控制LED 闪烁时间或者关闭
/* * data_process.c * * Created on: 2018年7月5日 * Author: admin */ #include "board_led.h" #i ...
- ..\OBJ\LED.axf: Error: L6218E: Undefined symbol EXTI_Init (referred from exti.o). 错误修改
今天在移植野火的程序到元子的开发平台上时候,发现自己在中断初话中断函数的时候出现了:..\OBJ\LED.axf: Error: L6218E: Undefined symbol EXTI_Init ...
- 4位或者5位led数码显示,485通信modbus,支持任意小数点写入,工业标准设置,可和plc,dcs,组态完美对接,支持定制修改
MRD-5030具有4位8段数码管,支持通过工业标注协议Modbus(Modbus-RTU)控制显示,支持任意小数点的显示.数据以半双工方式通信.电源端口和通信端口都具有防浪涌,防雷600W保护,能够 ...
- FPGA与simulink联合实时环路系列——实验二LED
实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...
- 最简单的STM32入门教程----闪烁LED
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看. 第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED... 第一步,建立一个文件夹0. ...
随机推荐
- Devexpress XtraReports 交叉报表
[原创]Devexpress XtraReports 系列 5 创建交叉报表 昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 ...
- 删除重复&海量数据
08. 删除重复&海量数据 重复数据,通常有两种:一是完全重复的记录,也就是所有字段的值都一样:二是部分字段值重复的记录. 一. 删除完全重复的记录完全重复的数据,通常是由于没有设置主键/ ...
- eclipse配置自动提示EXTJS和jQurey
extjs-2.3.0下载地址1:http://dev.sencha.com/deploy/ext-2.3.0.zip 下载地址2:http://www.sencha.com/products/ext ...
- NHIBERNATE的简单框架的设计
NHIBERNATE的简单框架的设计 上次的 NHibernate的Session管理策略和NHibernateHelper 发布并提供下载,给NHibernate刚入门的同学们带来很多便利. 最近有 ...
- WPF制作的小型笔记本
WPF制作的小型笔记本-仿有道云笔记 楼主所在的公司不允许下载外部资源, 不允许私自安装应用程序, 平时记录东西都是用记事本,时间久了很难找到以前记的东西. 平时在家都用有道笔记, 因此就模仿着做了一 ...
- 使用ResourceDictionary管理Logical Resources
WPF整理-使用ResourceDictionary管理Logical Resources “Logical resources may be of various types, such as br ...
- schemamvcSpringMVC+Spring3+Hibernate4开发环境搭建
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下schemamvc <?xml version="1.0" encoding=" ...
- JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别
abstract修饰符可以修饰类和方法. (1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型.抽象类就相当于 ...
- java参数传递(值传递还是引用传递)
Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是“传址(传引用)”,争论的双方各执一词,互不相让.不但“菜鸟”们一头雾水,一些“老鸟”也只知道结果却说不出所以然来.我相信看过下面的内 ...
- Spring MVC---基于注解的控制器
基于注解的控制器 SpringMVC是一个基于DispatcherServlet的MVC框架,每个请求最先访问的是Dispatcher ...