(三)、QCA9531基础刷机烧录

1、续上一篇,比较幸运的是我们编译没有报错,如图所示

所生成的固件对应文件夹    openwrt/bin/targets/ar71xx/generic

其中 openwrt-ar71xx-generic-ap147-010-squashfs-sysupgrade.bin 文件可以烧录到开发板中。

2、这里编译完是没有任何OpenWRT的图形管理界面的,我们需要添加Luci界面,用于嵌入式 Linux 系统的开源Web用户界面。

进入LuCI -- Collections,使用空格键选中Luci直至显示*(*(星号): 通常表示该选项被选择或启用。M 通常表示该选项被配置为模块(Module)。在 Linux 内核中,模块是一种可以在运行时加载和卸载的代码,它们不是直接编译到内核中,而是作为独立的模块存在。)

进入LuCI -- Application -- luci-app-uhttpd 选中为 * (LuCI(OpenWrt 配置界面)的一个扩展,允许用户通过基于 Web 的图形用户界面配置和管理 uhttpd Web 服务器)

 还可以再LuCI > Themes中编译系统带的3个额外主题,根据自己喜好选择编译或者不编译

英语不好的同学,可以再编译的时候使用中文版本的LuCI,配置如下

LuCI  >  Modules  >  Translations

<*> English (en)

<*> Chinese (zh-cn)

想要默认启动中文界面还需要更改配置(习惯使用gedit文本编辑器,按照个人喜好,vim也可以)

gedit feeds/luci/modules/luci-base/root/etc/config/luci

修改   option lang zh_cn

保存并重新编译,二次编译很快就能完成。

make V=s -j8

3、将USB转串口连接至开发板,这里USB转串口芯片为CH340(任意USB转串口都可以,只要主机能够有驱动识别即可),USB转串口的TX与RX和开发板是交叉线连接的,即TX连接RX, RX连接TX。

将USB转串口连接至Ubuntu主机,可以通过命令查看驱动已经有了,加载了CH340驱动

lsusb

输入命令后可以看到设备里面有 ttyUSB0 这个串口设备了

ls /dev

 4、通过串口连接到QCA9531控制台,在Windows下我习惯使用SecureCRT,这里我们使用Ubuntu操作系统,先下载 minicom

sudo apt install minicom

配置 minicom

sudo minicom -s

 进入 Serial port setup 回车进入配置

 选择 A 将 Serial Device 改为 /dev/ttyUSB0 

回车  保存直至返回到上一层目录,选择 Save setup as dfl 保存刚才的配置为默认配置,然后退出选择   Exit

Exit后直接进入Minicom界面

5、直接对开发板上+12V电源,可以看到系统已经跑起来了,Uboot(用于嵌入式系统的开源引导加载程序。它负责初始化硬件、加载操作系统内核,并将系统引导到运行状态。U-Boot通常用于启动Linux内核,但也可以用于启动其他操作系统或引导加载程序。它提供了一个命令行界面,允许用户在引导过程中执行各种操作,例如烧写固件、配置启动参数等。)已经启动了

图中已经可以看到U-Boot版本号和硬件信息,比如CPU的型号是QCA953x,类型是:MIPS 24Kc DDR类型和Flash容量  MAC等等信息。 有意思的是Uboot显示路由器的型号为ZBT-WE1526,信息也显示在OpenWRT的官网,确实是QCA9531。

https://openwrt.org/toh/hwdata/zbt/zbt_we1526

等一切加载完成后,按回车可以直接进入系统命令行,此时显示为QSDK,QSDK是QCA 软件开发套件,新版本已经迁移到 codelinaro ,是高通公司提供的软件开发包,且似乎新版本已经不支持QCA9531的构建了。

wiki-qsdk | CodeLinaro Wiki

这里我们不使用QSDK来构建系统,我们已经使用了OpenWRT官方提供的包来构建我们的系统。Flash里面有uboot那么我们就不必担心系统坏掉,后期可以直接从Flash里面提取固件修改即可。目前我还没研究怎么修改Uboot,后续有深入了解再开展叙述,这里就用他的uboot先。

其中我们可以看到 BusyBox + 版本号,它是小型而功能丰富的 Unix 工具箱,还包含了一个简化的 shell,主要是针对嵌入式资源受限的一个小巧的工具箱,我们可以进行一系列的命令操作。

6、烧录之前我们看下我们Flash里面的文件系统

等待系统完全启动后,按回车进去,输入

cat /proc/mtd

可以看到Linux中对闪存类的存储器是采用的MTD类设备驱动来实现的,它可以是 NOR Flash、NAND Flash、DataFlash 等。其中固件不同,这里的配置也不一样(AR和MTK的芯片就不同,有兴趣可以自行搜索)。

在图中我们看到u-bootu-boot-env(是一组变量,用于存储 U-Boot 的配置信息,这些变量包括引导参数、设备设置和其他配置数据),后面再探索uboot的配置

rootfs 是根文件系统(Root File System)的缩写,通常包含了设备的基本文件和目录结构,用于支持设备的基本功能和服务。这个文件系统通常是只读的,它包含了设备启动时所需的核心文件和程序。在运行时,通常会加载到内存中,以提供设备的基本操作。

rootfs_data 是一个用于存储可写数据的文件系统,通常包含设备运行时的变更和用户数据。这个文件系统通常是可写的,并且可以用来保存配置文件、日志、用户数据等。这样可以确保 rootfs 的稳定性,同时允许用户修改和保存数据到 rootfs_data

kernel 用来存储内核,加载 Linux 内核到系统内存中,由uboot来引导

art 文件通常包含了与设备上的无线芯片相关的射频校准数据、MAC 地址和其他配置信息,

firmware 分区包含了设备的操作系统及其相关组件,可能包括定制的 Linux 内核、用户空间工具、库文件等。固件文件是设备的核心软件,决定了设备的功能和运行环境。

这些大概清楚就行,我们开始准备刷机。

7、连接路由的串口到主机,打开控制台,上电的瞬间看到倒计时的时候,按回车,直接进入uboot;如图所示,可以看到stop booting在倒计时,倒计时之前按回车停止加载引导程序。

 此时将电脑网线连接到路由器LAN口,不要接WAN口。

在uboot端输入 http 或者 httpd 命令

http

可以看到uboot的IP为 10.10.18.1 ,我们修改我们主机的IP为同一个网段,手动配置IP为10.10.18.123(根据自己喜好设置最后的数字)。

关闭网口在开启网口,重启了ubuntu网络服务

ping 10.10.18.1

可以ping通路由器 

 

开浏览器,在浏览器中输入 10.10.18.1 ,可以看到已经可以进入刷机WEB界面了。

这里我们选择 Choose File 选择 openwrt-ar71xx-generic-ap147-010-squashfs-sysupgrade.bin 文件 (文件位于openwrt/bin/targets/ar71xx/generic目录下

 选择完毕直接点击右侧 Update firmware 按钮开始刷机直至完成。

刷机完成后会重新从Uboot开始引导,等待路由全部启动后,修改网口配置,设置为DHCP自动获取,重启网口。

输入网口查看命令,可以看到已经获取到路由器自动分配的IP

ifconfig

 

在浏览器中输入 192.168.1.1 

可以看到系统已经进入了LuCI界面,密码输入admin 可以看到我们的版本信息确实为18.06刷机成功。

 

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值