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
Last revision Both sides next revision
boards:demov1 [2022/11/12 20:58]
darron [STM32F030 DEMO BOARD V1.0]
boards:demov1 [2022/11/14 00:02]
darron [Test]
Line 5: Line 5:
 {{:boards:demov1-test.jpg?200|J-Link test with J-Link EDU Mini}} {{:boards:demov1-test.jpg?200|J-Link test with J-Link EDU Mini}}
 \\ \\ \\ \\
-{{:boards:demov1-test2.jpg?200|OpenOCD test with J-Link CLONE}}+{{:boards:demov1-test3.jpg?200|OpenOCD test with J-Link CLONE}}
 \\ \\ \\ \\
 {{boards:stm32f030.png?200|Pinout}} {{boards:stm32f030.png?200|Pinout}}
Line 14: Line 14:
 These are cheap development boards with a STM32F030F4P6 Arm Cortex-M0 MCU which contains 16KB flash and 4KB ram. These are cheap development boards with a STM32F030F4P6 Arm Cortex-M0 MCU which contains 16KB flash and 4KB ram.
  
-These boards are quite wide and it's wise to attach the headers below _only_ if two breadboards can be utilised side by side (see pictures).+These boards are quite wide and it's wise to attach the headers below //only// if two breadboards can be utilised side by side (see pictures).
  
 These boards can be programmed using SWD or with the STM serial boot loader in ROM. These boards can be programmed using SWD or with the STM serial boot loader in ROM.
Line 56: Line 56:
  
 === Power === === Power ===
-Power is supplied on the USB socket which feeds a 3V3 LDO regulator. The USB socket does not support I/O, it's only for powering the device.+ 
 +Power is supplied on the USB socket or the 5V pins. This feeds a 3V3 LDO regulator. 
 + 
 +The USB socket does not support I/O, it's only for powering the device.
  
 === Test === === Test ===
  
-Test SWD with J-Link and OpenOCD.+For testing this board use a [[interfaces:ftdi|UM232R]] for power, serial comms, 
 +reset and a source or external interrupt. Picocom is used to control the reset 
 +pin and provide a pulse for testing STM32 EXTI. 
 + 
 +For programming, use [[tools:segger|J-Link]] or [[tools:openocd|OpenOCD]]. 
 + 
 +==Wiring== 
 + 
 +<code> 
 +   +--------+ 
 +          |TXD-----------RX 
 +    FTDI  |DTR#----1K----PA0 
 +USB| UM232R |RTS#---390R---NRST 
 +          |RXD-----------TX 
 +          |GND-----------GND 
 +          |USB-----------5V 
 +   +--------+ 
 +   +--------+ 
 +USB| JLINK/ |DIO-----------DIO 
 +   | CLONE  |CLK-----------CLK 
 +   +--------+    
 +    
 +USB on left is RPi host and USB on right is USB 5V pin on UM232R. 
 +</code> 
 + 
 +==Comms== 
 + 
 +The lower-rts option to picocom will take the board out of 
 +reset and run the program. 
 + 
 +<code> 
 +picocom --quiet --lower-rts -b 115200 /dev/ttyUSB0 
 +</code> 
 + 
 +From the RS232 perspective RTS is inverted so when picocom takes 
 +the line low, it's actually a high logical output and the board 
 +is taken out of reset. 
 + 
 +==Reset== 
 + 
 +Picocom CTRL A CTRL G will toggle the RTS line state. 
 + 
 +==Reboot== 
 + 
 +If the board is sleeping, picocom can reboot the board to prepare 
 +it for new programming. 
 + 
 +<code> 
 +picocom --quiet --lower-rts --baud 115200 --exit-after 0 /dev/ttyUSB0 
 +</code> 
 + 
 +==Pulse== 
 + 
 +Picocom CTRL A CTRL P will pulse the DTR pin from low to high for 
 +1 second to test EXTI high or low edge. 
 + 
 +=== Programming === 
 + 
 +Use SWD with J-Link or OpenOCD.
  
 ==J-Link== ==J-Link==