自定义固件

默认情况下Hilink的固件已经禁用了调试串口等一切可以拓展的功能,如果想自己DIY一些好玩的功能就需要自己编译和移植openwrt系统了。其实HIlink已经帮我们打包好了一份openwrt的SDK以及其依赖环境,我们只需要对其进行编译就可以生成一个最简单的openwrt固件。

硬件配置

在Hilink的这块评估板的外围已经将flash芯片的PORST_N、SPI_CS0、SP_ICLK、SPI_MISO、SPI_MOSI引脚进行了引出,如下图所示:

image-20201028160132396.png

所以固件烧录的时候仅仅需要执行以下操作即可:


  • 将模块PORST_N拉低,不能让模块启动;

  • 将Flash烧录器上有SPI_IO和模块的SPI_IO一一对应连接器来,即可进行烧录。

  • 建议再烧录之前先将原始固件读出来一份,虽然很垃圾但是以后玩玩还可以再烧录回去(Hilink不要打我)。

    注意:

  • 在购买烧录器的时候需要注意,不要购买ch341的,要买XTW100。因为市面上常见的主控为CH341的烧录器配套的烧录软件暂时不支持winbond W25Q256FVEM这款芯片(当然可以自行去编写25Q256的配置文件)

  • 在安装XTW100的时候可能会出现驱动安装不上的问题(windows10系统下),这时候可以使用 zadig来注入usb驱动。
    详细教程可以参考:

O1CN01Ox.jpg

上图中上半部分是ch341模组,下半部分是XTW100模组,在Hilink的这块评估板中flash被内嵌在了屏蔽罩下,如果想更换flash仅需要用风枪将屏蔽罩吹下即可。

固件烧录

固件烧录分为以下几个部分:


  • breed引导程序

  • Uboot引导程序

  • openwrt镜像


  • breed烧录

breed是国内大佬做的一个引导程序,他可以在你折腾MT7688导致无法启动的时候,通过breed web或者tftp来对设备进行固件的从新烧录而不用使用烧录器,由此获得了不死鸟的称号。具体的操作方法可以参考如下两个网站:


  • breed使用说明:

https://www.right.com.cn/forum/thread-161906-1-1.html


  • breed镜像下载网站

http://breed.hackpascal.net/

官方提供了两个mt7688的镜像,板子上WDT-RST是连接在GPIO#38上的,因此使用breed-mt7688-reset38.bin这个镜像。

通过XTW100高速编程.exe烧录软件即可完成对固件的烧录,烧录方法如下图所示。



  • Uboot烧录
    Uboot可以使用Hilink官方提供的,也可以下载Uboot SDK自行编译出所需的Uboot,或者直接采用Widora的Uboot文件。
    烧录方法也非常简单,开机待breed启动之后插入网线。按照breed提示在浏览器中输入ip即可打开烧录界面,然后将Uboot烧录进去即可。

  • openwrt镜像烧录
    镜像可以通过Uboot烧录也可以通过Breed烧录,Uboot烧录的方法可以参考这篇文章:

    https://blog.csdn.net/u010480899/article/details/51346954


关于固件的编译将在下一篇文章中进行叙述,烧录完固件之后就可以愉快的使用openwrt了。