{"id":586,"date":"2015-02-25T17:54:55","date_gmt":"2015-02-25T16:54:55","guid":{"rendered":"http:\/\/www.verelec.nl\/?page_id=586"},"modified":"2015-02-25T17:54:55","modified_gmt":"2015-02-25T16:54:55","slug":"stm32-programming-tips","status":"publish","type":"page","link":"https:\/\/www.verelec.nl\/?page_id=586","title":{"rendered":"STM32 programming tips"},"content":{"rendered":"<div class=\"entry-content\">\n<p>Time changes and so do embedded chips. Having programmed numerous years on Atmel 8bits, PIC, 6502, Z80 and 80\u00d786 I am now learning the 32 bit. Like probably many of us, you try to get a similar environment like my Arduino\/Eclipse setup for all development platforms. Well I tried quite a few options on this one:<\/p>\n<ul>\n<li>MBED.org. Great environment but only available online<\/li>\n<li>MBED exported to Eclipse\/gcc. Works fine but still needs quite some tuning<\/li>\n<li>MBED generated from boards.txt &amp; platform.txt. Actually got it working for the Nucleo L152RE. Downloading was done separately through the ST-Link utility. Downside was the rather large code footprint.<\/li>\n<li>MBED generated for EM::Blocks. Now this is quite an efficient compiler. It works as expected<\/li>\n<li>Eclipse. That got me nowhere<\/li>\n<\/ul>\n<p>Eventually I guess I realized I was postponing the inevitable. I had to restart learning to program for the chip itself. I have a few boards at hand with the STM32F103xxxx and will start with these.<\/p>\n<p><a href=\"https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/arm-exp-board.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-581\" src=\"https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/arm-exp-board.jpg\" alt=\"arm exp board\" width=\"277\" height=\"208\" srcset=\"https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/arm-exp-board.jpg 1000w, https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/arm-exp-board-300x225.jpg 300w\" sizes=\"(max-width: 277px) 100vw, 277px\" \/><\/a> <a href=\"https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-582\" src=\"https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board.jpg\" alt=\"Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board\" width=\"253\" height=\"253\" srcset=\"https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board.jpg 307w, https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board-150x150.jpg 150w, https:\/\/www.verelec.nl\/wp-content\/uploads\/2015\/02\/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-development-board-300x300.jpg 300w\" sizes=\"(max-width: 253px) 100vw, 253px\" \/><\/a><\/p>\n<p>As expected, there is hardly any descent documentation available or even a schematic. So a lot of experimenting is required. Any I guess it is my lack of experience with these processors that definitely need an update. And time to leave Arduino style programming and get into the real deal.<\/p>\n<p>My favourite environment currently is:<\/p>\n<ul>\n<li>EM Blocks as compiler version 2.3<\/li>\n<li>Doxygen is embedded<\/li>\n<li>Version control is embedded<\/li>\n<li>Use standard templates<\/li>\n<\/ul>\n<p>I am making this a separate menu Item so I can share my experiences (and have a backup for tips and tricks myself).<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Time changes and so do embedded chips. Having programmed numerous years on Atmel 8bits, PIC, 6502, Z80 and 80\u00d786 I am now learning the 32 bit. Like probably many of us, you try to get a similar environment like my &hellip; <a href=\"https:\/\/www.verelec.nl\/?page_id=586\">Lees verder <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/www.verelec.nl\/index.php?rest_route=\/wp\/v2\/pages\/586"}],"collection":[{"href":"https:\/\/www.verelec.nl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.verelec.nl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.verelec.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.verelec.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=586"}],"version-history":[{"count":1,"href":"https:\/\/www.verelec.nl\/index.php?rest_route=\/wp\/v2\/pages\/586\/revisions"}],"predecessor-version":[{"id":588,"href":"https:\/\/www.verelec.nl\/index.php?rest_route=\/wp\/v2\/pages\/586\/revisions\/588"}],"wp:attachment":[{"href":"https:\/\/www.verelec.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}