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
tools:stm32 [2022/12/18 10:25]
darron [STMCubeMX]
tools:stm32 [2023/09/04 17:46] (current)
darron [Board support packages]
Line 1: Line 1:
-====STM32===+====STM32Cube/duino===
  
 ST micro supply tools to target STM32 devices, they include  ST micro supply tools to target STM32 devices, they include 
-a startup code generator, IDE and Arduino.+code generationan IDE and Arduino platform support.
  
-STMCubeMX is a visualisation tools and start-up code generator.+   STMCubeMX is a visualisation tool and start-up code generator
 +   * STMCubeIDE is the development environment. 
 +   * STM32duino is the Arduino development platform support.
  
-STMCubeIDE is the development environment.+===STM32CubeMX===
  
-STM32duino is the Arduino development platform support. +This is great to visualise the layout of a STM32 development board and
-===STMCubeMX=== +
- +
-This is great to visualise the layout of a development board and+
 see the pin usage and the clock tree. see the pin usage and the clock tree.
  
Line 19: Line 18:
 When using a GNU make target, it produces a working directory When using a GNU make target, it produces a working directory
 that builds first time with `arm-none-eabi-gcc' and it can be that builds first time with `arm-none-eabi-gcc' and it can be
-used a basis for a project.+used as  basis for a project.
  
 The license of the files created is not present and therefore The license of the files created is not present and therefore
Line 26: Line 25:
 Making a target is the only way to access platform specific files Making a target is the only way to access platform specific files
 as they appear to be archived otherwise. as they appear to be archived otherwise.
 +
 +ST have a habit of using ex: for example (eg.) in comments, which
 +annoys the VIM editor somewhat.
  
 https://www.st.com/en/development-tools/stm32cubemx.html https://www.st.com/en/development-tools/stm32cubemx.html
Line 33: Line 35:
 C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX
 </code> </code>
-===STMCubeIDE===+ 
 +===STM32CubeIDE===
  
 The development environment also embeds the MX tool above and can support various other tools. The development environment also embeds the MX tool above and can support various other tools.
  
-This IDE produces a proprietary project. Not sure if this can be recommended unless you +This STM32 IDE produces a proprietary project and there is no access to platform 
-like IDEs.+specific files until a project is createdA lot of files are generated for 
 +each project so this is perhaps more suitable for larger flash devices. 
 + 
 +Not sure if this can be recommended unless you like IDEs.
  
 https://www.st.com/en/development-tools/stm32cubeide.html https://www.st.com/en/development-tools/stm32cubeide.html
  
 On windows this will install in On windows this will install in
 +
 <code> <code>
 C:\ST\STM32CubeIDE_1.11.0 C:\ST\STM32CubeIDE_1.11.0
Line 49: Line 56:
 ===STM32duino=== ===STM32duino===
  
-STM32duino provides `wiring' support for the STM32 microcontroller within the+STM32duino provides `wiring' support for the STM32 and STM8 microcontrollers within the
 Arduino Processing IDE. Arduino Processing IDE.
  
Line 55: Line 62:
 for reference or usage. for reference or usage.
  
-This may be used to build a standalone application without Arduino support +This may be used to build a standalone application with or without Arduino support 
-but it hasn't been investigated, yet.+on any platform we choose to develop on which has access the the ARM compiler.
  
 +This is preferred way to develop for STM32 on a Raspberry Pi, for example.
  
 https://github.com/stm32duino https://github.com/stm32duino
 +
 +==Install==
 +
 +<code>
 +cd /opt
 +git clone https://github.com/stm32duino/Arduino_Core_STM32
 +</code>
 +
 +===Board support packages===
 +
 +The board support packages exist for various components.
 +
 +<code>
 +mkdir -p /opt/BSP
 +</code>
 +
 +==LAN8742 Ethernet PHY==
 +
 +<code>
 +cd /opt/BSP
 +git clone https://github.com/STMicroelectronics/stm32-lan8742
 +</code>
 +
 +===TinyUSB===
 +
 +<code>
 +cd /opt/BSP
 +git clone https://github.com/hathach/tinyusb
 +</code>
 +===Resources===
 +
 +[[https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/8742a.pdf|LAN8742 data-sheet]]