跟著佐大學Lede/OpenWrt培訓班講義-01路由器的軟硬件構成
課程試聽地址:
https://pan.baidu.com/s/13nCmoaXTEfKc9F9-bdtHcA
開場白:
大家好,我是佐須之男,感謝大家參加OpenWrt開發入門班。先做下自我介紹,我從08年至今一直從事著路由器開發的相關工作(固件定制、技術咨詢、開發培訓),擔任Anywlan和恩山無線的版主。首先回答下很多人的疑問,為什麽搞OpenWrt開發培訓?原因很簡單:隨著智能家居和物聯網的的興起,OpenWrt的熱度也隨之日益提高,但市面上並沒有質量高、系統化的OpenWrt開發教程,所以我就萌生了做OpenWrt開發視頻的想法。許多人會覺得我道貌岸然,就如我座右銘所說-"技術需要沈澱,成長需要痛苦,成功需要堅持,敬仰需要奉獻",我深知奉獻才是作為作為大神的職責所在,拋開奉獻大神和常人無異或許還不如。
OpenWrt開發入班的主要的目的是:補足大家知識體系上的欠缺、省去大家摸索的時間,進而能更快地參與到OpenWrt的開發中去。在授課過程中,歡迎大家和我交流互動。由於是入門教程,所以會盡量用通俗易懂的語言幫助大家理解OpenWrt。
下面是廣告時間,大家身邊有老板、朋友、熟人有需要路由器相關的固件定制、技術咨詢、開發培訓的業務的話,希望大家幫忙推介。
教程部分:(需要準備路由器主圖片、Flash、RAM的圖片)
廣告時間結束,下面言歸正傳,本講的內容是:路由器的軟硬件構成。其實路由器硬件架構和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這類都固件。在後面的教程中,會重點講固件的構成和實現。
視頻比文字更精彩,歡迎大家來參加我的OpenWrt開發入門培訓班。報名地址:http://forgotfun.org/2018/04/openwrt-training-2018.html
跟著佐大學Lede/OpenWrt培訓班講義-01路由器的軟硬件構成