User Tools

Site Tools


arm:stm32f103c8t6

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
arm:stm32f103c8t6 [2014/04/14 21:09] – [USB bootloader] redoxarm:stm32f103c8t6 [2014/04/14 21:54] – [Links] redox
Line 8: Line 8:
 There's a 8Mhz quartz (with PLL, the chip can run at 72Mhz), a 32.768kHz quartz (for the RTC), and that's pretty much all, but for only 10 bucks... It's okay =) There's a 8Mhz quartz (with PLL, the chip can run at 72Mhz), a 32.768kHz quartz (for the RTC), and that's pretty much all, but for only 10 bucks... It's okay =)
  
 +I have found a schematic that looks okay
 +{{ :arm:stm32f103c8t6:schematic.png?direct&200 |Board schematic}}
  
 ## Bootloader ## Bootloader
Line 45: Line 47:
 I haven't found many bootloaders that could work without an external switch, ... So I settled on a modified version of the [[https://github.com/leaflabs/maple-bootloader|Maple bootloader]]. Another one would have been [[http://feaser.com/openblt/doku.php|OpenBLT]] but the PC software seems Windows-only so... \>_< I haven't found many bootloaders that could work without an external switch, ... So I settled on a modified version of the [[https://github.com/leaflabs/maple-bootloader|Maple bootloader]]. Another one would have been [[http://feaser.com/openblt/doku.php|OpenBLT]] but the PC software seems Windows-only so... \>_<
  
-The Maple Bootloader provides DFU access. You can program to RAM or Flash. I won't go into details about DFU... On Archlinux, install the __df-utils__ package from the AUR, and then it's just "simple".+The Maple Bootloader provides DFU access. You can program to RAM or Flash. I won't go into details about DFU... On Archlinux, install the __dfu-utils__ package from the AUR, and then it's just "simple".
  
 <code>[redox@RedoXPS ~/STM32F103_Demo]$ dfu-util -d 1337:1eaf -a 1 -D ./main.bin -R <code>[redox@RedoXPS ~/STM32F103_Demo]$ dfu-util -d 1337:1eaf -a 1 -D ./main.bin -R
Line 76: Line 78:
 Some changes have been made: Some changes have been made:
  
 +* USB VID/PID have been changed
 * LED moved to PA0 * LED moved to PA0
 * LED timings changed * LED timings changed
 * Button removed * Button removed
 * Bootloader timeout also changed * Bootloader timeout also changed
-* It now used a little bit less than 16Kio; the user-program flash definition has to be changed accordingly...+* It now used a little bit less than 16Kio; the user-program flash definition has to be changed accordingly: it should start at 0x08004000 instead of 0x08000000 
 + 
 +__Note:__ With DFU, don't forget to "prepare" your bin file before use: 
 +    dfu-suffix -a ./main.bin -v 1337 -p 1eaf -d 0001
  
 The latest source is: {{:arm:stm32f103c8t6:maple-based-bootloader_20140414_2306.tar.gz|}} The latest source is: {{:arm:stm32f103c8t6:maple-based-bootloader_20140414_2306.tar.gz|}}
 +
 +
  
 ## Demo ## Demo
 +
 +Trying to figure out the bootloaders didn't let me much time, and I didn't have any real application, so I just set up a quick demo, two leds flashing on PA0 and PA1.
 +
 +The latest source is: {{:arm:stm32f103c8t6:stm32f103_demo_20140414_2316.tar.gz|}} made for the USB bootloader
 +
 +Since the last time I worked with ARM µC, I had a deeper look into RTOS, so I thought I would quickly try one. I settled on [[http://www.chibios.org/dokuwiki/doku.php|ChibiOS]], since it's opensource, actively maintained, and I like its name.
 +
 +Going though the forums, I also noted its little brother [[http://code.google.com/p/rtoslibs/|Nil RTOS]], and a different one [[http://www.ethernut.de/index.html|Ethernut]] I might try someday...
 +
 +Here's a quick demo (two LEDs, different rate): {{:arm:stm32f103c8t6:demo_armcm3-stm32f103_20140414_2325.tar.gz|}}. 
 +
 +Download ChibiOS 2.6.3 and extract this archive in the board folder, then cd in it, and _make_ (prepared for the Serial bootloader), and then flash.
  
 ## Links ## Links
 +
 +* [[http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164476|STM32F103 product page]]
 +* {{:arm:stm32f103c8t6:stm32f103x8_xb.pdf|STM32F103x8 Datasheet}} (from STmicro, rehosted here)
 +* [[http://www.cs.indiana.edu/~geobrown/book.pdf‎|STM32Book]]
 +* [[http://tech.munts.com/MCU/Frameworks/ARM/stm32f1/]]
 +* [[http://www.fussylogic.co.uk/blog/?p=1238]]
 +* [[http://www.emcu.it/STM32.html]]
 +* [[http://www.olliw.eu/2013/stm32-this-and-that/]]
 +* [[http://darauble.wordpress.com/2014/01/09/hello-arm-ir-truputukas-teorijos/]] Not in english...