5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

Bl32 电调 刷写AM32 固件的问题

查看数: 1026 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-5-10 21:54

正文摘要:

本帖最后由 3dghost 于 2022-5-10 22:01 编辑 由于AM32固件,驱动外传子给车用低速合适。 所以想请问一下,  我买一个原生 bl32固件的电调,通过usb刷写器 刷写AM32固件,给攀爬车使用。 问题:是 ...

回复

3119714 发表于 2022-5-18 11:39
哥们儿 找到这个软件的新版本了嘛?

欢迎继续阅读楼主其他信息

ges_g 发表于 2022-5-12 08:16
使用st-link刷写就可以,支持st-link的刷写软件都行。以下是AM32上提供的刷写说明,没有什么难度,但你将BL32原有的固件刷写后,就无法恢复到BL32了,有些可惜,建议购买全新的芯片刷写,以下是以多轴电调为例的,你的刷车用的话,要下载对相应的固件:

Memory Layout for flashing with a St link
crteensy edited this page May 20, 2021 ·  8 revisions  

This is to give a quick overview of flash memory structure for uploading AM32 with a ST-LINK, no flight controller is needed.
You will need to have a working ST-LINK and a writeable ESC. If your speed controller has been write locked or read out protected you will need to use the ST-LINK to change option bytes of the MCU and erase the memory.

If the file ends with _FULL ( i.e. WRAITH32_CRAWLER_FULL.bin ) this is to be flashed to the base address of the MCU (0x0800000). This file will contain all the parts needed to fill the memory. Only flash this single file.

To fill the memory manually or in the case of custom builds.

There are three distinct sections of FLASH memory that are used by the firmware. These each need a binary uploaded to the correct memory address. The three files needed are the BOOTLOADER, TARGET_FIRMARE file and the DEFAULT_EEPROM file.

The BOOTLOADER area-- This occupies the first 4kb of memory, this communicates with the configuration tools and boots the main program if there is a valid input and EEPROM area. The bootloader version is dependent on the signal input pin used on the target ESC (PA2, PB4). See "list of supported hardware" in the wiki for details. The bootloaders can be downloaded from here. Using ST-LINK upload the correct file to the mcus base memory address (0x08000000).

The AM32_TARGET_FIRMWARE -- There are 27 kb set aside for the main app in the case of a 32kb mcu. This is the file that was downloaded from Github Releases for your specific speed controller. With the ST-LINK, this file is to be uploaded to memory address 0x08001000 ( 4 KB higher than base address). This is the only part of memory that gets updated when a new firmware version is released.

The EEPROM ( emulated in flash memory ) -- last 1kb, A section of flash memory separate from the main app that contains the users settings. For a 32 Kb memory mcu like the f051 or f031 the default settings need to be uploaded to memory address 0x08007C00 ( 1kb from the end of flash ). For a 128 kb mcu like the G071 the default settings would be uploaded to 0x0801F800 and the eeprom is 2kb. Note, the main firmware will not start running without an eeprom.The eeprom binary is located here

Example command lines for the three-step flashing process (F051, PB4 bootloader):
st-flash --format='binary' write PB4_BOOTLOADER_V6.bin 0x08000000
st-flash --format='ihex' write FD6288_1.69.hex
st-flash --format='binary' write eeprom_version_1_7c00.bin 0x08007c00

If you want to create a firmware dump of your current ESC - including bootloader and eeprom (with your settings) on top of the actual application - you can do that, too. Here's an example for a device with 32 KB Flash:
st-flash --format='ihex' read dump.hex 0x08000000 0x8000

you can then flash that to a new ESC with
st-flash --format='ihex' write dump.hex
just like you could do it with a hex file ending with _FULL as described at the beginning of this page.


关闭

【站内推荐】上一条 /1 下一条

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