チップ型:STM32F103VET6(100本のピン)、72MHzでクロック、512キロバイトFLASH、64キロバイトのRAM
シミュレーションデバッグ:J-LINK
rtthread公式文書:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/#ota
ブートローダ
生産ブートローダ
オンラインSTM32ユニバーサルブートローダのrtthreadは、URLを生成します。http://iot.rt-thread.com/
パーティションサイズの64キロバイトブートローダ書籍、アプリは192キロバイト、128キロバイトとしてダウンロード、彼は残りの部分を行うために使用される他の128キロバイトです
チップシリーズ | ROM | 羊 |
---|---|---|
stm32f1 | 512キロバイト | 64キロバイト |
シリアル出力端子 | サポートSPIフラッシュ | 工場ボタンピンを復元 |
PC12(UART5) | サポートしていません。 | ノー |
アプリのパーティション | ダウンロードパーティション | 工場出荷時のパーティション |
0x08010000,192kb | 0x08040000,128k | ノー |
暗号化キー | 暗号化IV | 圧縮 |
ノー | ノー | fastlz |
カスタムURLを生成するログ:http://www.network-science.de/ascii/(https://www.jianshu.com/p/fca56d635091)
使用ブートローダ
ソフトウェア:J-フラッシュ
ダウンロード:https://www.segger.com/downloads/jlink/
ソフトウェア操作:
- 新STM32F103VEエンジニアリング、コンフィギュレーション・エミュレーション・モード(JTAG / SWD)、チップモデルを設定し、コンフィギュレーション・チップアドレス
- ダウンロードするファイルを開いて、ダウンロードを選択
- ターゲットコネクトは、回路基板を接続して、プログラミングのプロセスを消去します
- 再起動回路基板は、ブートローダをプリントアウトした情報を見ることができます
添付:あなたが提供する偉大な神のブートローダの使用を参照することができ、いくつかのカスタム機能を追加する必要がある場合は、ブートローダrtthreadの公式は、オープンソースではありません
https://www.rt-thread.org/qa/thread-422812-1-1.html
APP
ymodem_otaとAPPの生産関数
YmodemによるOTA機能を有効にする(RT-スレッドオンラインパッケージ→のIoT - 物事のインターネット→ota_downloader)
(以下を追加するためにkconfigをコンフィギュレーションファイル、およびmenuconfigのを可能にする)BSP_Flashドライバを追加します。
config BSP_USING_ON_CHIP_FLASH
bool "Enable on-chip FLASH"
default n
FALの構成パーティション
- 有効YmodemによるOTA機能は、コンポーネントを自動的に選択し、FAL
- すでにこのディレクトリに存在し、ファイルが無視されているような/パッケージ/ FAL-最新/サンプル/に/ボードディレクトリを移植/ポートディレクトリ、追加/ boart / SConscriptファイル/ボード/ポートディレクトリの下にコピーしますfal_cfg.h
- 変更/ボード/ポート/ fal_cfg.hファイル、以下のように変更
#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_
#include <rtthread.h>
#include <board.h>
#define RT_APP_PART_ADDR 0x08010000 //程序启动运行地址
extern const struct fal_flash_dev stm32_onchip_flash;
/* flash device table */
#define FAL_FLASH_DEV_TABLE \
{ \
&stm32_onchip_flash, \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
#define FAL_PART_TABLE \
{ \
{FAL_PART_MAGIC_WROD, "bl", "onchip_flash", 0, 64 * 1024, 0}, \
{FAL_PART_MAGIC_WROD, "app", "onchip_flash", 64*1024, 192 * 1024, 0}, \
{FAL_PART_MAGIC_WORD, "download", "onchip_flash", 256*1024, 128 * 1024, 0}, \
{FAL_PART_MAGIC_WROD, "param", "onchip_flash", 496*1024, 16 * 1024, 0}, \
}
#endif /* FAL_PART_HAS_TABLE_CFG */
#endif /* _FAL_CFG_H_ */
APPは、リンカスクリプトと割り込みベクタジャンプアドレスを(ここでは、直接に公式ドキュメントの手順を参照してください)変更します
APPのプログラムをダウンロードしてください
APPと行いOTAファームウェアパッケージ
のみダウンロードせずにコンパイルし、プログラムのバージョン番号を変更します。
オープンパッケージ/ ota_downloader-最新/ツール/ ota_packager / rt_ota_packaging_tool.exeソフトウェア、プログラムがコンパイルされたファイルは、rtthread.rblアップグレード、注意圧縮と暗号化アルゴリズムにパッケージ化することが可能であれば必要とブートローダでブートローダー操作同じ構成で
MSHコマンドラインymodem_ota命令を入力し、rtthread.rblファイルYmodemのを送って、ここでは自動的に再起動しますXShellソフトウェアのアップグレードを使用することが推奨され、転送が完了すると、あなたが見ることができる後にバージョン番号が変更されました
PS:あなたはymodem_otaオフィス缶を次のように変更ファイルがあり、ファイルの転送にシリアルポートを変更する必要がある場合は、ここで私はUART2を使用し、それはSERIAL2機器(SERIAL2のUARTデバイスが時に初期設定になっている)の中に()関数をrt_console_get_deviceます。
if (!rym_recv_on_device(&rctx, serial2, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_RX,
ymodem_on_begin, ymodem_on_data, NULL, RT_TICK_PER_SECOND))