This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
manual:demos:olimex_stm32e407_gcc [2016/10/27 23:15] voorburg |
manual:demos:olimex_stm32e407_gcc [2020/02/06 16:32] (current) voorburg |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Supported firmware update interfaces ===== | ===== Supported firmware update interfaces ===== | ||
- | ^ UART ^ CAN ^ USB ^ TCP/IP ^ SD-card ^ | + | ^ RS232 ^ CAN ^ USB ^ TCP/IP ^ SD-card ^ |
- | | Yes | Yes | Yes | Yes | Yes | | + | | Yes | Yes | No | No | Yes | |
===== Development Environment ===== | ===== Development Environment ===== | ||
Line 16: | Line 16: | ||
A [[https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/|MOD-USB-RS232]] was connected to the EXT connector of the board to establish a serial communication connection between the board and the PC. | A [[https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/|MOD-USB-RS232]] was connected to the EXT connector of the board to establish a serial communication connection between the board and the PC. | ||
- | The demo programs are pre-configured for building with the {{:manual:arm-2013.11-24-arm-none-eabi.zip?linkonly|Codesourcery G++ Lite}} (Target OS EABI) toolchain. Alternatively, you can use the [[manual:demos:gcc_arm_embedded|GCC ARM Embedded]] toolchain. | + | To build the demo programs you can use the [[https://developer.arm.com/open-source/gnu-toolchain/gnu-rm|GNU ARM Embedded]] toolchain. |
+ | |||
+ | ===== Toolchain configuration ===== | ||
+ | |||
+ | The demo programs are configured for building with a Makefile. Before attempting to perform a build, update the location of the toolchain binaries (i.e. //arm-none-eabi-gcc//) in the Makefile. It is set in variable **TOOL_PATH**. If the toolchain binaries are available on the path, then the **TOOL_PATH** variable can be left empty. | ||
+ | |||
+ | {{:manual:demos:makefile_toolpath.png?nolink&|}} | ||
+ | |||
+ | |||
+ | It is assumed that tools such as GNU //make// and //rm// are installed and available on the path. For (Ubuntu) Linux users this can be achieved by running command: //sudo apt-get install build-essential//. Windows users can install the [[https://gnu-mcu-eclipse.github.io/windows-build-tools/|GNU MCU Eclipse Windows Build Tools]]. | ||
===== Building and programming the Bootloader ===== | ===== Building and programming the Bootloader ===== | ||
Line 22: | Line 31: | ||
Before the bootloader can be used, it needs to be built and programmed into the STM32F407's internal flash memory. The steps in this section only need to be done once. | Before the bootloader can be used, it needs to be built and programmed into the STM32F407's internal flash memory. The steps in this section only need to be done once. | ||
- | Batch files are added to aid in building the software program. First clean the bootloader program by double-clicking the file "\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\**Boot**\cmd\**clean.bat**". Next, build the bootloader program by double-clicking the file "\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\**Boot**\cmd\**build.bat**". The output should look like: | + | To build the bootloader, open a command prompt in directory **\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\Boot\** and run the command: |
+ | |||
+ | <code> | ||
+ | make clean all | ||
+ | </code> | ||
+ | |||
+ | The expected output is: | ||
<code> | <code> | ||
Line 41: | Line 56: | ||
===== Building the Demo Program ===== | ===== Building the Demo Program ===== | ||
- | Batch files are added to aid in building the demo program. First clean the demo program by double-clicking the file "\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\**Prog**\cmd\**clean.bat**". Next, build the demo program by double-clicking the file "\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\**Prog**\cmd\**build.bat**". The output should look like: | + | To build the user program, open a command prompt in directory **\Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\Prog\** and run the command: |
+ | |||
+ | <code> | ||
+ | make clean all | ||
+ | </code> | ||
+ | |||
+ | The expected output is: | ||
<code> | <code> | ||
Line 60: | Line 81: | ||
To download the demo program \Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\**Prog**\bin\**demoprog_olimex_stm32e407.srec** using the bootloader, follow the instructions in the following links, depending on the communication interface you intend to use: | To download the demo program \Target\Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\**Prog**\bin\**demoprog_olimex_stm32e407.srec** using the bootloader, follow the instructions in the following links, depending on the communication interface you intend to use: | ||
- | * [[manual:uart_demo|Firmware updates using the UART communication interface]] | + | * [[manual:rs232_demo|Firmware updates using the RS232 communication interface]] |
* [[manual:can_demo|Firmware updates using the CAN communication interface]] | * [[manual:can_demo|Firmware updates using the CAN communication interface]] | ||
- | * [[manual:net_demo|Firmware updates using the TCP/IP communication interface]] | ||
- | * [[manual:usb_demo|Firmware updates using the USB communication interface]] | ||
* [[manual:sdcard_demo|Firmware updates from SD-card]] | * [[manual:sdcard_demo|Firmware updates from SD-card]] | ||