自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aggresss

A tinker and plumber

  • 博客(10)
  • 收藏
  • 关注

原创 第十八期 U-Boot 网络原理分析《路由器就是开发板》

上一期在写入flash时用到了tftp服务tftpboot 0x80100000 uboot.bin,也就是通过网络传输协议,这一期我们来分析一下U-Boot是怎么控制hg255d进行网络传输的。首先,在common/cmd_net.c 文件中找到tftpboot的定义,U_BOOT_CMD( tftpboot, 3, 1, do_tftpb, "tftpboot- boot imag

2016-09-30 16:53:17 4015 2

原创 第十七期 U-Boot norflash 操作原理分析 《路由器就是开发板》

在一些论坛里大家说路由器变砖了往往指的就是flash中关键的内容被清空了。就像PC中的硬盘被格式化了一样,有点常识都知道,硬盘被清空了只要没有重要数据,从技术角度讲并不大碍,重新安装一个操作系统就可以了,PC的硬盘相对于路由器的flash简单的地方就在于PC机的底层还有一个标准的BIOS系统,可以支持从其他介质比如光盘,U盘,网络启动PE环境进行一些操作,而且硬盘容易拆卸,很方便导入数据,但路由器

2016-09-28 21:20:39 4268 9

原创 第十六期 U-Boot TTL串口输出原理分析《路由器就是开发板》

这一期我们来分析一下U-Boot中TTL串口输出是怎么实现的,我们带着这个疑问来分析U-Boot的源文件。        TTL的电气原理是这样的:发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,串行收集然后放在缓冲区中,CPU即可读取UART获得这些数据。UART之间以全双工方式传输数据,最精确的连线方法只有3

2016-09-24 00:00:07 3888

原创 第十五期 MIPS汇编U-Boot从start.S开始《路由器就是开发板》

这一期我们概略说一下MIPS架构并了解一下简单的汇编语句。首先推荐大家阅读一下SDK里DataSheet文件夹下的See MIPS Run Linux.pdf和MIPS.Assembly.Language.pdf两个文档。MIPS的ISA(Instruction Set Architecture)超级精简,现在市面上大多数的路由器都是基于MIPS架构的,因为当年ARM还没有发力网络终端这个领域

2016-09-22 15:02:48 5808 2

原创 第十四期 U-Boot命令原理《路由器就是开发板》

这一期我们说一说人机交互的话题,说白了就是用户界面,当我们拿到一款设备肯定要根据我们自己的环境进行配置,小到路由器大到矩阵存储一般都会提供一种或几种配置方法。我总结了一下接触过的设备,大体上把人机交互的方法分为三种:        (1) CLI (Command Line Interface) 典型的命令行就是这种交互方式,一般设备的Console接口都是CLI接口,只要设定好连接参数就可以

2016-09-22 11:17:05 2810

原创 第十三期 U-Boot编译原理《路由器就是开发板》

大体了解了U-Boot的源码结构后有一个问题必须得掌握透彻,那就是U-Boot的源码是怎么生成可执行文件的,如果把这个问题搞明白,就可以对U-Boot的全局有一个把控能力。这一期我们来分析Ralink_SDK3.6中U-Boot的编译原理,因为这是一个比较关键的节点,我准备换一种风格,争取把每一个细节都讲到。看这期之前,建议你了解一下Makefile的语法,在SDK的DateSheet目录下有一个

2016-09-21 22:32:28 3861 1

原创 第十二期 U-Boot工作原理 《路由器就是开发板》

刚开始接触U-Boot时都是别人编译好的bin文件,拿来直接刷入就可以用,第一次从官网下载了一个U-Boot时瞬间被它的代码量吓住了,虽然代码量不足linux内核的5%,但它也完全有自己的分层结构,如果适度改造完全就是一个单进程的小系统,启动系统内核可能只是它功能的一小部分。从源代码级别修改U-Boot和拿别人编译好的U-Boot直接刷从技术层面上讲还是有很大差距的,在这里呼吁在论坛上发布各种U-

2016-09-19 21:59:51 4486

原创 第十一期 U-Boot介绍《路由器就是开发板》

从这一期开始我会利用10期的量来在我们之前改造过的开发板上进行U-Boot相关的实验,目标是将ralink_SDK3.6版本的U-Boot增加 web failsafe 功能,就是论坛里大家说的”不死U-Boot“的特殊功能,可以通过web的形式加载固件。当然,以U-Boot的代码量,想要系统化详细分析是一个巨大的工程,所以我的方式是讲解一些基础知识,然后再讲解为实现某一功能的改造的过程,通过这个

2016-09-18 11:58:34 6708

原创 第十期 路由器调试之HelloWorld 《路由器就是开发板》

前面几期都是在做准备工作,这一期我们开始实际操作。很多教程的开始都喜欢用HelloWorld来先做个演示,我也不例外,在硬件开发板教程里流水灯就是一种HelloWorld,程序简单,只要控制GPIO就能实现,并且直观明显。现在开始动手将HG255d实现流水灯功能,实现后的效果是这样的:如果你感兴趣,那我们就先来动手操作一下,算是控制开发板的第一步。首先编译环境是在linux_3

2016-09-06 23:34:54 9310 12

原创 第九期 HG255d硬件分析 《路由器就是开发板》

这一期从芯片级别分析HG255d的硬件结构,如果想把它作为开发板,那外壳可以拆开扔掉啦。我将HG255d的图片贴在下面,每个功能模块采用不同的颜色标记,然后分别说明。HG255d正面PCB图:HG255d背面PCB图:        HG255d的设计图纸并没有公开,但Ralink的芯片的Demo板的图纸还是可以找到的,在SDK的Datashee

2016-09-04 11:17:39 22654

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除