大家好,路由器就是开发板这个提议最早是在2010年的时候在逛一个国外的论坛时看到有人提到的,那时我还处在一个从论坛上下载一个固件刷成功后兴奋不已的阶段。上大学时WIFI刚刚兴起,还是802.11b的年代,当时特有想法,用一个磊科的WR加一个定向天线架在寝室对面的楼顶,用WR当AP,PC装个Mirotek的RouterOS当AC,利用PPPOE漏洞截获几个免费账号实现多拨,请全楼的人免费上网,每天看着那么多node上线,感觉好开心。那个年代就是这样,只为兴趣,可以不上课,不理女朋友,那个定向天线还是俺借钱买的。发张图纪念一下那个青涩有趣的年纪。

        作为一个由好奇心驱动而活着的人,但凡发现感兴趣的事情总喜欢刨根问底的搞出十万个为什么,然后每天以解答心中的疑问作为最大的快乐。OK,当我们刷机后,实现了预期的功能后,疑问就来了,他们的内部原理是什么呢。当然,往深层次研究是需要一定的基础知识,并且要承担陡峭学习曲线的痛苦。
下面说一下我想写《路由器就是开发板》的原因和目的。从2010年第一次接触DD-WRT到现在6个年头了,这期间一直把它当做业余爱好,时不时关注一下,这几年家庭和工作比较忙,有两年竟一点没关注这个,但这几天翻翻过去的照片,发现这几年当初接触WRT是的一些观点一直潜移默化的影响着我,所以我想把对无线路由器这个大沙滩上偶尔拾到的一些小贝壳整理一下,连成一串,做个回忆录。其次,我想会有很多人好奇无线路由器的内部是怎么工作的,我想把我所理解的一些小知识点拿出来分享一下,帮助新人更快的成长。
        接着说我会讲什么,讲到什么程度,会涉及到哪些知识和分析到怎样一个深度。无线路由器作为一个产品拿到我们手上时,经历了一个完整的产业链的传递,和人类对于计算机发展的历史。产业链可以追溯到上世纪八十年代RISC架构的商业化兴起,发展历史可以追溯到图灵第一次产生计算机原型的想法。下面列出我会讲到的内容:
    1.MIPS架构,SOC工作原理,无线路由器工作原理;
    2.U-Boot 工作原理,编译生成,功能改造;
    3.OpenWrt工作原理,编译生成,功能改造;
        所有的连载完成后我们会得到一个内部软件完全由自己编译的路由器,记得一个大牛说过,你对自己的程序要精确的掌握到每一个字节,这个有点极端,但至少我们可以实现运行的每个程序都是自己编译过的,对于一个初级Geek,这是一个必经的阶段。
        文章里不会深入的太极端,比如用Verilog写一个MIPS架构CPU,用C实现一个操作系统内核,更多的是拿来主义,原则就是必须开源,这样我们可以搭建一个很好的学习环境,做简单修改,添加想要的功能。
我给《路由器就是开发板》起的英文名字是 Router For Demo ,简写为 RFDemo. 
        文章计划共25期,从2016年8月1日开始到2016年10月31日,所有源代码,DataSheet,附件均提供下载方式,所有信息均来自互联网,仅供学习和经验交流使用,请勿用作商业用途。

第一期 前言 《路由器就是开发板》相关推荐

  1. 第一期 前言 《手机就是开发板》

    前几天翻抽屉发现了一堆旧手机,不禁感慨,从2009年开始使用android系统的手机到现在,平均每十个月就换一个手机,因为工作原因很熟悉nand和eMMC存储器的工作原理,知道手机内的个人信息即使被删 ...

  2. 第二期 AOSP 环境搭建、下载和编译 《手机就是开发板》遇到问题解决

    第二期 AOSP 环境搭建.下载和编译 <手机就是开发板>遇到问题 编译通过,庆祝一下: 编译时需要注意事项 清华大学软件镜像站:repo从这里下载 https://mirror.tuna ...

  3. 桥接模式下的手机-电脑-开发板连接

    操作系统Ubuntu14.04 1.桥接方法参照上篇 2. a.手机与电脑的连接 sudo add-apt-repository ppa:nilarimogard/webupd8 $ sudo apt ...

  4. 第十八期 Android GPS原理分析《手机就是开发板》

    如果想对Android的整个框架有一个更深层次的感性认识,我们还需要抓住一个点去研究一下.Android按照模块分成很多个系统,比如Audio,Video Out,Camera,Phone,WIFI, ...

  5. 第二期 AOSP 环境搭建、下载和编译 《手机就是开发板》

    Android最初是由Andy Rubin基于linux内核开发出来用于数码相机的操作系统,Android名字的原型是Andy Rubin小时候最喜欢的一个游戏人物,logo的原型是UI设计师在看到卫 ...

  6. ESP32-C3 学习测试 蓝牙 篇(二、蓝牙调试APP、开发板手机连接初体验)

    等了好久终于等到今天,盼了好久终于把蓝牙测试 = =! ESP32-C3 专栏好久没更新了,这次抽点时间把蓝牙的准备工作做完. 目录 前言 1.蓝牙手机调试工具 2.ESP-IDF中示例的选择 3.E ...

  7. 迅为4412开发板物联网项目实战手机远程控制(广域网)

    用手机远程控制开发板,远程控制不是通过WIFI局域网控制,而是通过广域网来实现,真正的远程控制.实现万物互连. 下面先介绍一下云计算 云计算是分布式计算的一种,指的是通过网络"云" ...

  8. 涂鸦LZ201-CN开发板学习笔记(一)

    涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...

  9. 初学嵌入式STM32基础下选哪款开发板适合学习

    iTOP-4412开发板 目前为止,在用户网盘上已经积累了多达100G以上资料, 这些资料都是和4412相关的,并不是随便拼凑起来的!同时我们也完全开放原厂资料. 鉴于用户对于海量资料无从下手的问题, ...

最新文章

  1. iOS直播(二)GPUImage音视频采集
  2. golang协程特点
  3. Mongodb安装搭建Replica Set+Sharding集群
  4. java实现一个单例设计模式_Java正确实现一个单例设计模式的示例
  5. python3 实现 A+B Problem(百练OJ:1000)
  6. [数据库] MySQL基础知识之日期判断及添加排序序号
  7. DC保存至BMP图像
  8. python manager与basemanager_使用Python多处理管理器(BaseManager/SyncManager)与远程计算机共享队列时出现管道中断...
  9. 12 种主流编程语言输出“ Hello World ”,把我给难住了!
  10. 酷黑风个人主页+引导页
  11. jrebel 远程部署 配置记录
  12. 【Elasticsearch】es 别名可写 索引可写 傻傻分不清
  13. Linux先发送条件变量,linux 条件变量 浅谈Linux条件变量的使用
  14. SAP License:MIRO
  15. arcgis导出地图分辨率多少合适_地图册制作:ArcGIS分幅制图——以深圳地铁线路图为例...
  16. 无人驾驶综述:等级划分
  17. HTML——多选框和按钮、搜索框滑块简单验证
  18. Blender快捷键大全
  19. 80286 与 80386,实模式与保护模式切换编程
  20. 基于微信小程序的单词记忆系统(Java+SSM+MySQL)

热门文章

  1. 遇到 ORACLE 错误 1455
  2. 计算机控制系统接地方式,计算机控制系统接地技术探讨
  3. 2022道路运输安全员考试题库多选预测分享(2)
  4. Python——习题:生成银行卡号和密码
  5. 什么是SRRC?流程是什么?申请需要哪些资料?
  6. 云原生周报 | 2021下半年CNCF开源项目发展总结;Cilium 1.11发布;BFE Server及控制面更新
  7. 在html中雪碧图的坐标怎么看,详解CSS Sprite雪碧图的应用
  8. python语句分号_【判断题】Python程序中每条语句以分号结尾。 A. 正确 B. 错误
  9. linux load average,Linux 平均负载 Load Average 详解
  10. python画旺仔代码_python基础1