From 4b26e44e55c8a219b96af5e13c859d59534f7c35 Mon Sep 17 00:00:00 2001 From: Yanlineng <642842715@qq.com> Date: Mon, 6 Jun 2022 11:39:52 +0800 Subject: [PATCH] [bsp][stm32h750-artpi] add bootloader.bin, add the description of the bootloader in README.md.(#5923) --- bsp/stm32/stm32h750-artpi/README.md | 14 ++++++++++++-- bsp/stm32/stm32h750-artpi/artpi_bootloader.bin | Bin 0 -> 75868 bytes 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 bsp/stm32/stm32h750-artpi/artpi_bootloader.bin diff --git a/bsp/stm32/stm32h750-artpi/README.md b/bsp/stm32/stm32h750-artpi/README.md index 3c598c2845..a55d53f736 100644 --- a/bsp/stm32/stm32h750-artpi/README.md +++ b/bsp/stm32/stm32h750-artpi/README.md @@ -26,9 +26,9 @@ STM32H750 是RTTHREAD推出的一款基于 ARM Cortex-M7 内核的开发板, - 常用接口:USB 转串口、USB OTG、RGB888等 - 调试接口,标准 ST-LINK -开发板更多详细信息请参考[H750-ART-PI](https://www.rt-thread.org/product/153.html)。 +开发板更多详细信息请参考 [H750-ART-PI](https://www.rt-thread.org/product/153.html)。 -官方仓库[sdk-bsp-stm32h750-realthread-artpi](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi) +官方仓库 [sdk-bsp-stm32h750-realthread-artpi](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi) 官方主页 [ART-PI](https://art-pi.gitee.io/website) @@ -115,6 +115,16 @@ msh > PA0 ------> USART4_TX +- Bootloader 损坏 或 缺失 + + 如遇到程序下载后,板子跑不起来的情况,请先通过串口查看复位后bootloader打印信息 “ART-PiBOOT” ,以检查bootloader是否损坏或丢失。若 bootloader 缺失,则需要重新烧写目录下 artpi_bootloader.bin 文件到芯片内部flash;在连接开发板至 PC 后,ART-Pi 会显示为存储设备,直接将 artpi_bootloader.bin 拖入文件管理器中 ART-Pi 目录下即可(类似复制文件)。 + + 此 bin 文件由 ART-Pi sdk 下 art_pi_bootloader 示例工程构建生成,生成过程参考 [ART-Pi 开发手册](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/blob/master/documents/UM5002-RT-Thread%20ART-Pi%20%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C.md) ;工程构建后,bin 文件生成在工程目录 Debug 路径下。 + +- 外部 flash 下载算法 + + 参考 [ART-Pi 开发手册](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/blob/master/documents/UM5002-RT-Thread%20ART-Pi%20%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C.md) , 下载算法放在 [ART-Pi 示例工程](https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/tree/master/projects)下 board/stldr 路径中。 + ## 联系人信息 ART-Pi 是一个开源创意硬件平台,期待有更多的小伙伴能一起发现更多的乐趣,在使用过程中若您有任何的想法和建议,建议您通过以下方式来联系到我们。 diff --git a/bsp/stm32/stm32h750-artpi/artpi_bootloader.bin b/bsp/stm32/stm32h750-artpi/artpi_bootloader.bin new file mode 100644 index 0000000000000000000000000000000000000000..1fdcdaf67ca5294ac7ddeed16f789192f051fb1c GIT binary patch literal 75868 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