User Tools

Site Tools


manual:demos:nucleo_f303k8_gcc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:demos:nucleo_f303k8_gcc [2017/07/11 10:33]
voorburg [Development Environment]
manual:demos:nucleo_f303k8_gcc [2019/09/24 22:12] (current)
Line 11: Line 11:
  
 This demo is targeted towards the [[http://​www.st.com/​content/​st_com/​en/​products/​evaluation-tools/​product-evaluation-tools/​mcu-eval-tools/​stm32-mcu-eval-tools/​stm32-mcu-nucleo/​nucleo-f303k8.html|Nucleo-F303K8]] board, with 64 kB internal Flash EEPROM and 12 kB internal RAM. This demo is targeted towards the [[http://​www.st.com/​content/​st_com/​en/​products/​evaluation-tools/​product-evaluation-tools/​mcu-eval-tools/​stm32-mcu-eval-tools/​stm32-mcu-nucleo/​nucleo-f303k8.html|Nucleo-F303K8]] board, with 64 kB internal Flash EEPROM and 12 kB internal RAM.
- 
-To compile the demo programs you can use the [[http://​www.emblocks.org/​|EmBitz]] development environment from Em::Blocks. The version that was used to create these demo programs was {{:​manual:​embitz_1_00.zip?​linkonly|EmBitz version 1.00}}. 
  
 To program the bootloader into the internal flash, the on-board ST-Link debugger interface was used. Firmware updates via the serial communication port are preconfigured to use the virtual COM-port offered by the ST-Link. This means that no additional hardware is needed, besides a standard micro-USB cable. To program the bootloader into the internal flash, the on-board ST-Link debugger interface was used. Firmware updates via the serial communication port are preconfigured to use the virtual COM-port offered by the ST-Link. This means that no additional hardware is needed, besides a standard micro-USB cable.
 +
 +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]].
  
  
Line 21: Line 30:
 Before the bootloader can be used, it needs to be built and programmed into the STM32F303'​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 STM32F303'​s internal flash memory. The steps in this section only need to be done once.
  
-When using EmBitzsimply ​open the project file by double-clicking the file: \Target\Demo\ARMCM4_STM32F3_Nucleo_F303K8_GCC\**Boot**\ide\**stm32f303.ebp** from the Windows Explorer. To build the bootloader, select //Build -> Rebuild all target files// from the program menu. +To build the bootloader, open a command prompt in directory **\Target\Demo\ARMCM4_STM32F3_Nucleo_F303K8_GCC\Boot\** ​and run the command:
  
-The bootloader program is now ready to be programmed into the internal flash memory of the STM32F303. Make sure the board is connected to your PC via a micro-USB cable. Next, select //Debug -Start Debug Session (F8)// from EmBitz'​s program menu to flash the bootloader program. Once done, you can start the bootloader program by selecting //Debug -Run (F5)// from the program'​s menu.+<code> 
 +make clean all 
 +</code> 
 +  
 +The expected output is:
  
-Alternatively,​ you can use your favorite programmer ​to flash the bootloader using one of the following files, depending on what file type your programmer supports:+<​code>​ 
 ++++ Cleaning build environment 
 ++++ Clean complete 
 ++++ Assembling [startup_stm32f30x.S] 
 ++++ Compiling [main.c] 
 ++++ Compiling [hooks.c] 
 +... 
 ++++ Linking [openblt_stm32f303.elf] 
 +... 
 ++++ Build complete [openblt_stm32f303.srec] 
 +</​code>​ 
 + 
 +The bootloader program is now ready to be programmed into the internal flash memory of the STM32F303. Using your favorite programmer ​(i.e. OpenOCD or STM32 ST-Link utility), ​flash the bootloader using one of the following files, depending on what file type your programmer supports:
  
   * \Target\Demo\ARMCM4_STM32F3_Nucleo_F303K8_GCC\**Boot**\bin\**openblt_stm32f303.elf**   * \Target\Demo\ARMCM4_STM32F3_Nucleo_F303K8_GCC\**Boot**\bin\**openblt_stm32f303.elf**
Line 33: Line 58:
 ===== Building the Demo Program ===== ===== Building the Demo Program =====
  
-When using EmBitzsimply ​open the project file by double-clicking the file: \Target\Demo\ARMCM4_STM32F3_Nucleo_F303K8_GCC\**Prog**\ide\**stm32f303.ebp** from the Windows Explorer. To build the demo program, select //Build -Rebuild ​all target files// from the program'​s menu+To build the user program, open a command prompt in directory **\Target\Demo\ARMCM4_STM32F3_Nucleo_F303K8_GCC\Prog\** ​and run the command: 
 + 
 +<code> 
 +make clean all 
 +</code> 
 +  
 +The expected output is: 
 + 
 +<​code>​ 
 ++++ Cleaning build environment ​                                                                                        
 ++++ Clean complete ​                                                                                                    
 ++++ Assembling [startup_stm32f30x.S]                                                                                   
 ++++ Compiling [boot.c] ​                                                                                                
 ++++ Compiling [main.c] ​                                                                                                
 +... 
 ++++ Linking [demoprog_stm32f303.elf] 
 +... 
 ++++ Build complete [demoprog_stm32f303.srec] 
 +</​code>​
  
 The output file is The output file is
manual/demos/nucleo_f303k8_gcc.txt · Last modified: 2019/09/24 22:12 (external edit)