The git repo behind my blog.

graver-un-bootloader-sur-atmega8.html 9.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <link href='https://phyks.me/theme/stylesheet/fonts.css' rel='stylesheet' type='text/css'>
  5. <link rel="stylesheet" type="text/css" href="https://phyks.me/theme/stylesheet/style.min.css">
  6. <link rel="stylesheet" type="text/css" href="https://phyks.me/theme/pygments/monokai.min.css">
  7. <link rel="stylesheet" type="text/css" href="https://phyks.me/theme/font-awesome/css/font-awesome.min.css">
  8. <link href="https://phyks.me/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Phyks' blog Atom">
  9. <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon">
  10. <link rel="icon" href="/images/favicon.ico" type="image/x-icon">
  11. <meta charset="utf-8" />
  12. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  13. <meta name="HandheldFriendly" content="True" />
  14. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  15. <meta name="robots" content="index, follow" />
  16. <!-- Chrome, Firefox OS and Opera -->
  17. <meta name="theme-color" content="#333">
  18. <!-- Windows Phone -->
  19. <meta name="msapplication-navbutton-color" content="#333">
  20. <!-- iOS Safari -->
  21. <meta name="apple-mobile-web-app-capable" content="yes">
  22. <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  23. <!-- Microsoft EDGE -->
  24. <meta name="msapplication-TileColor" content="#333">
  25. <meta name="author" content="Phyks" />
  26. <meta name="description" content="Pour un projet avec mon hacklab hackEns (éclairage de façades avec des LEDs de puissance, dans la même veine que AllColorsAreBeautiful du CCC, voir cette page pour plus d’infos), on a eu besoin de graver 30 bootloaders sur des ATmega8. On n’a pas de programmateur et on le …" />
  27. <meta name="keywords" content="">
  28. <meta property="og:site_name" content="Phyks' blog"/>
  29. <meta property="og:title" content="Graver un bootloader sur ATmega8"/>
  30. <meta property="og:description" content="Pour un projet avec mon hacklab hackEns (éclairage de façades avec des LEDs de puissance, dans la même veine que AllColorsAreBeautiful du CCC, voir cette page pour plus d’infos), on a eu besoin de graver 30 bootloaders sur des ATmega8. On n’a pas de programmateur et on le …"/>
  31. <meta property="og:locale" content="en_US.UTF-8"/>
  32. <meta property="og:url" content="https://phyks.me/2013/12/graver-un-bootloader-sur-atmega8.html"/>
  33. <meta property="og:type" content="article"/>
  34. <meta property="article:published_time" content="2013-12-02 15:02:00+01:00"/>
  35. <meta property="article:modified_time" content=""/>
  36. <meta property="article:author" content="https://phyks.me/author/phyks.html">
  37. <meta property="article:section" content="DIY"/>
  38. <meta property="og:image" content="/images/profile.png">
  39. <title>Phyks' blog &ndash; Graver un bootloader sur ATmega8</title>
  40. </head>
  41. <body>
  42. <aside>
  43. <div>
  44. <a href="https://phyks.me">
  45. <img src="/images/profile.png" alt="Phyks" title="Phyks">
  46. </a>
  47. <h1><a href="https://phyks.me">Phyks</a></h1>
  48. <p>I write about dev, FOSS, DIY and more, in French and English.</p>
  49. <ul class="social">
  50. <li><a class="sc-rss" href="feeds/all.atom.xml" target="_blank"><i class="fa fa-rss"></i></a></li>
  51. <li><a class="sc-envelope-o" href="mailto:phyks+blog@phyks.me" target="_blank"><i class="fa fa-envelope-o"></i></a></li>
  52. <li><a class="sc-github" href="http://github.com/phyks/" target="_blank"><i class="fa fa-github"></i></a></li>
  53. <li><a class="sc-gitlab" href="https://git.phyks.me/phyks" target="_blank"><i class="fa fa-gitlab"></i></a></li>
  54. </ul>
  55. </div>
  56. </aside>
  57. <main>
  58. <nav>
  59. <a href="https://phyks.me">Home</a>
  60. <a href="https://links.phyks.me">Bookmarks</a>
  61. <a href="/pages/hosted-tools.html">Tools</a>
  62. <a href="/archives.html">Archives</a>
  63. <a href="/pages/memo-autohebergement.html">Autohébergement</a>
  64. <a href="https://phyks.me/feeds/all.atom.xml">Atom</a>
  65. </nav>
  66. <article class="single">
  67. <header>
  68. <h1 id="graver-un-bootloader-sur-atmega8">Graver un bootloader sur&nbsp;ATmega8</h1>
  69. <p>
  70. Posted on 02 December 2013 in <a href="https://phyks.me/category/diy.html">DIY</a>
  71. &#8226; 2 min read
  72. </p>
  73. </header>
  74. <div>
  75. <p>Pour un projet avec mon <em>hacklab</em> <a href="http://hackens.org">hackEns</a>
  76. (éclairage de façades avec des LEDs de puissance, dans la même veine que
  77. <a href="http://www.youtube.com/watch?v=yRxQgc-OKFg">AllColorsAreBeautiful</a> du
  78. <span class="caps">CCC</span>, voir <a href="http://hackens.org/projets/ledhill">cette page</a> pour plus
  79. d&#8217;infos), on a eu besoin de graver 30 <em>bootloaders</em> sur des ATmega8. On
  80. n&#8217;a pas de programmateur et on le fait donc avec des Arduinos. Comme
  81. toujours, il nous a fallu 2h de debug avant de graver le premier&nbsp;:)
  82. (mais cette fois, ça a été rentable avec 30 <em>bootloaders</em> gravés d&#8217;un
  83. coup&nbsp;!).</p>
  84. <p>Du coup, je fais une petite compil&#8217; des liens qui marchent et des trucs
  85. importants à vérifier pour ne pas perdre deux heures (les messages
  86. d&#8217;erreur du soft Arduino étant <em>tellement</em> explicites&#8230; et il y a 10
  87. méthodes différentes, chacune aboutissant à une erreur différente sur le&nbsp;net).</p>
  88. <p>Tout d&#8217;abord, un bon lien qui marche bien&nbsp;:
  89. <a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard">ArduinoToBreadboard</a>
  90. dans la doc Arduino. Les montages sont clairs et ont été testé par
  91. moi-même ces derniers jours&nbsp;:).</p>
  92. <h2>Gravure de <em>bootloader</em></h2>
  93. <p><a href="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png"><img alt="Montage pour graver le
  94. bootloader" src="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png"></a>
  95. <a href="https://phyks.me/images/2013/12/burn.jpg"><img alt="Montage pour graver le bootloader, in
  96. situ" src="https://phyks.me/images/2013/12/burn.jpg"></a></p>
  97. <h2>Envoi de&nbsp;programmes</h2>
  98. <p><a href="https://phyks.me/images/2013/12/upload.jpg"><img alt="Montage pour
  99. l'upload" src="https://phyks.me/images/2013/12/upload.jpg"></a>
  100. <a href="https://phyks.me/images/2013/12/upload2.jpg"><img alt="Montage pour
  101. l'upload" src="https://phyks.me/images/2013/12/upload2.jpg"></a></p>
  102. <h2>Notes&nbsp;diverses</h2>
  103. <ul>
  104. <li>Testé avec un Arduino Uno comme programmateur, sans capacités ni
  105. résistances sur les pins de <em>reset</em>. Et ça fonctionne&nbsp;! Par contre,
  106. on a eu des problèmes avec un Arduino Mega, donc on est resté sur
  107. l&#8217;Uno (sans chercher plus, sûrement un problème de <em>reset</em>&nbsp;automatique).</li>
  108. <li>Si ça ne marche pas, vérifier que l&#8217;ATmega est bien enfoncé dans la
  109. <em>breadboard</em>&nbsp;! C&#8217;est stupide, mais on oublie une fois sur deux&#8230;&nbsp;:)</li>
  110. <li>Hyper important&nbsp;! Sur le montage pour graver le <em>bootloader</em>, la
  111. résistance au <em>reset</em> est en <em>pull-up</em> (connectée au 5V) et non en
  112. <em>pull-down</em> (connectée au <span class="caps">GND</span>). J&#8217;ai perdu 1h&nbsp;là-dessus&#8230;</li>
  113. <li>Testé et approuvé avec la dernière version du soft Arduino et du
  114. <em>sketch</em> ArduinoISP. Pas besoin d&#8217;une vieille version a&nbsp;priori.</li>
  115. <li>Si ça ne marche toujours pas, bien vérifier le montage, encore et
  116. encore&nbsp;:)</li>
  117. <li>Mieux vaut utiliser le soft Arduino que la ligne de commande avec
  118. avrdude. En effet, Arduino gère tout seul les <em>fuse bits</em>
  119. (utilisation d&#8217;un cristal externe, temps de démarrage, protection du
  120. <em>bootloader</em>) et c&#8217;est donc moins prise de tête. Sinon, pour les
  121. calculer, c&#8217;est <a href="http://www.engbedded.com/fusecalc/">par ici</a> et
  122. <a href="http://treehouseprojects.ca/fusebits/">par ici</a> pour plus d&#8217;infos
  123. sur l&#8217;utilisation d&#8217;un quartz&nbsp;externe.</li>
  124. <li>Lorsque le <em>bootloader</em> est gravé, pour envoyer des programmes
  125. facilement, il faut qu&#8217;il puisse <em>reset</em> sur serial (sinon, il faut
  126. faire un <em>reset</em> manuel à chaque fois). Pour ça, il faut mettre une
  127. capacité et une résistance sur le pin de <em>reset</em> (cf schematics des&nbsp;Arduino).</li>
  128. </ul>
  129. </div>
  130. <div class="tag-cloud">
  131. <p>
  132. </p>
  133. </div>
  134. <div class="addthis_relatedposts_inline">
  135. </article>
  136. <footer>
  137. <p>
  138. &copy; 2017 - This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>
  139. </p>
  140. <p>Powered by <a href="http://getpelican.com" target="_blank">Pelican</a> - <a href="https://github.com/alexandrevicenzi/flex" target="_blank">Flex</a> theme by <a href="http://alexandrevicenzi.com" target="_blank">Alexandre Vicenzi</a></p><p>
  141. <a rel="license"
  142. href="http://creativecommons.org/licenses/by-nc-sa/4.0/"
  143. target="_blank">
  144. <img alt="Creative Commons License"
  145. title="Creative Commons License"
  146. style="border-width:0"
  147. src="https://phyks.me/theme/img/cc/by-nc-sa.png"
  148. width="80"
  149. height="15"/>
  150. </a>
  151. </p> </footer>
  152. </main>
  153. <script type="application/ld+json">
  154. {
  155. "@context" : "http://schema.org",
  156. "@type" : "Blog",
  157. "name": " Phyks' blog ",
  158. "url" : "https://phyks.me",
  159. "image": "/images/profile.png",
  160. "description": "I write about dev, FOSS, DIY and more, in French and English."
  161. }
  162. </script>
  163. </body>
  164. </html>