RT-Thread Studio STM32 qboot IAP升级功能

rt-thread OTA之app学习 rt-thread qboot ota ymodem 阅读详情

        为期3周空余时间,测试IAP升级测试,初步测试通过;本文不过会过多关注操作步骤(后面如果更多的空余时间再补充一些);主用作记录当前移植的难点和关联点.

1:  测试单片机:STM32F407ZGT6 

2:工具:

        1)st-link(下载烧录文件)

        2)STM32F407ZGT6开发板 (外挂FLASH+串口1输出)

        3)USB转TTL (Xhell 8 串口通信)

3:项目用软件:

                1)RT-Thread Studio   ( 创建boot项目,APP1,APP2)

                2)STM32 ST-link Utility(用于擦除整体FLASH,然后下载Boot bin文件进去)

                3)rt_ota_packaging_tool.exe(打包数据-> .rbl,用于升级,下载到download 用)

                4)Xhell 8("ymodem_ota"-->用于升级下载)

                5)J-Flash V6.80(这个软件没怎么用,如果用可以用来作 多个烧录软件合并用)

4:3个关注重点:

        1)引导码; 2)APP ; 3)升级测试

5:学习内容

        1)RT-Thread-OTA 用户手册 .pdf  : 下载了ota_downloader组件 代码docs里面就有

        2)STM32 通用 Bootloader RT-Thread 文档中心

        3)外挂SPI FLASH学习

思路:

        >完成外挂FLASH设计(当然内置FLASH够用也可不设置)

        >FAL、SFUD配置 --》确定好 各个分区位置 引导码和APP要保持一致。

        >qboot 引导码引入  引导码用到

        >ota_downloader  (APP内置的引导码用到)

    

========================================================================

第一步:先调通外挂FLASH调通。

      重点:制作W25QXX.c  (网络资源,自行查找,这个上传用于方便自己使用)

#include <rtthread.h>
#include "drv_spi.h"
#include "comm.h"
#include "spi_flash_sfud.h"


#define SPI_BUS_NAME                        "spi3"
#define W25Q_SPI_DEVICE_NAME                "spi30"
//#define W25Q_FLASH_NAME                      "W25Q128"
#ifndef NOR_FLASH_DEV_NAME//LXB ADD
#define NOR_FLASH_DEV_NAME             "norflash0"
#endif
#define W25Q_FLASH_NAME                     NOR_FLASH_DEV_NAME

rt_uint8_t wData[4096] = {"SPI bus write data to W25Q flash."};
rt_uint8_t rData[4096];

static int rt_hw_spi_flash_init()
{
    rt_err_t ree = RT_EOK;

    ree = rt_hw_spi_device_attach(SPI_BUS_NAME, W25Q_SPI_DEVICE_NAME, GPIOG, GPIO_PIN_8);
    /* 使用 SFUD 探测 spi10 从设备,并将 spi10 连接的 flash 初始化为块设备,名称 W25Q128 */
    if (RT_NULL == rt_sfud_flash_probe(W25Q_FLASH_NAME, W25Q_SPI_DEVICE_NAME))
    {
            return -RT_ERROR;
    }
    return ree;
}
INIT_COMPONENT_EXPORT(rt_hw_spi_flash_init);


static void sfud_w25q_sample(void)
{
    rt_spi_flash_device_t flash_dev;
    sfud_flash_t sfud_dev;
    struct rt_device_blk_geometry geometry;

    // 1- use sfud api
    rt_kprintf("\n 1 - Use SFUD API \n");

    sfud_dev = rt_sfud_flash_find_by_dev_name(W25Q_FLASH_NAME);
    if(sfud_dev == RT_NULL){
        rt_kprintf("sfud can't find %s device.\n", W25Q_FLASH_NAME);
    }else{
        rt_kprintf("sfud device name: %s, sector_count: %d, bytes_per_sector: %d, block_size: %d.\n",
                    sfud_dev->name, sfud_dev->chip.capacity / sfud_dev
rt-thread物联网开发板用qboot实现固件ota升级 使用qboot软件包制作bootloader 为了使bootloader尽量小,对内核及其组件进行了如下配置 线程间通信只用选择这两个: 为了方便调试,下面这项配置成这样: 组件中除了这两项其他都不选: 这个msh shell其实占用rom挺多的。我们用console打印调试信息,但是可以不用shell, shell只是一些命令集 网络组件全部不用,这些子菜单点进去,确认都没有选上! 配置qboot 开发板上红色灯是E7,低电平点亮,所以这里running status led pin设置为71,l 阅读详情

相关推荐

基于rtthread的OTA功能实现

RT-OTA 是 RT-Thread 开发的跨 OS、跨芯片平台的固件空中升级技术(Firmware Over-the-Air Technology),轻松实现对设备端固件的管理、升级与维护。本文从BootLoader 的构建,app应用程序的开发以及RBL打包器的原理一步步实现,帮助大家更好更快的理解OTA的流程和设计理念。

refugeer的工作blog 2142

RT-Thread(一)OTA升级

RT-Thread(一)OTA升级

嵌入式开发 1957

Firmware固件的打包、设计、实现与使用

RT-OTA 是 RT-Thread 开发的跨 OS、跨芯片平台的固件空中升级技术(Firmware Over-the-Air Technology),轻松实现对设备端固件的管理、升级与维护。本文从BootLoader 的构建,app应用程序的开发以及RBL打包器的原理一步步实现,帮助大家更好更快的理解OTA的流程和设计理念。

refugeer的工作blog 3530

星通智联TB01 W600芯片 RT-Thread在苹果MacOS+GCC环境下的编译与固件刷写

文章目录简介环境点灯修改源码编译固件生成适配苹果MacOS系统环境编译生成固件刷写固件参考文档刷写方法总结 简介 到手了一块W600芯片的星通智联TB01,与ESP8266相似,自带wifi,但却芯片内置1M 的存储,并且可以使用RT-Thread系统,于是上手耍起来。 刚拿到板子,发现真的非常小巧,呈星型排布的蓝色LED非常有特色。板子上只有个MicroUSB,上电与刷写固件均使用这个口,可以...

YearIllusion的博客 2608

rt-thread学习之路第八十四章——STM32通用bootloader

本小节讲述如何使用 RT-Thread OTA 固件打包器对 app 固件进行打包,制作可以被下载到 download 分区的升级固件。进入 Bootloader 生成页面后,根据页面提示填写板卡参数,点击生成固件按钮即可在线自动生成 BootLoader,同时也会将生成的固件发送到用户邮箱中。开发者根据自己使用的芯片,填写相关参数,然后点击生成按钮,即可在线生成 Bootloader。HTTP/HTTPS 固件升级是另外一种固件下载方式,制作下载器时如果开启了系统中的网络驱动,即可使用此种方式下载固件。

weixin_43554326的博客 1951

RT螺纹核心_基于RT-Thread操作系统用于快速连接uiot-core的软件包.zip

RT螺纹核心_基于RT-Thread操作系统用于快速连接uiot-core的软件包.zip

海康VisionMaster使用学习笔记7-Group模块

光标需放在[]中选择循环索引,循环索引用于实现依次检测10个匹配框的顶点,若不订阅,模块会循环检测同一个匹配框。可以看到绿色是它的边缘点.为方便查看顶点,将边缘点设置为不可见。循环使能打开,开始值设为0,循环结束值设为快速匹配的匹配个数。回到上一层,点击Group工具的设置图标,圆拟合的点设置为Group工具输出的点集。图像输入源选择Group的图像输入源。区域选择Group的快速匹配的匹配框。添加订阅到Group内部的顶点检测。对匹配框区域进行顶点检测。用于定位匹配框中的顶点。添加快速匹配的匹配框。

风凌的博客 4141

告别CMake依赖!在Visual Studio 2022中直接配置VTK 9.4开发环境(附完整项目示例)

本文详细介绍了如何在Visual Studio 2022中直接配置VTK 9.4开发环境,无需依赖CMake。通过图文教程和完整项目示例,帮助C++开发者快速集成VTK库,简化开发流程,提升工作效率。特别适合科学可视化任务的开发者。

weixin_26804345的博客 405

hpm6750evk2开发板(四)TCP回送(1000M网口)

再接下来我们修改代码,先找到配置网速的地方,肯定是在enet的初始化函数里面,我们一个函数一个函数找,也可以用单步调试一步一步找,结果发现是在enet_init函数里面调用的rtl8211_basic_mode_default_config函数配置网速的,我们把enet_phy_port_speed_100mbps改为enet_phy_port_speed_1000mbps,重新编译运行试试。首先我们复制一份lwip_tcpecho代码,重命名为lwip_tcpecho_RGMII,如下图所示。

Silas1750的博客 908

JQ8900语音播报模块在RT-Thread系统下的驱动移植与测试详解

本文详细讲解了如何在RT-Thread嵌入式操作系统中,为JQ8900语音播报模块进行驱动移植与功能测试。内容涵盖从获取驱动代码、配置Kconfig工程、编译烧录到核心代码解析的完整流程,并提供了基于串口通信的上电测试与问题排查方法,帮助开发者快速掌握在RT-Thread系统下集成外部模块的核心技能。

weixin_35677363的博客 590

SAP FICO 中的 F-02 :概念、使用场景及案例解析

在 SAP FICO (财务会计与管理会计) 模块中,F-02 是一个用于录入总账凭证的事务代码。这个事务代码主要用于手动输入总账凭证,适用于各类财务交易,例如资产购入、费用支付、收入确认等。F-02 的重要性在于,它允许财务人员在 SAP 系统中创建凭证,并确保这些凭证能够正确影响总账账户。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2042

AgentScope 实战训练营-A2UI的完整实现:从概念到部署全流程

本文详细介绍了如何在AgentScope框架中实现Google的A2UI(Agent-to-Agent UI)协议,构建一个能生成可交互UI的智能体应用。文章涵盖了从环境准备、架构设计、核心代码实现到测试部署的完整流程,包括A2UI协议解析、技能系统、客户端实现、通信机制等核心技术点,适合AI Agent和前端开发人员学习参考。

program哲学 184

PCL RANSAC拟合直线并插值

空间直线线性插值的原理与实现方法。

点云侠的博客 132

【AI大模型应用开发实战】大型语言模型评估指南白皮书(LLM Eval)

近年来,大型语言模型(LLM)在自然语言处理领域取得了重大进展,例如 GPT-3 和 Chat-GPT。这些模型经过大型数据集的训练,在文本相关任务中表现出卓越的能力,甚至超越了人类。本文将简要介绍如何验证 LLMs 性能的评估指标。自然语言处理(NLP)是人工智能的一个领域,涉及计算机和人类语言之间的交互。NLP 的基本任务之一是语言建模 (LM),它涉及构建统计模型来分析和生成自然语言。LM 已成为推进机器语言智能的关键方法,使机器能够执行机器翻译、情感分析和对话系统等任务。

AI天才研究院 995

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: LVGL STM32F407 SPI DMA V9.3.0 显示移植注意示项记录
szysdz
博客等级 码龄16年 24粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值