{"id":1449,"date":"2021-01-03T15:46:14","date_gmt":"2021-01-03T13:46:14","guid":{"rendered":"http:\/\/pila.fr\/wordpress\/?p=1449"},"modified":"2021-01-03T15:57:52","modified_gmt":"2021-01-03T13:57:52","slug":"compiler-marlin-en-ligne-de-commande","status":"publish","type":"post","link":"https:\/\/pila.fr\/wordpress\/archives\/1449","title":{"rendered":"Compiler Marlin en ligne de commande"},"content":{"rendered":"\n<p>Cet article r\u00e9sume le process n\u00e9cessaire pour compiler Marlin en ligne de commande sous Linux avec PlatformIO Core.<\/p>\n\n\n\n<p><strong>1. <\/strong><a href=\"https:\/\/docs.platformio.org\/en\/latest\/core\/installation.html#local-download-mac-linux-windows\"><strong>Installer PlatformIO Core<\/strong><\/a><strong>.<\/strong><\/p>\n\n\n\n<p><strong> 2. Ajouter PlatformIO au PATH local :<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">export PATH=$PATH:~\/.platformio\/penv\/bin<\/pre>\n\n\n\n<p><strong>3. R\u00e9cup\u00e9rer le code source de Marlin.<\/strong><\/p>\n\n\n\n<p><strong>4.<\/strong> Si on r\u00e9cup\u00e8re le code source officiel (et pas une version d\u00e9j\u00e0 customis\u00e9e pour une machine sp\u00e9cifique ), <strong>r\u00e9cup\u00e9rer les fichiers de configuration<\/strong> dans le d\u00e9pot git <a href=\"https:\/\/github.com\/MarlinFirmware\/Configurations\">MarlinFirmware\/Configurations<\/a>, et copier les fichiers de configuration ad\u00e9quat dans le dossier Marlin \/ Marlin \/<\/p>\n\n\n\n<p><strong>5. Se placer dans le dossier Marlin <\/strong>( contenant <em>platformio.ini<\/em> ).<\/p>\n\n\n\n<p><strong>6. Identifier la valeur de MOTHERBOARD<\/strong>, en gras dans l&rsquo;exemple ci dessous,  \u00e0 partir du fichier <em>Configuration.h<\/em>. ( pour une carte BTT SKR E3 MINI V2.0 )<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ cat Marlin\/Configuration.h | grep MOTHERBOARD<br> #ifndef MOTHERBOARD<br>     #define MOTHERBOARD <strong>BOARD_BTT_SKR_MINI_E3_V2_0<\/strong><br> If not defined the default pin for the selected MOTHERBOAR<\/pre>\n\n\n\n<p><strong>7. Identifier les environnements PlatformIO compatibles<\/strong> \u00e0 partir du fichier <em>pins.h<\/em> ( attention \u00e0 supprimer le BOARD dans la valeur de MOTHERBOARD ):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ cat Marlin\/src\/pins\/pins.h | grep <strong>BTT_SKR_MINI_E3_V2_0<\/strong><br> elif MB(BTT_SKR_MINI_E3_V2_0)<br>    #include \"stm32f1\/pins_BTT_SKR_MINI_E3_V2_0.h\"  \/\/ STM32F1<br>env:<strong>STM32F103RC_btt<\/strong> env:<strong>STM32F103RC_btt_512K<\/strong> <br>env:<strong>STM32F103RC_btt_USB<\/strong> env:<strong>STM32F103RC_btt_512K_USB<\/strong><\/pre>\n\n\n\n<p><strong>8. Compiler avec l&rsquo;environnement adapt\u00e9<\/strong> ( dans mon cas gestion de l&rsquo;USB mais pas 512K de ROM ) : <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ platformio run -e <strong>STM32F103RC_btt_USB<\/strong><\/pre>\n\n\n\n<p><strong>9. R\u00e9cup\u00e9rer le fichier firmware.bin <\/strong>\u00e0 l&#8217;emplacement suivant : <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">.pio\/build\/<strong>STM32F103RC_btt_USB<\/strong>\/firmware.bin<\/pre>\n\n\n\n<p><strong>10. Le copier sur une carte SD<\/strong> ( sans alt\u00e9rer son nom ), et la mise \u00e0 jour s&rsquo;effectue \u00e0 la mise sous tension de l&rsquo;imprimante. Le fichier sera alors renomm\u00e9 en <em>FIRMWARE <\/em>(sans extension).<\/p>\n\n\n\n<p><strong>11. <\/strong>Si pr\u00e9sence d&rsquo;un fichier EEPROM.DAT sur la carte SD lors de la mise \u00e0 jour firmware, le contenu de l&rsquo;EEPROM (calibration, r\u00e9glages) sera \u00e9cras\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cet article r\u00e9sume le process n\u00e9cessaire pour compiler Marlin en ligne de commande sous Linux avec PlatformIO Core. 1. Installer PlatformIO Core. 2. Ajouter PlatformIO au PATH local : export PATH=$PATH:~\/.platformio\/penv\/bin 3. R\u00e9cup\u00e9rer le code source de Marlin. 4. Si on r\u00e9cup\u00e8re le code source officiel (et pas une version d\u00e9j\u00e0 customis\u00e9e pour une machine &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/pila.fr\/wordpress\/archives\/1449\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[173,69,8],"tags":[176,175,174],"class_list":["post-1449","post","type-post","status-publish","format-standard","hentry","category-impression-3d","category-linux-2","category-prog","tag-compilation","tag-imprimante-3d","tag-marlin","item-wrap"],"_links":{"self":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts\/1449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/comments?post=1449"}],"version-history":[{"count":14,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts\/1449\/revisions"}],"predecessor-version":[{"id":1466,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/posts\/1449\/revisions\/1466"}],"wp:attachment":[{"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/media?parent=1449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/categories?post=1449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pila.fr\/wordpress\/wp-json\/wp\/v2\/tags?post=1449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}