搜索
bottom↓
回复: 44

使用 STM32 通用 Bootloader , OTA 更加 Easy

  [复制链接]

出0入0汤圆

发表于 2019-4-1 11:02:13 | 显示全部楼层 |阅读模式
最新 RT-Thread 发布了一款 STM32 系列的通用 BootLoader,有兴趣的小伙伴可以用用,我试了下,挺方便的。
RT-Thread 通用 Bootloader 有如下特点:
以 bin 文件的形式提供,无需修改即可使用
资源占用小,ROM 最小只需要 16KB,最大 32KB
适用于多系列 STM32 芯片(目前支持 F1 和 F4 系列 )
支持各种 SPI Flash 存储固件
支持固件加解密功能
支持多种固件压缩方式
支持恢复出厂固件功能
以上功能均可自由配置

发布文章看这里:
使用 STM32 通用 Bootloader ,让 OTA 更加 Easy

我试了一下,裸机也能跑起来,支持多种下载器

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2019-4-1 11:32:19 来自手机 | 显示全部楼层
以bin形式提供?过来搞笑的吧?玩一下的没代码也没意思,产品谁会用你的bin?

出0入20汤圆

发表于 2019-4-1 11:35:28 | 显示全部楼层
所实话,玩玩还可以,正规产品真不敢用,万一出什么问题,想解决BUG都不行

出0入42汤圆

发表于 2019-4-1 11:43:01 | 显示全部楼层
收费的bin也许是个路子.  免费黑盒子, 还是小众的, 谁敢说不踩个坑什么的...

出0入20汤圆

发表于 2019-4-1 11:47:55 来自手机 | 显示全部楼层
那苹果的手机,macos,都不算正规产品吗?

出0入0汤圆

发表于 2019-4-1 12:00:08 来自手机 | 显示全部楼层
一个m3的bootloader能与苹果手机与糸统比??你这boot有n多选择

出0入58汤圆

发表于 2019-4-1 12:05:40 | 显示全部楼层
看了一下,需要完全依赖于http://iot.rt-thread.com平台

出0入211汤圆

发表于 2019-4-1 12:11:12 | 显示全部楼层
想法很好,我还是不敢用,我继续使用自己定义的协议

出0入0汤圆

发表于 2019-4-1 12:17:50 | 显示全部楼层
个人玩玩无所谓,商用的话你先问问你老板“老板,我想用一个别人不开源的bin文件做Bootloader可以不”

出5入0汤圆

发表于 2019-4-1 13:47:05 | 显示全部楼层
BIN文件,很不踏实啊,

出0入58汤圆

发表于 2019-4-1 14:20:32 | 显示全部楼层
ayuanshop 发表于 2019-4-1 12:41
本想注册一个玩玩,硬生生止步于注册时要输入手机号码

我也注册了,现在貌似哪都需要手机号码。

出0入4汤圆

发表于 2019-4-1 14:44:38 | 显示全部楼层
现在在用FTP服务方式,就是占ROM大点

出0入0汤圆

 楼主| 发表于 2019-4-1 14:50:55 | 显示全部楼层
shawn_bu 发表于 2019-4-1 12:05
看了一下,需要完全依赖于http://iot.rt-thread.com平台

只是用这个网页在线生成 你可以用到其他任何地方

出0入0汤圆

 楼主| 发表于 2019-4-1 14:52:19 | 显示全部楼层
ztrx 发表于 2019-4-1 14:44
现在在用FTP服务方式,就是占ROM大点

我觉得用得还不错  功能还挺多 自己做挺麻烦的

出0入198汤圆

发表于 2019-4-1 14:52:27 | 显示全部楼层
大家好像忽略了 bin 的优势。很多开源硬件方案也都是以二级制方式提供,这主要是为了降低大家的使用门槛。

从功能性角度看,Bootloader 对于 OTA 来说主要是固件的搬运、校验工作,功能上其实很容易实现通用性。

RTT  有自己的 OTA 组件,可还要让用户来实现一个支持 OTA 组件的 Bootloader ,这对于用户来说还会有很大的开发门槛,在论坛里搜搜一 IAP 、OTA 关键字的问题就知道了。

出0入0汤圆

 楼主| 发表于 2019-4-1 14:53:03 | 显示全部楼层
JIANGJIAYU 发表于 2019-4-1 11:35
所实话,玩玩还可以,正规产品真不敢用,万一出什么问题,想解决BUG都不行 ...

有安全校验 还好吧

出0入0汤圆

发表于 2019-4-1 16:09:10 | 显示全部楼层
小马过河,有必要试一试。

出0入58汤圆

发表于 2019-4-1 16:29:57 | 显示全部楼层
Fillmore 发表于 2019-4-1 14:50
只是用这个网页在线生成 你可以用到其他任何地方

不是吧,程序的分发也需要靠这个网站吧。或者bin里面可以提供连其他更新源?

出0入0汤圆

发表于 2019-4-1 16:51:51 | 显示全部楼层
shawn_bu 发表于 2019-4-1 16:29
不是吧,程序的分发也需要靠这个网站吧。或者bin里面可以提供连其他更新源? ...


看介绍,程序分发和下载没有限制,APP是自己提供,你在APP里面可以用任意方式下载新APP进来。

出0入4汤圆

发表于 2019-4-1 17:03:54 | 显示全部楼层
Fillmore 发表于 2019-4-1 14:52
我觉得用得还不错  功能还挺多 自己做挺麻烦的

我要用到远程更新,通过网络口,设备装的位置太高,取下来麻烦

出0入198汤圆

发表于 2019-4-1 18:05:53 | 显示全部楼层
JIANGJIAYU 发表于 2019-4-1 11:35
所实话,玩玩还可以,正规产品真不敢用,万一出什么问题,想解决BUG都不行 ...

出了 bug 其实都不用你修,直接吐槽过去,这多方便

出0入198汤圆

发表于 2019-4-1 18:30:47 | 显示全部楼层
ztrx 发表于 2019-4-1 17:03
我要用到远程更新,通过网络口,设备装的位置太高,取下来麻烦

https://github.com/RT-Thread-packages/ota_downloader

可以直接用这里面的 http ota 下载器,配合 Bootloader 一步搞定

出0入198汤圆

发表于 2019-4-1 18:35:06 | 显示全部楼层
hushaoxin 发表于 2019-4-1 12:11
想法很好,我还是不敢用,我继续使用自己定义的协议


https://github.com/RT-Thread/IoT ... -%E4%BB%8B%E7%BB%8D

这是 RTT OTA 的简单说明,可以对比下,论坛是个交流的好地方

出0入0汤圆

发表于 2019-4-2 08:14:58 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2019-4-2 09:42:34 | 显示全部楼层
Bootloader里面做固件的搬运和校验工作?那升级方式需要自己实现吗,比如USB、串口、以太网或者Wifi?

出0入0汤圆

发表于 2019-4-2 09:49:48 | 显示全部楼层
sunnydragon 发表于 2019-4-1 14:52
大家好像忽略了 bin 的优势。很多开源硬件方案也都是以二级制方式提供,这主要是为了降低大家的使用门槛。
...

大神,我有个STM32L151已经用了你的easyflash,好想试试这个 Bootloader。  但是留给Bootloader的空间只有不到6K了。

出0入0汤圆

发表于 2019-4-2 09:55:51 | 显示全部楼层
本想注册一个玩玩,硬生生止步于注册时要输入手机号码 +10086

出0入0汤圆

发表于 2019-4-2 10:10:12 | 显示全部楼层
sunnydragon 发表于 2019-4-1 18:05
出了 bug 其实都不用你修,直接吐槽过去,这多方便


眼不见,不放心啊。
吐槽有用的话,世界上就不会有这么多烦恼和沟通问题了。

出0入198汤圆

发表于 2019-4-2 11:16:28 | 显示全部楼层
zhangling520 发表于 2019-4-2 09:49
大神,我有个STM32L151已经用了你的easyflash,好想试试这个 Bootloader。  但是留给Bootloader的空间只 ...

6K 太小了,一个 flash 驱动都得好几 K 呢,再加上一些签名校验算法、固件搬运等逻辑,固件很难够用的。

出0入0汤圆

发表于 2019-4-2 11:19:58 | 显示全部楼层
我仿佛嗅到了RT-Thread对日渐保守的气息。。。。

出0入198汤圆

发表于 2019-4-2 11:20:02 | 显示全部楼层
kinsno 发表于 2019-4-2 10:10
眼不见,不放心啊。
吐槽有用的话,世界上就不会有这么多烦恼和沟通问题了。
...

换个角度想嘛,即使给你了 linux 源码,又有多少人在开发上层应用出问题,去看底层源码呢?

软件开发、产品开发,同样也需要这种模块化的思想。

底层到底可不可靠,稳不稳定,自己用一用,再看大家的口碑就知道喽。

出0入0汤圆

发表于 2019-4-2 11:21:03 | 显示全部楼层
整个系统都开源了,一个OTA模块都要闭源。用意何在?

出0入198汤圆

发表于 2019-4-2 11:23:32 | 显示全部楼层
BrightWang 发表于 2019-4-2 11:19
我仿佛嗅到了RT-Thread对日渐保守的气息。。。。

你想多啦,可以看下介绍,RTT 的 OTA 本身就是付费组件哦。

RTT 把它封装在 bin 里,做成通用化的方案,免费给大家用其实也是一种开放精神。

出0入4汤圆

发表于 2019-4-2 11:38:07 | 显示全部楼层
sunnydragon 发表于 2019-4-1 18:30
https://github.com/RT-Thread-packages/ota_downloader

可以直接用这里面的 http ota 下载器,配合 Boo ...

不接串口,能更新程序?

出0入198汤圆

发表于 2019-4-2 11:51:29 | 显示全部楼层
ztrx 发表于 2019-4-2 11:38
不接串口,能更新程序?

当然可以啦,固件下载方式是多种多样的,这个完全由 app 来实现

出0入4汤圆

发表于 2019-4-2 11:56:05 | 显示全部楼层
sunnydragon 发表于 2019-4-2 11:51
当然可以啦,固件下载方式是多种多样的,这个完全由 app 来实现

有网络口的Bootloader 例子没有

出0入198汤圆

发表于 2019-4-2 12:01:10 | 显示全部楼层
ztrx 发表于 2019-4-2 11:56
有网络口的Bootloader 例子没有

https://github.com/RT-Thread/IoT ... les/23_iot_ota_http

可以参考这个,都是基于网络的

出0入4汤圆

发表于 2019-4-2 12:03:47 | 显示全部楼层
sunnydragon 发表于 2019-4-2 12:01
https://github.com/RT-Thread/IoT_Board/tree/master/examples/23_iot_ota_http

可以参考这个,都是基 ...

谢谢,改天试试

出0入0汤圆

发表于 2019-4-24 10:48:10 | 显示全部楼层
sunnydragon 发表于 2019-4-2 12:01
https://github.com/RT-Thread/IoT_Board/tree/master/examples/23_iot_ota_http

可以参考这个,都是基 ...

最近我也在搞HTTP远程固件升级,也有一个固件打包器,但是没有使用压缩,使用AES128和CRC32校验,先获取BIN文件内容(明文)和大小,对明文进行CRC32校验,记录明文CRC32校验值,接着对明文进行AES128校验,得到密文内容和长度,记录密文长度大小,接着对密文内容进行CRC32校验,记录密文CRC32校验值。把得到的内容放在一个512字节都文件头,在加上密文就得到远程升级固件(文件头+密文)。其中文件头包含:文件名+明文大小+产品型号+作者+版本+AES秘钥+明文CRC32校验值+密文CRC32校验值+填充字节+CRC16校验值(文件头)。这期间就是和写文件打包器的工程师的校验和加密对接,老是对接不上,后来自己上手帮她写。有个问题请教您,HTTP下载那块,是用的GET,你怎么控制每次传送的数据长度,我是使用Range,不知道您是怎么实现??

出0入198汤圆

发表于 2019-4-24 11:15:46 | 显示全部楼层
yat 发表于 2019-4-24 10:48
最近我也在搞HTTP远程固件升级,也有一个固件打包器,但是没有使用压缩,使用AES128和CRC32校验,先获取B ...

有用 RT-Thread 吗?

如果用了 RT-Thread ,可以直接使用 WebClient 软件包,里面直接就支持该功能,开箱即用。

否则,参考下 WebClient 软件包代码自己改改吧

https://github.com/RT-Thread-pac ... -%E8%AF%B7%E6%B1%82

出0入0汤圆

发表于 2019-4-24 11:31:05 | 显示全部楼层
说实话,我也用RTT了,方便,实用,提供了这么多好东西,又免费, 上次需要编辑txt文件,突然RTT里面就有了VI编辑器,  
感谢你们。

出0入0汤圆

发表于 2019-4-24 13:43:39 | 显示全部楼层
三年前用官方提供了例程写了个简单的引导程序,一直很稳定,从来不改

出5入8汤圆

发表于 2019-4-24 14:30:30 | 显示全部楼层
不错,标记一下,回头可能用到

出0入0汤圆

发表于 2019-5-18 16:49:19 | 显示全部楼层
RT-Thread的板块怎么进去,密码如何或得呢?

出0入0汤圆

 楼主| 发表于 2019-5-21 10:39:37 | 显示全部楼层
bryan_lia 发表于 2019-5-18 16:49
RT-Thread的板块怎么进去,密码如何或得呢?

我也不知道密码 感觉没法进
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 15:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表