====== STM32F3discovery ====== MCU: [[https://www.st.com/en/microcontrollers-microprocessors/stm32f303vc.html|STM32F303VCT6]] ARM core: [[https://developer.arm.com/ip-products/processors/cortex-m/cortex-m4|ARM Cortex-m4]] ARM architecture: [[https://developer.arm.com/documentation/ddi0403/ee|Armv7E-M]] [[https://www.st.com/en/development-tools/stm32cubeide.html|STM32CubeIDE]] [[https://www.st.com/en/microcontrollers-microprocessors/stm32f303vc.html#tools-software|STM32F303VC]] -- Drivers and stuff for the MCU. [[https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32f3discovery.html|stm32f3discovery]] -- Product page for the development board [[https://www.st.com/resource/en/user_manual/dm00122016-description-of-stm32f3-hal-and-low-layer-drivers-stmicroelectronics.pdf|STM32F3 HAL reference manual]] ====== Features ====== * [[https://www.st.com/en/mems-and-sensors/lsm303agr.html|LSM303AGR]] -- 3D accelerometer and 3D magnetometer * [[https://www.st.com/en/mems-and-sensors/i3g4250d.html|I3G4250D]] -- 3-axis gyroscope ====== General ====== No external crystals are mounted. The exact model of the mcu on the development board is ''STM32F303VCT6'' with silicon revision Y. The development board is of revision E. The voltage for all I/O ports are 3.3 V ====== Pinout ====== [[https://www.st.com/content/ccc/resource/technical/document/user_manual/8a/56/97/63/8d/56/41/73/DM00063382.pdf/files/DM00063382.pdf/jcr:content/translations/en.DM00063382.pdf|UM1570]] -- User manual for the discovery board includes details regarding solder bridges and interconnections between the onboard programmer and the target MCU. All pins are 3.3 V. ^ Function ^ Port/pin ^ Pin ^ Comment ^ | LD4 | PE8 | 39 | Led NW Blue | | LD3 | PE9 | 40 | Led N Red | | LD5 | PE10 | 41 | Led NE Orange | | LD7 | PE11 | 42 | Led E Green | | LD9 | PE12 | 43 | Led SE Blue | | LD10 | PE13 | 44 | Led S Red | | LD8 | PE14 | 45 | Led SW Orange | | LD6 | PE15 | 46 | Led W Green | ^ Function ^ Port/pin ^ Pin ^ Comment ^ | User button | PA0 | 23 | | ^ Function ^ Port/pin ^ Pin ^ Comment ^ | Clock in | PF0 | | 8 MHz from on-board programmer | ^ Function ^ Port/pin ^ Pin ^ Comment ^ | Virtual comport TX | PC4 | 33 | VCP, MCU -> computer | | Virtual comport RX | PC5 | 34 | VCP, MCU <- computer | ===== Pinout on protoboard ===== ^ Function ^ Port/pin ^ Pin ^ Comment ^ | CAN RX | PB8 | 95 | To CAN Tranceiver | | CAN TX | PB9 | 96 | To CAN Tranceiver | ====== Debugging with SWO ====== It is possible to send debug messages through the ARM debuggers trace functionality ITM. * Short solderbridge SB10 on the development board * Put code in the firmware that sends messages * Start debugging, but pause * Enable ITM window and (at least channel 0) * *Press start trace* * Then continue debugging as usual. [[https://percepio.com/2016/06/09/arm-itm/]] [[https://www.st.com/resource/en/application_note/dm00354244-stm32-microcontroller-debug-toolbox-stmicroelectronics.pdf|STM32 Debugging toolbox manual]]