From 988749ed3fba2b5b6a395c14e54a1c5fd3bdd768 Mon Sep 17 00:00:00 2001 From: Steve Jones <34523908+GnomeTek@users.noreply.github.com> Date: Sat, 22 Jan 2022 17:12:23 -0600 Subject: [PATCH 1/2] Alternative Processor Firmware Update Process Added instructions for creation of a new project targeting the alternative processor all new AMDS mainboards are populated with. --- Mainboard/Firmware/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Mainboard/Firmware/README.md b/Mainboard/Firmware/README.md index 5ff44e5..f0d2d4b 100644 --- a/Mainboard/Firmware/README.md +++ b/Mainboard/Firmware/README.md @@ -46,3 +46,27 @@ NOTE: The STM32 devices are typically programmed into non-volatile memory. There The mainboard firmware is fairly simple, yet very specialized for the application. Before changing *anything* in the code, make sure you understand how it works. Practically every line of the code is optimized for speed and efficiency! Using a multi-channel logic analyzer / oscilloscope is absolutely required when updating the mainboard firmware to validate code timing. **Do not blindly change the code.** + +## Flashing Firmware to Mainboards with Alternative STM32F745ZG Processors + +The firmware project provided in this repository is configured for a mainboard populated with a STM32F**765**ZG processor. This project configuration is incompatible with the alternative STM32F**745**ZG chip that is populated on some mainboard PCBs. Creating a new project targeting the alternative STM32F**745**ZG processor and loading in the provided source files is required. Here's how that's done. + +### Create a new STM32 Project +1. Within STM32CubeIDE create a new `STM32 project` targeting the `STM32F745ZG` device with the following settings: + - Targeted Language: `C` + - Targeted Binary Type: `Executable` + - Targeted Project Type: `STM32Cube` + +### Replace Source Code +2. Open the file folder location of the newly created project +3. Navigate to the `\Core\` directory and replace the `\Src` & `\Inc` folders with the ones provided in the AMDS repository +4. Navigate to the `\Drivers\STM32F7xx_HAL_Driver` directory and replace the `\Src` & `\Inc` folders with the ones provided in the AMDS repository +5. Within STM32CubeIDE refresh & build the project, no errors should be present + +### Flash Firmware to Mainboard +6. Select `Debug Configurations` under the `Run` menu +7. Select the `Debugger` tab in the pop-up window +8. Change the `Frequency (kHz)` setting from `Auto` to `140` +9. Select `Apply` + +You are now ready to connect & flash the firmware to the STM32F**745**ZG processor equiped Mainboard! From c967c5adef86b20aa87dc1fb4d08ec8d7cabdad5 Mon Sep 17 00:00:00 2001 From: Steve Jones <34523908+GnomeTek@users.noreply.github.com> Date: Mon, 24 Jan 2022 14:57:34 -0600 Subject: [PATCH 2/2] Updated docs folder link update URL for "mainboard" terminology vs Motherboard --- Mainboard/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mainboard/README.md b/Mainboard/README.md index 3a9d128..211c9c3 100644 --- a/Mainboard/README.md +++ b/Mainboard/README.md @@ -4,4 +4,4 @@ The mainboard provides a single interface to multiple analog input PCBs (up to 8 daughtercards can be installed). The board features a microcontroller that operates ADCs on each daughter card and presents an isolated, high speed digital interface that can be connected to a digital system control board (this board is designed to connect directly to an expansion port of the [AMDC](https://github.com/severson-group/amdc-hardware)). Design features are implemented to minimize EMI and facilitate operation in an electric motor drive. -The details of the implementation can found in the [`docs/` folder](https://github.com/Severson-Group/SensorCard/blob/Motherboard_REVC/Motherboard/docs/README.md). +The details of the implementation can found in the [`docs/` folder](https://github.com/Severson-Group/AMDS/blob/develop/Mainboard/docs/README.md).