# 固件更新 ## SANPO原厂固件更新 ### 准备工作 1. 准备STLINK(SWD)下载器,连接开发板STLINK接口与电脑 2. 开发板有两个STLINK接口,分别对应两颗STM32F407芯片,需分别更新固件 3. 更新时建议断开开发板外部电源 ### 更新步骤 1. **安装工具** 下载并安装ST官方烧录软件:[STM32CubeProgrammer](https://gitcode.com/sanpo/robot/tree/v4/firmware/tools/STM32CubeProgrammer_win64.zip) 2. **获取固件** 下载最新原厂固件:[sanpo_robot_spine_board_firmware-v4-latest.bin](https://gitcode.com/sanpo/robot/tree/v4/firmware/sanpo_spine/Release/sanpo_robot_spine_board_firmware-v4-latest.bin) 3. **烧录固件** 断开开发板外部电源,使用STM32CubeProgrammer将固件刷入开发板(两颗芯片需分别操作) ## MIT Cheetah SPINE固件更新 **推荐方案:** mbed studio工程(需下载mbed-os.zip并解压至工程文件夹) > 提示:注意文件目录结构不要嵌套多层mbed-os,不然会找不到targets。文件结构推荐 mit_spine_mbed_studio/mbed-os/targets。 **更新步骤** 1. 安装[mbed studio](https://os.mbed.com/studio/) 2. 打开MIT固件源代码工作区 3. 连接STLINK,选择目标芯片:STM32F407VETx 4. 点击Build program编译并烧录 > 另外,如果使用Keil工程,同样需要把mbed-os.zip解压到工程文件夹,不要嵌套多层mbed-os目录。 **操作图示** - Step 1: - Step 2: - Step 3: - Step 4: --- ## STM32芯片引脚定义 ### 芯片1:STM32F407(1) | 功能接口 | 引脚定义 | 对应STM32芯片引脚 | | :---------- | :----------: | :---------: | | ADC接口1 | AD1 | PB0 | ADC接口1 | AD2 | PB1 | 串口1 | TX | PD8 | 串口1 | RX | PD9 | SPI接口 | CS1 | PA15 | SPI接口 | SCK | PC10 | SPI接口 | MISO | PC11 | SPI接口 | MOSI | PC12 | 预留接口 | ESTOP/RSDV | PD0 | IIC接口1 | SCL | PB10 | IIC接口1 | SDA | PB11 | SWD调试接口1 | SWDIO | PA13 | SWD调试接口1 | SWCLK | PA14 | RS485-2 | RX | PC6 | RS485-2 | TX | PC7 | RS485-1 | RX | PB6 | RS485-1 | TX | PB7 | CAN2 | RX | PB12 | CAN2 | TX | PB13 | CAN1 | RX | PB8 | CAN1 | TX | PB9 ### 芯片2:STM32F407(2) | 功能接口 | 引脚定义 | 对应STM32芯片引脚 | | :---------- | :----------: | :---------: | | ADC接口2 | AD1 | PB0 | ADC接口2 | AD2 | PB1 | 串口2 | TX | PD8 | 串口2 | RX | PD9 | SPI接口 | CS2 | PA15 | SPI接口 | SCK | PC10 | SPI接口 | MISO | PC11 | SPI接口 | MOSI | PC12 | 预留接口 | ESTOP/RSDV | PD0 | IIC接口2 | SCL | PB10 | IIC接口2 | SDA | PB11 | SWD调试接口2 | SWDIO | PA13 | SWD调试接口2 | SWCLK | PA14 | RS485-3 | RX | PB6 | RS485-3 | TX | PB7 | RS485-4 | RX | PC6 | RS485-4 | TX | PC7 | CAN3 | RX | PB8 | CAN3 | TX | PB9 | CAN4 | RX | PB12 | CAN4 | TX | PB13 ## 硬件架构设计 ## 电路原理图