{"id":2804,"date":"2020-10-04T11:04:43","date_gmt":"2020-10-04T09:04:43","guid":{"rendered":"http:\/\/www.final-memory.org\/?p=2804"},"modified":"2020-10-04T11:05:49","modified_gmt":"2020-10-04T09:05:49","slug":"stm32-blue-pill-mit-segger-embedded-studio","status":"publish","type":"post","link":"https:\/\/www.final-memory.org\/?p=2804","title":{"rendered":"STM32 &#8220;Blue pill&#8221; mit SEGGER Embedded Studio"},"content":{"rendered":"<p>Ich wollte mal <a href=\"https:\/\/www.segger.com\/products\/development-tools\/embedded-studio\/\">SEGGER Embedded Studio<\/a> ausprobieren, nachdem ich im B\u00fcro schon mit meinen Kollegen dar\u00fcber gesprochen hatte.<br \/>\nUnter Linux stellt diese IDE auf jeden Fall eine gute M\u00f6glichkeit dar, f\u00fcr STM32 basierte Controller Software zu entwickeln, z.B. die &#8220;Blue Pill&#8221;.<\/p>\n<p>Bislang habe ich nackte Makefiles und Eclipse probiert. Letzteres ist langsam und das Debuggen war damit nicht so gut verwendbar.<\/p>\n<p>Die SEGGER IDE lies sich leicht installieren, die Installation ben\u00f6tigt leider root Rechte mit sudo, zumindest f\u00fcr udev Konfiguration f\u00fcr einen J-Link.<br \/>\nWenn man das optional weglassen k\u00f6nnte, w\u00e4re das von Vorteil.<\/p>\n<p>Die IDE pr\u00e4sentiert sich mit QT Oberfl\u00e4che und ist flott und responsiv.<\/p>\n<p>Positives:<\/p>\n<ul>\n<li>gute Reaktionszeit<\/li>\n<li>Debugger kann Controllerregister inklusive Peripherie darstellen<\/li>\n<li>Debugger unterst\u00fctzt SEGGER J-Link sowie GDB basiertes Debuggen mit OpenOCD<\/li>\n<li>Installation nach \/opt oder dgl m\u00f6glich<\/li>\n<li>bringt Compiler und Linker mit<\/li>\n<li>Projektkonfigurator f\u00fcr Baremetal Devices<\/li>\n<li>Plugins und Herstelersupport f\u00fcr definierte Controller und Familien nachinstallierbar<\/li>\n<li>Crossplattform<\/li>\n<\/ul>\n<p>Negatives:<\/p>\n<ul>\n<li>kein Import von Makefileprojekten<\/li>\n<li>Sortierung der Fenster und Reiter ist etwas un\u00fcbersichtlich<\/li>\n<\/ul>\n<p>Insgesamt aber besser als Eclipse und eine h\u00e4ndische Umgebung.<\/p>\n<p>Um via ST-Link v2 mit OpenOCD zu debuggen, habe ich mein Projekt im SEGGER Embedded Studio dann wie folgt konfiguriert:<\/p>\n<ul>\n<li>&#8220;Debug &gt; Debugger&#8221; auf &#8220;GDB Server&#8221; einstellen<\/li>\n<li>&#8220;Debug &gt; GDB Server f\u00fcr OpenOCD konfiguriert wie im Screenshot<\/li>\n<\/ul>\n<p><figure id=\"attachment_2807\" aria-describedby=\"caption-attachment-2807\" style=\"width: 866px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2807 size-full\" src=\"http:\/\/www.final-memory.org\/wp-content\/uploads\/2020\/10\/SEGGER_IDE_OpenOCD_BluePill.png\" alt=\"[OpenOCD Konfiguration f\u00fcr die STM32 Blue Pill im SEGGER Embedded Studio]\" width=\"866\" height=\"263\" srcset=\"https:\/\/www.final-memory.org\/wp-content\/uploads\/2020\/10\/SEGGER_IDE_OpenOCD_BluePill.png 866w, https:\/\/www.final-memory.org\/wp-content\/uploads\/2020\/10\/SEGGER_IDE_OpenOCD_BluePill-300x91.png 300w, https:\/\/www.final-memory.org\/wp-content\/uploads\/2020\/10\/SEGGER_IDE_OpenOCD_BluePill-768x233.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption id=\"caption-attachment-2807\" class=\"wp-caption-text\">OpenOCD Konfiguration f\u00fcr die STM32 Blue Pill im SEGGER Embedded Studio<\/figcaption><\/figure>Dann started OpenOCD automatisch im Hintergrund und man kann debuggen.<\/p>\n<p>Ich bin bislang nur auf ein Problem gestossen, wenn ich die STM32 HAL f\u00fcr die Blue Pill benutzen m\u00f6chte. Wenn ich das komplette .a File dazulinke, wird leider auch das komplette File eingebunden. Der GNU Linker im Makefile nimmt nur die Teile die n\u00f6tig sind, da muss ich noch rausfinden, wie ich das SEGGER Embedded Studio dazu bekomme, nur das zu linken, was ben\u00f6tigt wird.<\/p>\n<div id=\"facebook_like\"><iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.final-memory.org%2F%3Fp%3D2804&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:500px; height:80px;\" allowTransparency=\"true\"><\/iframe><\/div>","protected":false},"excerpt":{"rendered":"<p>Ich wollte mal SEGGER Embedded Studio ausprobieren, nachdem ich im B\u00fcro schon mit meinen Kollegen dar\u00fcber gesprochen hatte. Unter Linux stellt diese IDE auf jeden Fall eine gute M\u00f6glichkeit dar, f\u00fcr STM32 basierte Controller Software zu entwickeln, z.B. die &#8220;Blue Pill&#8221;. Bislang habe ich nackte Makefiles und Eclipse probiert. Letzteres ist langsam und das Debuggen &hellip; <a href=\"https:\/\/www.final-memory.org\/?p=2804\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;STM32 &#8220;Blue pill&#8221; mit SEGGER Embedded Studio&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[74,35,103],"tags":[],"class_list":["post-2804","post","type-post","status-publish","format-standard","hentry","category-embedded-systems","category-mikrocontroller","category-stm32"],"_links":{"self":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2804"}],"version-history":[{"count":7,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2804\/revisions"}],"predecessor-version":[{"id":2812,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/2804\/revisions\/2812"}],"wp:attachment":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}