esp8266wifi模块烧录步骤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了esp8266wifi模块烧录步骤相关的知识,希望对你有一定的参考价值。

参考技术A 1)制作WIFI模块固件,所述WIFI模块固件包括第一引导程序、第二引导程序,固件标志及应用程序;
2)为WIFI模块固件分配MAC地址;
3)将WIFI模块固件烧录到WIFI模块中,设置WIFI模块固件的固件标志为测试固件;
4)启动第一引导程序,检测当前WIFI模块固件状态;
5)将检测状态正常的WIFI模块固件组装成WIFI设备,WIFI设备上电后,WIFI模块固件向服务器发送连接指令,所述服务器存储配置文件、指令程序和修复固件程序;
6)服务器在接收到连接指令后,下达启动第二引导程序指令,并下发配置文件,且服务器在线状态可以保证下发的配置文件为最新版本;
7)WIFI模块固件启动第二引导程序、加载配置文件,并检测WIFI设备功能是否正常,如果WIFI设备功能异常,执行步骤8),WIFI设备功能正常则跳转执行步骤10);
8)WIFI模块固件向服务器反馈WIFI设备功能异常信息,服务器加载对应的修复固件,向WIFI模块固件发送下载指令;
9)WIFI模块固件根据服务指令下载修复固件,下载完成后,将WIFI模块固件的固件标志设置为修复固件并向服务器发送连接指令,跳转到步骤6);
10)如果WIFI设备功能运行正常,将WIFI模块固件的固件标志设置为正式固件。

树莓派Linux内核配置编译以及烧录详细步骤

一、内核配置

进入linux-rpi-4.14.y目录
在这里插入图片描述

第一种方式:(cp 厂家.config .config)

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig

在这里插入图片描述

第二种方式(make menuconfig 一项项配置,通常是基于厂家的config来配置)

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make menuconfig

在这里插入图片描述
上下左右键进行操作

如何配置树莓派的Linux内核
驱动两种加载方式:
* 编译进内核 zImage包含了驱动
M 模块方式生成驱动文件xxx.ko 系统启动后,通过命令inmosd xxx.ko 加载

二、内核编译

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs

j4以4进程编译。不指明几进程的话则默认以单进程编译
zImage生成内核镜像
modules要生成驱动模块
dtbs生成配置文件
在这里插入图片描述
编译成功后,看到源码树目录多了vmlinux,失败则无此文件(如上图)
成功后,目标zImage镜像arch/arm/boot底下

打包zImage成树莓派可用的xxx.img

./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img

将SD卡插上读卡器,如图连接到Ubuntu
在这里插入图片描述

三、烧录

数据拷贝:

1、创建两个文件夹

mkdir data1
mkdir data2

2、挂载u盘

sudo mount /dev/sdb1 data1   fat分区,是boot相关的内容,
sudo mount /dev/sdb2 data2   ext4分区,也就是系统的根目录

3、安装modules

(设备驱动文件: hdmi usb wifi io等等)
进入如下目录:
在这里插入图片描述
输入如下命令

sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=[ext4] modules_install

[ext4]为你要生成的绝对路径
例如我的是:
sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=/home/lhg/data2 modules_install

4、安装更新 kernel.img 文件,注意镜像名字是kernel7.img

前面已经用 mkknlimg 工具打包了kernel_new.img文件了,把它复制到boot分区并配置使用即可:
cp kernel_new.img [fat]/
在这里插入图片描述
先备份

进入目录:cd /home/lhg/data1
然后输入:cp kernel7.img kernel7OLD.img

再把编译新生成的拷贝到data1,起名kernel7.img

cp kernel_new.img /home/lhg/data1/kernel7.img

用md5sum命令看看拷贝过程文件有没有损坏,如图
在这里插入图片描述

5、拷贝配置文件

分别输入如下命令(注意需要把目录改成你的)

cp arch/arm/boot/dts/.*dtb* /home/lhg/data1
cp arch/arm/boot/dts/overlays/.*dtb* /home/lhg/data1/overlays/
cp arch/arm/boot/dts/overlays/README /home/lhg/data1/overlays/

6、启动

将SD卡插入树莓派,用串口连接至电脑上电
在这里插入图片描述
输入

uname -r

可以看到内核版本已经变了
在这里插入图片描述

以上是关于esp8266wifi模块烧录步骤的主要内容,如果未能解决你的问题,请参考以下文章

WIFI ESP8266模块输入AT指令 不回复OK

求一个安信可ESP8266模块调试工具

esp8266wifi模块怎么用

打算用51单片机和ESP8266wifi模块做个无线传数据的东西,但是不知道怎么控制wifi模块发送数据

如何用esp8266作为随身wifi

esp8266wifi模块怎么接收传感器数据