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

如果你感兴趣,那我们就先来动手操作一下,算是控制开发板的第一步。
首先编译环境是在linux_32位下进行的,需要搭建一个linux开发环境,这里以Ubuntu14.04为例,
$ sudo apt-get update
$ sudo apt-get install git g++ make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim
编译工具链我们使用Ralink的SDK里提供的,如果想自己编译也可以,网上有很多教程可以借鉴,SDK目录下Tools文件夹下的 buildroot-gcc342.tar.bz2 文件就是编译工具链,在Linux下的操作为:
        1. 进入SDK/Tools目录 cd xxxx/RFDemo/Tools
        2. 解压buildroot-gcc342.tar.bz2文件到/opt目录下 tar -jvxf buildroot-gcc342.tar.bz2 -C /opt
        3. (可选) 将/opt/buildroot-gcc342/bin/ 目录添加到Path变量中: vim ~/.profile 在末尾加入
        # MIPS Toolchain mipsel-linux-xxx
        PATH=$PATH:/opt/buildroot-gcc342/bin
重启后执行 mipsel-linux-gcc -v 就可以看到工具链的版本信息。
编译工具准备好后,开始生成我们想要的流水灯程序,这里因为我们想作最小的改动实现最小的功能,我就不单独生成工程了,而是直接在Uboot上修改,采用给Uboot打补丁的形式来演示我们的流水灯程序。这里再说明一下,以后的演示示例我都是已补丁的形式给出,这样做的好处有两点:1.对于复杂的工程可以清楚的看到修改了哪些地方;2.patch文件的操作是可逆的,实验完成后可以恢复。
进入SDK的Code/Uboot目录下 然后执行 patch -p1 < ../Patch/led_run.patch
如图所示:

然后执行 make menuconfig 就会出现编译配置程序,将所有选项改成下图的状态:

然后 Exit 选择 yes 保存并退出。
再执行 make 生成 uboot.bin 可执行文件

编译完成后如果在当前目录下生成了 u-boot 文件 就说明编译成功,接着就可以进行下一步啦,如果不成功,就细心找找原因。将 uboot.bin 文件放到OpenOCD的bin目录下 ,运行OpenOCD服务,如果不清楚请详细看前几期介绍,再使用telnet工具访问OpenOCD服务 telnet 127.0.0.1 4444 ,telnet成功后执行两条命令:
halt 和 run_uboot 
结果如下所示:
>Open On-Chip Debugger
> halt
target state: halted
target halted in MIPS32 mode due to debug-request, pc: 0x9f000380
> ralink_init
> run_uboot
125248 bytes written at address 0x00200000
downloaded 125248 bytes in 3.163181s (38.668 KiB/s)
>
如果显示如下的信息,你会惊喜的发现我们的开发板已经动起来了,流水灯程序就这样跑起来了。具体的原理我们以后分析,先来个小的Demo演示一下增加点兴趣。
如果显示如下的信息,你会惊喜的发现我们的开发板已经动起来了,流水灯程序就这样跑起来了。具体的原理我们以后分析,先来个小的Demo演示一下增加点兴趣。
这里需要注意一下如果在执行halt命令后pc的值为pc:0x00000000,那么说明你的开发板的U-Boot还能正常运行并将JTAG接口初始化为了GPIO口,这种情况需要将flash的53和54引脚短接再开机,正常识别后再断开即可,具体参考:
http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=9314
http://www.right.com.cn/forum/thread-105069-1-1.html
当然,做完实验后要清理现场,因为Code目录下的程序以后还要用到,所以我们要把刚才的修改再还原回去,执行下面两个步骤就OK:
1. make distclean
2. patch -R -p1 < ../Patch/led_run.patch

到这里《路由器就是开发板》的准备工作就讲完了,下一期开始我会从源码分析问题,先说U-Boot再讲OpenWRT。

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

SDK下载地址:   https://github.com/aggresss/RFDemo

第十期 路由器调试之HelloWorld 《路由器就是开发板》相关推荐

  1. 【华为出品】物联网全栈开发实战营第2期来啦!送海思开发板

    物联网一直在改变我们生活的方方面面.可穿戴设备有助于监控我们的偏好.习惯和健康状况.智能家居设备可提高家居的舒适度.安全性和便利性.城市利用连接的数字设备收集的海量数据(数十亿个)来改善城市规划.制造 ...

  2. 地平线x3使用vscode 远程调试linux虚拟机或者arm 开发板

    使用vscode做远程调试的主要目的是为了能够调试自己的arm开发板,也就是地平线x3派.之前他们提供了基于python开发,模型移植但是后处理这一块太慢了,所以想着如何去移植. 首先从vscode里 ...

  3. x210ii DM9000驱动调试成功-基于x210ii/s5pv210开发板

    //-------------------------------------------------------------------------------------------------- ...

  4. 调试 Cisco 企业级路由器

    实施要点: 使用Cisco路由器调试线缆连接路由器的Console接口和计算机的串口,接通电源后开启路由器,然后1.在Windows XP环境下通过超级终端登录路由器进行初步调试,网络拓扑如图所示. ...

  5. linux开发板调试,用arm-gdb和gdbserver调试开发板的方法

    (1)将交叉编译工具下的gdbserver拷到arm板上,我默认gdbserver在交叉编译工具下的路径为arm-arago-linux-gnueabi/usr/bin,其中gdbserver是arm ...

  6. 香橙派(Orange Pi)树莓派开发板USBCAN适配器usb转can调试软件使用教程

    一.硬件准备 1.windows7电脑*1 2.Orange Pi zero开发板*1(可以不带显示设备,六叶树的USBCAN调试软件可以使用远程桌面) 硬件要求很低,不需要显示屏,相当于只要手里有1 ...

  7. 飞凌嵌入式 OKA40i-C 开发板调试笔记(1)编译+烧录系统

    文章目录 准备 A40i Linux SDK 安装 SDK 需要的软件包 编译镜像 开发板与电脑连接 烧录软件及驱动安装 烧录镜像到开发板 串口打印 准备 A40i Linux SDK 将 A40i ...

  8. 转载:百为STM32开发板教程之十二——NAND FLASH

    http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二--NAND FLASH 参考资料: 百为stm32开发板光盘V3\百为stm32开 ...

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

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

最新文章

  1. Quartz cron表达式
  2. vPower系列- 前言
  3. spoon kettle连接数据库失败解决方法
  4. PHP7.0连接DB
  5. mongDB update 修改器
  6. AbsListView.LayoutParams
  7. Resin的安全性ip限制
  8. [git 基础] 生成patch 和 打patch 的实例
  9. azure夜校培训第四场3月8日18:00---网络服务
  10. matlab定义和调用函数m,Matlab学习-自定义函数与调用
  11. php界面怎么美化,美化你的应用程序的外观界面
  12. 计算机一寸照编辑教程,超简单的一寸照制作及排版教程,再也不花冤枉钱!
  13. 嵌入式-----产品手册----塔吊黑匣子电气安装培训
  14. 手机里的照片导入计算机的方法,苹果手机照片怎么传到电脑_苹果手机照片传到电脑教程-太平洋IT百科手机版...
  15. 马云预言再次成真!刷脸支付迅速开拓市场,二维码市场岌岌可危
  16. 40款非常漂亮的免费下载 HTML5 CSS3 网站模板欣赏
  17. 【从零基础学习C语言】指针与数组—第七篇
  18. 直播带货这么火,如何在小程序中实现视频通话及直播互动功能?
  19. 腾讯云学生机官网地址在哪里?
  20. 虚拟机VMware安装Ubuntu

热门文章

  1. 微信扫一扫 扫普通链接二维码打开微信小程序
  2. java.lang.OutOfMemoryError异常及相关问题解决
  3. UEFI模式创建Grub2引导ubuntu16.04和windows10,并安装Linux Nvidia驱动
  4. matlab的三维矩阵含义
  5. 二、互联网思维之用户思维
  6. 电动车锂电池行业前景广阔,啰马锂服帮助企业、门店“降本增效”
  7. python技巧:将文件夹下的文件遍历,保留特定文件,删除其他文件
  8. 好用的android app,6款好用的Android手机App
  9. [M1]Daily Scum 10.8
  10. ElasticSearch 基础(七)之分析器