09 2014 档案
摘要:# attribute constructor&destructor在看openwrt里libnl-tiny这个库的时候,遇到了C里面的构造函数这个概念。 static void __init init_msg_size(void) { default_msg_size = getpagesize...
阅读全文
摘要:# ditaa[ditaa](http://ditaa.sourceforge.net/)是一个把ascii图形转成图片的工具。在查看[zguide](https://github.com/imatix/zguide)时看到这个文档是用[gitdown](https://github.com/ima...
阅读全文
摘要:# quilt - 制作patch的工具在尝试为openwrt做一个patch时,查到这个工具。openwrt官方已经有很详细的文档对步骤进行说明了。[quilt](http://en.wikipedia.org/wiki/Quilt_(software))并不是专为openwrt的开发工具。qui...
阅读全文
摘要:[双绞线](http://baike.c114.net/view.asp?id=8809-DD96D2AE)## 概述 双绞线的英文名字叫Twist-Pair。是综合布线工程中最常用的一种传输介质。 双绞线采用了一对互相绝缘的金属导线互相绞合的方式来抵御一部分外界电磁波干扰。把两根绝缘的铜导线按...
阅读全文
摘要:下文来自网络搜集,有些摘自[WiFi工作原理、测试及生产注意事项](http://wenku.baidu.com/view/4edeef3767ec102de2bd8980.html)## 术语* AP : Access Point, 接入点* AC : Access Controller 接入控制...
阅读全文
摘要:淘宝看到一款FIR300M路由器,当时只要19.9元。图便宜就买了。## HardwareArchitecture: MIPSVendor: MediaTek (Ralink)Bootloader: U-Boot 1.1.3System-On-Chip: Ralink MT7620N ver:2 e...
阅读全文
摘要:[A Tutorial on the Device Tree (Zynq) -- Part V](http://xillybus.com/tutorials/device-tree-zynq-5)## Application-specific data之前提过,设备树中是一些特殊信息,这样一个驱动可...
阅读全文
摘要:## 获取资源信息内核模块驱动加载之后,就开始把硬件资源管理起来,如读写寄存器、接收中断。来看看设备树里的一条:``` xillybus_0: xillybus@50000000 { compatible = "xlnx,xillybus-1.00.a"; reg = ; ...
阅读全文
摘要:## squashfs-sysupgrade.bin 生成过程图## 路径变量```$(KERNEL_BUILD_DIR...
阅读全文
摘要:### 删除以ifeq开头的行sed -i "/^ifeq/d" file### 删除空行sed -i '/^$/d' file
阅读全文
摘要:[A Tutorial on the Device Tree (Zynq) -- Part III](A Tutorial on the Device Tree (Zynq) -- Part III)## 定义外设可能你读本文是为了给你的设备写一个Linux驱动,在这方面要推荐著名的《Linux D...
阅读全文
摘要:[A Tutorial on the Device Tree (Zynq) -- Part II](http://xillybus.com/tutorials/device-tree-zynq-2)## 设备树结构Zynq的设备树如下:```/dts-v1/;/ { #address-cells ...
阅读全文
摘要:[A Tutorial on the Device Tree (Zynq) -- Part I](http://xillybus.com/tutorials/device-tree-zynq-1)## 此教程的目的本教程是针对Xilinx' Zynq-7000 EPP设备(一个集成了FPGA的ARM...
阅读全文
摘要:dts的概念是linux kernel中的,跟openwrt的关系不大。只是恰好在学习openwrt的时候碰到了这个东西,所以记录在openwrt名下。## patch-dtbopenwrt对arch/mips/kernel/head.S文件打了补丁,在其中加入了以下几行:``` .ascii "...
阅读全文
摘要:[BMP file format](http://en.wikipedia.org/wiki/BMP_file_format)```typedef struct bmp_header { /* Header */ char signature[2]; uint32_t file_size; uint...
阅读全文
摘要:```# cat /sbin/firstboot #!/bin/sh/sbin/jffs2reset```jffs2reset 是fstools里的工具。做的工作有:1. 在/proc/mtd里找到名为"rootfs_data"的分区, 假如找到的是mtd5,则/dev/mtd5就是该块设备的节点。...
阅读全文
摘要:## sysupgrade### 用法:sysupgrade [...] sysupgrade [-q] [-i] ### 升级选项:* -d 重启前等待 delay 秒* -f 从 .tar.gz (文件或链接) 中恢复配置文件* -i 交互模式* -c 保留 /etc 中所有修改过的文件*...
阅读全文
摘要:本篇的主要目的是想通过分析Makefile,了解openwrt编译过程。着重关注以下几点:0. openwrt目录结构1. 主Makefile的解析过程,各子目录的目标生成。2. kernel编译过程3. firmware的生成过程4. 软件包的编译过程## openwrt目录结构官方源下载速度太度...
阅读全文
摘要:## 单独编译内核: `make V=s target/linux/install`## 相调函数调用流程:```init/main.c : start_kernel() -> setup_arch(&command_line)arch/mips/kernel/setup.c:setup_arch(...
阅读全文
摘要:### select```#include #include int select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set exceptset, const struct timeval *timeout);```- timeou...
阅读全文
摘要:### signal信号是一种软件中断,异步发生,在进程运行的时候随时可能发生。信号可以:- 由一个进程发给另一个进程,或发给自身- 由内核发给某个进程信号的action:1. signal handler,在信号发生时被调用,这个过程也称为捕获信号。SIGKILL/SIGSTOP两个信号不能被捕获...
阅读全文
摘要:---## 基本函数接口### socket函数```#include int socket(int family, int type, int protocol);```成功时返回一个非负整数,与文件描述符类似,称为套接字描述符 sockfd。各参数的意义:1. family 指明协议族。取值为以...
阅读全文
摘要:### ChunkChunk是一系列语句。交互模式下的每一行都是一个Chunk。一个lua文件也可以是一个Chunk,文件可用dofile导入。### 变量全局变量不需要初始化,未初始化变量的值是nil。删除一个变量只需将其赋值为nil。局部变量用 local 修饰### 注释单行注释: --多行注...
阅读全文
摘要:### getifaddrs获取本地网络接口的信息。在路由器上可以用这个接口来获取wan/lan等接口当前的ip地址,广播地址等信息。``` #include #include int getifaddrs(struct ifaddrs **ifap); ...
阅读全文
摘要:在分析luci时,看到 usr/lib/luci/sys.lua 里调用 nixio.sysinfo()。这是一个c调用lua的用例。在nixio的代码process.c里导出了给lua调用的接口。在其中看到nixio.sysinfo()的实现是调用linux的sysinfo()系统调用。``` ...
阅读全文
摘要:## 套接字地址结构### ipv4套接字地址结构在头文件 中定义```struct in_addr { in_addr_t s_addr; //32位ipv4地址};struct sockaddr_in { uint8_t sin_len; sa_family_t ...
阅读全文

浙公网安备 33010602011771号