- 博客(42)
- 资源 (12)
- 收藏
- 关注
原创 ath10 移植记录
mac80211和fix说明:http://blog.youkuaiyun.com/suiyuan19840208/article/details/44021591https://dev.openwrt.org/browser/trunk/target/linux/ar71xx/base-files/lib/preinit/81_load_ath10k_board_bin?rev=41562h
2016-05-24 12:37:39
4768
原创 移植libpcap/ndpi到openwrt cc
1、libpcap 直接从menconfig商选中就可以了。2、移植ndpi下载ndpi 1.7 稳定版本。分析ndpi下的autogen.sh 编译过程和configure文件。初步openwrt 移植的makefile如下:├── Makefile -------------openwrt 的Makefile└── src-----------------------
2015-11-03 11:47:39
3745
转载 uboot移植与OS移植
Uboot移植: gec2440-2009.11移植实验(较旧的移植步骤) uboot SPL 加载uboot启动过程 及SPL移植介绍 uboot 访问jffs2文件系统 uboot移植添加目标板(很旧,新目录变化,复制最相近文件,修改不同设备映射等) 添加mtdparts支持。(2015.04版本基本都已经支持了,找个复
2015-10-20 18:54:34
785
原创 字符串搜索匹配算法学习收集(tire树/自动机/kmp/Boyer-moore)
Tire 树 海量数据处理之tire树(前后缀) aho-crassick 自动机 KMP (字符串匹配/前缀匹配与后缀匹配) Boyer-Moorer
2015-10-15 11:16:18
1883
转载 Linux与BSD中TCP协议栈实现比较
作为两个最有名的开源操作系统,Linux和FreeBSD是网管们的首选。Linux以开放性和众多的驱动支持著称,而FreeBSD有着优良的UNIX传统,是公认的最稳定的操作系统。那么,在这两个操作系统间,该如何选择呢?幸好,我们有源码,可以从协议栈的实现中寻找答案。 TCP/IP协议栈是网络中广泛使用的事实网络通信标准。最初的TCP实现源自4.4BSDlite,在Linux兴起后,也
2015-10-13 17:45:19
5443
原创 智能硬件学习初探
1、智能硬件介绍(百科)。硬件、厂商、技术、市场2、智能硬件主要硬件生态,及部分操作系统、业态分析3、一键配置:smartconfig 技术视频(CC3000)介绍 (AP config方式--伪一键配置)4、操作系统 华为liteos google wear(手表) RTOS tecent OS google brillo
2015-10-01 19:06:42
1198
原创 Linux网络虚拟化与MLPPP多链路
Reference:1.图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN2. ifb 技术与流量控制QoS。3.OpenVSwitch 官方:http://openvswitch.org/ 应用举例 :http://www.sdnlab.com/3166.html
2015-09-26 15:07:28
1395
原创 openwrt上proxy代理服务器--插入广告
provioxy方案:现有文档1、百度手册:openwrt广告环境搭建2、广告注入过程介绍:3、服务器安装用户组其他代理:squid...................................... full-featured Web proxy cachepolipo............................................
2015-09-26 14:50:47
6914
原创 NodeJs创建https 服务
1、安装apt-get install node 或者手工下了安装。2、工具webstorm。http://www.jetbrains.com/webstorm/3、加载express,默认框架起来http服务。4、改http加载位https。加载证书。即可。证书参考: 科普:TLS、SSL、HTTPS以及证书用Node.js创建自签名的HTTPS服务
2015-09-24 17:04:10
551
转载 automake,autoconf使用详解
autoconf/autoMake 实例:helloworld arm-linux的交叉编译环境的建立
2015-09-24 15:29:52
1003
转载 express 框架之session(express框架session 内存存储)
express-session 是基于express框专门用于处理session的中间件。这里不谈express-session怎么安装,只给出相应的实例代码。另外,session的认证机制离不开cookie,需要同时使用cookieParser 中间件,有关的介绍可以专门参考https://github.com/expressjs/session/blob/master/README.md,或者
2015-09-09 16:17:24
6735
转载 express 框架之session (cookie和session介绍)
Session是什么 Session一般译作会话,牛津词典对其的解释是进行某活动连续的一段时间。从不同的层面看待session,它有着类似但不全然相同的含义。比如,在web应用的用户看来,他打开浏览器访问一个电子商务网站,登录、并完成购物直到关闭浏览器,这是一个会话。而在web应用的开发者开来,用户登录时我需要创建一个数据结构以存储用户的登录信息,这个结构也叫做session。因此在
2015-09-09 15:56:00
1741
转载 Openwrt 学习记录:openWRT添加内核模块(五)
转载:源没有记住注意1:本文中代码直接拷贝可能会有问题,最好手动输入一遍注意2:example/Makefile中的PKG_BUILD_DIR没有定义,不知道是否有影响,但是我添加了一句PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)注意3:如果需要编译多个文件,可以在src下面的Makefile增加"example-y := example2.o",就可
2015-06-28 11:02:45
1631
转载 Openwrt 学习记录:openWRT添加用户模块-helloword(四)
加 入的软件包可以是网上可下载的开源软件或自行开发的软件。為加入软件包需要在package目錄下创建一个目录,以包含软件包的各种信息和与 OpenWrt建立联系的文件。然后创建一个Makefile与OpenWrt建立联系,Makefile需要遵循OpenWrt的约定。另外可以創建一 個patchs目錄保存patch文件,對下載的源代碼進行適量修改。下面主要介紹Makefile的基本約定。1、引
2015-06-28 11:00:41
4063
转载 Openwrt 学习记录:Makefile 框架分析(二)
openwrt目录结构主Makefile的解析过程,各子目录的目标生成。kernel编译过程firmware的生成过程软件包的编译过程 openwrt目录结构 上图是openwrt目录结构,其中第一行是原始目录,第二行是编译过程中生成的目录。各目录的作用是: tools - 编译时需要一些工具, tools里包含了获取和编译这些工具的命令。里面是一
2015-06-28 10:46:49
1277
原创 Openwrt 学习记录:编译环境安装及目录介绍(一)
1.需要的组件:sudo apt-get install binutils bzip2 gawk flex bison autoconf gcc gcc g++ gettext texinfo sharutils make ncurses-term patch unzip wget zlib1g-dev gawk asciidoc libz-dev libncurses5-dev
2015-06-28 10:42:56
4417
转载 Linux内核与驱动开发学习总结:内核初始化宏__init(十二)
reference:http://blog.chinaunix.net/uid-25871104-id-2854544.html http://www.tuicool.com/articles/2IVJfar http://blog.youkuaiyun.com/shadow_dance/article/detai
2015-06-26 11:36:56
1430
原创 嵌入式C基础知识
计算机科学基础知识(一):The Memory Hierarchy计算机科学基础知识(二):Relocatable Object File计算机科学基础知识(三):静态库和静态链接计算机科学基础知识(四): 动态库和位置无关代码计算机科学基础知识(五): 动态链接计算机科学基础知识之(六):理解栈帧
2015-06-23 22:55:55
609
转载 WLAN部分概念补充说明
无线组件交互的基本原理图 refreence:http://www.crifan.com/files/doc/docbook/linux_wireless/release/html/linux_wireless.html#idp1530704 [Wireless Card] | [Linux Kernel ] |
2015-06-14 19:00:23
554
转载 Linux内核与驱动开发学习总结:PCI中线初始化(十一)
在《Linux内核修炼之道》里,文章作者对如何使用Kconfig和Makefile定位内核源码有精彩的阐述。并且该作者还在《Linux那些事儿 之 我是PCI》系列文章中对X86架构下的PCI总线和设备驱动做了很详细的分析。由于工作需要,我在此基础上分析了ARM体系结构的PCI总线驱动,并把心得和笔记整理一下,或许对日后解析其他子系统有所帮助。以下涉及到的Linux内核源码均为2.6.23版本。
2015-06-14 18:26:40
4069
转载 Linux内核与驱动开发学习总结:initcall 和contain_of宏(十)
内核驱动初始化顺序: main.c/start_kernel() ---> rest_init() ---> kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND) ---> kernel_init() ---> do_basic_setup() ---> do_initcalls() ---> do_one_initcall(
2015-06-14 18:07:48
481
转载 Linux内核与驱动开发学习总结:设备驱动模型(九)
驱动模型:总线(bus_type)、设备(device)、驱动(Driver).在数据结构设计上,总线、设备及驱动三者相互关联。 platform device包含device,根据device可以获得相应的bus及driver。设备添加到总线上后形成一个双向循环链表,根据总线可以获得其上挂接的所有device,进而获得了 platform device。根据device也可以获
2015-06-07 12:07:12
451
转载 Linux内核与驱动开发学习总结:中断和中断处理(八)
硬中断:1. 硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核中的一个子程序,而不是一个独立的进程)。2. 处理中断的驱动是需要运行在CPU上的,因此,当中断产生的时候,CPU会中断当前正在运行的任务,来处理中断。在有多核心的系统上,一个中断通常只能中断一
2015-06-07 12:04:01
1248
转载 Linux内核与驱动开发学习总结:内核访问外设IO.map_desc和ioremap(七)
默认外设I/O资源不在Linux内核空间中的,如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。Linux内核访问外设I/O方式有两种:动态映射(ioremap)和静态映射(map_desc)。一、动态映射Ioremapioremap函数返回映射后的内核虚拟地址(3G-4G). 接着便可以通过读写该返回的内核虚拟地址去
2015-06-07 12:02:00
1130
转载 Linux内核与驱动开发学习总结:原子操作实现(六)
处理器如何实现原子操作32位IA-32处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。1 处理器自动保证基本内存操作的原子性首先处理器会自动保证基本的内存操作的原子性。处理器保证从系统内存当中读取或者写入一个字节是原子的,意思是当一个处理器读取一个字节时,其他处理器不能访问这个字节的内存地址。奔腾6和最新的处理器能自动保证单处理器对同一个缓存行里进行1
2015-06-07 11:59:25
994
转载 Linux内核与驱动开发学习总结:自旋锁和信号量(五)
1、自旋锁和信号量 使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。中断服务例程中的互斥使用的是自旋锁,原因是在中断处理例程中,硬中断是关闭的,这样会丢失可能到来的中断。2、RCU 锁http://blog.sina.com.cn/s/blog_6d7fa49b01014q9s.html讨论的内容包括原子操作;自旋锁,内存屏障;读写自旋锁,顺序锁;信号量,读
2015-06-07 11:50:55
701
转载 Linux内核与驱动开发学习总结:字符设备(四)
mknod命令结合设备的主设备号和次设备号,可创建一个设备文件。 1. 使用早期的register_chardev()方法2. 使用cdev的方法3. 使用udev在/dev/下动态生成设备文件的方式 参考:http://www.cnblogs.com/hoys/archive/2011/04/17/2019233.html
2015-06-07 11:46:24
590
转载 Linux内核与驱动开发学习总结:嵌入式中南北桥(三)
1.在嵌入式系统中,所谓的北桥指的是什么?“ 南北桥 ” 主要适用于 INTEL 的 X86 结构体系,和嵌入式系统没有直接的关联。 “ 北桥 ” 主要指母板上 CPU 和内存等高速核心部分的控制和通讯桥接芯片,而 “南桥 ” 则指和扩展总线和 IO 的控制和通讯桥接芯片。 所谓南北的涵义主要体现在其芯片组在母板上的位置(相对于 CPU ) —— 上北下南。 在嵌
2015-06-07 11:45:32
1031
原创 Linux内核与驱动开发学习总结:DMA与中断(一)
DMA:是一种无须CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制,使用DMA可以使系统CPU从实际的I/O数据传输过程中摆脱出来,从而大大提高系统的吞吐率。 中断:是指CPU在执行程序的过程中,出现了某些突发事件时CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU又返回源程序被中断的位置并继续执行。所以中断和DMA的区别就是DMA不需CPU参与而中断是需要CPU
2015-06-07 11:42:09
1144
转载 Linux内核与驱动开发学习总结:主设备号和次设备号(二)
主设备号:主设备号标识设备对应的驱动程序。 次设备号:次设备号由内核使用,用于正确确定设备文件所指的设备。依赖于驱动程序的编写方式,我们可以通过次设备号获得一个指向内核设备的直接指针,也可将此设备号当作设备本地数组的索引。http://blog.youkuaiyun.com/liangkaiming/article/details/6234238
2015-06-07 11:42:09
633
转载 Linux无线驱动简介及mac80211源码分析
mac80211源码分析1、概述mac80211:是一个Linux内核子系统,是驱动开发者可用于为SoftMAC无线设备写驱动的框架。mac80211在内核空间实现STA模式,在用户空间实现AP模式(hostapd)。cfg80211:用于对无线设备进行配置管理,与FullMAC,mac80211和nl80211一起工作。nl80211:用于对无线设备进行配置管理,
2015-06-06 18:09:45
10641
转载 U-boot and Flash (NOR, NAND & SPI)
U-boot and Flash (NOR, NAND & SPI)U-boot now has support for 3 different flash technologies:NOR flash (traditional parallel 8-bit or 16-bit wide data bus, with a dedicated address bus).NAND fl
2015-06-06 11:29:16
770
转载 vmlinux,vmlinuz,bzimage,zimage,initrd.img uimage的区别与联系
1.vmlinux vmlinux是未压缩的内核, vmlinux 是ELF文件,即编译出来的最原始的文件。用于kernel-debug,产生system.map符号表,不能用于直接加载,不可以作为启动内核。只是启动过程中的中间媒体。 vmlinux.bin : The same as vmlinux, but in a binary file format.vmlin
2015-05-31 15:21:08
1101
转载 ath9k中的EEPROM
reference:AR93xx_AR94xx_AR95xx_EEPROM_Device_Configurationcompat-wireless-2014-03-31\drivers\net\wireless\ath\ath9k\ Ar9003_eeprom.h中定义了struct ar9300_eeprom 其中保存了校准相关的数据变量, 如MAC地址,eepro
2015-05-31 15:11:20
2038
转载 openwrt学习总结
http://wenku.baidu.com/link?url=VP3L5YLF5YV_U7Yf7yZgEYAny99uEOchU_Ms-4imWmSBvJJ0BsdCQRya_nk0mq2unCo9_-wyldCy_31ti-10ZDxiRHc6ZWDQz7ihOF02jkW
2015-05-31 14:57:01
604
转载 MTD技术的基本原理
MTD技术的基本原理MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口,并进行了一个层次划分,层次从上到下大致为:设备文件、MTD设备层、MTD原始设备层、硬件驱动层。MTD的所有源代码在/drivers
2015-05-31 14:39:49
3036
转载 小米路由器开ssh方法
官方方法:https://d.miwifi.com/rom/ssh?userId=867183863。官方方法原理分析:http://www.iptvfans.cn/wiki/index.php/%E5%B0%8F%E7%B1%B3%E8%B7%AF%E7%94%B1%E5%99%A8%E5%AE%98%E6%96%B9SSHURL方法: 1、先Web管理界面里,“路由设置“ ->
2015-05-31 14:30:55
10315
转载 C# RSA PKI 加密相关
RSA实现C# 加密首先我们来了解下什么是RSA ,它属于不对称加密,其原理就是使用一个公钥一个私钥,公钥可以公开用以加密,私钥严格保密用于解密,那么这样大家知道了RSA 适合于数据量不大的加密,比如加密对称加密的密钥。RSA实现C# 加密的过程实例:我们使用 CspParameters 将密钥保存起来,ToXmlString 和 FromXmlString 将接收方的
2010-04-17 21:36:00
1446
原创 C# c++注册组件ocx失败 You do not have a license to use this ActiveX control.
当您在 Microsoft Visual Studio 2005 或 Microsoft Visual Studio .NET 中使用 Microsoft Visual Basic 6.0 ActiveX 控件时,可能会遇到以下问题: 在您尝试将随 Visual Basic 6.0 一起提供的 ActiveX 控件添加到 Visual Studio 2005 或 Visual
2010-04-14 19:54:00
1744
WCF服务编程(doc版)
2010-03-13
排序算法 红黑树 二叉树 LCS
2010-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人