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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM