{"id":1336,"date":"2019-10-18T22:16:10","date_gmt":"2019-10-18T20:16:10","guid":{"rendered":"http:\/\/www.fabienm.eu\/wordpress\/?p=1336"},"modified":"2021-02-02T14:50:40","modified_gmt":"2021-02-02T12:50:40","slug":"longan-nano-le-kit-risc-v-a-moins-de-5","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/wordpress\/2019\/10\/18\/longan-nano-le-kit-risc-v-a-moins-de-5\/","title":{"rendered":"Longan Nano, le kit RISC-V \u00e0 moins de 5$"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.hackable.fr\/?p=1256\">[PUB: Pour un guide complet sur la Longan Nano, courrez acheter le Hackable 33 pour lire l&rsquo;article <strong>\u00abUn RISC-V \u00e0 bas co\u00fbt pour monitorer votre PC avec LCDproc\u00bb]<\/strong><\/a><\/p>\n\n\n\n<p>Je viens de recevoir mon kit, voici donc une petite description du d\u00e9ballage du kit bas\u00e9 sur un microcontr\u00f4leur  RISC-V GD32VF nomm\u00e9 <a href=\"https:\/\/www.seeedstudio.com\/Sipeed-Longan-Nano-RISC-V-GD32VF103CBT6-Development-Board-p-4205.html\">Longan Nano<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_green_led.jpg\" alt=\"\" class=\"wp-image-1347\" srcset=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_green_led.jpg 800w, http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_green_led-300x225.jpg 300w, http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_green_led-768x576.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption>Le kit est tout petit mais comporte quand m\u00eame une LED tricolore, un \u00e9cran LCD, des boutons, &#8230;<\/figcaption><\/figure>\n\n\n\n<p>Pour acc\u00e9der \u00e0 l&rsquo;usb (mode DFU) il faut laisser le bouton boot0 appuy\u00e9 tout en branchant le kit. On obtient le message suivant :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ dmesg\n[896404.667425] usb 3-2: new full-speed USB device number 59 using xhci_hcd\n[896404.808892] usb 3-2: New USB device found, idVendor=28e9, idProduct=0189\n[896404.808895] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[896404.808896] usb 3-2: Product: GD32 0x418 DFU Bootloade\n[896404.808897] usb 3-2: Manufacturer: GDMicroelectronics\n[896404.808898] usb 3-2: SerialNumber: \u4333\u4a42<\/pre>\n\n\n\n<p>Surtout retenez bien le num\u00e9ro de s\u00e9rie \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Outils et d\u00e9veloppement<\/strong><\/h2>\n\n\n\n<p>SiPeed<a href=\"https:\/\/longan.sipeed.com\/en\/get_started\/pio.html\"> indique comment d\u00e9velopper sur son kit <\/a>avec Visual Studio (H\u00e9 oui le truc tourne sous Linux !) et la plate-forme <a href=\"https:\/\/platformio.org\/\">platform.io<\/a>. <\/p>\n\n\n\n<p>Il faut donc commencer par installer les outils Microsoft qui, \u00e0 ma grande surprise, fonctionnent tr\u00e8s bien sur debian (64bits) ! \u00c7a me vexe un peu d&rsquo;ailleurs, mais passons.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>T\u00e9l\u00e9charger le <a href=\"https:\/\/code.visualstudio.com\/docs\/?dv=linux64_deb\">packet debian de VSCode ici<\/a>. puis lancer la commande :<\/li><\/ul>\n\n\n\n<p>$ <code>sudo dpkg -i \/home\/fabien\/T\u00e9l\u00e9chargements\/code_1.39.2-1571154070_amd64.deb<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Visual Studio se lance simplement avec la commande code (pas du tout pr\u00e9tentieux):<\/li><\/ul>\n\n\n\n<p><code>$ code<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Pour installer le greffon platformio (pio pour les intimes) il faut faire une recherche dans les extensions et installer <strong>PlatformIO IDE.<\/strong> Et patienter un peu (1 \u00e0 2 minutes chez moi).<\/li><li>Pour configurer le bouzin pour la Longan Nano il suffit d&rsquo;ouvrir une console dans l&rsquo;outils (symbole platformio fourmi -&gt; quick access -&gt; New Terminal) puis de lancer la commande :<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">$ platformio platform install gd32v\n PlatformManager: Installing gd32v\n gd32v @ 1.1.0 has been successfully installed!\n PackageManager: Installing toolchain-gd32v @ ~9.2.0\n Downloading  [####################################]  100%          \n Unpacking  [####################################]  100%          \n toolchain-gd32v @ 9.2.0 has been successfully installed!\n The platform 'gd32v' has been successfully installed!\n The rest of packages will be installed automatically depending on your build environment.<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Perso j&rsquo;ai plut\u00f4t pris la version \u00ab\u00e0 jour\u00bb github :<\/li><\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript \">$ platformio platform install https:<span class=\"hljs-comment\">\/\/github.com\/sipeed\/platform-gd32v<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\"><li>Un guide est donn\u00e9 \u00e9galement pour faire clignoter la LED en rouge. Il faut n\u00e9anmoins faire quelques modifications pour le t\u00e9l\u00e9chargement du programme dans le micro comme nous allons le voir.<\/li><li>Lancer l&rsquo;exemple <strong>longan-nano-blink<\/strong><\/li><li>Modifier le fichier platform.ini comme suivant :<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">[env:sipeed-longan-nano]\nplatform = gd32v\nframework = gd32vf103-sdk\nboard = sipeed-longan-nano\nmonitor_speed = 115200\n\n; change microcontroller\nboard_build.mcu = GD32VF103CBT6\n\n; change MCU frequency\nboard_build.f_cpu = 108000000L\n\n; upload_protocol = sipeed-rv-debugger\n\nupload_protocol = dfu<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Ajouter les r\u00e8gles udev pour l&rsquo;usb :<\/li><\/ul>\n\n\n\n<p><code>$ sudo vim \/etc\/udev\/rules.d\/90-longan-nano.rules<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Avec la r\u00e8gle suivante (en supposant que votre utilisateur fait parti du groupe <em>dialout<\/em> depuis longtemps d\u00e9j\u00e0).<\/li><\/ul>\n\n\n\n<p><code>ATTRS{idVendor}==\"28e9\", ATTRS{idProduct}==\"0189\", MODE=\"0666\"<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Installer les outils DFU :<\/li><\/ul>\n\n\n\n<p>$ <code>sudo apt-get install dfu-util<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>(Re-)D\u00e9marrer le kit en mode \u00abbootstrap\u00bb en le branchant \u00e0 l&rsquo;USB du pc tout en restant appuy\u00e9 sur le bouton \u00abboot0\u00bb. Une fois branch\u00e9 vous avez l&rsquo;autorisation de l\u00e2cher le bouton \ud83d\ude09 Constater que le kit est bien pr\u00e9sent sur l&rsquo;usb :<\/li><\/ul>\n\n\n\n<p><code>$  sudo dfu-util -l<br> dfu-util 0.9<\/code><\/p>\n\n\n\n<p><code>Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.<br> Copyright 2010-2016 Tormod Volden and Stefan Schmidt<br> This program is Free Software and has ABSOLUTELY NO WARRANTY<br> Please report bugs to http:\/\/sourceforge.net\/p\/dfu-util\/tickets\/<\/code><\/p>\n\n\n\n<p><code>Found DFU: [28e9:0189] ver=1000, devnum=62, cfg=1, intf=0, path=\"3-1\", alt=1, name=\"@Option Bytes  \/0x1FFFF800\/01<\/code><em><code>016 g\", serial=\"??\" Found DFU: [28e9:0189] ver=1000, devnum=62, cfg=1, intf=0, path=\"3-1\", alt=0, name=\"@Internal Flash  \/0x08000000\/512<\/code><\/em><code>002Kg\", serial=\"??\"<\/code><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript \">$  sudo dfu-util -l\n dfu-util <span class=\"hljs-number\">0.9<\/span>\n\nCopyright <span class=\"hljs-number\">2005<\/span><span class=\"hljs-number\">-2009<\/span> Weston Schmidt, Harald Welte and OpenMoko Inc.\n Copyright <span class=\"hljs-number\">2010<\/span><span class=\"hljs-number\">-2016<\/span> Tormod Volden and Stefan Schmidt\n This program is Free Software and has ABSOLUTELY NO WARRANTY\n Please report bugs to http:<span class=\"hljs-comment\">\/\/sourceforge.net\/p\/dfu-util\/tickets\/<\/span>\n\nFound DFU: &#91;<span class=\"hljs-number\">28e9<\/span>:<span class=\"hljs-number\">0189<\/span>] ver=<span class=\"hljs-number\">1000<\/span>, devnum=<span class=\"hljs-number\">62<\/span>, cfg=<span class=\"hljs-number\">1<\/span>, intf=<span class=\"hljs-number\">0<\/span>, path=<span class=\"hljs-string\">\"3-1\"<\/span>, alt=<span class=\"hljs-number\">1<\/span>, name=<span class=\"hljs-string\">\"@Option Bytes  \/0x1FFFF800\/01016 g\"<\/span>, serial=<span class=\"hljs-string\">\"??\"<\/span> Found DFU: &#91;<span class=\"hljs-number\">28e9<\/span>:<span class=\"hljs-number\">0189<\/span>] ver=<span class=\"hljs-number\">1000<\/span>, devnum=<span class=\"hljs-number\">62<\/span>, cfg=<span class=\"hljs-number\">1<\/span>, intf=<span class=\"hljs-number\">0<\/span>, path=<span class=\"hljs-string\">\"3-1\"<\/span>, alt=<span class=\"hljs-number\">0<\/span>, name=<span class=\"hljs-string\">\"@Internal Flash  \/0x08000000\/512002Kg\"<\/span>, serial=<span class=\"hljs-string\">\"??\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\"><li>Compiler (le minuscule symbole de check en V en bas \u00e0 gauche)<\/li><li>T\u00e9l\u00e9charger (le minuscule symbole fl\u00e8che juste \u00e0 cot\u00e9 du minuscule symbole de compile)<\/li><\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml \">&gt; Executing task: platformio run --target upload <span class=\"hljs-tag\">&lt;\n\n<span class=\"hljs-attr\">Processing<\/span> <span class=\"hljs-attr\">sipeed-longan-nano<\/span> (<span class=\"hljs-attr\">platform:<\/span> <span class=\"hljs-attr\">gd32v<\/span>; <span class=\"hljs-attr\">framework:<\/span> <span class=\"hljs-attr\">gd32vf103-sdk<\/span>; <span class=\"hljs-attr\">board:<\/span> <span class=\"hljs-attr\">sipeed-longan-nano<\/span>)\n<span class=\"hljs-attr\">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<\/span>\n<span class=\"hljs-attr\">PackageManager:<\/span> <span class=\"hljs-attr\">Installing<\/span> <span class=\"hljs-attr\">tool-openocd-gd32v<\/span> @ ~<span class=\"hljs-attr\">0.1.1<\/span>\n<span class=\"hljs-attr\">Downloading<\/span>  &#91;####################################]  <span class=\"hljs-attr\">100<\/span>%          \n<span class=\"hljs-attr\">tool-openocd-gd32v<\/span> @ <span class=\"hljs-attr\">0.1.1<\/span> <span class=\"hljs-attr\">has<\/span> <span class=\"hljs-attr\">been<\/span> <span class=\"hljs-attr\">successfully<\/span> <span class=\"hljs-attr\">installed<\/span>!\n<span class=\"hljs-attr\">PackageManager:<\/span> <span class=\"hljs-attr\">Installing<\/span> <span class=\"hljs-attr\">tool-gd32vflash<\/span> @ ~<span class=\"hljs-attr\">0.1.0<\/span>\n<span class=\"hljs-attr\">tool-gd32vflash<\/span> @ <span class=\"hljs-attr\">0.1.0<\/span> <span class=\"hljs-attr\">has<\/span> <span class=\"hljs-attr\">been<\/span> <span class=\"hljs-attr\">successfully<\/span> <span class=\"hljs-attr\">installed<\/span>!\n<span class=\"hljs-attr\">Verbose<\/span> <span class=\"hljs-attr\">mode<\/span> <span class=\"hljs-attr\">can<\/span> <span class=\"hljs-attr\">be<\/span> <span class=\"hljs-attr\">enabled<\/span> <span class=\"hljs-attr\">via<\/span> `<span class=\"hljs-attr\">-v<\/span>, <span class=\"hljs-attr\">--verbose<\/span>` <span class=\"hljs-attr\">option<\/span>\n<span class=\"hljs-attr\">CONFIGURATION:<\/span> <span class=\"hljs-attr\">https:<\/span>\/\/<span class=\"hljs-attr\">docs.platformio.org<\/span>\/<span class=\"hljs-attr\">page<\/span>\/<span class=\"hljs-attr\">boards<\/span>\/<span class=\"hljs-attr\">gd32v<\/span>\/<span class=\"hljs-attr\">sipeed-longan-nano.html<\/span>\n<span class=\"hljs-attr\">PLATFORM:<\/span> <span class=\"hljs-attr\">GigaDevice<\/span> <span class=\"hljs-attr\">GD32V<\/span> <span class=\"hljs-attr\">1.1.0<\/span> &gt;<\/span> Sipeed Longan Nano\nHARDWARE: GD32VF103CBT6 108MHz, 32KB RAM, 128KB Flash\nDEBUG: Current (altera-usb-blaster) External (altera-usb-blaster, gd-link, jlink, rv-link, sipeed-rv-debugger, um232h)\nPACKAGES: tool-openocd-gd32v 0.1.1, framework-gd32vf103-sdk 1.0.0, tool-gd32vflash 0.1.0, toolchain-gd32v 9.2.0\nLDF: Library Dependency Finder -&gt; http:\/\/bit.ly\/configure-pio-ldf\nLDF Modes: Finder ~ chain, Compatibility ~ soft\nFound 0 compatible libraries\nScanning dependencies...\nNo dependencies\nCompiling .pio\/build\/sipeed-longan-nano\/src\/main.o\nCompiling .pio\/build\/sipeed-longan-nano\/src\/systick.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_adc.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_bkp.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_can.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_crc.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_dac.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_dbg.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_dma.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_eclic.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_exmc.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_exti.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_fmc.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_fwdgt.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_gpio.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_i2c.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_pmu.o\n\/home\/fabien\/.platformio\/packages\/framework-gd32vf103-sdk\/GD32VF103_standard_peripheral\/Source\/gd32vf103_i2c.c: In function 'i2c_flag_clear':\n\/home\/fabien\/.platformio\/packages\/framework-gd32vf103-sdk\/GD32VF103_standard_peripheral\/Source\/gd32vf103_i2c.c:610:14: warning: variable 'temp' set but not used &#91;-Wunused-but-set-variable]\n  610 |     uint32_t temp;\n      |              ^~~~\n\/home\/fabien\/.platformio\/packages\/framework-gd32vf103-sdk\/GD32VF103_standard_peripheral\/Source\/gd32vf103_i2c.c: In function 'i2c_interrupt_flag_clear':\n\/home\/fabien\/.platformio\/packages\/framework-gd32vf103-sdk\/GD32VF103_standard_peripheral\/Source\/gd32vf103_i2c.c:718:14: warning: variable 'temp' set but not used &#91;-Wunused-but-set-variable]\n  718 |     uint32_t temp;\n      |              ^~~~\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_rcu.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_rtc.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_spi.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_timer.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_usart.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/Source\/gd32vf103_wwdgt.o\nCompiling .pio\/build\/sipeed-longan-nano\/standard_peripheral\/system_gd32vf103.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/drivers\/n200_func.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/env_Eclipse\/entry.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/env_Eclipse\/handlers.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/env_Eclipse\/init.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/env_Eclipse\/start.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/env_Eclipse\/your_printf.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/_exit.o\n\/home\/fabien\/.platformio\/packages\/framework-gd32vf103-sdk\/RISCV\/env_Eclipse\/your_printf.c: In function '__wrap_printf':\n\/home\/fabien\/.platformio\/packages\/framework-gd32vf103-sdk\/RISCV\/env_Eclipse\/your_printf.c:4:1: warning: control reaches end of non-void function &#91;-Wreturn-type]\n    4 | }\n      | ^\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/close.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/fstat.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/isatty.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/lseek.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/read.o\nArchiving .pio\/build\/sipeed-longan-nano\/libstandard_peripheral.a\nIndexing .pio\/build\/sipeed-longan-nano\/libstandard_peripheral.a\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/sbrk.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/write.o\nCompiling .pio\/build\/sipeed-longan-nano\/RISCV\/stubs\/write_hex.o\nArchiving .pio\/build\/sipeed-longan-nano\/libRISCV.a\nIndexing .pio\/build\/sipeed-longan-nano\/libRISCV.a\nLinking .pio\/build\/sipeed-longan-nano\/firmware.elf\nChecking size .pio\/build\/sipeed-longan-nano\/firmware.elf\nBuilding .pio\/build\/sipeed-longan-nano\/firmware.bin\nMemory Usage -&gt; http:\/\/bit.ly\/pio-memory-usage\nDATA:    &#91;=         ]   7.0% (used 2310 bytes from 32768 bytes)\nPROGRAM: &#91;=         ]   5.0% (used 6572 bytes from 131072 bytes)\nConfiguring upload protocol...\nAVAILABLE: altera-usb-blaster, dfu, gd-link, jlink, rv-link, serial, sipeed-rv-debugger, um232h\nCURRENT: upload_protocol = dfu\nUploading .pio\/build\/sipeed-longan-nano\/firmware.bin\ndfu-util: Invalid DFU suffix signature\ndfu-util: A valid DFU suffix will be required in a future dfu-util release!!!\ndfu-util 0.9\n\nCopyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.\nCopyright 2010-2016 Tormod Volden and Stefan Schmidt\nThis program is Free Software and has ABSOLUTELY NO WARRANTY\nPlease report bugs to http:\/\/sourceforge.net\/p\/dfu-util\/tickets\/\n\nOpening DFU capable USB device...\nID 28e9:0189\nRun-time device DFU version 011a\nClaiming USB DFU Interface...\nSetting Alternate Setting #0 ...\nDetermining device status: state = dfuERROR, status = 10\ndfuERROR, clearing status\nDetermining device status: state = dfuIDLE, status = 0\ndfuIDLE, continuing\nDFU mode device DFU version 011a\nDevice returned transfer size 2048\nGD32 flash memory access detected\nDevice model: GD32VF103CB\nMemory segment (0x08000000 - 0801ffff)(rew)\nErase size 1024, page count 128\nDownloading to address = 0x08000000, size = 6584\n\nDownload        &#91;                         ]   0%            0 bytes\nDownload        &#91;=======                  ]  31%         2048 bytes\nDownload        &#91;===============          ]  62%         4096 bytes\nDownload        &#91;=======================  ]  93%         6144 bytes\nDownload        &#91;=========================] 100%         6584 bytes\nDownload done.\nFile downloaded successfully\nTransitioning to dfuMANIFEST state<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\"><li>Et voil\u00e0 ! La led clignote en rouge. Pour la passer en vert (par exemple) il faut changer le code de main.c:<\/li><\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css \"><span class=\"hljs-comment\">\/* BUILTIN LED OF LONGAN BOARDS IS PIN PC13\n#define LED_PIN GPIO_PIN_13\n#define LED_GPIO_PORT GPIOC\n#define LED_GPIO_CLK RCU_GPIOC\n*\/<\/span>\n\n<span class=\"hljs-comment\">\/* BUILTIN LED GREEN*\/<\/span>\n<span class=\"hljs-selector-id\">#define<\/span> <span class=\"hljs-selector-tag\">LED_PIN<\/span> <span class=\"hljs-selector-tag\">BIT<\/span>(1)\n<span class=\"hljs-selector-id\">#define<\/span> <span class=\"hljs-selector-tag\">LED_GPIO_PORT<\/span> <span class=\"hljs-selector-tag\">GPIOA<\/span>\n<span class=\"hljs-selector-id\">#define<\/span> <span class=\"hljs-selector-tag\">LED_GPIO_CLK<\/span> <span class=\"hljs-selector-tag\">RCU_GPIOA<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs \">\n<\/code><\/span><\/pre>\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"722\" src=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_pin_map-1024x722.png\" alt=\"\" class=\"wp-image-1353\" srcset=\"http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_pin_map-1024x722.png 1024w, http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_pin_map-300x211.png 300w, http:\/\/www.fabienm.eu\/wordpress\/wp-content\/uploads\/2019\/10\/longan_nano_pin_map-768x541.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Le pinout de la LED RGB n\u2019appara\u00eet pas sur ce sch\u00e9ma<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>[PUB: Pour un guide complet sur la Longan Nano, courrez acheter le Hackable 33 pour lire l&rsquo;article \u00abUn RISC-V \u00e0 bas co\u00fbt pour monitorer votre PC avec LCDproc\u00bb] Je viens de recevoir mon kit, voici donc une petite description du &hellip; <a href=\"http:\/\/www.fabienm.eu\/wordpress\/2019\/10\/18\/longan-nano-le-kit-risc-v-a-moins-de-5\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[192,1],"tags":[220,219,218],"class_list":["post-1336","post","type-post","status-publish","format-standard","hentry","category-electronique","category-non-classe","tag-gd32vf","tag-longan_nano","tag-riscv"],"_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=1336"}],"version-history":[{"count":18,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1336\/revisions"}],"predecessor-version":[{"id":1545,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1336\/revisions\/1545"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=1336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=1336"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=1336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}