rt-thread物联网开发板用qboot实现固件ota升级

本文详细介绍了如何使用qboot软件包制作小型bootloader,优化配置内核组件,省去shell并禁用网络。此外,展示了如何配置Flash、添加ota升级功能,包括ymodem和fal的集成,以及更新固件的整个流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用qboot软件包制作bootloader

  1. 为了使bootloader尽量小,对内核及其组件进行了如下配置
    在这里插入图片描述线程间通信只用选择这两个:
    在这里插入图片描述为了方便调试,下面这项配置成这样:
    在这里插入图片描述组件中除了这两项其他都不选:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述这个msh shell其实占用rom挺多的。我们用console打印调试信息,但是可以不用shell, shell只是一些命令集
    在这里插入图片描述在这里插入图片描述网络组件全部不用,这些子菜单点进去,确认都没有选上!

  2. 配置qboot
    在这里插入图片描述在这里插入图片描述开发板上红色灯是E7,低电平点亮,所以这里running status led pin设置为71,led on level设置为0。
    在这里插入图片描述必须要开启片内flash

  3. 下载软件包并编译
    运行pkgs --update后,会自动下载qboot及其依赖包
    下载完成后,在board/ports/fal目录下,添加如下源文件(把其他文件删掉,只保留SConscript)
    在这里插入图片描述fal_cfg.h:

#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_

#include <rtconfig.h>
#include <board.h>

#include <stdlib.h>

#define RT_APP_PART_ADDR            (0x08000000 + 64 * 1024)  // app partition begin address

#define NOR_FLASH_DEV_NAME          FAL_USING_NOR_FLASH_DEV_NAME//"norflash0"

/* ===================== Flash device Configuration ========================= */
extern const struct fal_flash_dev stm32_onchip_flash;
//extern struct fal_flash_dev nor_flash0;

/* flash device table */
#define FAL_FLASH_DEV_TABLE                                          \
{
                                                                         \
    &stm32_onchip_flash,                                             \
    /*&nor_flash0,*/                                                 \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
#define FAL_PART_TABLE                                                                      \
{
                                                                                                \
    /*{FAL_PART_MAGIC_WORD,   "bl",           "onchip_flash",     0,          32*1024,  0},*/  \
    {
     FAL_PART_MAGIC_WORD,   "app",          "onchip_flash",     64*1024,   128*1024
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值