随笔分类 - Openwrt
摘要:概述 版本号:OpenWrt 18.06.2, r7676-cddd7b4c77 helloworld示例 参考:OpenWrt:构建helloworld应用 1. 在package目录下新建helloworld文件夹,存放helloworld应用程序。 $ tree helloworld/ hel
阅读全文
摘要:本文转自:OpenWRT中的按键和灯的GPIO控制实现 基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯所对应的GPIO定义: #define AP121_GPIO_LED_WLAN 0 #define
阅读全文
摘要:转自:4种用于构建嵌入式linux系统的工具 Linux 被部署到比 Linus Torvalds 在他的宿舍里开发时所预期的更广泛的设备。令人震惊的支持了各种芯片,使得Linux 可以应用于大大小小的设备上:从 IBM 的巨型机到不如其连接的端口大的微型设备,以及各种大小的设备。它被用于大型企业数
阅读全文
摘要:摘自:http://blog.csdn.net/weiniliuchao/article/details/50295527 增加内核配置选项 openwrt的.config文件中,关于内核的选项都是形如CONFIG_KERNEL_*(由关键字kernel)。在添加内核选项的时候,要在配置项前添加CO
阅读全文
摘要:openwrt中用到双向无头链表,实际应用时应在外部定义实体链表头,后续可直接应用链表函数(宏定义已将链表头排除在外): static struct list_head timeouts = LIST_HEAD_INIT(timeouts);static struct list_head proce
阅读全文
摘要:Netifd是OpenWrt中用于进行网络配置的守护进程,基本上所有网络接口设置以及内核的netlink事件都可以由netifd来处理完成。 在启动netifd之前用户需要将所需的配置写入uci配置文件/etc/config/network中,以告知netifd如何设置这些网络接口,如IP地址、上网
阅读全文
摘要:ubox是openwrt的帮助工具箱,位于代码package/system/ubox下, 主要有以下3个功能,三功能相互独立: 1)内核模块管理,例如加载内核模块,查看已经加载内核模块等。kmodloader.c 2)日志管理。log 3)UCI配置文件数据类型的验证。validate 1. 内核模
阅读全文
摘要:参考:libubox [4] - uloop runqueue ustream 任务队列是通过uloop定时器实现,把定时器超时时间设置为1,通过uloop事件循环来处理定时器就会处理任务队列中的task。进程任务在任务队列基本上实现,加入子进程退出监控。 procd采用此机制。 1. 数据结构 2
阅读全文
摘要:参考:libubox [4] - uloop runqueue ustream libubox提供了流缓冲管理,定义在文件ustream.h,ustream.c和ustream-fd.c。 1. 数据结构 2. 存储结构 3. 函数 初始化/销毁 写入read buffer 读出read buffe
阅读全文
摘要:参考:libubox组件(3)——uloop uloop是提供事件驱动机制接口,类似libevent事件框架,基于epoll接口来实现的。 uloop三大功能:事件管理(uloop_fd)、超时管理(uloop_timeout)和进程管理(uloop_process),定义在uloop.h中。 1.
阅读全文
摘要:大部分内容来自libubox [3] - BLOB BLOGMSG,推荐阅读原文。 blob提供二进制数据处理能力。有几种支持的数据类型,并可以创建块数据在socket上发送。整型数字会在libubox库内部转换为网络字节序进行处理。 二进制块的处理方法是创建一个TLV(类型-长度-值)链表数据,支
阅读全文
摘要:openwrt提供了一个系统总线ubus,类似linux桌面操作系统的d-bus,目标是提供系统级的进程间通信(IPC)功能。 为了提供各种后台进程和应用程序之间的通信机制,ubus被开发出来,由3部分组成:精灵进程,接口库和实用工具。 工程的核心是ubusd精灵进程,它提供了一个总线层,在系统启动
阅读全文
摘要:lbubox是openwrt的一个核心库,封装了一系列基础实用功能,主要提供事件循环,二进制格式处理,linux链表实现和一些JSON辅助处理。 它的目的是以动态链接库方式来提供可重用的通用功能,给其他模块提供便利和避免再造轮子。 libubox主要提供三部分功能: 1)提供多种基础通用功能接口,包
阅读全文
摘要:官网安装编译推荐: https://wiki.openwrt.org/doc/howto/buildroot.exigence https://wiki.openwrt.org/doc/howto/build https://forum.openwrt.org/viewtopic.php?pid=3
阅读全文
摘要:主Makefile分析 注:1)make -n可打印makefile执行的命令,而不执行。 2)可以在规则的命令中增加echo跟踪执行进度。 顶层目录的Makefile是openert的总Makefile,第一个编译目标world是make的默认编译目标。 编译逻辑可简化为: 第一逻辑 make V
阅读全文
摘要:最近购得一个openwrt书籍《智能路由器开发指南》,作者张永智。 Building a smart router with openwrt 作者网址:http://openwrt.bjbook.net/ 作者提供软件包下载服务,和openwrt代码搜索引擎,同一网站。 书中所提到的系统使用open
阅读全文
摘要:参考: http://www.crifan.com/files/doc/docbook/buildroot_intro/release/html/buildroot_intro.html https://buildroot.org/ https://buildroot.org/downloads/m
阅读全文