OpenWrt

1.路由器硬件、软件的发展历史和演变。
2.路由器的硬件、软件架构分析。
3.OpenWRT开发环境配置。
4.make menuconfig常用选项的含义。
5.Bootloader、固件的关系,以及常见Flash布局方式。
6.固件结构分析,固件头的作用。
7.交叉编译工具链的原理和使用方法。
8.OpenWRT Package结构分析。
9.如何移植、编写简单的软件。
10.OpenWRT UI框架发展历史讲解,石像鬼、X-WRT、Luci。
11.基于uhttpd,lua编写简单的UI界面,基于Luci编写简单的UI界面。
12.OpenWrt常用命令使用方法讲解,bash/lua讲解。
13.OpenWrt UCI框架分析,/etc/config/network、/etc/config/wireless 等文件讲解。
14.OpenWrt sysupgrade命令实现原理分析。
15.OpenWrt 启动过程分析。
16.OpenWrt ipkg软件包结构分析。
17.OpenWrt mtd flash映射关系分析,art、eeprom、nvram、factory分区作用讲解。
18.OpenWrt挂载U盘、SD卡等,讲解hotplug的运行机制。
19.OpenWrt无线工作模式:station模式、ap模式、monitor模式讲解。
20.OpenWrt patch补丁原理。

---------------------

内容是:路由器的软硬件构成。其实路由器硬件架构和PC架构并无区别,CPU、RAM、ROM这些概念都是相通的。路由器的CPU是SOC,集成度很高,通常集成了交换机芯片、WIFI芯片,有些甚至了集成了Flash和RAM。
    路由器的RAM一般采用的是DDR2或DDR3,出于成本考虑所以相比PC会晚1-2代。比如电脑在采用DDR4时,路由器才刚刚用上DDR3颗粒。早期玩家改内存路由器通常是SDRAM,当年有叠焊这类神乎其神的改机技巧。路由器的ROM通常有SPI Flash、NAND FLash、NOR Flash,ROM的容量一般在8-32M。SPI Flash 和 NAND FLash是按扇区读取的,NOR FLash可以用地址寻址,所以NOR Flash的引脚也多,因为有地址线。早期由于RAM芯片太贵,所以路由器一般采用的是NOR Flash,因为NOR  FLash架构类似于内存,代码可以直接在NOR FLash上执行,这样就可以省很多成本。由于SPI Flash受SPI 总线工作模式(单双工)、工作速度的限制,所以读写速度低、容量小、响应慢。未来的趋势是NAND Flash,容量大、速度快、响应快。
    路由器的软件一般由bootloader和固件组成,类似于PC的BIOS和操作系统。首先解释下,为什么需要bootloader,因为CPU上电后内存里没有任何代码。需要靠bootloader将Flash中的代码搬运到内存,这也是loader的概念,搬运工。为了满足大家的求知欲,我来从芯片内部实现的角度讲解下CPU启动的原理。CPU上电后,首先会执行CPU内部固化的微码,复制FLash前xx字节到xx址内存,并执行xx地址的代码。此过程对软件是不可见的,是CPU内部的实现。固件的话,就很好理解了,简单来说就是操作系统,它决定了路由器的功能,同时也是路由器的灵魂所在。比如Tomato、OpenWrt、DD-WRT这类都固件。在后面的教程中,会重点讲固件的构成和实现

  

本文来自 ForgotFun 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/forgotfun/article/details/80281630?utm_source=copy

  

posted @ 2018-09-25 11:02  _liulin  阅读(1453)  评论(0编辑  收藏  举报