tag:blogger.com,1999:blog-89016476544254830962024-03-28T16:51:26.361-07:00窓際工房 | RTOSと組み込みLinuxやソフトウェアの技術系ブログ窓際プログラマーの備忘録。RTOS(μITRON、TOPPERSなど)と組み込みLinuxやソフトウェアの話題を中心とした技術系ブログ。マイナーなマイコン用のカーネルの公開とその解説など。Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.comBlogger92125tag:blogger.com,1999:blog-8901647654425483096.post-81087612092839314882024-03-17T07:08:00.000-07:002024-03-21T20:08:21.449-07:00超ハイエンド・ノートブック! PowerBook 180c<p>Apple社のノートパソコン「<a href="https://en.wikipedia.org/wiki/PowerBook_180#PowerBook_180c" target="_blank">PowerBook 180c</a>」です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5q6M6_R3JOlAWH5Y0QnpvWtuxTO12DRbAxXvMJj3OQE3C15eRbGjoHb-zPM-ULo5_ylOMw3iesZsUI6N7tSYwBRuOF4EZaWt5zpTWgcXU_xO-OoJ4TVm7jcvdeHxRJuMfnXzBnN1zk-xly5ygeSTwnn-DDTWmXywC93pdZgEtoii7sYuZLdbsss38vd2g/s960/DSC_0832.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5q6M6_R3JOlAWH5Y0QnpvWtuxTO12DRbAxXvMJj3OQE3C15eRbGjoHb-zPM-ULo5_ylOMw3iesZsUI6N7tSYwBRuOF4EZaWt5zpTWgcXU_xO-OoJ4TVm7jcvdeHxRJuMfnXzBnN1zk-xly5ygeSTwnn-DDTWmXywC93pdZgEtoii7sYuZLdbsss38vd2g/w400-h300/DSC_0832.JPG" width="400" /></a></div><p><br /></p><p>発売は1993年6月頃とのことですから、今から約30年以上も前の機種になります。</p><p><a href="https://www.madogiwakoubou.com/2023/01/ibmpowerbook-2400c.html">以前ご紹介した「PowerBook 2400c」 </a>の発売が1997年ですから、それよりも更に古いモデルです。</p><p>TFTカラー液晶を初めて搭載したMacであり、CPUは33MHzのMC68030と当時最強の処理スピードを持っていたということもあり、<span style="color: #fcff01;">定価は実に100万円近く</span>したそうです。</p><p>(33MHzのCPUで最強ってあ~た…今の感覚で言えば、<span style="color: #fcff01;">昆虫?</span>)</p><p>当時でも大変な高級機種であり、手にするのはデザインや印刷業界のプロフェッショナルが中心で、一般人にとっては高嶺の花だったそうです。</p><p>さっきから「<span style="color: #fcff01;">~だそうです</span>」って伝聞形式なのは、理由があります。</p><p>当時学生だった私がこんなもん新品で買えるわけがありません。</p><p>これは、昨年まで在籍していた前職で、やはり転職していってしまった先輩より受け継いだものなのです。</p><p>この先輩からは、アセンブラを教わりました。</p><p>今にして思えば、恩人、その後の私のキャリアを決定付けたキーマンですね。</p><p>かなり昔の話、確か2005年くらいだったと思います。</p><p>先輩はこの威風堂々たる「PowerBook 180c」本体と、巨大なACアダプタを持って私のデスクまでやってきて「<span style="color: #fcff01;">これいる?</span>」って。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrkuRBPV09XK7YEvR-rAf0Iwz4LSJtM_NKSM4LVq2QvJUPvHGIEwD9zmIfL2fhI5XbpOLg93kgBeW-1_4wTGJ4R-JAHVtwbz5V0LxXiqz4TlixGPO_KYyUk3wp__ksNTKK0FdjqHWq6kCwzIoncJ1A9fWpebJ_gWhXW7Vuw6Iyha07Cp8Y_LAIQQ0jdBSU/s960/DSC_0820.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrkuRBPV09XK7YEvR-rAf0Iwz4LSJtM_NKSM4LVq2QvJUPvHGIEwD9zmIfL2fhI5XbpOLg93kgBeW-1_4wTGJ4R-JAHVtwbz5V0LxXiqz4TlixGPO_KYyUk3wp__ksNTKK0FdjqHWq6kCwzIoncJ1A9fWpebJ_gWhXW7Vuw6Iyha07Cp8Y_LAIQQ0jdBSU/w400-h300/DSC_0820.JPG" width="400" /></a></div><p><br /></p><p>だから、有無も言わさず「<span style="color: #fcff01;">ください!</span>」と言いました。</p><p>多分先輩は、当時社内では珍しかったMacユーザーの私を覚えていてくれたのでしょう。</p><p>(因みに、当時は仕事で「iBook」というモデルを使ってたっけ?)</p><p>しかしながら、譲り受けた時点でも相当な骨董品。</p><p>ですので、私もこの「PowerBook 180c」について何も知らなかったのです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJ0tkPwiZenUNVdIe15WG5Gg0GB4VJkxVUMnmWPZQg75LLx4wVdZJCKfEJCa1SCglYR5sr4FtaOLlN6T9MGCup5JD0P66sJhv83_JVGH_T2A0_mA-D4Wzlpgf4mvcp8h3e_1nL6FENcg5zq986mmwrR1IVq-8TZS7IEn59fhgvfipfPnlEiqUyFlJW_mc/s960/DSC_0836.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 3" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJ0tkPwiZenUNVdIe15WG5Gg0GB4VJkxVUMnmWPZQg75LLx4wVdZJCKfEJCa1SCglYR5sr4FtaOLlN6T9MGCup5JD0P66sJhv83_JVGH_T2A0_mA-D4Wzlpgf4mvcp8h3e_1nL6FENcg5zq986mmwrR1IVq-8TZS7IEn59fhgvfipfPnlEiqUyFlJW_mc/w400-h300/DSC_0836.JPG" width="400" /></a></div><p><br /></p><p>筐体は、13.3インチの「MacBook Air」と比較して、上から見れば面積はそれなりにコンパクトと言えなくもないのですが…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw1LLMvE8E7xO3n6e0j_mXlv89bz7gnKn2jaG31R4OZr6ozc7C_9uPL7DZx9SoD9PUmPkEfhhxoJGSymygjkFYtP0hlJ_U1WKjKOWRWWk6GAIQAz0Nsbi_SN9K0_6Lg2ph6j7FM-W9Abq1_Zx03IcNzy20p548Hku5PNeXoSIp5QFeDKO_gtRMsBSLdAsl/s960/DSC_0821.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 4" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw1LLMvE8E7xO3n6e0j_mXlv89bz7gnKn2jaG31R4OZr6ozc7C_9uPL7DZx9SoD9PUmPkEfhhxoJGSymygjkFYtP0hlJ_U1WKjKOWRWWk6GAIQAz0Nsbi_SN9K0_6Lg2ph6j7FM-W9Abq1_Zx03IcNzy20p548Hku5PNeXoSIp5QFeDKO_gtRMsBSLdAsl/w400-h300/DSC_0821.JPG" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">すごく分厚いです。</span></p><p>何倍の厚みだコレ?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWMxx84nJyfUr1XTmKsAiHXNVRBRBH8kFU9EQ7iUBePToSvsW2ANE8IHbLW2ggpUKzLpVnEuWOtbPZXazXxV-Tu1nUOE9RCe81zZdrZEWoElJVkNLi7tnnxG56zi3b7qkZml7fUXz9bv5OU4hC61pw5N1Ud9QwSro_UukBA35f4jgCFBeiRYqPN-AKgfi/s960/DSC_0839.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 5" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWMxx84nJyfUr1XTmKsAiHXNVRBRBH8kFU9EQ7iUBePToSvsW2ANE8IHbLW2ggpUKzLpVnEuWOtbPZXazXxV-Tu1nUOE9RCe81zZdrZEWoElJVkNLi7tnnxG56zi3b7qkZml7fUXz9bv5OU4hC61pw5N1Ud9QwSro_UukBA35f4jgCFBeiRYqPN-AKgfi/w400-h300/DSC_0839.JPG" width="400" /></a></div><p><br /></p><p>しかし、その分上質なキーボードとトラックボールを備えています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjd-qOSGid6Uoi6yG5-7VMx2KCsA1-8jmRioFyuN-CWDD4JzyvOXEVx-J9h1lnO3AU1yCxEKI7TXo7JMun3Zl9X4suzNBovZhcxO2MkgSsuY6USVddnWtD1eRrXcfgyYHFpjSuLwhPLji0DpXN7xJuHPqV_q64WaoDMKGaY9nXpffbFNEIW8YSq-5StH5u/s960/DSC_0825.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 6" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjd-qOSGid6Uoi6yG5-7VMx2KCsA1-8jmRioFyuN-CWDD4JzyvOXEVx-J9h1lnO3AU1yCxEKI7TXo7JMun3Zl9X4suzNBovZhcxO2MkgSsuY6USVddnWtD1eRrXcfgyYHFpjSuLwhPLji0DpXN7xJuHPqV_q64WaoDMKGaY9nXpffbFNEIW8YSq-5StH5u/w400-h300/DSC_0825.JPG" width="400" /></a></div><p><br /></p><p>背面のインターフェイスも同時期のデスクトップのMacに劣らず充実しています。</p><p>(カバーがあったのですが、加水分解により樹脂が脆くなったので撤去…。)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgazzvkw6gXZkf_SWYkNmwuqpWw1swruPimwIjYhIFaCEe6f7hUruw0S8cXV5BeiF6JiXuz6b7hjweksVH_h1cJnsHgXq7RKiRoAp9rfRRSZsd0z7Z07X_2xxv_j_NP8aooUL9vwoTK5wb1NERpyHu2W_8OkWXbZe5Abgip5Y9zA59dney21h22vBLg1d6a/s960/DSC_0823.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 6" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgazzvkw6gXZkf_SWYkNmwuqpWw1swruPimwIjYhIFaCEe6f7hUruw0S8cXV5BeiF6JiXuz6b7hjweksVH_h1cJnsHgXq7RKiRoAp9rfRRSZsd0z7Z07X_2xxv_j_NP8aooUL9vwoTK5wb1NERpyHu2W_8OkWXbZe5Abgip5Y9zA59dney21h22vBLg1d6a/w400-h300/DSC_0823.JPG" width="400" /></a></div><p><br /></p><p>右の側面には、フロッピーディスクドライブも完備です。</p><p>未だにちゃんと動作します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqaDO17MlMvwgpy_2FMU4MSGrfc_56rNwZvFWaL4SBLkaAuXsRrPeeER1_I50PWTiqky2RcI9jpTEsaPVCbjeRsIZc3ej1yahAkMYYX1YF5wT5W9sD3Zfoj0qF65oyXEGZ0hqKlklTXC8TVFOylt3iJYzxDUl5l9nkXHyep84GyeWGUuUydf0wXdvbUPAf/s960/DSC_0824.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 7" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqaDO17MlMvwgpy_2FMU4MSGrfc_56rNwZvFWaL4SBLkaAuXsRrPeeER1_I50PWTiqky2RcI9jpTEsaPVCbjeRsIZc3ej1yahAkMYYX1YF5wT5W9sD3Zfoj0qF65oyXEGZ0hqKlklTXC8TVFOylt3iJYzxDUl5l9nkXHyep84GyeWGUuUydf0wXdvbUPAf/w400-h300/DSC_0824.JPG" width="400" /></a></div><p><br /></p><p>それにしても、画面のフチが広いですね~。</p><p>液晶のサイズは8.4インチに過ぎません。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxBuEr2HEohlNhJ9IE8EYGyhax4UDUYHcdYBXsT97tVgkKSQEbKC09kZPnydL2FBEZO3Nrwcp1wnL-48sHBJa6r3w3yUNKiLfGaXeL4gi8iIHCl1hHIaJbqsQPKEQ6d0LMQ9l6VbS9ReAxG_OGotIw3NSIVyxVBzsBAtaRg-2J1xs8t0fK1i7p-_4JTIVQ/s960/DSC_0837.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 8" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxBuEr2HEohlNhJ9IE8EYGyhax4UDUYHcdYBXsT97tVgkKSQEbKC09kZPnydL2FBEZO3Nrwcp1wnL-48sHBJa6r3w3yUNKiLfGaXeL4gi8iIHCl1hHIaJbqsQPKEQ6d0LMQ9l6VbS9ReAxG_OGotIw3NSIVyxVBzsBAtaRg-2J1xs8t0fK1i7p-_4JTIVQ/w400-h300/DSC_0837.JPG" width="400" /></a></div><p><br /></p><p>さて、譲り受けた「PowerBook 180c」は、仕事でバリバリ使われていたわりには、ご覧の通りかなり綺麗な状態でした。</p><p><span style="color: #fcff01;">きっと、大切に使われていたんだろうな…。</span></p><p>ただし、トラックボールが動かなかったり、システムが不安定で時折ハードディスクから異音も発生していました。</p><p>しかし、電源回路や液晶は良い状態でした。</p><p>まず、トラックボールについては、デジトラの故障(水でも入ったかな?)が判明し、これを交換することで修理できました。</p><p>問題は、不安定なシステムです。</p><p>ハードディスクを交換してOSをクリーンインストールするのが手っ取り早いと判断し、分解しました。</p><p>しかし、開けてビックリ!</p><p>2.5インチサイズのハードディスクなのですが、インターフェイスが譲り受けた当時の主流だった<a href="https://ja.wikipedia.org/wiki/IDE" target="_blank">IDE</a>ではなく、<a href="https://ja.wikipedia.org/wiki/Small_Computer_System_Interface" target="_blank">SCSI</a>だったのです。</p><p>SCSIのハードディスク、当時でも買えないことはなかったのですが、主にサーバー用途向けであり、極めて高価でした。</p><p>さ~て困った。</p><p>ネットで安価なSCSIのハードディスクを探す日々が続きます。</p><p>すると、気になるキーワードを見つけました。</p><p><span style="color: #fcff01;">「コンパクトフラッシュを起動ディスクに!」</span></p><p>つまり、SCSIのハードディスクを模したような基板にコンパクトフラッシュを挿入すると、それをハードディスクとして使えますよ~という製品です。</p><p>これは「<a href="https://www.artmix.com/j_home.html" target="_blank">ARTMIX.COM</a>」さんの製品で、なんと!今調べたら<a href="https://www.artmix.com/CF_powermon_II.html" target="_blank">製品ページ</a>が残っていました!</p><p>今は、コンパクトフラッシュではなくて、SDカードで同じことを実現できるようです。</p><p>極めてニッチな製品ですが、根強い需要があるのでしょうね。</p><p>(因みに、この時の経験が後の「PowerBook 2400c」レストアに活かされました。)</p><p><span style="color: #fcff01;">これだぁ~!</span></p><p>…ということで、早速購入しました。</p><p>OSは、この「PowerBook 180c」で使用できる最後のバージョンということで、<a href="https://ja.wikipedia.org/wiki/%E6%BC%A2%E5%AD%97Talk" target="_blank">漢字Talk</a>の最終バージョン「7.5.5」よりも更に新しい「System 7.6.1」をコンパクトフラッシュにクリーンインストールしました。</p><p>HDからSSDに換装したようなものです。</p><p>起動もかなり早くなり、クリーンインストールによってシステムも安定しました。</p><p>…といっても、MacOSX以前のMacOSの安定性なんてタカが知れてますけどねw</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZH_lpEzakATUVv96PsoowrEaunKEu6ZwjxK4ASxF8p85DvPZo2mfBPVHK1Y5JvXdklocM0rNWeYufl8_t8JYyog14zfkUHp7IkPiy_oawrvDIlJbwx-lWvp2OvAdwk6e3QNLWsj3swllyjrK1nsyp7a6nNkO7fG8UigDZuoY3IBNXCdkXTdfBIEqXieJp/s960/DSC_0831.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 9" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZH_lpEzakATUVv96PsoowrEaunKEu6ZwjxK4ASxF8p85DvPZo2mfBPVHK1Y5JvXdklocM0rNWeYufl8_t8JYyog14zfkUHp7IkPiy_oawrvDIlJbwx-lWvp2OvAdwk6e3QNLWsj3swllyjrK1nsyp7a6nNkO7fG8UigDZuoY3IBNXCdkXTdfBIEqXieJp/w400-h300/DSC_0831.JPG" width="400" /></a></div><p><br /></p><p>こうして、レストアは完了。</p><p>しかし、すでにその時点から見ても古すぎるシステム。</p><p>アプリケーションも色々入れてはありますが、もはや実用的なものはありません。</p><p>ブラウザやメーラーもありますが、満足に表示できるページも受け取れるメッセージもなく…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCUB-ssN8fB7MdRSkWMttsSQwWtdp-KTY2l2FeGRs_nX0JaaqT_afplyZQeR8T227ZcG540yJmGHoioDlfRiBiqn1_M38vnCl1_hvPxXzn-dDaN9yC1y9y59vMzcTUo6F4BQ0FSzIoh146B_Ac_QMveZ9w8lt4sDVohAF8j4AfLDauEsjCIvEFTGuxVrdC/s960/DSC_0830.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 10" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCUB-ssN8fB7MdRSkWMttsSQwWtdp-KTY2l2FeGRs_nX0JaaqT_afplyZQeR8T227ZcG540yJmGHoioDlfRiBiqn1_M38vnCl1_hvPxXzn-dDaN9yC1y9y59vMzcTUo6F4BQ0FSzIoh146B_Ac_QMveZ9w8lt4sDVohAF8j4AfLDauEsjCIvEFTGuxVrdC/w400-h300/DSC_0830.JPG" width="400" /></a></div><p><br /></p><p>これといって使用用途はなく、ここ十数年に渡って、たまに<span style="color: #fcff01;">インテリアの一部</span>として起動させておくにとどまりました。</p><p>でも起動させておくと、分かる人は必ず足を止めてくれるんですよね。</p><p>一方で、パソコンなどに興味がない方から見れば、手間と時間とお金をかけて使えない道具を修理して維持することは、バカバカしく思えるかもしれません。</p><p>自分でも、バカだなぁ~とは思います。</p><p><br /></p><p><span style="color: #fcff01;">しかし、しかしですよ~!?</span></p><p><br /></p><p><span style="color: #01ffff;">まずもって、起動させておくだけで人を魅了するようなパソコンが、この世にどれだけ存在するでしょうか?</span></p><p><span style="color: #01ffff;">もはや、Macはパソコンではなく芸術作品なのです!</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44QOTJLEKtYGhC0Q3n5j35LK4W-dEJbJ3iH1DKVxp4EniHWn33jRrnwtIi7up7yctIJaCEOe2-6VtZuecdP6AC5CPIpnoP5cOScpiSY_HEOlPL_TBzzcUKZd_UbQjedP6z1rfjttarH7YrpT1wBnTZU_j0ba2J4fkSyXcGLcQosdVbr0s89-jOhM6ExXu/s960/DSC_0827.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 11" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44QOTJLEKtYGhC0Q3n5j35LK4W-dEJbJ3iH1DKVxp4EniHWn33jRrnwtIi7up7yctIJaCEOe2-6VtZuecdP6AC5CPIpnoP5cOScpiSY_HEOlPL_TBzzcUKZd_UbQjedP6z1rfjttarH7YrpT1wBnTZU_j0ba2J4fkSyXcGLcQosdVbr0s89-jOhM6ExXu/w400-h300/DSC_0827.JPG" width="400" /></a></div><p><br /></p><p><span style="color: #01ffff;">さらに、この時代の完動品のMacが次々と減っていく中で、私はそれを運良く所持できた幸運な者です。</span></p><p><span style="color: #01ffff;">この文化遺産の動態保存、維持に努めることは、もはや私に課せられた使命であると言っても過言ではない!</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghUOlIrv4hUqGtkoDPptXy_AtfDFhtGLBBs6HsAtH4vuaPLNjNRs5bguFw34fl8C6XT1g7RWcDE0XByIeo4VuCRysWsotSkkfqLtvUiSLTveq_Lldb-xK08c0gIv7miykJ1uUJq41kMtX8dPiph86MxNovt49utsEtQLjFiQsLOYWCQLFcrEuAGDhmLmjr/s960/DSC_0834.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 12" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghUOlIrv4hUqGtkoDPptXy_AtfDFhtGLBBs6HsAtH4vuaPLNjNRs5bguFw34fl8C6XT1g7RWcDE0XByIeo4VuCRysWsotSkkfqLtvUiSLTveq_Lldb-xK08c0gIv7miykJ1uUJq41kMtX8dPiph86MxNovt49utsEtQLjFiQsLOYWCQLFcrEuAGDhmLmjr/w400-h300/DSC_0834.JPG" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">…ハァ、ハァ…。</span></p><p><span style="color: #fcff01;">ちょっと興奮してしまいましたね、すいません。</span></p><p><br /></p><p>まあ、Mac信者などという言葉があるように、この時代のMacには単なる工業製品にとどまらない魅力的な何かがあったのでしょう。</p><p>それは、フェラーリやポルシェなどのクルマの世界に近いものかもしれません。</p><p>今のパソコン(現行のMacも含めて!)で、そのような魅力を持つ製品はありません。</p><p>パソコンが憧れのマシーンだった時代から、文房具などと同様の身近な道具に変化した時代の流れの残光、それがこのPowerBookシリーズだったのかもしれませんね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirMzG0wvMl5yaIEmPoT4leP4_iSqtiZ8UodxgmpwQzOVZAob6fhgB0RIS-aAlOaZZ2rR-d1UfGw8GrBEM2pR8et1Ij-gz1LtiVX-bloOrIsn0Dt_dhzBK8EBzwQyKbvspVKXoO8FpgjFQ4pdOq60QviZAUzuep3K6FvtnI4oZRYOaUuzI-lWqh9nLxx5OZ/s960/DSC_0833.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 13" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirMzG0wvMl5yaIEmPoT4leP4_iSqtiZ8UodxgmpwQzOVZAob6fhgB0RIS-aAlOaZZ2rR-d1UfGw8GrBEM2pR8et1Ij-gz1LtiVX-bloOrIsn0Dt_dhzBK8EBzwQyKbvspVKXoO8FpgjFQ4pdOq60QviZAUzuep3K6FvtnI4oZRYOaUuzI-lWqh9nLxx5OZ/w400-h300/DSC_0833.JPG" width="400" /></a></div><p><br /></p><p>以前ご紹介した「PowerBook 2400c」と共に、こちらも可能な限り維持していきたいと思います。</p><p>これを譲ってくれた先輩も、まさか自分の「PowerBook 180c」が今でも動いていて、今の時を刻んでいるとは思っていないだろうなぁ~。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY0yeIvW-kLkiih1GCZk7OvILGNK095qZh5IYkHqzarfSi-kxPoKN_fCE2-1RWphzior6H9_lVIsOUzTGAhhZxN6i0jsuFkR69stT36eP1En4XF4Vv_5tjvv1QE9IziPrhIDm1Ps-24Z_O8mryBU-LAzbRWDrGs6WLOGOec9gCkJUyhMF9BJjefQ8k6vQd/s960/DSC_0835.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「PowerBook 180c」 - 14" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY0yeIvW-kLkiih1GCZk7OvILGNK095qZh5IYkHqzarfSi-kxPoKN_fCE2-1RWphzior6H9_lVIsOUzTGAhhZxN6i0jsuFkR69stT36eP1En4XF4Vv_5tjvv1QE9IziPrhIDm1Ps-24Z_O8mryBU-LAzbRWDrGs6WLOGOec9gCkJUyhMF9BJjefQ8k6vQd/w400-h300/DSC_0835.JPG" width="400" /></a></div><p><br /></p><p>先輩、元気だと嬉しいなぁ…。</p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-6527468927803554712024-03-03T06:34:00.000-08:002024-03-19T16:30:47.214-07:00「pcDuino3」でYocto Project その8<p><a href="https://www.madogiwakoubou.com/2024/02/pcduino3yocto-project.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>実用的なディストリビューションの作成</u></h2><p>前回までで「pcDuino3」で動くディストリビューションを作成することができるようになりました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcY4rN2U5aAVSuJFg-eM82M7h668ukN3IUQaQvPh3qRwkB5gIfb8XcrK5Wdr_77c0i3gOqmhD4zWESWBZMSlJVohZHkOLziqMz_SeZFlsHO-mm-2QAd8-Odzz0L1kDjIPh04utUljG_2E0ACxJ8UbSRVpKlooUh808seY2qXwDzUOlaFf9lUs_ohHVb9RC/s960/DSC_0771.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「pcDuino3」" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcY4rN2U5aAVSuJFg-eM82M7h668ukN3IUQaQvPh3qRwkB5gIfb8XcrK5Wdr_77c0i3gOqmhD4zWESWBZMSlJVohZHkOLziqMz_SeZFlsHO-mm-2QAd8-Odzz0L1kDjIPh04utUljG_2E0ACxJ8UbSRVpKlooUh808seY2qXwDzUOlaFf9lUs_ohHVb9RC/w400-h300/DSC_0771.JPG" width="400" /></a></div><p><br /></p><p>しかし、このディストリビューションは「Yocto Project」で最初から用意されているディストリビューション・タイプの中でも「core-image-minimal」という最小限のもの。</p><p><span style="color: #fcff01;">クックック…、ヤツは我らYoctoディストリビューションの中でも最弱…。</span></p><p>そのままでは、実用性がありません。</p><p>そこで今回は、この「core-image-minimal」をベースに代表的なJavaScriptの実行環境の一つ「<a href="https://ja.wikipedia.org/wiki/Node.js" target="_blank">Node.js</a>」を使えるように改造したいと思います。</p><p>「Node.js」で何か凝ったものを開発しようと思えば、JavaScriptのパッケージ管理ツールの「<a href="https://ja.wikipedia.org/wiki/Npm_(%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E7%AE%A1%E7%90%86%E3%83%84%E3%83%BC%E3%83%AB)" target="_blank">NPM</a>」も必要です。</p><p>また、ソースコードを管理するためには「<a href="https://ja.wikipedia.org/wiki/Git" target="_blank">Git</a>」コマンドも使いたいものですよね。</p><p>さらには「core-image-minimal」にはロクなGUIを積んでいませんので「pcDuino3」側でコーディング作業を行うのは困難です。</p><p>ですので、パソコン側から「pcDuino3」を操作したいので「<a href="https://ja.wikipedia.org/wiki/OpenSSH" target="_blank">OpenSSH</a>」というプロトコルも載せちゃいましょう。</p><p>この「OpenSSH」を「pcDuino3」に積んでおけば、パソコン側で「<a href="https://ja.wikipedia.org/wiki/Visual_Studio_Code" target="_blank">VisualStudio Code</a>」などのリッチなIDE(統合開発環境)を使って「Node.js」による開発を行えるようになりますよ。</p><p>というわけで、現在の「core-image-minimal」に加えるパッケージは、以下の4つとなります。</p><p><br /></p><p><span style="color: #01ffff;">◯nodejs</span></p><p><span style="color: #01ffff;">◯nodejs-npm</span></p><p><span style="color: #01ffff;">◯openssh</span></p><p><span style="color: #01ffff;">◯git</span></p><div><br /></div><p>問題は、これらをどうやってディストリビューションに組み込むか、ということですが…。</p><p>それには、前回「pcDuino3」用のディストリビューションを作るために、ほんのチョットだけ修正した「local.conf」ファイルを編集することによって行います。</p><p>「local.conf」ファイルの開き方は、<a href="https://www.madogiwakoubou.com/2024/02/pcduino3yocto-project.html#update">前回の記事</a>を参考にしてください。</p><p>以下のように「local.conf」の末尾に<span style="color: red;">呪文</span>を追記しましょう。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">#</li>
<li style="background-color: #111188;"># Memory Resident Bitbake</li>
<li style="background-color: #111166;">#</li>
<li style="background-color: #111188;"># Bitbake's server component can stay in memory after the UI for the current command</li>
<li style="background-color: #111166;"># has completed. This means subsequent commands can run faster since there is no need</li>
<li style="background-color: #111188;"># for bitbake to reload cache files and so on. Number is in seconds, after which the</li>
<li style="background-color: #111166;"># server will shut down.</li>
<li style="background-color: #111188;">#</li>
<li style="background-color: #111166;">#BB_SERVER_TIMEOUT = "60"</li>
<li style="background-color: #111188;"></li>
<li style="background-color: #111166;"># CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to</li>
<li style="background-color: #111188;"># track the version of this file when it was generated. This can safely be ignored if</li>
<li style="background-color: #111166;"># this doesn't mean anything to you.</li>
<li style="background-color: #111188;">CONF_VERSION = "2"</li>
<li style="background-color: #111166;"></li>
<li style="background-color: #111188;"># ↓以下を追記↓</li>
<li style="background-color: #111166;"></li>
<li style="background-color: #111188;">#</li>
<li style="background-color: #111166;"># for pcDuino3</li>
<li style="background-color: #111188;">#</li>
<li style="background-color: #111166;"><font style="color: red;">CORE_IMAGE_EXTRA_INSTALL += "nodejs nodejs-npm openssh git"</font></li>
<li style="background-color: #111188;"><br /></li></ol></code></div><p><br /></p><p>この呪文の意味、なんとなく分かりますよね?</p><p>「<span style="color: #fcff01;">CORE_IMAGE_EXTRA_INSTALL</span>」という変数にインストールしたいソフトウェアのパッケージをスペース区切りで記述して代入しています。</p><p>このように「Yocto Project」においては、作成するディストリビューションにソフトウェアやパッケージをインストールしたい場合「local.conf」などの設定ファイルに任意の変数へ追加代入することによって行います。</p><p>注意しなければならないのは、今回は「CORE_IMAGE_EXTRA_INSTALL」という変数に代入しましたが、ソフトウェアや機能によっては、別の変数を使用しなければならない場合があることです。</p><p>このような変数には、他にも「IMAGE FEATURES」や「DISTRO_FEATURES」などがありますので、インストールしたいソフトウェアや機能のドキュメントなどを事前に調査しておくことが必要です。</p><p>しかしながら、殆どの場合は「CORE_IMAGE_EXTRA_INSTALL」で大丈夫でしょう。</p><p>さて「local.conf」の追記が完了したら、<a href="https://www.madogiwakoubou.com/2024/02/pcduino3yocto-project.html#build">こちらの記事</a>を参考に再度「core-image-minimal」を「bitbake」コマンドでビルドしましょう。</p><p>今回も完了までに結構な時間がかかりますので、コマンドの実行は就寝前がオススメです。</p><p><br /></p><h2 style="text-align: left;"><u>スワップの設定</u></h2><p>朝起きて「bitbake」コマンドが無事終了していた方は幸いです。</p><p>しかし、私の場合はダメでしたぁ~。</p><p>ターミナルは以下のような<span style="color: red;">エラー表示</span>。。。</p><p><span style="color: #fcff01;">最悪の寝覚めだ…。</span></p><p>この「<span style="color: red;">ld tarminated with signal 9 [killed]</span>」というエラーメッセージ、実は一番目にする機会が多いものです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr1gTiqY02pMJcUBsTMBCk_J0SZFh7T1UyM3zgrpdLx-Qz4oy5GGG4CK2ZItFbftoNU5rs1-qVM6EQhQFEAc6n4N8pfwjQTdhz7MQdP8bEXP9A0dulNxm4pKwuePzLp7uYIkxsm3cYUAHYTC00LGRd9unvdGsYqHEjqYyphTbvXAFA-l17tgoaruuMNFXI/s786/196.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 1" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr1gTiqY02pMJcUBsTMBCk_J0SZFh7T1UyM3zgrpdLx-Qz4oy5GGG4CK2ZItFbftoNU5rs1-qVM6EQhQFEAc6n4N8pfwjQTdhz7MQdP8bEXP9A0dulNxm4pKwuePzLp7uYIkxsm3cYUAHYTC00LGRd9unvdGsYqHEjqYyphTbvXAFA-l17tgoaruuMNFXI/w400-h271/196.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">これの主な原因は、メモリ不足です。</span></p><p>ログを見ていると「nodejs」のコンパイル中にエラーが発生しています。</p><p>「nodejs」は、巨大なソフトウェアです。</p><p>「Yocto Project」がソフトウェアのソースコードをダウンロードして、それをビルドしてディストリビューションにインストールする作業を繰り返していることは、<a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project_22.html">以前の記事</a>でもご説明した通り。</p><p>それらのソフトウェアの中には、このようなコンパイルのためホスト側のパソコンに膨大なメモリを要求するソフトウェアもあります。</p><p>コンパイルを試みたものの、その過程でメモリが食い尽くされて、Linuxカーネルがたまらず「Signal 9」を発生させてプロセスを中断したことが、今回の顛末です。</p><p>では、どうするか?</p><p>ホストのパソコンにメモリを増設すれば良いのですが、お金がかかるからヤダ。</p><p>となれば、ハードディスクの余りの容量を仮想のメモリをして使用するための「スワップ」というLinuxの機能を使いましょう。</p><p>まずは、今のLinuxのスワップの状況を調べてみましょう。</p><p>ターミナルから以下のコマンドを入力します。</p><p><br /></p><p><span style="color: #01ffff;">$ free -m</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBkADNIXy99jF1d1wzZBlI1JP1_-sd43PAIxXp9IQAwKQ52fD-3jLVUF1iP6sIflRqmMABP6vjhjufbfuNLDYBlUjpRVCb4mDULGCrmkKYYZGZwUUiIHi9FxEb34CBNmsB6xo0-z-aAow1LTMibaeN9DnMvNtkYtb3EWXvlgrqvMX0n0Dlc5zph_v65S3l/s786/197.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 2" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBkADNIXy99jF1d1wzZBlI1JP1_-sd43PAIxXp9IQAwKQ52fD-3jLVUF1iP6sIflRqmMABP6vjhjufbfuNLDYBlUjpRVCb4mDULGCrmkKYYZGZwUUiIHi9FxEb34CBNmsB6xo0-z-aAow1LTMibaeN9DnMvNtkYtb3EWXvlgrqvMX0n0Dlc5zph_v65S3l/w400-h271/197.png" width="400" /></a></div><p><br /></p><p>単位はM(メガ)ですので、現在、このLinuxには「4095MB - 4GB」程度のスワップ領域が有効になっていることが分かります。</p><p>本来のメモリ16GBに加えて、スワップも4GBですよ!?</p><p>そんなにあっても足らない?</p><p><span style="color: #fcff01;">「Node.js」恐ろしい子…。</span></p><p>では、この容量を増やしてやりましょう。</p><p>まずは、現在のスワップ機能をオフにする必要があります。</p><p>以下のコマンドを実行します。</p><p><br /></p><p><span style="color: #01ffff;">$ sudo swapoff /swapfile</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi42YLkNTzPKurOIg2qi6S2jbRQ3gqls-_LoPUdTB7biwysC7lCsy_p4J-s35dbb-2WZNtv1xNUvqN-VhrxC4ruxm2peKXrgCmy2Mwvmut92jtI1MpjBfMUh2mR6Y602JUHzyvRvgpq9U0DOxkRvZ4AQ9FbT-oYnHkuaN7vo5MCpkBrSkl2Ctxl1Zw6bPmm/s786/198.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 3" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi42YLkNTzPKurOIg2qi6S2jbRQ3gqls-_LoPUdTB7biwysC7lCsy_p4J-s35dbb-2WZNtv1xNUvqN-VhrxC4ruxm2peKXrgCmy2Mwvmut92jtI1MpjBfMUh2mR6Y602JUHzyvRvgpq9U0DOxkRvZ4AQ9FbT-oYnHkuaN7vo5MCpkBrSkl2Ctxl1Zw6bPmm/w400-h271/198.png" width="400" /></a></div><br /><p>次にスワップ領域を拡張しましょう。</p><p>どの程度に拡張するかが問題です、</p><p>多いほど良さそうな感じがしますが、一般に多すぎても意味がないという説もあります。</p><p>今回は、本来のメモリと同じ容量である16GBに拡張します。</p><p>足りなくて再度ビルドに失敗するようであれば、またトライすれば良いし…。</p><p>(やたら時間がかかるので、失敗すると凹むけど!)</p><p>以下のコマンドでスワップ領域の予約を行います。</p><div><div><br /></div><div><p><span style="color: #01ffff;">$ sudo fallocate -l 16G /swapfile</span></p></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijEwWupQJTRUPcEDenMYNIUQv5x7A_Xp8MLxP6yMwjvYnCb07zBlCo4biKvkH8NgENjkyVETKigX8byjiMVSqcx4P_q7pWRg2MDQbgGzlMjtuFzJa3zoYW0AARsKtD4t5zg_iQLARlxc2ybrp1EI8XPraxKHL5KhWBxN9sZ7Zvj_krP-jDJBQMOfnOcs_q/s786/199.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 4" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijEwWupQJTRUPcEDenMYNIUQv5x7A_Xp8MLxP6yMwjvYnCb07zBlCo4biKvkH8NgENjkyVETKigX8byjiMVSqcx4P_q7pWRg2MDQbgGzlMjtuFzJa3zoYW0AARsKtD4t5zg_iQLARlxc2ybrp1EI8XPraxKHL5KhWBxN9sZ7Zvj_krP-jDJBQMOfnOcs_q/w400-h271/199.png" width="400" /></a></div><div><br /><p>スワップ領域の実態は、ルートディレクトリに配置されている「swapfile」というファイルです。</p><p>以下のコマンドでパーミッションを設定しておきます。</p><p><br /></p><p><span style="color: #01ffff;">$ sudo chmod 600 /swapfile</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg96KCrrT4bGNzdG9naNDzZRc6CuAodW_epQSy4gykN5bXjnn17TC-MX85ZqXgoEqfzt_I9X8x-BNL1wakQRkQJNW8dXn8dUSSBz-DGzuo-gnljBAfUFOxuZMgGTjAxmWgK3PaqWzoGQp5knlU1EK-xYZFvB1_wPhdZWPfSSsTyZidVYs_-K4aTYTTYSMc8/s786/200.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 4" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg96KCrrT4bGNzdG9naNDzZRc6CuAodW_epQSy4gykN5bXjnn17TC-MX85ZqXgoEqfzt_I9X8x-BNL1wakQRkQJNW8dXn8dUSSBz-DGzuo-gnljBAfUFOxuZMgGTjAxmWgK3PaqWzoGQp5knlU1EK-xYZFvB1_wPhdZWPfSSsTyZidVYs_-K4aTYTTYSMc8/w400-h271/200.png" width="400" /></a></div><p><br /></p><p>次に、実際のスワップ領域の作成です。</p><p>以下のコマンドを実行してください。</p><p><br /></p><p><span style="color: #01ffff;">$ sudo mkswap /swapfile</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYmrjrF28dn38jtXz8RE_Lejjg0fGgLGGVBkCQoMkD4ldSFnHxKhkKp3Mx7OXNzdx4PqytMaSawztEgBYSeeJgVKCiD9in3IZGgSiWxWWhwud_olKKEKw0eFwVHbksQwO18aq-KMuYju5MpYi8jtp9EjfwJ_ELeZx92zKNFWCoPYLEloJHkulzonry36Sp/s786/201.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 5" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYmrjrF28dn38jtXz8RE_Lejjg0fGgLGGVBkCQoMkD4ldSFnHxKhkKp3Mx7OXNzdx4PqytMaSawztEgBYSeeJgVKCiD9in3IZGgSiWxWWhwud_olKKEKw0eFwVHbksQwO18aq-KMuYju5MpYi8jtp9EjfwJ_ELeZx92zKNFWCoPYLEloJHkulzonry36Sp/w400-h271/201.png" width="400" /></a></div><p><br /></p><p>スワップ領域が作成できましたので、これを有効化しましょう。</p><p>以下のコマンドです。</p><p><br /></p><p><span style="color: #01ffff;">$ sudo swapon /swapfile</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvJ_q0UC0nXbWu44sxfCdRnQqe70TXpJGm33X9mR7yB5Bt5vYzH87vVTLYBnqAFw5hVdmB7bFGO8WzLrx__iqrG_TaD5o4YfRF0wTrvKsLcXQhJS-D0CkBK0t8CDMFgJDlz-cMfXlzxptwz2nGNIfTl6jYax9o476TD55NR0PgQ4yjQOFDv-Onp7ZhYgRz/s786/202.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 6" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvJ_q0UC0nXbWu44sxfCdRnQqe70TXpJGm33X9mR7yB5Bt5vYzH87vVTLYBnqAFw5hVdmB7bFGO8WzLrx__iqrG_TaD5o4YfRF0wTrvKsLcXQhJS-D0CkBK0t8CDMFgJDlz-cMfXlzxptwz2nGNIfTl6jYax9o476TD55NR0PgQ4yjQOFDv-Onp7ZhYgRz/w400-h271/202.png" width="400" /></a></div><p><br /></p><p>コレで良し!!</p><p>念のため、確認だけはしておきましょうか。</p><p>うん、ちゃんと<span style="color: red;">16GB</span>に拡張できていますね!</p><p><br /></p><p><span style="color: #01ffff;">$ free -m</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9_oWKoaczgUM9MTbWSBlDRr0oeQ06_Wgm8qYpldz81Nk8QrbMvY0oEEPBe4p25DRGlpkzYHecpbVxY1Vh20bDPH4Ws_r0BrE4xevggXEgsnPbvvFwh5HB8Ee9Ld8UMKZUq1WCKETeE7KuMIeEdxv7cVVPVk1i0d7GHRvOZ0OKFlrjhxFJ5z3I0Kc-x3UZ/s786/203.png" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img alt="ターミナル - 7" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9_oWKoaczgUM9MTbWSBlDRr0oeQ06_Wgm8qYpldz81Nk8QrbMvY0oEEPBe4p25DRGlpkzYHecpbVxY1Vh20bDPH4Ws_r0BrE4xevggXEgsnPbvvFwh5HB8Ee9Ld8UMKZUq1WCKETeE7KuMIeEdxv7cVVPVk1i0d7GHRvOZ0OKFlrjhxFJ5z3I0Kc-x3UZ/w400-h271/203.png" width="400" /></span></a></div><p></p><p><br /></p><p>この状態で、<a href="https://www.madogiwakoubou.com/2024/02/pcduino3yocto-project.html#build">こちらの記事</a>を参考に再度「$ bitbake core-image-minimal」に挑戦です。</p><p>今度は、絶対に上手くいきますよ!</p><p><br /></p><h2 style="text-align: left;"><u>「OpenSSH」の検証</u></h2><p>無事に「core-image-minimal」がビルドできたら、<a href="https://www.madogiwakoubou.com/2024/02/pcduino3yocto-project.html#create">こちらの記事</a>を参考にSDカードを作成して「pcDuino3」を起動させたいところなんですが…。</p><p>その前に「pcDuino3」のネットワーク環境を考える必要があります。</p><p>「pcDuino3」にはWiFiが無くて、有線LANポートが一つしかありません。</p><p>そして、ここに繋ぐネットワークは<span style="color: #fcff01;">インターネットに接続できて、且つ、開発用のパソコンとも接続できなければなりません。</span></p><p>今どきのお宅は、WiFiしかなくて有線LANのネットワークなんて少数派なんじゃないですかね?</p><p>ウチもそうです。</p><p>そうすると「pcDuino3」は家のネットワークに参入できません。</p><p>ですので、私は、以下のようなWiFiー有線LANブリッヂを買ってきました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvVW_kCHEbDg9RiRdaHNLwD5gRM_8S9ETbxiKmbc4bum5NRiaJlkn1F5yFq37U5OiMIyhHGVoiA5v7mvwyeWsRpfaH6yfAuwQ-SG7nh4JzyD78uQD5RAmVEryparSRd9wQsf1LPse7NU5hDq2CHGKbOyNdedY8mNBudQYxmX3ny-c3sbL7WJBvYd92YOmn/s960/DSC_0808.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="WiFiー有線LANブリッヂ" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvVW_kCHEbDg9RiRdaHNLwD5gRM_8S9ETbxiKmbc4bum5NRiaJlkn1F5yFq37U5OiMIyhHGVoiA5v7mvwyeWsRpfaH6yfAuwQ-SG7nh4JzyD78uQD5RAmVEryparSRd9wQsf1LPse7NU5hDq2CHGKbOyNdedY8mNBudQYxmX3ny-c3sbL7WJBvYd92YOmn/w400-h300/DSC_0808.JPG" width="400" /></a></div><br /><p><br /></p><p><a href="https://www.amazon.co.jp/gp/product/B07NRRZC12/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&th=1" target="_blank">Amazonさんで¥3,000程度</a>ですね。</p><p>これは、名の如く有線LANポートしかない機器をWiFiネットワークに接続させるためのブリッヂです。</p><p>組み込み用途などで使用頻度の高い安価なLinuxボードでは、WiFiが非搭載の場合が多いです。</p><p>そのような機器のソフトウェアの開発の際に、こういったブリッヂは非常に有意義ですので、一台持っておいても絶対に損はありませんよ。</p><p>ちなみに、電源はUSBのバス供給です。</p><p>これを「pcDuino3」に接続して、新しいディストリビューションのSDカードでLinuxを起動します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0lXDqbubsW_0hSn9RBc9w9RffF0wvHe_95fxs6jNvWDhMEkS-g4_wjtJSubBNlRC8FzlU_5LLq28En0QDm9Ww_w_ex7jbFKuML_7APnFotPrOyNC4fKbPZzMESpeUtROT-Txrg23HcbfqrcAaT3IZieYIixEINLktx9tFvLZnLhdoyFI_JZC00ifuj-ds/s960/DSC_0809.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Linuxの起動" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0lXDqbubsW_0hSn9RBc9w9RffF0wvHe_95fxs6jNvWDhMEkS-g4_wjtJSubBNlRC8FzlU_5LLq28En0QDm9Ww_w_ex7jbFKuML_7APnFotPrOyNC4fKbPZzMESpeUtROT-Txrg23HcbfqrcAaT3IZieYIixEINLktx9tFvLZnLhdoyFI_JZC00ifuj-ds/w400-h300/DSC_0809.JPG" width="400" /></a></div><p><br /></p><p>起動が完了したら「root」でログインします。</p><p>パスワードは入力の必要がありません。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpTuv94RWU3JWDtftsYa9juGU76LgWUjrK5s-qBRk8LrB0zKKd-DmvjjcVQ-GYwjX4X0Qi6HBfnUNnAczkdsexgDfFdiekXnz1oeIu9SLthxJNc4spTnylpD0kiYWRgHInCAAU2QU_8EnReYeK_1V-A0rZwDXPaDDXyMwS6di6kgBGzmiFJ4I0FMvlo3o8/s960/DSC_0810.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「pcDuino3」のターミナル - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpTuv94RWU3JWDtftsYa9juGU76LgWUjrK5s-qBRk8LrB0zKKd-DmvjjcVQ-GYwjX4X0Qi6HBfnUNnAczkdsexgDfFdiekXnz1oeIu9SLthxJNc4spTnylpD0kiYWRgHInCAAU2QU_8EnReYeK_1V-A0rZwDXPaDDXyMwS6di6kgBGzmiFJ4I0FMvlo3o8/w400-h300/DSC_0810.JPG" width="400" /></a></div><p><br /></p><p>ログインできたら、まずは「pcDuino3」のIPアドレスを調べておきましょう。</p><p>このIPアドレスが分かれば、以後の作業はすべて「OpenSSH」を使って開発用のパソコンでリモートに行うため、非常に効率が良くなりますよ。</p><p>以下のコマンドでIPアドレスを調べます。</p><p>私が試した時は「pcDuino3」は「<span style="color: red;">192.168.179.12</span>」というIPアドレスが割り振られたことが確認できますね。</p><p><br /></p><p><span style="color: #01ffff;"># ip a</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPDMb6NpKmxqK0z1CkWW_z_kGj50d0P9dlom5L23cL9IzIEzbMoCK0O2ks9aOBWKUngGGSJ0hwyNVlMpSnMMCA725SsfNHKcriLmVp1bbYfJIQZ-gNCHjz8jKZzjEz6pmgiaiqyiJtUEqpnbhR0I8d_CFKaG4Npk0TwPXsfNbOfU2UslKj69HuIWk-pzx/s960/DSC_0811.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「pcDuino3」のターミナル - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPDMb6NpKmxqK0z1CkWW_z_kGj50d0P9dlom5L23cL9IzIEzbMoCK0O2ks9aOBWKUngGGSJ0hwyNVlMpSnMMCA725SsfNHKcriLmVp1bbYfJIQZ-gNCHjz8jKZzjEz6pmgiaiqyiJtUEqpnbhR0I8d_CFKaG4Npk0TwPXsfNbOfU2UslKj69HuIWk-pzx/w400-h300/DSC_0811.JPG" width="400" /></a></div><p><br /></p><p>以降の作業は、開発用のパソコンで今まで作業していた「VMware Workstation Player」上の「Ubuntu」Linuxではなく、Windowsで行うことにします。</p><p>まずは、現在の開発用のパソコンのIPアドレスも調べてみましょう。</p><p>Windowsのコマンドプロンプトを開いて以下のコマンドでIPアドレスを調べます。</p><p>私のパソコンは「<span style="color: red;">192.168.179.15</span>」というIPアドレスが割り振られたことが確認できます。</p><p><br /></p><p><span style="color: #01ffff;">> ipconfig</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgupBZlrSapJWqWXr6oSIdaCp3rNwwBLWQ8vEwUp2SzQh6ux1mANO8xGdg6QEO7SLcNmttDAX6zree1KKZ8sXWoW0QeBcrK3meGHhUp7lRPDb_D3jwKOwnvlmfNZ7OnYxq3VO9cJwFcm4MY5CvLFizUOOBbH2WaxBBRDzAfhM11g6nH5ZMO8RmWRxiCx1n-/s1734/204.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Windowsのコマンドプロンプト" border="0" data-original-height="957" data-original-width="1734" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgupBZlrSapJWqWXr6oSIdaCp3rNwwBLWQ8vEwUp2SzQh6ux1mANO8xGdg6QEO7SLcNmttDAX6zree1KKZ8sXWoW0QeBcrK3meGHhUp7lRPDb_D3jwKOwnvlmfNZ7OnYxq3VO9cJwFcm4MY5CvLFizUOOBbH2WaxBBRDzAfhM11g6nH5ZMO8RmWRxiCx1n-/w400-h221/204.png" width="400" /></a></div><br /><p><br /></p><p>パソコンが「<span style="color: #fcff01;">192.168.179</span>.15」。</p><p>「pcDuino3」が「<span style="color: #fcff01;">192.168.179</span>.12」ですから、これらは同じクラスですので、お互いに通信できます。</p><p>それが確認できたところで、ターミナルソフトウェア「<span style="color: #fcff01;">TeraTerm</span>」を起動します。</p><p>インストールしていない方は、<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#teraterm">こちらの記事</a>を参考にしてください。</p><p>以下のダイアログが表示されたら「<span>ホスト</span>」の欄に「pcDuino3」のIPアドレスである(今回の場合は)「<span style="color: red;">192.168.179.12</span>」を入力して「<span style="color: red;">OK</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7S9HvwHdA4qNQNYnvXymqYgmMOVtLBtr-pAduon1nbGH6mg_312-kRybYju7dujvTVx4agw4evzBJmRgPpbd_wfip2kAKeTSGuZBM7u5xTa5nfmHjqJw8PTKXNsFDXY-9IP7vdo09WAwXavuTPD4uwy9K7enWCUuavA669iLbwjYLQnXZgwNP0udH2pP/s813/205.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「新しい接続」ダイアログ" border="0" data-original-height="425" data-original-width="813" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7S9HvwHdA4qNQNYnvXymqYgmMOVtLBtr-pAduon1nbGH6mg_312-kRybYju7dujvTVx4agw4evzBJmRgPpbd_wfip2kAKeTSGuZBM7u5xTa5nfmHjqJw8PTKXNsFDXY-9IP7vdo09WAwXavuTPD4uwy9K7enWCUuavA669iLbwjYLQnXZgwNP0udH2pP/w400-h209/205.png" width="400" /></a></div><p><br /></p><p>次は以下のようなダイアログが現れます。</p><p>「ユーザ名」のテキストボックスに「<span style="color: red;">root</span>」と入力し、下方の「<span style="color: red;">OK</span>」ボタンをクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqL8KSANfg02A_Sy4FR8bk6btmm94iUZ4wTPnCFdr0Plo4tHjft7FQ7eWj1Q4NpfUyLhqqnbvtvqCxcvAXiHJHQ3NMKnaPxiQxellmLYt7rff_oz1GPsUvpS4tF2xazQbxw4OBaGnyccSqvYwpkFDK3MwcHW6y2MMTayrbCpcDGKb7JL5ZnTLaQDcxWMTe/s809/206.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「SSH認証」ダイアログ" border="0" data-original-height="597" data-original-width="809" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqL8KSANfg02A_Sy4FR8bk6btmm94iUZ4wTPnCFdr0Plo4tHjft7FQ7eWj1Q4NpfUyLhqqnbvtvqCxcvAXiHJHQ3NMKnaPxiQxellmLYt7rff_oz1GPsUvpS4tF2xazQbxw4OBaGnyccSqvYwpkFDK3MwcHW6y2MMTayrbCpcDGKb7JL5ZnTLaQDcxWMTe/w400-h295/206.png" width="400" /></a></div><p><br /></p><p>すると「TeraTerm」の表示が以下の様になり、ターミナルで「pcDuino3」のLinuxへログインできたことになります。</p><p>ここまでできれば、新しく作成したLinuxディストリビューションに追加した「OpenSSH」が正しく動作していることが確認できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjroG1R-o4ZMMI6AC3XEPlAnFJT-XpWRRkc0GW7AvckAP6Z9UzHCUsaviMfFYJlMUiNRxwrycg4c0rMA5P1P5ksg2H9ynoTY9tokIN2GQx7NeNactx5alkeEUwhl3LjeAp0YqeNEr4bzG9KaBwcV_zTrMblX2J3JEcH0CgT3r_tj682tJQ-lhjA1Vf678wq/s990/207.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 1" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjroG1R-o4ZMMI6AC3XEPlAnFJT-XpWRRkc0GW7AvckAP6Z9UzHCUsaviMfFYJlMUiNRxwrycg4c0rMA5P1P5ksg2H9ynoTY9tokIN2GQx7NeNactx5alkeEUwhl3LjeAp0YqeNEr4bzG9KaBwcV_zTrMblX2J3JEcH0CgT3r_tj682tJQ-lhjA1Vf678wq/w400-h295/207.png" width="400" /></a></div><p><br /></p><p>一応「pcDuino3」の時計の時刻合わせだけは行っておきましょう。</p><p><span style="color: #fcff01;">時計があまり大きく狂っていると、以降の作業においてSSH認証のエラーが出る可能性があります。</span></p><p>とはいえ「pcDuino3」の電源を一度でも落としてしまうと、また狂ってしまうんですけどね…。</p><p>以下のコマンドで現在設定されている時刻を確認します。</p><p><br /></p><p><span style="color: #01ffff;"># date</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpfPenbSbLbE2VkpjHOI3yfyQTlN93cfzpWQTwzwmBCX38RzCsdxHARAroOT8CBTdO3qxgvvbAxmda1phctJIwe9ZhMzMU31Z1_IQzYtZIwsavSSnEmlORcP8wYZf4cD5KYlPoCFIOdrkuza7iq6trCQvHNz5h4LLuD_9keGoYox6U9rmrnx0plViZjWU/s990/208.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 2" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpfPenbSbLbE2VkpjHOI3yfyQTlN93cfzpWQTwzwmBCX38RzCsdxHARAroOT8CBTdO3qxgvvbAxmda1phctJIwe9ZhMzMU31Z1_IQzYtZIwsavSSnEmlORcP8wYZf4cD5KYlPoCFIOdrkuza7iq6trCQvHNz5h4LLuD_9keGoYox6U9rmrnx0plViZjWU/w400-h295/208.png" width="400" /></a></div><p><br /></p><p>設定する時刻が「2024年2月25日 1時15分」だったら以下のコマンドです。</p><p><br /></p><p><span style="color: #01ffff;"># date 022501152024</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEor_4ftDeLg65kQYwj1u1TQrjsEbvLLV6InX0kS8tnN1kOcWA-1H_a-uSuyYRt1mfAjO5-cmtPZ6ZwqL2OFjcNg6B789swHlC3BvXETqaajD1D4ouTx_sqiI9LZ-LL0Y3PmZ0t5oX1doasDynaudyYQowmilPOJE8Oa95Qebq4yf2CI5HFNOrEM2akfNx/s990/209.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 3" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEor_4ftDeLg65kQYwj1u1TQrjsEbvLLV6InX0kS8tnN1kOcWA-1H_a-uSuyYRt1mfAjO5-cmtPZ6ZwqL2OFjcNg6B789swHlC3BvXETqaajD1D4ouTx_sqiI9LZ-LL0Y3PmZ0t5oX1doasDynaudyYQowmilPOJE8Oa95Qebq4yf2CI5HFNOrEM2akfNx/w400-h295/209.png" width="400" /></a></div><p><br /></p><h2><u>「Node.js」の検証</u></h2><p>「OpenSSH」の次は「Node.js」の動きも確認しておきましょう。</p><p>「Node.js」の起動は、以下のコマンドを入力することによって行います。</p><p>バージョン情報など、何か表示されましたね?</p><p>プロンプトが「#」から「>」になっているのに注目です。</p><p><br /></p><p><span style="color: #01ffff;"># node</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aJVkFZgUVX46nVm3FhhdfI9GyCS1EDTeya7fc5AfyyjGFou7YKYLG_R7Ue0aDzlz3LFuwzKrflLI3p_6o4l7rtWGWqPSlR8O8IvV6JAsNlCPQnNGBSL5lJomngXiG4APhXqbJKzxBRoq5HKhJ2FsR-0GQORLJZwM_dZ9TXcu2eI0vUYzcRzCEqdan38s/s990/210.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 4" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aJVkFZgUVX46nVm3FhhdfI9GyCS1EDTeya7fc5AfyyjGFou7YKYLG_R7Ue0aDzlz3LFuwzKrflLI3p_6o4l7rtWGWqPSlR8O8IvV6JAsNlCPQnNGBSL5lJomngXiG4APhXqbJKzxBRoq5HKhJ2FsR-0GQORLJZwM_dZ9TXcu2eI0vUYzcRzCEqdan38s/w400-h295/210.png" width="400" /></a></div><p><br /></p><p>これだけでも、新しく作成したLinuxディストリビューションに追加した「Node.js」が正しく動作していることが確認できますが、それだけだと面白くないので、簡単なプログラムを実行させてみましょう。</p><p>「>」というプロンプトに以下のプログラムを入力し、エンターキーを入力します。</p><p>お約束の例のヤツです。</p><p><br /></p><p><span style="color: #01ffff;">> console.log("Hello World!");</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZCzYi7Cvx1rh4wxVGbAXSy8rWpyBrDZPjySqrToZaPQ-Xu37d7K7mmc92RN7D5QVJCFk4qhunKqmflQFRI7AXw7kfvM-OKi73BOWRI4uzVDIA0BiGgdJLGEIVEJLWPKMquzgjjKNsJ9NlWOP5EXJuGyKe0UocuhdEPpuk0itbM10eMDtvqwGuM6q4LEHt/s990/211.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 5" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZCzYi7Cvx1rh4wxVGbAXSy8rWpyBrDZPjySqrToZaPQ-Xu37d7K7mmc92RN7D5QVJCFk4qhunKqmflQFRI7AXw7kfvM-OKi73BOWRI4uzVDIA0BiGgdJLGEIVEJLWPKMquzgjjKNsJ9NlWOP5EXJuGyKe0UocuhdEPpuk0itbM10eMDtvqwGuM6q4LEHt/w400-h295/211.png" width="400" /></a></div><p><br /></p><p>「Ctrl」+「c」を押すと「Node.js」が終了し、プロンプトが「>」から「#」に戻ります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja2vHStY6wTbtTsF4Lco9L0P6cAYHZEPD0YyChObEVeiznNoMJVyXMRM__WMG5M7r3wpO_Dm1rsh3Pou8orLaCBivpP-BWAWeOG5S-E687Pi92UcScSLTi5N1aZCpP7V1E-p-akIngjhxTt2BWCUDDAadSn6rErhmWBo-fmggO_ybrB-vNRWwGdPOMVQ2A/s990/212.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 6" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja2vHStY6wTbtTsF4Lco9L0P6cAYHZEPD0YyChObEVeiznNoMJVyXMRM__WMG5M7r3wpO_Dm1rsh3Pou8orLaCBivpP-BWAWeOG5S-E687Pi92UcScSLTi5N1aZCpP7V1E-p-akIngjhxTt2BWCUDDAadSn6rErhmWBo-fmggO_ybrB-vNRWwGdPOMVQ2A/w400-h295/212.png" width="400" /></a></div><p><br /></p><p>以上で「Node.js」の検証は終了です。</p><p><br /></p><h2><u>「NPM」の検証</u></h2><p>「Node.js」を使って開発を進めていく上では、様々なパッケージやツールを別途ダウンロードする必要が出てきます。</p><p>そのためのパッケージ管理ツールが「NPM」であり、こちらも新しいディストリビューションに追加しました。</p><p>こちらも検証しておきましょう。</p><p>まず以下のコマンドで「sample」というディレクトリを作成し、その中へ移動します。</p><p><br /></p><p><span style="color: #01ffff;"># mkdir sample</span></p><p><span style="color: #01ffff;"># cd sample/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdYxnPtsGmL3xxUH2UYl4bY7Jh8si_n2IzVpuGU6ZVmWYE2XC6IbosX63MaQkVIeKF5W-1Cdo9pd7KORtOz4ZT13J0p1fdIBCw0OXuvZkJz9zhFQd1LlkbX1ogx13nEQnrtQlmLE2OECYpaxKugNKKT7DEe1s8lRMJcKNmbx4YJ_7c4D0M449olislms7H/s990/213.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 7" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdYxnPtsGmL3xxUH2UYl4bY7Jh8si_n2IzVpuGU6ZVmWYE2XC6IbosX63MaQkVIeKF5W-1Cdo9pd7KORtOz4ZT13J0p1fdIBCw0OXuvZkJz9zhFQd1LlkbX1ogx13nEQnrtQlmLE2OECYpaxKugNKKT7DEe1s8lRMJcKNmbx4YJ_7c4D0M449olislms7H/w400-h295/213.png" width="400" /></a></div><p><br /></p><p>おそらく「Node.js」を使うなら、いずれ必ず使うであろう「<span style="color: #fcff01;">ejs</span>」というテンプレート・エンジンを「NPM」を使ってダウンロードしてみましょう。</p><p>以下のコマンドを実行するとダウンロードできるはずです。</p><p><br /></p><p><span style="color: #01ffff;"># npm install ejs</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii45xVyXsQS7H95ESj90GddISTLObUjZsZSf0dZg8C-EOUX_-os04p8K1xSDqzas78ZsFo04lAhwUxmvyVJEJhRuA5VQu8iJPItl_F84ZmC7cW4RPi3wv87MmJHjkM_M7rmplMTtAkHggyIs9MdQc-ne2fPXIWNf4cPirOOCtskpHkY9ec5KjEEeIL4x2u/s990/214.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 8" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii45xVyXsQS7H95ESj90GddISTLObUjZsZSf0dZg8C-EOUX_-os04p8K1xSDqzas78ZsFo04lAhwUxmvyVJEJhRuA5VQu8iJPItl_F84ZmC7cW4RPi3wv87MmJHjkM_M7rmplMTtAkHggyIs9MdQc-ne2fPXIWNf4cPirOOCtskpHkY9ec5KjEEeIL4x2u/w400-h295/214.png" width="400" /></a></div><p><br /></p><p>「sample」ディレクトリの中に以下のようなディレクトリやファイルが確認できたら「NPM」の検証も完了です。</p><p><br /></p><p><span style="color: #01ffff;"># ls -l</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5W70zxksBixEqB4s5YU2e-09qbq4HgxQBI-ESMytwpeOdnaiOLd71bvrqk7Ero8NaNxsqvgmt4bXfddHczFpuQIi5eubh_msaKtM7fP8t-nbhQVcvddeXzNsme2mAPhCoGNMZ0M3qFPlEjbhqP-te1zslx3-dFGVEp83O4BzaJrTboBSEuFvZuJI_AKs6/s990/215.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 9" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5W70zxksBixEqB4s5YU2e-09qbq4HgxQBI-ESMytwpeOdnaiOLd71bvrqk7Ero8NaNxsqvgmt4bXfddHczFpuQIi5eubh_msaKtM7fP8t-nbhQVcvddeXzNsme2mAPhCoGNMZ0M3qFPlEjbhqP-te1zslx3-dFGVEp83O4BzaJrTboBSEuFvZuJI_AKs6/w400-h295/215.png" width="400" /></a></div><p><br /></p><p>以下のコマンドで、元のディレクトリに戻りましょう。</p><p><br /></p><p><span style="color: #01ffff;"># cd ..</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjX6wNcFYgI5G5iNek4aONZu-0FCdMC26cvAHBinHbrQ-whZTV5ArAl0NhwXpQtTwX-vLdEYW8NxlOFv1Em10ufdTCvbb9nUysiAvvDsG6Vi4RLzL-6HCzeDDzwYX8hcTwu_8COWuqNg2CLLB3KSAsepparefgLdOC-0Y-kCsu0d6vcZJNbdajDJn5dtuj/s990/216.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 10" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjX6wNcFYgI5G5iNek4aONZu-0FCdMC26cvAHBinHbrQ-whZTV5ArAl0NhwXpQtTwX-vLdEYW8NxlOFv1Em10ufdTCvbb9nUysiAvvDsG6Vi4RLzL-6HCzeDDzwYX8hcTwu_8COWuqNg2CLLB3KSAsepparefgLdOC-0Y-kCsu0d6vcZJNbdajDJn5dtuj/w400-h295/216.png" width="400" /></a></div><p><br /></p><h2><u>「Git」の検証</u></h2><p>最後に「Git」の検証を行います。</p><p>何でも良いのですが、リポジトリからソースコードをクローンします。</p><p>ここでは、私のリポジトリから「openocd_nora」というソースコードをクローンしてみます。</p><p>ちょっと長いけど、以下のコマンドです。</p><p>クローンが始まったでしょうか?</p><p><br /></p><p><span style="color: #01ffff;"># git clone https://github.com/RyutaroMorita/openocd_nora.git</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBrXXw_zwPdKL1Cc2aT3Mo4HyPQa5gqAB7OCPRkbDph3d0W0D1EqHCLd-8n5SiopleQuZjKiFbDdCPV9zSLIv-_P0-E6EYZSruiAyDEKgDwlpIawj4aQRP8gyfoKHJ5ik_s0rCa-fl5TLS8AbEYbCxlQYZZpajg6etjumZHawSkZXB_Y7kP7FvBCeiXee/s990/217.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 11" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBrXXw_zwPdKL1Cc2aT3Mo4HyPQa5gqAB7OCPRkbDph3d0W0D1EqHCLd-8n5SiopleQuZjKiFbDdCPV9zSLIv-_P0-E6EYZSruiAyDEKgDwlpIawj4aQRP8gyfoKHJ5ik_s0rCa-fl5TLS8AbEYbCxlQYZZpajg6etjumZHawSkZXB_Y7kP7FvBCeiXee/w400-h295/217.png" width="400" /></a></div><p><br /></p><p>正しくクローンできたでしょうか?</p><p><br /></p><p><span style="color: #01ffff;"># ls -l</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH0CfU9BLvTB_krTbz1YYgiv6oPQqCa1JI50kWAu9ykn0h1j92oWomkhtHzuFvOaJVS3ooTL8Ap8L7k7weu8IgmWyU8ObylB8rT5Fx3m7xh6ZTL8jIecURvyvP7hwPhL4bmHa-sRYXI47DWVjSmVTPBLOiORK1ZTfR5pVpT5Vv7csdcIvVzunjtYtCT3bh/s990/218.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「TeraTerm」ターミナル - 12" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH0CfU9BLvTB_krTbz1YYgiv6oPQqCa1JI50kWAu9ykn0h1j92oWomkhtHzuFvOaJVS3ooTL8Ap8L7k7weu8IgmWyU8ObylB8rT5Fx3m7xh6ZTL8jIecURvyvP7hwPhL4bmHa-sRYXI47DWVjSmVTPBLOiORK1ZTfR5pVpT5Vv7csdcIvVzunjtYtCT3bh/w400-h295/218.png" width="400" /></a></div><p><br /></p><p>以上で「core-image-minimal」に新たに追加したすべてのソフトウェアが正しく動作していることが確認できました!</p><p><br /></p><p>「pcDuino3」用のLinuxディストリビューションも、ここまでくれば、かなり実用的なものになったはずです。</p><p>次回は、今まで慣れ親しんだ最小限のディストリビューション「core-image-minimal」を離れ、よりリッチでGUIの表示を持つ「core-image-sato」というディストリビューションのビルドを行いたいと思います。</p><p>え、単に「bitbake core-image-sato」ってやるだけでしょ…って?</p><p>いやいや、これが結構大変だったんですよ~。</p><p><br /></p><p><続く></p></div></div>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-42321381024302571022024-02-18T03:27:00.000-08:002024-02-18T17:02:26.566-08:00TOPPERS/ASP - Arduino UNO R4版 その7<p><a href="https://www.madogiwakoubou.com/2024/02/toppersasp-arduino-uno-r4.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/10/toppersasp-arduino-uno-r4.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>プログラムの転送とデバッグ</u></h2><p>ターゲットの「Arduino UNO R4」とデバッガの「E2 emulator Lite」を<a href="https://www.madogiwakoubou.com/2024/01/toppersasp-arduino-uno-r4.html">前々回</a>作成したケーブルで接続します。</p><p>こんな感じ。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhObZqCSOn68tXXZrzVfA3eEBgML0ANPF-kMLjb_EZbdbssKr4vkzTJ5Y6i3wJazPc_PFHDwNpPAdHWgLLQYUwI8xgO00gi0m0fTThoNNL111zDuTTFbk8BrR5EFn3pznyHkNo9u5d919p81PCl-VG4uR9wiZYah-W9fSNdJeKrPNs6uhbBqd6o4SznZCQP/s960/DSC_0799.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」と「E2 emulator Lite」の接続例" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhObZqCSOn68tXXZrzVfA3eEBgML0ANPF-kMLjb_EZbdbssKr4vkzTJ5Y6i3wJazPc_PFHDwNpPAdHWgLLQYUwI8xgO00gi0m0fTThoNNL111zDuTTFbk8BrR5EFn3pznyHkNo9u5d919p81PCl-VG4uR9wiZYah-W9fSNdJeKrPNs6uhbBqd6o4SznZCQP/w400-h300/DSC_0799.JPG" width="400" /></a></div><p><br /></p><p>これからTOPPERS/ASPのサンプルプログラムを動かす際には、動作確認のためにどうしてもシリアルポートが必要です。</p><p>そこで、以下のような市販のUSB/シリアル通信変換ケーブルを用意します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1jzo4QsARRW_MVWJ2qmg8NJeJc0wAsj5AZG69ZpoEfI2GUhMnc6wXRf5NI5lgqoJLexJZpazu7lpY0MLwJLaB43-zFx1TbETl8R9Yw7wJhi2xSJV-tz8ACCMz37ase7pqJi8txPUsu2FznLIzfLlYkouawV0ymVmK5aiYpKEQgQRzxNW5s5CsugbkGJ4q/s640/cable.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="市販のUSB/シリアル通信変換ケーブル" border="0" data-original-height="480" data-original-width="640" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1jzo4QsARRW_MVWJ2qmg8NJeJc0wAsj5AZG69ZpoEfI2GUhMnc6wXRf5NI5lgqoJLexJZpazu7lpY0MLwJLaB43-zFx1TbETl8R9Yw7wJhi2xSJV-tz8ACCMz37ase7pqJi8txPUsu2FznLIzfLlYkouawV0ymVmK5aiYpKEQgQRzxNW5s5CsugbkGJ4q/w400-h300/cable.jpg" width="400" /></a></div><p><br /></p><p>作成したケーブルからシリアル通信用の<span style="color: red;">赤</span>(<span style="color: #ff00fe;">TXD</span>)、<span style="color: #2b00fe;">青</span>(<span style="color: #01ffff;">RXD</span>)、<span style="color: #999999;">黒</span>(<span style="color: #999999;">GND</span>)の線を出しておきましたよね?</p><p>それらを以下のように接続します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ4tieh7F2N3YimD67k8hqlFe-7zKEYfR6mboPIIhgJHl1lX6yoO_gkSJ4Sx1I1XSZgFl2ChOyuHcu_RO90EOLM_T9rDH1ryWROGHpENcnPlAPZjYhLGrHbggQxSws3y3plK-HMI3Oi0vLg_3ezxYNIt5bOO-VsRcW1LV9uzh3YHysVMj6WsWLumKoSxME/s960/DSC_0800.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="作成したケーブルからのシリアル通信用の線" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ4tieh7F2N3YimD67k8hqlFe-7zKEYfR6mboPIIhgJHl1lX6yoO_gkSJ4Sx1I1XSZgFl2ChOyuHcu_RO90EOLM_T9rDH1ryWROGHpENcnPlAPZjYhLGrHbggQxSws3y3plK-HMI3Oi0vLg_3ezxYNIt5bOO-VsRcW1LV9uzh3YHysVMj6WsWLumKoSxME/w400-h300/DSC_0800.JPG" width="400" /></a></div><p><br /></p><p>USB/シリアル通信変換ケーブル側の配線は、上から<span style="color: #ff00fe;">TXD、</span><span style="color: #01ffff;">RXD、</span><span style="color: #999999;">GND</span><span>の</span>順番でこんな感じです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFGFXZSsbtMZWiL4MNsa-OgrviME0CmcC_2XQyoh2PL_Xirjl0jVStoz0DQfuVdKye-nAC4mL29bU7dii72jt0hL_58gypq6o_Yd9SCQmsE25NZdUYaNH4YifeL4mH4rl_hAKoRRLBSzffKPrfMRBK0hCg3pLNHZKbjS0CmV2x0ZMu2CEFMK-GPBtXYClV/s960/DSC_0331.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="USB/シリアル通信変換ケーブル側の配線" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFGFXZSsbtMZWiL4MNsa-OgrviME0CmcC_2XQyoh2PL_Xirjl0jVStoz0DQfuVdKye-nAC4mL29bU7dii72jt0hL_58gypq6o_Yd9SCQmsE25NZdUYaNH4YifeL4mH4rl_hAKoRRLBSzffKPrfMRBK0hCg3pLNHZKbjS0CmV2x0ZMu2CEFMK-GPBtXYClV/w400-h300/DSC_0331.JPG" width="400" /></a></div><p><br /></p><p>続いて、このUSB/シリアル通信変換ケーブルをパソコンに繋いでみましょう。</p><p>パソコン上でデバイスマネージャーを開きます。</p><p>ポート(COMとLPT)のサブカテゴリーとして「USB Serial Port」というポートが追加されているはずです。</p><p>(私のパソコンでは、「COM15」として認識されていますね。)</p><p>このポート番号、覚えておいて下さい。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3DEA_fJn9KM_F5WvEzvsZowBt6ncjLlYsNFc1oExO8fsMmlKt54MlPs2zhQUgcd-a2Sx-qcykuXDMdgHHFPoAEfwrUulQMNkjNEke0DRJv0y35TDPzYaPhraNBtumLR_0hKwXsnucrZfP0iPPcVsjP6X6vuo1mkAJIqtAuKJgF8kCrdAfazcOX3C4c8ye/s781/096.png" style="margin-left: 1em; margin-right: 1em;"><img alt="デバイスマネージャー" border="0" data-original-height="572" data-original-width="781" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3DEA_fJn9KM_F5WvEzvsZowBt6ncjLlYsNFc1oExO8fsMmlKt54MlPs2zhQUgcd-a2Sx-qcykuXDMdgHHFPoAEfwrUulQMNkjNEke0DRJv0y35TDPzYaPhraNBtumLR_0hKwXsnucrZfP0iPPcVsjP6X6vuo1mkAJIqtAuKJgF8kCrdAfazcOX3C4c8ye/w400-h293/096.png" width="400" /></a></div><p><br /></p><p>ここで「E2 emulator Lite」とパソコン、「Arduino UNO R4」とパソコンをそれぞれUSBケーブルで接続しましょう。</p><p>厄介なのは「E2 emulator Lite」がUSB mini-B、「Arduino UNO R4」がUSB Type-Cと、異なるケーブルが必要なことです。</p><p>それぞれを接続すると、ご覧の通り通電します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPgtHsQkJuk8xRaodGJEynI2hrPfpsLFzw4G1z4wVUW_jydj-o5rwCTsFtTaELGCIyeW_ulX1LRGYjaDmZaV0ImseanC5rs_euK5y-DySVsFu3oRJcv9QuaKJ8OMGPYvitptyD1eSH7K3u8wyOq6pqQHQ0Vxy2uPdy6RToIZdxXdV7wBzj2VuUQtEopQcP/s960/DSC_0801.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「E2 emulator Lite」とパソコン、「Arduino UNO R4」とパソコンをそれぞれ接続" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPgtHsQkJuk8xRaodGJEynI2hrPfpsLFzw4G1z4wVUW_jydj-o5rwCTsFtTaELGCIyeW_ulX1LRGYjaDmZaV0ImseanC5rs_euK5y-DySVsFu3oRJcv9QuaKJ8OMGPYvitptyD1eSH7K3u8wyOq6pqQHQ0Vxy2uPdy6RToIZdxXdV7wBzj2VuUQtEopQcP/w400-h300/DSC_0801.JPG" width="400" /></a></div><p><br /></p><p>次に「<span style="color: #fcff01;">TeraTerm</span>」をご用意ください。</p><p>インストールしていない方は、このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#teraterm">TeraTermの導入</a>」の項目を参考にしてください。</p><p>もちろん、シリアル通信のターミナルであれば、他のものもお使いいただけます。</p><p>今回のTOPPERS/ASPのサンプルプログラムは、シリアル通信のメッセージを出力しますので、先程「<span style="color: #fcff01;">USB Serial Port</span>」として認識されたシリアルポート番号でターミナルを立ち上げておきましょう。</p><p>設定は、こんな感じです。</p><p>ボーレートは「9600」です。</p><p>(私のパソコンは、USB/シリアル通信変換ケーブルをCOM15として認識していました。)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyq8GbOJAgsdb6aCkLEz1GoYCOslAvatLlpaAj9BK4O_9w95xsK8oU-Kcxa-RiXGSXAaSfQU4xdhJkw6g55fWfPhyphenhyphenhi-3PelgOmOUm7JvVg90I73Tk-WtxL5jlZcB-SS5EXvU29icIX_mI8ivExSbB52ua6r_tt360N7A1yH6kDCVHF3EnvUbxeEr5vW3A/s529/097.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TeraTerm - シリアルポートの設定" border="0" data-original-height="455" data-original-width="529" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyq8GbOJAgsdb6aCkLEz1GoYCOslAvatLlpaAj9BK4O_9w95xsK8oU-Kcxa-RiXGSXAaSfQU4xdhJkw6g55fWfPhyphenhyphenhi-3PelgOmOUm7JvVg90I73Tk-WtxL5jlZcB-SS5EXvU29icIX_mI8ivExSbB52ua6r_tt360N7A1yH6kDCVHF3EnvUbxeEr5vW3A/w400-h344/097.png" width="400" /></a></div><p><br /></p><p>さて、「e2 Studio」に戻りましょう。</p><p>まだサンプルプログラムをビルドしていない場合は、画面右側の「ビルド・ターゲット」タブの中、「OBJ」ディレクトリ直下の「<span style="color: red;">all</span>」をダブルクリックして、ビルドを完了させましょう。</p><p><span style="color: #fcff01;"><追記></span></p><p><span style="color: #fcff01;">この記事を書いている過程で、雛形プロジェクトの作成時に「Arduino UNO R4」のクロック設定の作業を忘れていることに気が付きました。</span></p><p><span style="color: #fcff01;">大変お手数ですが「</span><a href="https://www.madogiwakoubou.com/2023/12/toppersasp-arduino-uno-r4.html#clock">TOPPERS/ASP - Arduino UNO R4版 その3~クロックの設定</a><span style="color: #fcff01;">」を追記しましたので、こちらに戻ってクロック設定を行ってから、再び生成された雛形プロジェクトのソースコードをTOPPERS/ASPのディレクトリにコピーしてください。</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQlWiUxhpvFjIxFOXBSsTZ-PWMggkWLIKB2rFOQbUMsYf4OGB4IgiMcVo1f9NYEcBG4UkjebEi1qLraYsMeH98BJ7zXlZUnGRGwHk-4ixfzVB5igKeoTKAW4mV9mbY8h-NtxCQYJNKV_mSKV62GwtYl_o56Q6lxoA60hXnvmnutH-gv1ZHvA0qxQJDmmeB/s1920/098.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 1" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQlWiUxhpvFjIxFOXBSsTZ-PWMggkWLIKB2rFOQbUMsYf4OGB4IgiMcVo1f9NYEcBG4UkjebEi1qLraYsMeH98BJ7zXlZUnGRGwHk-4ixfzVB5igKeoTKAW4mV9mbY8h-NtxCQYJNKV_mSKV62GwtYl_o56Q6lxoA60hXnvmnutH-gv1ZHvA0qxQJDmmeB/w400-h235/098.png" width="400" /></a></div><p></p><p><span style="color: #fcff01;"><br /></span></p><p>次にデバッガの設定を行います。</p><p>画面上部にある緑色の「<span style="color: #04ff00;">虫マーク</span>」。</p><p>その脇に「▼」ボタンがありますので、それをクリック。</p><p>そこで現れた「<span style="color: red;">デバッグの構成</span>」という項目をクリックしましょう。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHLx3LCDPtu-y_M1f1lzm9yEIkNYnx0iX2O73LWwSyQyvj8EmaLOf0KcQMTzwrYzE5ztPWnCqbDjLMsirQhz6T4pYJuUPMyhsoE6j83txf5FrzVSakxi-0Yt2KDBk54PN732FkAJk1a9C0wypx-pTFHrRSn6iYcQ8JcZQIcm1BrMghHAOzLu7XnfSgPkRF/s800/099.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 2" border="0" data-original-height="500" data-original-width="800" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHLx3LCDPtu-y_M1f1lzm9yEIkNYnx0iX2O73LWwSyQyvj8EmaLOf0KcQMTzwrYzE5ztPWnCqbDjLMsirQhz6T4pYJuUPMyhsoE6j83txf5FrzVSakxi-0Yt2KDBk54PN732FkAJk1a9C0wypx-pTFHrRSn6iYcQ8JcZQIcm1BrMghHAOzLu7XnfSgPkRF/w400-h250/099.png" width="400" /></a></div><p></p><p><br /></p><p>すると以下のようなダイアログが現れます。</p><p>左側のリストから「<span style="color: red;">Renesas GDB Hardware Debugging</span>」という項目をダブルクリックしてください。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuZOxMj095DOY0G_fcK4A3SEU0MZpjeIBBnV14x2Ka9nXk8y3i_5dQJNwUblXGnoQd5_8WCYvgUW2jqRj3qt7xxT3x3bEacjVNlWJb0BYngP356RSrqczGl20xbwmw9O8NP3MzCzTIrCshofnoMhRfmt27qFYokNHF0faytwLfZ6qb8x8GndLHAcEtIJIO/s1386/100.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 1" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuZOxMj095DOY0G_fcK4A3SEU0MZpjeIBBnV14x2Ka9nXk8y3i_5dQJNwUblXGnoQd5_8WCYvgUW2jqRj3qt7xxT3x3bEacjVNlWJb0BYngP356RSrqczGl20xbwmw9O8NP3MzCzTIrCshofnoMhRfmt27qFYokNHF0faytwLfZ6qb8x8GndLHAcEtIJIO/w400-h275/100.png" width="400" /></a></div><p></p><p><br /></p><p>ダイアログ右側がガラリと変わりましたね?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMyWEKPja4uEVwse45eU5hPju5P9ufbKp99m9tYDX-I9QC6kK2_21f-QHCWcZ3k3g1l7kYqCo_zAfs8FuroCrJCA2VoaZze8HvXwacRTim0xkgop4DPyUZ_1-doEJUZL-abGWiQzyjNfuH__XXz7w7gH4gEofk63P1TZv-oci4K-UDi5VOvsoHqZEBcVl2/s1386/101.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 2" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMyWEKPja4uEVwse45eU5hPju5P9ufbKp99m9tYDX-I9QC6kK2_21f-QHCWcZ3k3g1l7kYqCo_zAfs8FuroCrJCA2VoaZze8HvXwacRTim0xkgop4DPyUZ_1-doEJUZL-abGWiQzyjNfuH__XXz7w7gH4gEofk63P1TZv-oci4K-UDi5VOvsoHqZEBcVl2/w400-h275/101.png" width="400" /></a></div><p><br /></p><p>この「デバッグ構成」ダイアログの各項目に対し、以下の設定を入力します。</p><p><br /></p><p><span style="color: #01ffff;">名前:<任意の構成名(ここでは「OBJ」)></span></p><p><span style="color: #01ffff;">プロジェクト:<プロジェクト名(ここでは「asp_1.9.2」)></span></p><p><span style="color: #01ffff;">C/C++アプリケーション:C:\cygwin64\home\<ユーザ名>\asp_1.9.2\OBJ\asp.exe</span></p><p><span style="color: #01ffff;">Build Configuration:Use Active</span></p><p><span style="color: #01ffff;">「自動ビルドを無効にする」を選択</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMlS1R3yXJnTD4iDfq_jd7wzLbEMbkxFzFU0jyXQjA0T3c16zjpwqp-UhVEqeqXzvperEAZH83U0GCq1gBGNFNWxXCadw6x7tjw0V2V6y2wxrC63ZHbhjW8i2yVLo0fg1ykDQqUOS4kWsZXodnyvNElxVm1ctMGl3iccMHF3igv56aQmTrf7vn1vDMkX3w/s1386/102.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 3" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMlS1R3yXJnTD4iDfq_jd7wzLbEMbkxFzFU0jyXQjA0T3c16zjpwqp-UhVEqeqXzvperEAZH83U0GCq1gBGNFNWxXCadw6x7tjw0V2V6y2wxrC63ZHbhjW8i2yVLo0fg1ykDQqUOS4kWsZXodnyvNElxVm1ctMGl3iccMHF3igv56aQmTrf7vn1vDMkX3w/w400-h275/102.png" width="400" /></a></div><p><br /></p><p>お次は現在の「メイン」タブから「<span style="color: red;">Debugger</span>」タブへクリックして切り替えます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPEAedEiYe2zgT8CVZpOZyQDkMa8k6oZHk3lepqFXigNrr_5fPg74OJY-7moMsJMuewH7fT1eCzWwWj_Gvu-mEarKfvEq264NiSHJ7vg7QOl4vz-g0uIT71HEaIG-E-G13WfultZgqQv7lIxMLx5gWTmW7l-oBjn1TPyoSYFwEOkAO1mBe6_enoelMg69/s1386/103.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 4" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPEAedEiYe2zgT8CVZpOZyQDkMa8k6oZHk3lepqFXigNrr_5fPg74OJY-7moMsJMuewH7fT1eCzWwWj_Gvu-mEarKfvEq264NiSHJ7vg7QOl4vz-g0uIT71HEaIG-E-G13WfultZgqQv7lIxMLx5gWTmW7l-oBjn1TPyoSYFwEOkAO1mBe6_enoelMg69/w400-h275/103.png" width="400" /></a></div><p><br /></p><p>新しく現れた各項目に対し、以下の設定を入力します。</p><p><br /></p><p><span style="color: #01ffff;">Debug hardware:E2 Lite (ARM)</span></p><p><span style="color: #01ffff;">Target Device:R7FA4M1AB</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0TsqhGJpheW9evrCNiv97nOzBlulNi1EwCKKJVqBqasXHTAHuYfF70Btz7D5NdLC5Au6aX7sT_OmC1d1UV3u6K8FjADjhulaUtsEtcZcmPMCLl-UlxbsRUre3QrS-WLE61078Ln8xkPw9881zMIpKAEhFVu3jy6hfnsWEHNKYNyENpxIkwOsVvAgJzkB/s1386/104.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 5" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0TsqhGJpheW9evrCNiv97nOzBlulNi1EwCKKJVqBqasXHTAHuYfF70Btz7D5NdLC5Au6aX7sT_OmC1d1UV3u6K8FjADjhulaUtsEtcZcmPMCLl-UlxbsRUre3QrS-WLE61078Ln8xkPw9881zMIpKAEhFVu3jy6hfnsWEHNKYNyENpxIkwOsVvAgJzkB/w400-h275/104.png" width="400" /></a></div><p></p><p><span style="color: #01ffff;"><br /></span></p><p><span>さて、お次は現在の「GDB Settings」タブから「<span style="color: red;">Connection Settings</span>」タブへクリックして切り替えます。</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidv1cpS9SM0W8hKFgggH8mOWxmr_D_61Ycb4_VH-2bzJ_-6YF3dDLl6zpcNqDMD5KM-BH7xrMxPNtbmZ_xi1GCQ7WIgED2M73I4ySRyJteg6jFKtPcaKOYwgrjuluvrJTzKj-iQKmg7nf0_quoIlVLeTZb6V8QbrsFc4R-Qhjlc6EqcdsAKY65_LE-Wsh7/s1386/105.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 6" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidv1cpS9SM0W8hKFgggH8mOWxmr_D_61Ycb4_VH-2bzJ_-6YF3dDLl6zpcNqDMD5KM-BH7xrMxPNtbmZ_xi1GCQ7WIgED2M73I4ySRyJteg6jFKtPcaKOYwgrjuluvrJTzKj-iQKmg7nf0_quoIlVLeTZb6V8QbrsFc4R-Qhjlc6EqcdsAKY65_LE-Wsh7/w400-h275/105.png" width="400" /></a></div><p></p><p><span style="color: #01ffff;"><span style="color: black;"><br /></span></span></p><p><span>たくさん設定項目があるんですが、ここでは「<span style="color: red;">エミュレーターから電源供給</span>」の項目だけは忘れずに「<span style="color: red;">いいえ</span>」にしておいて下さい。</span></p><p><span style="color: #01ffff;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="color: #01ffff;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA1Mod532URIqghi6D5bjXmmphpkrFqq-4ehMA-gGE3mYPWdSuMg3peS8u0yUAF6tdF8tdrZAYl5ugDbMVgPKFdu2A8ZVrhXMUuSsGoP-FiJQ6GX3Pptz9TrMBM74aLD-QKncSaXuAfUqXL2z_gG9RkpcVxS-KMkhSQ6KYCO9HPVP_k-FeQEPF_Qc2_Lt-/s1386/106.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 7" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA1Mod532URIqghi6D5bjXmmphpkrFqq-4ehMA-gGE3mYPWdSuMg3peS8u0yUAF6tdF8tdrZAYl5ugDbMVgPKFdu2A8ZVrhXMUuSsGoP-FiJQ6GX3Pptz9TrMBM74aLD-QKncSaXuAfUqXL2z_gG9RkpcVxS-KMkhSQ6KYCO9HPVP_k-FeQEPF_Qc2_Lt-/w400-h275/106.png" width="400" /></a></span></div><p></p><p><span style="color: #01ffff;"><span style="color: black;"><br /></span></span></p><p>最後にもう一丁!</p><p><span style="color: #01ffff;"></span></p><p>現在の「Debugger」タブから「<span style="color: red;">共通</span>」タブへクリックして切り替えます。</p><p><span style="color: #01ffff;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="color: #01ffff;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH2tk48jcu-h6cb0_I6kTIzRVI4VgS2qy_jkKVT5NgMZnVTvwz1nWa_bSw6WVVDLZxn36CkbsgEbbaiyjPmofcj4sc8TuyTrBdVarDv0LoImF8-paprVzhwkHomDXHog7rr7Tym5fCeHUEwtE7ax2dpuE9rPF7CK1asOeuABSsDlBCziohw55Z4-vPbQjW/s1386/107.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 8" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH2tk48jcu-h6cb0_I6kTIzRVI4VgS2qy_jkKVT5NgMZnVTvwz1nWa_bSw6WVVDLZxn36CkbsgEbbaiyjPmofcj4sc8TuyTrBdVarDv0LoImF8-paprVzhwkHomDXHog7rr7Tym5fCeHUEwtE7ax2dpuE9rPF7CK1asOeuABSsDlBCziohw55Z4-vPbQjW/w400-h275/107.png" width="400" /></a></span></div><p></p><p><span style="color: #01ffff;"><br /></span></p><p>エンコードの設定で「<span style="color: red;">その他</span>」に選択し、文字コードを「<span style="color: red;">UTF-8</span>」に設定してあげて下さい。</p><p><span style="color: #fcff01;">これをしないと、デバッガーからの日本語メッセージが文字化けしてしまいます。</span></p><p><span style="color: #01ffff;"></span></p><p>これでよ~やく、ダイアログ下部の「<span style="color: red;">適用</span>」ボタンと「<span style="color: red;">デバッグ</span>」ボタンを順にクリックすることで、デバッガーが起動しプログラムの転送が開始されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisa4GPQPw9VBhL42_35V4wmhcrGdfgqOefa3gWcJl7WMepsaYnGan9jz8boZKx_J0p7kpgqLeqw2v4UU93I65UTKsi52JKIREOJnFDQ-qkTF5Dx2QL0EWrmxyFVDYEgFNH8JE6fCFP2M3ANu3-IIn7MFIzCOjU84zxvOtpHEsIqoTNs_s4zeMfvptpi-Xv/s1386/108.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「デバッグ構成」ダイアログ - 9" border="0" data-original-height="951" data-original-width="1386" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisa4GPQPw9VBhL42_35V4wmhcrGdfgqOefa3gWcJl7WMepsaYnGan9jz8boZKx_J0p7kpgqLeqw2v4UU93I65UTKsi52JKIREOJnFDQ-qkTF5Dx2QL0EWrmxyFVDYEgFNH8JE6fCFP2M3ANu3-IIn7MFIzCOjU84zxvOtpHEsIqoTNs_s4zeMfvptpi-Xv/w400-h275/108.png" width="400" /></a></div><p><br /></p><p>プログラムの転送が終わると、以下のようにスタートアップ・アドレスでプログラムが止まった状態になります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgALvghVh157Jgijsndtzz4V289JAZWHKelOGqZYCU-nbIqud3z48zMqzim5QRnxG1hliqiM2cqdH8b26RJJeDseDToXdBAAvMp5Ps6FY9eVa_eREisa-HaTIfBihAP-_Pla57kb8JjL3mNvEGuuj56qbejj3s3xN7a0VmbSVu-m8Cyj-F7robPS5cfpC4n/s1920/109.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 3" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgALvghVh157Jgijsndtzz4V289JAZWHKelOGqZYCU-nbIqud3z48zMqzim5QRnxG1hliqiM2cqdH8b26RJJeDseDToXdBAAvMp5Ps6FY9eVa_eREisa-HaTIfBihAP-_Pla57kb8JjL3mNvEGuuj56qbejj3s3xN7a0VmbSVu-m8Cyj-F7robPS5cfpC4n/w400-h235/109.png" width="400" /></a></div><p><br /></p><p>ここからプログラムを続行してみましょう。</p><p>画面上部の「<span style="color: red;">▶</span>」ボタンをクリックすると、プログラムが続行されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimKdbMkHYW790Z-w63BGfzCitRpzSwTNF3l62OD7K-8_tIRbmCOqbluBCA8XdKasvKzikTo41LNHMNuFMeE9asM17cqtVJplWiOtMitRVEVXcmkTpaI8FsX8fu4dBwvW0W0MRGXr2Ag9fQl9j7_43AA1uJAKGM9Puy_g3aNdEYR8ac898PPDSDIJ-DhmyW/s300/110.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 4" border="0" data-original-height="120" data-original-width="300" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimKdbMkHYW790Z-w63BGfzCitRpzSwTNF3l62OD7K-8_tIRbmCOqbluBCA8XdKasvKzikTo41LNHMNuFMeE9asM17cqtVJplWiOtMitRVEVXcmkTpaI8FsX8fu4dBwvW0W0MRGXr2Ag9fQl9j7_43AA1uJAKGM9Puy_g3aNdEYR8ac898PPDSDIJ-DhmyW/w400-h160/110.png" width="400" /></a></div><p><br /></p><p>はい、ここで長らく放置していた「TeraTerm」を見てみましょう。</p><p>以下のように、サンプルプログラムが動作していることが確認できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdHvrlnMx-VmECKDP7L-SEscjd30Rwsjj7BocPtN1iTCZhAhexbWBy-GKgQkif50AHg5DtxGD-F-OxQfh65jdUuNqJ1B3UdCjpqHfhp7xaEqfYJtyxyrzeckx7_NsLrJEQgmQ74vrVNfO_C72Ohk9r8SOY44eBaeRnVE8hIA3HqFvvdPwZpOKdBOBP4sz/s990/111.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TeraTermの表示" border="0" data-original-height="730" data-original-width="990" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdHvrlnMx-VmECKDP7L-SEscjd30Rwsjj7BocPtN1iTCZhAhexbWBy-GKgQkif50AHg5DtxGD-F-OxQfh65jdUuNqJ1B3UdCjpqHfhp7xaEqfYJtyxyrzeckx7_NsLrJEQgmQ74vrVNfO_C72Ohk9r8SOY44eBaeRnVE8hIA3HqFvvdPwZpOKdBOBP4sz/w400-h295/111.png" width="400" /></a></div><p><br /></p><p>プログラムを停止する場合は、画面上部の「<span style="color: red;">■</span>」ボタンをクリックします。</p><p>停止させてみましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmRXMldgPK4N9t4MqBAu05TfpTMrv8jl_9ZAjlYjJV7p4UyQ7WEp2fVK4nSso3wGUydYarX9jm-ofGZSAkfliqgft6uZm1joz4fFgu30H7wUjReedQO3iCwwlWJ918cyKwfkQ44OTQq0MLjGyd5WXqE0a0HrsPxEXh5C62KqxkSsbqqUGR0zodyKDYb0Ec/s300/112.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 5" border="0" data-original-height="120" data-original-width="300" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmRXMldgPK4N9t4MqBAu05TfpTMrv8jl_9ZAjlYjJV7p4UyQ7WEp2fVK4nSso3wGUydYarX9jm-ofGZSAkfliqgft6uZm1joz4fFgu30H7wUjReedQO3iCwwlWJ918cyKwfkQ44OTQq0MLjGyd5WXqE0a0HrsPxEXh5C62KqxkSsbqqUGR0zodyKDYb0Ec/w400-h160/112.png" width="400" /></a></div><p><br /></p><p>ついでに「e2 studio」の表示を「デバッグモード」から「C/C++モード」に変更します。</p><p>「e2 studio」の画面右上のボタンで切り替えができます。「<span style="color: red;">C/C++</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ZyLCKH8eGvrWwkGDapbYpFyWKwiy6o-9Z0Vd_x0lgV2-gBDhw37qCiGq-Jv_VhfTFlGf_qhqDVN5t2a6fvTh6o7EKkD0EHHUzd1oZ7RBkqUvKxs-Yo7_ZIh65Adgke3XrEP0DgGsGSxD1lGKRSU-GBzvaiV6XEFnj9RiohVJBnAS-jrBulCIKmnWAiTM/s600/113.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 6" border="0" data-original-height="200" data-original-width="600" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ZyLCKH8eGvrWwkGDapbYpFyWKwiy6o-9Z0Vd_x0lgV2-gBDhw37qCiGq-Jv_VhfTFlGf_qhqDVN5t2a6fvTh6o7EKkD0EHHUzd1oZ7RBkqUvKxs-Yo7_ZIh65Adgke3XrEP0DgGsGSxD1lGKRSU-GBzvaiV6XEFnj9RiohVJBnAS-jrBulCIKmnWAiTM/w400-h134/113.png" width="400" /></a></div><p><br /></p><p>ブレークポイントを仕掛けましょう。</p><p>画面右の「プロジェクト・エクスプローラー」のソースコードリストの中から「<span style="color: red;">sample1.c</span>」をダブルクリックし、ソースコードを表示します。</p><p>このソースコードの丁度中盤くらい、メインタスクの始めに仕掛けましょうか。</p><p>ブレークポイントは、ソースコードビューの左端をダブルクリックすることにより丸が表示され、セットすることができます。</p><p>(解除したい場合もダブルクリックします。丸が消えます。)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgROEYdy2IEeuWFtBmn_-dhgH8JApVkfnJ83AeqmvOHhwhdJ0KN2rDY5mW0hg9MtAcikz5jgi_WIey_7ue3dn8udyZogP_oTa0Gx3jTGOik9fXmzO1t0tCqJIj6hfQVXe1jvzcdEwUdomzEU1VOwXiCtNL36jVF0Sbr6u1u5mWmo_49ylW715pN60YARk5h/s1920/114.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 7" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgROEYdy2IEeuWFtBmn_-dhgH8JApVkfnJ83AeqmvOHhwhdJ0KN2rDY5mW0hg9MtAcikz5jgi_WIey_7ue3dn8udyZogP_oTa0Gx3jTGOik9fXmzO1t0tCqJIj6hfQVXe1jvzcdEwUdomzEU1VOwXiCtNL36jVF0Sbr6u1u5mWmo_49ylW715pN60YARk5h/w400-h235/114.png" width="400" /></a></div><p><br /></p><p>これで本当にブレークポイントがかかるのか、試してみましょう。</p><p>画面上部にある緑色の「<span style="color: #04ff00;">虫マーク</span>」。</p><p>その脇に「▼」ボタンがありますので、それをクリック。</p><p>すると今後は、さっき色々と入力した「<span style="color: red;">OBJ</span>」のデバッグ設定が登録されていますので、これをクリックすると、デバッガが起動します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBAdXVzj3nlJUMRm7H927HwC6or3cJH-qtBeoesJLOQa1Gfcg2jf9dWVDNuzr-J2bn8CABDYd1qkuHkXRinGXTuirmc7oSBJ-PJTb2mcdIARuf2r4mO6wOQxhDLkAfe_ovZnCajAcqotQYGi6lYYYc-Ud9psPXo-JqmL9gwUSlluZSOzPOT-GHwo5N8R5u/s800/115.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 8" border="0" data-original-height="500" data-original-width="800" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBAdXVzj3nlJUMRm7H927HwC6or3cJH-qtBeoesJLOQa1Gfcg2jf9dWVDNuzr-J2bn8CABDYd1qkuHkXRinGXTuirmc7oSBJ-PJTb2mcdIARuf2r4mO6wOQxhDLkAfe_ovZnCajAcqotQYGi6lYYYc-Ud9psPXo-JqmL9gwUSlluZSOzPOT-GHwo5N8R5u/w400-h250/115.png" width="400" /></a></div><p><br /></p><p>しばらくして、プログラムの転送と書き込みが完了すると、前と同じようにスタートアップ・アドレスでプログラムが停止しますので、画面上部の「<span style="color: red;">▶</span>」ボタンをクリックして、プログラムを続行させます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8psyBi3a-fZ8qYwSlZzaLOyqNLIlDJ5Ki7fQGEc1QwtfN0bYhncI6CBEbeChqpbaYDDeYef69LEV9lB0ZbyHMMl7DmqgjsHdyYsMYu4mNWCdNkP4m1fAZ-meBcr1AC95j61TgqzS9oY_erJ3X0fd7ouOPX-AcucYOfglKzgoEd0EE2osUiQJJN_mmiWbY/s300/110.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 9" border="0" data-original-height="120" data-original-width="300" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8psyBi3a-fZ8qYwSlZzaLOyqNLIlDJ5Ki7fQGEc1QwtfN0bYhncI6CBEbeChqpbaYDDeYef69LEV9lB0ZbyHMMl7DmqgjsHdyYsMYu4mNWCdNkP4m1fAZ-meBcr1AC95j61TgqzS9oY_erJ3X0fd7ouOPX-AcucYOfglKzgoEd0EE2osUiQJJN_mmiWbY/w400-h160/110.png" width="400" /></a></div><p><br /></p><p>程なくして、以下のように正しくブレークポイントを仕掛けた位置でプログラムが停止するはずです。</p><p>ここからは、「F6」キーでステップオーバー、「F5」キーでステップインなど、おなじみの操作が使用できます。</p><p>因みに、ステップオーバーやステップインなどを行っている時に命令が飛んでしまったり前後したりする場合は、最適化のせいです。</p><p>デバッグ時は、このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#debug">サンプルプログラムのデバッグ</a>」の項目を参考に最適化を解除しましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge_scynEJj6l4rw25dBB28kCF5k9JvQF1s1IBeAj3Ci5xP254f7wjyXPfGW0ZVabzHqK2DtvBOQReVPfQUe8MWul6DbZtNCosHKHFEW-jj3hwu03GY1YfioYcGt7eKnzX6DqnxJoJ7eS_JFYcGkNLEpdB-BDSg2gG_1U24CfBZiirFNgmIsXC6zBOJWwhv/s1920/116.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 Studio」 - 10" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge_scynEJj6l4rw25dBB28kCF5k9JvQF1s1IBeAj3Ci5xP254f7wjyXPfGW0ZVabzHqK2DtvBOQReVPfQUe8MWul6DbZtNCosHKHFEW-jj3hwu03GY1YfioYcGt7eKnzX6DqnxJoJ7eS_JFYcGkNLEpdB-BDSg2gG_1U24CfBZiirFNgmIsXC6zBOJWwhv/w400-h235/116.png" width="400" /></a></div><p><br /></p><p>さてさて、これでTOPPERS/ASPをビルドして動かすところまで、一通りの説明ができたと思います。</p><p>次回は、応用編。</p><p>このTOPPERS/ASPとRenesas社純正のライブラリパッケージ「Flexible Software Package (FSP)」を組み合わせて使う方法について書いていけたらなぁ…と思います。</p><p>豊富なライブラリが使えるようになれば、電子工作の幅が広がりますよ!</p><p><br /></p><p><続く></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-19026140315249608882024-02-11T03:30:00.000-08:002024-02-18T03:28:04.559-08:00TOPPERS/ASP - Arduino UNO R4版 その6<p><a href="https://www.madogiwakoubou.com/2024/01/toppersasp-arduino-uno-r4.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/10/toppersasp-arduino-uno-r4.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>プロジェクトの作成</u></h2><p>前々回までの作業で、開発環境をインストールし、Arduino UNO R4版TOPPERS/ASPのソースコードをダウンロードし、それに雛形プロジェクトから抜き出したソースコードを補填し、それをCygwinターミナルでビルドするまでを行いました。</p><p>そこで、今回は「e2 studio」上でTOPPERS/ASPのビルドが行えるようにプロジェクトを作成しましょう。</p><p>まずは「e2 studio」を立ち上げて下さい。</p><p>そして、画面左上のメニューから「ファイル」→「新規」→「<span style="color: red;">プロジェクト</span>」の順にクリックしていきましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSK12rGt7emvlN5F_WSd4XFJqCGzHJ9cd7ZHUh4qGJhBkq1IkhJVGJqBarepDmboR5j5Ll2qawmiMRm5bqe5g3BCMor9qdYmfucushYQBGl0VjS6v06QvXGj_gT_Yh7cnlXmKQwhGpTuZVjoDZyXjLH04HutA6Veg5377N_w45jJo0pGwGGIhMtxXBhyNl/s1920/086.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 1" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSK12rGt7emvlN5F_WSd4XFJqCGzHJ9cd7ZHUh4qGJhBkq1IkhJVGJqBarepDmboR5j5Ll2qawmiMRm5bqe5g3BCMor9qdYmfucushYQBGl0VjS6v06QvXGj_gT_Yh7cnlXmKQwhGpTuZVjoDZyXjLH04HutA6Veg5377N_w45jJo0pGwGGIhMtxXBhyNl/w400-h235/086.png" width="400" /></a></div><p><br /></p><p>以下のダイアログが表示されたら、リストボックスの中の「<span style="color: red;">c/c++</span>」ディレクトリのアイコンをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpuEPMWPrywhjkk3s3N6TXFm8d56r-sbBjuQTLvG2BwuRtxDgw2f4BEjpykD3icC6hw84iCqSMymqtmM11j3vvesPZ4h-lsAten9BeTYo4qgZ6iAW1wuYJsd5gtoauaR7G78S_al3bI-Wdv1RmCR1prBMGD0h7nUwmTMCsN6daZVG5-skVICsUACgYOugz/s902/087.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「新規プロジェクト」ダイアログ - 1" border="0" data-original-height="741" data-original-width="902" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpuEPMWPrywhjkk3s3N6TXFm8d56r-sbBjuQTLvG2BwuRtxDgw2f4BEjpykD3icC6hw84iCqSMymqtmM11j3vvesPZ4h-lsAten9BeTYo4qgZ6iAW1wuYJsd5gtoauaR7G78S_al3bI-Wdv1RmCR1prBMGD0h7nUwmTMCsN6daZVG5-skVICsUACgYOugz/w400-h329/087.png" width="400" /></a></div><p><br /></p><p>すると「c/c++」ディレクトリの以下の項目が展開されます。</p><p>今度は「<span style="color: red;">Makefile Project with Existing Code</span>」の項目をクリックして選択し、ダイアログ下部の「次へ」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhncbl1963osVGf4u9xsI_aQB0AwnpFtfZepUdutHsB3iONrDpG6htPmqNyxc5gF0lZfaXwkvVHXEOiA6KJ3D9GBbsWyvWE2-f9duXrq9ih0H0o0p8iPyLL8pEdCmlBCFAqw2nBix8kQf0fUjLhyphenhyphenHxtB3uJ3Om2cjthNBk4ZmNxfsAsfmHRpYpgHHysITC3/s902/088.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「新規プロジェクト」ダイアログ - 2" border="0" data-original-height="741" data-original-width="902" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhncbl1963osVGf4u9xsI_aQB0AwnpFtfZepUdutHsB3iONrDpG6htPmqNyxc5gF0lZfaXwkvVHXEOiA6KJ3D9GBbsWyvWE2-f9duXrq9ih0H0o0p8iPyLL8pEdCmlBCFAqw2nBix8kQf0fUjLhyphenhyphenHxtB3uJ3Om2cjthNBk4ZmNxfsAsfmHRpYpgHHysITC3/w400-h329/088.png" width="400" /></a></div><p><br /></p><p>ダイアログが以下の表示に切り替わったら必要事項を入力します。</p><p>ここでは、以下の通り。</p><p><br /></p><p><span style="color: #01ffff;">プロジェクト名:<任意のプロジェクト名(ここでは「asp_1.9.2」)></span></p><p><span style="color: #01ffff;">既存のコードの場所:C:\cygwin64\home\<ユーザ名>\asp_1.9.2</span></p><p><span style="color: #01ffff;">インデクサー設定に対するtoolchain:<なし></span></p><p><br /></p><p>入力が終わったら「<span style="color: red;">終了</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGlRE3mIgXEPVU8981_Mjxo-ljmwR3d-n_RFPW53sV-XgOVWF4WA-ZqcH3eB-VJkCfQPH6G3p4tT1jSnwMywRKGDo2OtnGvh42l9l0EsS76Doq4RB3ZsZoIrvvjEjS-69pV9VzLtd2qBTIYYe6aBQMXvX1K8V2cEghTu55SivpnYQ6NoQSg93nJMGjXg0s/s1068/089.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「新規プロジェクト」ダイアログ - 3" border="0" data-original-height="1068" data-original-width="902" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGlRE3mIgXEPVU8981_Mjxo-ljmwR3d-n_RFPW53sV-XgOVWF4WA-ZqcH3eB-VJkCfQPH6G3p4tT1jSnwMywRKGDo2OtnGvh42l9l0EsS76Doq4RB3ZsZoIrvvjEjS-69pV9VzLtd2qBTIYYe6aBQMXvX1K8V2cEghTu55SivpnYQ6NoQSg93nJMGjXg0s/w338-h400/089.png" width="338" /></a></div><p><br /></p><p>その後は元の画面に戻ります。</p><p>もし「e2studio」が「FSP Configuration」モードになっている場合は「C/C++」モードに切り替えましょう。</p><p>この切り替えは、画面右上の「<span style="color: red;">C/C++</span>」ボタンで行います。</p><p>クリックしてみましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR3WE3HN7W7j-x04fZgx67J1OJn8GXKVHmvykLfHpI54GqyqkIpYCtMMqief8bR3XAT6edL2m0UHWwN3NYmHNKmdsa0o3arWBGsvrKUMSY31zcOYFnLPOfSXRve7We0MNxF6zlUENHJw-pEkB7BtOh702W4UURUCrrUvllTgAdhUnTdM1l0sUYkJNPI-LC/s600/090.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 2" border="0" data-original-height="400" data-original-width="600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR3WE3HN7W7j-x04fZgx67J1OJn8GXKVHmvykLfHpI54GqyqkIpYCtMMqief8bR3XAT6edL2m0UHWwN3NYmHNKmdsa0o3arWBGsvrKUMSY31zcOYFnLPOfSXRve7We0MNxF6zlUENHJw-pEkB7BtOh702W4UURUCrrUvllTgAdhUnTdM1l0sUYkJNPI-LC/w400-h266/090.png" width="400" /></a></div><p><br /></p><p>左側の「プロジェクト・エクスプローラー」というタブの中には、元からあった「<span style="color: red;">Hinagata</span>」プロジェクトのディレクトリと、先程入力したプロジェクト名(つまりは「<span style="color: red;">asp_1.9.2</span>」)のディレクトリが追加され、表示されているはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZl714DmnpwQJY-Qh3L0PiAY2P_xqCnkNK6vb_rAf8wqO40DUt8aD3hCbE_ygBzTG0zBObFKsxz3I58y__89rUQO6hMJspMHEPRDSuQ4K2mG3R-piTkqJl8TqNFhBNBl78UybdxGBLxos3pKb_xlaigogyXFTGq_b-kJBhdGAjPJg12Oeh2e69GH9JOYud/s1000/091.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 3" border="0" data-original-height="800" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZl714DmnpwQJY-Qh3L0PiAY2P_xqCnkNK6vb_rAf8wqO40DUt8aD3hCbE_ygBzTG0zBObFKsxz3I58y__89rUQO6hMJspMHEPRDSuQ4K2mG3R-piTkqJl8TqNFhBNBl78UybdxGBLxos3pKb_xlaigogyXFTGq_b-kJBhdGAjPJg12Oeh2e69GH9JOYud/w400-h320/091.png" width="400" /></a></div><p><br /></p><p>次に、画面上部のメニューから「ウィンドウ」→「ビューの表示」→「<span style="color: red;">ビルドターゲット</span>」の順にクリックしていきましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQuaaDv_QRY0ePeGlH5WGz2O8KnOYuuGqIZQ8jmL-AP0UJWE6Jr3QUm6G9rtIfkmGQzDpvNK7xPCkGZbh8k5tbpK6fOSoDQo0NgyikxscP6BGaxz_h1Yo_Qso_x2X862VZI3T5yXBF3Y9L9Rg89Lgdm3InZ1H4Oo6zGnkyhgUjRZjyfd3I0awSVunFGkYx/s1200/092.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 4" border="0" data-original-height="800" data-original-width="1200" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQuaaDv_QRY0ePeGlH5WGz2O8KnOYuuGqIZQ8jmL-AP0UJWE6Jr3QUm6G9rtIfkmGQzDpvNK7xPCkGZbh8k5tbpK6fOSoDQo0NgyikxscP6BGaxz_h1Yo_Qso_x2X862VZI3T5yXBF3Y9L9Rg89Lgdm3InZ1H4Oo6zGnkyhgUjRZjyfd3I0awSVunFGkYx/w400-h266/092.png" width="400" /></a></div><p><br /></p><p>これにより、画面下右側のウィンドウに「<span style="color: red;">ビルドターゲット</span>」タブが追加されたはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCJ3D98GxNNB1VkFfX_qiaPWMDS4DI1i310v2b_bONNaZqcFsgII1D35JAyQAtXKH-swkYPf6mr9euPDwLlPfvLFt42lJurCAjESandip4cYMUZqva4zDRypEHONVMCzzadumA-76nW-GYFrb2k40GGhy-3YfYBPgXXYMdL4pMydCIucBtnJlpTga3sIcK/s800/093.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 5" border="0" data-original-height="800" data-original-width="600" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCJ3D98GxNNB1VkFfX_qiaPWMDS4DI1i310v2b_bONNaZqcFsgII1D35JAyQAtXKH-swkYPf6mr9euPDwLlPfvLFt42lJurCAjESandip4cYMUZqva4zDRypEHONVMCzzadumA-76nW-GYFrb2k40GGhy-3YfYBPgXXYMdL4pMydCIucBtnJlpTga3sIcK/w300-h400/093.png" width="300" /></a></div><p><br /></p><p>以降の作業は、このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#clean_build">プロジェクトのクリーンとビルド</a>」の項目を参考に続行してください。</p><p>この「e2 studio」は、Eclipseベースなので、上記のページと同じ方法で作業を続行できます、</p><p><span style="color: #fcff01;">但し、文中の「Makeターゲット」タブは、先程表示させた「ビルドターゲット」タブに置き換えてお読みください。</span></p><p>名称は違いますが、これらのタブは同じ働きをするものです。</p><p>「e2 studio」の画面右側に以下のようなアイコンが表示されて、これらをダブルクリックすることによりビルドができるまでを確認してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcsdqb0HRq5jgc7sHTpmjR0hT3eUxOoXoU_wB94ZTbCp1qkbuZ-eyB-2fqLCfMocg3oc6CJR7Uam1SVVuPpCtwxxy6uzhLK4rY2t5PKA4jH2-12KFjcSdFbXKmwVPLPo80K1zKMaQXHMpIEqnBbzULXltsfUaS-c5iZcddXHTr5Z7WTBy-1cxrJnRpdhBz/s800/094.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 6" border="0" data-original-height="800" data-original-width="600" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcsdqb0HRq5jgc7sHTpmjR0hT3eUxOoXoU_wB94ZTbCp1qkbuZ-eyB-2fqLCfMocg3oc6CJR7Uam1SVVuPpCtwxxy6uzhLK4rY2t5PKA4jH2-12KFjcSdFbXKmwVPLPo80K1zKMaQXHMpIEqnBbzULXltsfUaS-c5iZcddXHTr5Z7WTBy-1cxrJnRpdhBz/w300-h400/094.png" width="300" /></a></div><p><br /></p><p>「realclean」や「all」など、アイコンをダブルクリックすることにより、その操作に応じたメッセージが画面下部の「<span style="color: red;">コンソール</span>」タブ内に表示されるはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYX05yBa63sKgH6O0vkZYummNQ87cwF5e8aY-_S8ob5JxCmaw9m4e2rNAnI-hqqBS8n24zBqJiStrD6QUDcmvWywcdqeJJFo3xZZUhJxEI5zgQfyIsaTJVC7Nn9wnUWAPYB1fKdHt3QFUkyvVJmZtsH-lNxviV46b7aK-OnZ3D3Nm6YQL3F8HwiB0Fr4k5/s1920/095.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 7" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYX05yBa63sKgH6O0vkZYummNQ87cwF5e8aY-_S8ob5JxCmaw9m4e2rNAnI-hqqBS8n24zBqJiStrD6QUDcmvWywcdqeJJFo3xZZUhJxEI5zgQfyIsaTJVC7Nn9wnUWAPYB1fKdHt3QFUkyvVJmZtsH-lNxviV46b7aK-OnZ3D3Nm6YQL3F8HwiB0Fr4k5/w400-h235/095.png" width="400" /></a></div><p><br /></p><p>次回はいよいよ実機へプログラムを転送して、実行/デバッグを行っていきます!</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2024/02/toppersasp-arduino-uno-r4_18.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-47199514296844141562024-02-04T05:36:00.000-08:002024-03-04T04:27:45.199-08:00「pcDuino3」でYocto Project その7<p><a href="https://www.madogiwakoubou.com/2024/01/pcduino3yocto-project.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">こちら</a>からどうぞ。</p><p><br /></p><h2 id="update" style="text-align: left;"><u>「local.conf」の更新</u></h2><div><p>いよいよ「pcDuino3」のLinuxディストリビューションをビルドしたいと思うのですが、最後の…というより最も重要な作業が残っています。</p><p>それは「local.conf」というファイルを「pcDuino3」のための内容に更新することです。</p></div><div><p>その「local.conf」が何処にあるかというと、以下のパスに生成されているはずです。</p></div><div><br /></div><div><p><span style="color: #01ffff;">/home/yocto/poky/build/conf</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4DWEvOQdHpJUfjbaGQObofBjAG-ezhdkFLbsTYic4DGTGKSAJY6snzNXZNlxf0jvwlvVgVPJ948gwiyi6atnDj9UEJVPlEATX_-d3dK7mRr9SsldZ_54jtfbyXdYHfKqA80ElDN0016VqOY-oZEG97pS9AKVY6P9JzDDrP7SY3tjBeZrjx06gwKt4xTDc/s725/173.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 1" border="0" data-original-height="379" data-original-width="725" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4DWEvOQdHpJUfjbaGQObofBjAG-ezhdkFLbsTYic4DGTGKSAJY6snzNXZNlxf0jvwlvVgVPJ948gwiyi6atnDj9UEJVPlEATX_-d3dK7mRr9SsldZ_54jtfbyXdYHfKqA80ElDN0016VqOY-oZEG97pS9AKVY6P9JzDDrP7SY3tjBeZrjx06gwKt4xTDc/w400-h209/173.png" width="400" /></a></div><p></p></div><p><br /></p><p>このファイルは「Yocto Project」を導入した後に初めて「<span style="color: #fcff01;">$ source oe-init-build-env</span>」を実行した際に生成された「build」ディレクトリに含まれています。</p><p>内容は、以下の通り…といってもゴチャゴチャしていて難しそうです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjod4zxWhzBooKVGO7HxrjEEtURoqoSpKk3fbEqiAQNtQVODzgeytkx02PwkZo0ET5eYCXXfHnial10W-VRL8U84Cvz2CHsaKFK12vM5b9sTcHKOpws2nUmDw3gRmBI5hQVHiLswTCFSgXawl8KUcVzEu37ucKMOaKDHlGZRNGwemxnVRULzwHBtOl3Zm4q/s1210/174.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「local.conf」の内容" border="0" data-original-height="773" data-original-width="1210" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjod4zxWhzBooKVGO7HxrjEEtURoqoSpKk3fbEqiAQNtQVODzgeytkx02PwkZo0ET5eYCXXfHnial10W-VRL8U84Cvz2CHsaKFK12vM5b9sTcHKOpws2nUmDw3gRmBI5hQVHiLswTCFSgXawl8KUcVzEu37ucKMOaKDHlGZRNGwemxnVRULzwHBtOl3Zm4q/w400-h255/174.png" width="400" /></a></div><p><br /></p><p>今はあまり深入りせずに「pcDuino3」のディストリビューションを作るための要点だけに集中しましょう。</p><p>まずは、以下の箇所をご覧ください。</p><p>「local.conf」の16行から始まる「Machine Selection」という部分からです。</p><p>最後の行にご注目。</p><p>なにやら「<span style="color: red;">MACHINE</span>」という変数に「<span style="color: red;">qemux86-64</span>」という文字列を代入していますね。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">#</li>
<li style="background-color: #111188;"># Machine Selection</li>
<li style="background-color: #111166;">#</li>
<li style="background-color: #111188;"># You need to select a specific machine to target the build with. There are a selection</li>
<li style="background-color: #111166;"># of emulated machines available which can boot and run in the QEMU emulator:</li>
<li style="background-color: #111188;">#</li>
<li style="background-color: #111166;">#MACHINE ?= <font style="color: #aaaaff;">"qemuarm"</font></li>
<li style="background-color: #111188;">#MACHINE ?= <font style="color: #aaaaff;">"qemuarm64"</font></li>
<li style="background-color: #111166;">#MACHINE ?= <font style="color: #aaaaff;">"qemumips"</font></li>
<li style="background-color: #111188;">#MACHINE ?= <font style="color: #aaaaff;">"qemumips64"</font></li>
<li style="background-color: #111166;">#MACHINE ?= <font style="color: #aaaaff;">"qemuppc"</font></li>
<li style="background-color: #111188;">#MACHINE ?= <font style="color: #aaaaff;">"qemux86"</font></li>
<li style="background-color: #111166;">#MACHINE ?= <font style="color: #aaaaff;">"qemux86-64"</font></li>
<li style="background-color: #111188;">#</li>
<li style="background-color: #111166;"># There are also the following hardware board target machines included for</li>
<li style="background-color: #111188;"># demonstration purposes:</li>
<li style="background-color: #111166;">#</li>
<li style="background-color: #111188;">#MACHINE ?= <font style="color: #aaaaff;">"beaglebone-yocto"</font></li>
<li style="background-color: #111166;">#MACHINE ?= <font style="color: #aaaaff;">"genericx86"</font></li>
<li style="background-color: #111188;">#MACHINE ?= <font style="color: #aaaaff;">"genericx86-64"</font></li>
<li style="background-color: #111166;">#MACHINE ?= <font style="color: #aaaaff;">"edgerouter"</font></li>
<li style="background-color: #111188;">#</li>
<li style="background-color: #111166;"># This sets the default machine to be qemux86-64 if no other machine is selected:</li>
<li style="background-color: #111188;"><font style="color: red;">MACHINE ??= "qemux86-64"</font></li>
<li style="background-color: #111166;"></li>
</ol></code></div>
<p><br /></p><p>これは、「<a href="https://ja.wikipedia.org/wiki/QEMU" target="_blank">QEMU</a>」というオープンソースのエミュレータ(今使っている「VMware」みたいなものですね!)で動作するのインテルx86-64アーキテクチャ用のLinuxディストリビューションを選択する、という意味です。</p><p>つまり「Yocto Project」は、デフォルトの状態で「bitbake」すると「QEMU」用のディストリビューションが作成されるということになります。</p><p>このことから、この<span style="color: #fcff01;">「local.conf」というファイルは、作ろうとしているLinuxディストリビューションの各種設定を記述するファイル</span>であると推測できます。</p><p>というわけなので「local.conf」を「pcDuino3」で動くようなLinuxディストリビューションを作成できるように修正していけばよいのです。</p><p>まずは手始めに、今「<span>qemux86-64</span>」となっている「MACHINE」変数を変更する必要があります。</p><p>ところで、この<span style="color: #fcff01;">「<span>qemux86-64</span>」という文字列の根拠は何でしょうか?</span></p><p>実は、これは同名の設定ファイルを意味しています。</p><p>前回のレイヤーの話で触れた「meta~」というディレクトリ。</p><p>これらの中には「conf」というディレクトリと、その下に「machine」というディレクトリを持つものがあります。</p><p>例えば「meta」というディレクトリの中には「conf」というディレクトリがあって、さらにその下に「machine」というディレクトリが存在します。</p><p>この中には、多くの設定ファイル「~.conf」が置かれており、デフォルトで「MACHINE」変数に設定されている「<span style="color: red;">qemux86-64.conf</span>」も存在しています。</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/meta/conf/machine</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiSftffBzbQxxCgfqkyl2Re9i-D7jyS40EBbFpSrQr9YrmUHlf79KVhOgZ022lKGukZfcBeCMhu96Q_JgR0ZFyrn01J67BgXNoVwkckad1MxNr9xWHzum997I5jcaDqkVusV_xqlqTxW1r-wyOmfcDgJ2BmLfubqN8SuDC5aN-uL9aW5il8w3QxPW49vMU/s725/175.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 2" border="0" data-original-height="409" data-original-width="725" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiSftffBzbQxxCgfqkyl2Re9i-D7jyS40EBbFpSrQr9YrmUHlf79KVhOgZ022lKGukZfcBeCMhu96Q_JgR0ZFyrn01J67BgXNoVwkckad1MxNr9xWHzum997I5jcaDqkVusV_xqlqTxW1r-wyOmfcDgJ2BmLfubqN8SuDC5aN-uL9aW5il8w3QxPW49vMU/w400-h226/175.png" width="400" /></a></div><p><br /></p><p>興味のある方は、この設定ファイルの中を覗いてみてください。</p><p>つまり「pcDuino3」用の設定ファイルを見つけて、そのファイル名を「local.conf」の中で「MACHINE」変数に代入すればよさそうです。</p><p>いままでの作業で、この設定ファイルが存在してそうなレイヤー、もしくは「mata~」ディレクトリといえば…「meta-sunxi」あたりが臭そうですね。</p><p>というわけで「meta-sunxi」ディレクトリを開いてみると…あった!</p><p>「meta~/conf/machine」のパターンです!</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/meta-sunxi/conf/machine</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipox80E0o6DNAJbm0WFEyl3wN2HQPodgbQluxF7lrjL0VoQoEC1_BB5L4KePkCcZAA5zWjV39zwKrmv9cMzX1Zlfz7zTiZWbNXC4bir2QftywiuLjO4pal-8HX12p_W4AHr5HAQ7Squ1wcN4hVw-EdmhF2BQAAqejjoO-ELGeCN_SsjTCZD8S7Po19pFrJ/s725/176.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 3" border="0" data-original-height="409" data-original-width="725" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipox80E0o6DNAJbm0WFEyl3wN2HQPodgbQluxF7lrjL0VoQoEC1_BB5L4KePkCcZAA5zWjV39zwKrmv9cMzX1Zlfz7zTiZWbNXC4bir2QftywiuLjO4pal-8HX12p_W4AHr5HAQ7Squ1wcN4hVw-EdmhF2BQAAqejjoO-ELGeCN_SsjTCZD8S7Po19pFrJ/w400-h226/176.png" width="400" /></a></div><p><br /></p><p>この中に「pcDuino3」用の設定ファイルがあれば楽なんだけど…。</p><p>あーありました!!</p><p>その名もズバリ「<span style="color: red;">pcduino3.conf</span>」!</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/meta-sunxi/conf/machine</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGSykPaGLvhGGAX1C5alKJWz0lPfOYvqVDOrL8CiRxilFnYAJ5DTM0CTqiVIn6jfT2T4tYvIYjpM1fWp5dObDRxnhu3uE-zfyNFzgYoADx1aHTBTp3rqSO9hIyFj-MxG2pPtWdnEMpNtuPZM7pnKiYpd-4dC8ObUIoaF5RYJ-ZTv4Mm69JQvV3FsHbGbi7/s725/177.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 4" border="0" data-original-height="409" data-original-width="725" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGSykPaGLvhGGAX1C5alKJWz0lPfOYvqVDOrL8CiRxilFnYAJ5DTM0CTqiVIn6jfT2T4tYvIYjpM1fWp5dObDRxnhu3uE-zfyNFzgYoADx1aHTBTp3rqSO9hIyFj-MxG2pPtWdnEMpNtuPZM7pnKiYpd-4dC8ObUIoaF5RYJ-ZTv4Mm69JQvV3FsHbGbi7/w400-h226/177.png" width="400" /></a></div><p><br /></p><p>では、この「<span style="color: red;">pcduino3</span>.conf」を「<span style="color: red;">MACHINE</span>」変数に代入するよう「local.conf」を修正しましょう。</p><p>「local.conf」の37行から、以下のように修正して保存してください。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">#</li>
<li style="background-color: #111188;"># This sets the default machine to be qemux86-64 if no other machine is selected:</li>
<li style="background-color: #111166;"><font style="color: red;">MACHINE ??= "pcduino3"</font></li>
<li style="background-color: #111188;">#MACHINE ??= <font style="color: #aaaaff;">"qemux86-64"</font> コメントアウト</li>
<li style="background-color: #111166;"></li>
</ol></code></div>
<p><br /></p><h2 id="build" style="text-align: left;"><u>「pcDuino3」用ディストリビューションのビルド</u></h2><p>それでは、早速「pcDuino3」用のLinuxディストリビューションをビルドしましょう!</p><p>「/home/yocto/poky/build」に移動して以下のコマンドを入力します。</p><p><span style="color: #fcff01;">エラーが出る場合は、ホームから「$ cd poky/」でpokyディレクトリへ移動して「$ source oe-init-build-env」で環境変数を設定するのをお忘れなく!</span></p><p><br /></p><p><span style="color: #01ffff;">$ bitbake core-image-minimal</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig46bVlaPYEDtKI9BmitfcnxLh7-UJ5S2FtqFBihOdydwLCI2ZY2DPn4Kbp9FtEZzuzLg_cbFekF1f1iMNIqmLmaIOyo5aqs6SY2fzkQa7sPF1-mnabEMLK5rZ5d-cjEy9GD_KH_Cvy-bpDCGrvhaxl33FJVBzYsobN1RoLaeoiPVKgCScKzwgfZZA_DFZ/s786/178.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 1" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig46bVlaPYEDtKI9BmitfcnxLh7-UJ5S2FtqFBihOdydwLCI2ZY2DPn4Kbp9FtEZzuzLg_cbFekF1f1iMNIqmLmaIOyo5aqs6SY2fzkQa7sPF1-mnabEMLK5rZ5d-cjEy9GD_KH_Cvy-bpDCGrvhaxl33FJVBzYsobN1RoLaeoiPVKgCScKzwgfZZA_DFZ/w400-h271/178.png" width="400" /></a></div><p><br /></p><p>以前にも味わったので嫌な思い出があるかもしれません。</p><p>そう…<span style="color: #fcff01;">これは終了までに物凄い時間がかかる</span>のです。</p><p>というわけで、今日は寝ちゃいましょう…。</p><p><br /></p><p><span style="color: #01ffff;">....</span></p><p><span style="color: #01ffff;">zzzz</span></p><p><span style="color: #01ffff;">....</span></p><div><span style="color: #fcff01; font-size: large;">起床!</span></div><p><br /></p><p>警告は出ているものの無事終了のようです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO4qgbkXDiku_wdbdFPNpiuIJWr7P7Tr891k0yOCIwfU4cwKg-KhIubTEHy2iryBt84ODts5f4X6UjBl2bKwqtsu5FpplJ18BXzkMk0HTBFTZVxnwRT2AzPPDefny4dSoyTQUZYckUnZq9HN_fdGeUu5fM6yKnqV-zVIh25lzfjg5Dgs3F_y2BM4rjQ3uD/s786/179.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 2" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO4qgbkXDiku_wdbdFPNpiuIJWr7P7Tr891k0yOCIwfU4cwKg-KhIubTEHy2iryBt84ODts5f4X6UjBl2bKwqtsu5FpplJ18BXzkMk0HTBFTZVxnwRT2AzPPDefny4dSoyTQUZYckUnZq9HN_fdGeUu5fM6yKnqV-zVIh25lzfjg5Dgs3F_y2BM4rjQ3uD/w400-h271/179.png" width="400" /></a></div><p><br /></p><p>以下のディレクトリを開いてください。</p><p>色々できてると思います。</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/build/tmp/deploy/images/pcduino3</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRl_HvMJ4IWJxuz6F_J-Kp-SHYp2qZBn10Xy12rhPpsaqjm2m1DT3pbgn5hA_oweeBRvYP3WMq31JPEjMBoXjENatIfDRiSmnnwukxpMZkjnaah4bxQneYDtvDrOPLyv2Zp4cLP8Hiw0K7PzgfzTnGbvsOIwIixn491M7lImpITqFE9x6v3sgrEtJtpUZA/s942/180.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 5" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRl_HvMJ4IWJxuz6F_J-Kp-SHYp2qZBn10Xy12rhPpsaqjm2m1DT3pbgn5hA_oweeBRvYP3WMq31JPEjMBoXjENatIfDRiSmnnwukxpMZkjnaah4bxQneYDtvDrOPLyv2Zp4cLP8Hiw0K7PzgfzTnGbvsOIwIixn491M7lImpITqFE9x6v3sgrEtJtpUZA/w400-h256/180.png" width="400" /></a></div><p><br /></p><h2 id="create" style="text-align: left;"><u>「pcDuino3」起動用SDカードの作成</u></h2><p>さて、今回はこのできあがったLinuxディストリビューションのイメージファイルを「<span style="color: #fcff01;">bmaptool</span>」というコマンドでSDカードに書き込みたいと思います。</p><p>イメージファイルを書き込んだSDカードを「pcDuino3」に挿入して、Linuxを起動させようという目論見です。</p><p>この「bmaptool」で使用するイメージは「WIC」形式(「~.wic」)のファイルでなければいけません。</p><p>「<span style="color: red;">core-image-minimal-pcduino3.wic.gz</span>」っていう、それっぽいファイルがありますね。</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/build/tmp/deploy/images/pcduino3</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2E3PkoptuDDVFKQrbqiRxXuKnYrx0iSwoAauwG40XUWVJmVR-fIFgvgeHSiccgkhAVO9j5UojnndG3o7oGgB9WwS1Fj-bwJ3T1OI7vIQC4qSU4wjUzqhoIm1RiwuepELA6b4R4nehSgrLlHzoLzw5an4R2e2Ae5r6sUsrunPdXhijmeVyd0E6h1R11its/s942/181.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 6" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2E3PkoptuDDVFKQrbqiRxXuKnYrx0iSwoAauwG40XUWVJmVR-fIFgvgeHSiccgkhAVO9j5UojnndG3o7oGgB9WwS1Fj-bwJ3T1OI7vIQC4qSU4wjUzqhoIm1RiwuepELA6b4R4nehSgrLlHzoLzw5an4R2e2Ae5r6sUsrunPdXhijmeVyd0E6h1R11its/w400-h256/181.png" width="400" /></a></div><p><span style="color: #01ffff;"><br /></span></p><p>このファイルは圧縮されているようですので、解凍しましょう。</p><p>以下のコマンドです。</p><p>元の「~.wic.gz」ファイルを残す場合は「<span style="color: #fcff01;">-k(--keep)</span>」、このファイルはリンクされており、それを強制的に解凍するので「<span style="color: #fcff01;">-f(--force)</span>」オプションを付けましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ gunzip -k -f ./tmp/deploy/images/pcduino3/core-image-minimal-pcduino3.wic.gz</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidxK7iGbLeKPbCjWn7Z2K4GA6abVSfplzKhXUH6vGKP_G19yYHHQJuh5CnUJ7KUqeSmm1YooUMNwGeDKDD7mJFPs12JLwDBlHPvnxrwo-Jj9pJpdHw7817zXe1cx4JocZq6s_Mv9o2wA6J2RdjrtL_m9_Rkj9p7-i1BXWTDYnCV7_n1dyRnQKjEDpB669o/s786/182.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 3" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidxK7iGbLeKPbCjWn7Z2K4GA6abVSfplzKhXUH6vGKP_G19yYHHQJuh5CnUJ7KUqeSmm1YooUMNwGeDKDD7mJFPs12JLwDBlHPvnxrwo-Jj9pJpdHw7817zXe1cx4JocZq6s_Mv9o2wA6J2RdjrtL_m9_Rkj9p7-i1BXWTDYnCV7_n1dyRnQKjEDpB669o/w400-h271/182.png" width="400" /></a></div><p><br /></p><p>すると「/home/yocto/poky/build/tmp/deploy/image/pcduino3」に「<span style="color: red;">core-image-minimal-pcduino3.wic</span>」というファイル名で「WIC」形式のイメージファイルが解凍されました!</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/build/tmp/deploy/images/pcduino3</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi93-_2KqGSZbZ8jKBNPkEI1kaYN55I1ejYa_M3KWSh_XE8D-jL2vdaPB6dBMLH_obzJ8JF-f6HLiVoSF7_dh6yMY2OoxIRbB_rG3dpjtNeI37s_UZpWsaUsKO5OChXdvgrfae-lDB9-tASi_g5lVNkRR7J1oc_ZWvl72E0Tx06nHuRufdTuP5waEXXcWVV/s942/183.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 7" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi93-_2KqGSZbZ8jKBNPkEI1kaYN55I1ejYa_M3KWSh_XE8D-jL2vdaPB6dBMLH_obzJ8JF-f6HLiVoSF7_dh6yMY2OoxIRbB_rG3dpjtNeI37s_UZpWsaUsKO5OChXdvgrfae-lDB9-tASi_g5lVNkRR7J1oc_ZWvl72E0Tx06nHuRufdTuP5waEXXcWVV/w400-h256/183.png" width="400" /></a></div><p><br /></p><p>イメージファイルは準備OK。</p><p>あとは、これをSDカードに書き込むためのツール「<span>bmaptool</span>」の調達が必要です。</p><p>これは、Linuxディストリビューションと同じく「bitbake」コマンドを使用してビルドします。</p><p>以下のコマンドを実行します。</p><p>とかく待たされる印象が強い「bitbake」コマンドですが、今度はすぐに終わりますのでご安心を。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake bmap-tools-native</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKwHBZiKHlpOyknNHPEODXy9IoWCl6bxy6rK7fkq2-EwqeOjYtYSqCiFCYgY6ZUcYAHE-caelSfrXWZx2A7vFaJduSm3tb19w40IxcolG0yrPBoCSG85JrU0Hl_MJb2glAoljavhtTds7k3y3DeZl7nVYXmBt3NCTFQ4jpBIH6rwz-jl7qJrXPbrR6IzFU/s786/184.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 4" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKwHBZiKHlpOyknNHPEODXy9IoWCl6bxy6rK7fkq2-EwqeOjYtYSqCiFCYgY6ZUcYAHE-caelSfrXWZx2A7vFaJduSm3tb19w40IxcolG0yrPBoCSG85JrU0Hl_MJb2glAoljavhtTds7k3y3DeZl7nVYXmBt3NCTFQ4jpBIH6rwz-jl7qJrXPbrR6IzFU/w400-h271/184.png" width="400" /></a></div><p><br /></p><p>次に、マイクロSDカードを用意します。</p><p>加えて、これをお使いのパソコンに接続するためのアダプタが必要になります。</p><p>私は、こんなのを買ってきました。</p><p>USBのコネクタ部分にマイクロSDカードを差し込むようなタイプですが、これって、下手をするとパソコン側のUSBの口にマイクロSDカードが取り残されそうで怖いんだよなぁ…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYykuve6_P1j7EY5zHxR-xdUqPLAEmkcq6jO7tePuA5F61jC6UGsgS2Tp9TvDoqZk-9vRZpg2L1CF8Q4eE4ZQI-M2ajYdvQULJrG0pWsbRwdIOzRKiRAVK0twl59QA6A5xzAAyXMLusj6BynF_wn7Dy7cwhkurk077826Yr2gNP8b41D99NL04wWBwZLNP/s960/DSC_0769.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="マイクロSDカードUSBアダプタ" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYykuve6_P1j7EY5zHxR-xdUqPLAEmkcq6jO7tePuA5F61jC6UGsgS2Tp9TvDoqZk-9vRZpg2L1CF8Q4eE4ZQI-M2ajYdvQULJrG0pWsbRwdIOzRKiRAVK0twl59QA6A5xzAAyXMLusj6BynF_wn7Dy7cwhkurk077826Yr2gNP8b41D99NL04wWBwZLNP/w400-h300/DSC_0769.JPG" width="400" /></a></div><p><br /></p><p>マイクロSDカードを挿入したアダプタをパソコンに接続します。</p><p>すると、以下のようなダイアログが表示されますので「<span style="color: red;">仮想マシンに接続</span>」を選択して「<span style="color: red;">OK</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieCBBE3wDHYcu3WZOMfE34De-cK8xQj5v69TLCwijadweEv-vAWY5hpCugqRgTIW0_Gex7CLWEKwr-xUZsrmtwlKJXOe2R5SgBKsr18UAE0BKAY25wkF6XmIR8Vuh_QrXJVKhL3jhM-kZYNdhvMi9fuO7dBwk83DDhgTJi6XnVCO3Kuj1xH2cUVoPumuay/s774/185.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「新しいUSBデバイスが検出されました」ダイアログ" border="0" data-original-height="398" data-original-width="774" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieCBBE3wDHYcu3WZOMfE34De-cK8xQj5v69TLCwijadweEv-vAWY5hpCugqRgTIW0_Gex7CLWEKwr-xUZsrmtwlKJXOe2R5SgBKsr18UAE0BKAY25wkF6XmIR8Vuh_QrXJVKhL3jhM-kZYNdhvMi9fuO7dBwk83DDhgTJi6XnVCO3Kuj1xH2cUVoPumuay/w400-h206/185.png" width="400" /></a></div><p><br /></p><p>以下のような表示も出るかもしれませんが、これも「<span style="color: red;">OK</span>」ボタンをクリックして閉じちゃってください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKgUCL17o7KiTihASL3TneOeW5YCqT7AGA_CJKVlOl3TQqdqvqaswFTTZWZWjljor4B8vKOE0K_Oys197JQDc54Sc5ScSoBS3kL7jNFT-91jMHdScKFQsiv_LBwzvPki_6v9JUzbi0WwQDNb6an8fkMn44puVCFejM6B01uDQUcEeOMlQnDssp8FAybwgt/s584/186.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「取り外し可能デバイス」ダイアログ" border="0" data-original-height="418" data-original-width="584" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKgUCL17o7KiTihASL3TneOeW5YCqT7AGA_CJKVlOl3TQqdqvqaswFTTZWZWjljor4B8vKOE0K_Oys197JQDc54Sc5ScSoBS3kL7jNFT-91jMHdScKFQsiv_LBwzvPki_6v9JUzbi0WwQDNb6an8fkMn44puVCFejM6B01uDQUcEeOMlQnDssp8FAybwgt/w400-h286/186.png" width="400" /></a></div><p><br /></p><p>Ubuntu上のファイル・ブラウザの左側に、認識されたマイクロSDカードが表示されましたでしょうか?</p><p>以下の例では「<span style="color: red;">16 GB Volume</span>」と表示され、認識されていることが分かります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxAHMiKtN0KzHsj2OeYZfpNXB6G0qgho1Nc0QyYPSdKiGL93Xv2DX6W_7qLZN7jHftUBO1q0XFHGK8Esk7UKEZnNBUfU91YsUtGRBAb9LQQNLoawi0jsKe-XRyiLcvElkoDpr1DkhI1bgOJjcxx8Wkz2CKviGkCMj7Nx0WHXmurNg9fgIHp7p6GXIQ3vjQ/s942/187.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 8" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxAHMiKtN0KzHsj2OeYZfpNXB6G0qgho1Nc0QyYPSdKiGL93Xv2DX6W_7qLZN7jHftUBO1q0XFHGK8Esk7UKEZnNBUfU91YsUtGRBAb9LQQNLoawi0jsKe-XRyiLcvElkoDpr1DkhI1bgOJjcxx8Wkz2CKviGkCMj7Nx0WHXmurNg9fgIHp7p6GXIQ3vjQ/w400-h256/187.png" width="400" /></a></div><p><br /></p><p>この「16 GB Volume」の表示の部分にマウスカーソルをしばらく乗せておくと、<span style="color: red;">マウントされたディレクトリのパス</span>が表示されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGEx3pUjWL9LTiRpC7V0iZBuIkaM6W8ulEQC31nW1FJAogFii5bQF5Y962jVfOxlNvGNEf2luT84es5fjH7Mkh0lUixG7k4sMIs68TtKwhxuvheP17E9hrNaNxzPfvQ_daIP5KQiJHA1_Wq-ExgohF_AbaGwFGZrQn30kOxiTBR3kiZm69dy-ZeEKw4FqQ/s320/188.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 9" border="0" data-original-height="200" data-original-width="320" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGEx3pUjWL9LTiRpC7V0iZBuIkaM6W8ulEQC31nW1FJAogFii5bQF5Y962jVfOxlNvGNEf2luT84es5fjH7Mkh0lUixG7k4sMIs68TtKwhxuvheP17E9hrNaNxzPfvQ_daIP5KQiJHA1_Wq-ExgohF_AbaGwFGZrQn30kOxiTBR3kiZm69dy-ZeEKw4FqQ/w400-h250/188.png" width="400" /></a></div><p><br /></p><p>続いてターミナルに戻り、以下のコマンドを実行します。</p><p>これにより、<span style="color: red;">先程のディレクトリのパス</span>の行に「<span style="color: red;">/dev/sdb1</span>」と表示されているので、このマイクロSDカードは「/dev/sdb」という仮想ファイルとしてシステムに認識されたことが分かります。</p><p><span style="color: #fcff01;">他のデバイスの接続状況によっては「sdb」ではない可能性もあります</span>ので、この部分はよく確認してから作業を行ってください。</p><p><br /></p><p><span style="color: #01ffff;">$ df</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6mmlBbw9B3DS24uveHLoZIVvENChxe1jvftgFuzcO8NpGub8db_izjynATa_U29i4QOVR-3og6NviG4c_ic5xDVSJHj-wSsJrL-WmtDwt6YTQiLf1TIwTohLZ0JZr-Mz0waeQagg9Xz4Si5CUENcJ9pjWBtbFmY4io_ipC8VxWzDTyYwSf299mrmZQdCa/s786/189.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 5" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6mmlBbw9B3DS24uveHLoZIVvENChxe1jvftgFuzcO8NpGub8db_izjynATa_U29i4QOVR-3og6NviG4c_ic5xDVSJHj-wSsJrL-WmtDwt6YTQiLf1TIwTohLZ0JZr-Mz0waeQagg9Xz4Si5CUENcJ9pjWBtbFmY4io_ipC8VxWzDTyYwSf299mrmZQdCa/w400-h271/189.png" width="400" /></a></div><p></p><p></p><p><br /></p><p>上記のコマンドの結果、現在マイクロSDカードは「/media/yocto/<span style="color: #fcff01;">DDEB-8DCA</span>」というディレクトリとしてマウントされていることが分かります。</p><p>この「<span style="color: #fcff01;">DDEB-8DCA</span>」の部分は識別子であり、<span style="color: #fcff01;">マイクロSDカードによって異なります</span>ので、こちらも要確認です。</p><p>とにかく、マウントされているとLinuxディストリビューションのイメージファイルを書き込めないので、以下のコマンドでアンマウントします。</p><p>前述の識別子が「<span style="color: #fcff01;">DDEB-8DCA</span>」の場合は、以下のコマンドです。</p><p><br /></p><p><span style="color: #01ffff;">$ umount /media/yocto/DDEB-8DCA</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuKQqfYb9HPgrlXNxtbrjN2OY23oZhNjEf6H8qqDCOtKPUp1_p8Vb3zZbBEsX3CjuMnd4oe_wseNON0J9eMz6-BPKb-sulhL039F797w5tXqRA-KqFhIrPCCj7fjxj4-4eotR6-8u5_YN7PI42rIY3EEOLrUW68KiBDcq5yICdcSN0B4W2yb7V97ckvGGX/s786/190.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 6" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuKQqfYb9HPgrlXNxtbrjN2OY23oZhNjEf6H8qqDCOtKPUp1_p8Vb3zZbBEsX3CjuMnd4oe_wseNON0J9eMz6-BPKb-sulhL039F797w5tXqRA-KqFhIrPCCj7fjxj4-4eotR6-8u5_YN7PI42rIY3EEOLrUW68KiBDcq5yICdcSN0B4W2yb7V97ckvGGX/w400-h271/190.png" width="400" /></a></div><p><br /></p><p>では、いよいよLinuxディストリビューションのイメージファイルを書き込みましょう。</p><p>まずは「/dev/sdb」のパーミッションを設定します。</p><p>以下のコマンドを実行してください。</p><p>(パスワードを問われた場合は、入力します。)</p><p><br /></p><p><span style="color: #01ffff;">$ sudo chmod 666 /dev/sdb</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfL8gHxcZ4P7JAmvEQ84IGo2Ozxnrcd6ut3NuMpeeyoenXDTpYvsBHDsyv5ocCagWvTmg-GHu-BvFc-S2ffbEGIJa67Dbhyo_UR7eYUHAV4Wp8-JbV-TmJRHi66GdPm9q0WtRAyavUFk76LB-oWUuqM47VWcM1AOQz7o8U6vXDsBf6uLLnZBeLxcm83tXG/s786/191.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 7" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfL8gHxcZ4P7JAmvEQ84IGo2Ozxnrcd6ut3NuMpeeyoenXDTpYvsBHDsyv5ocCagWvTmg-GHu-BvFc-S2ffbEGIJa67Dbhyo_UR7eYUHAV4Wp8-JbV-TmJRHi66GdPm9q0WtRAyavUFk76LB-oWUuqM47VWcM1AOQz7o8U6vXDsBf6uLLnZBeLxcm83tXG/w400-h271/191.png" width="400" /></a></div><p></p><p><br /></p><p>イメージの書き込みは以下のコマンドで行います。</p><p>おっと、コマンドが見つからないとかなんとか?</p><p><br /></p><p><span style="color: #01ffff;">$ oe-run-native bmap-tools-native bmaptool copy ./tmp/deploy/images/pcduino3/core-image-minimal-pcduino3.wic /dev/sdb</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfYzfdBAD26Jwg5sanu9bds_bwvt_o-7WhtgZvY5FvmN_xeeoxPFxej8VBfyVrOzc6T9XCd9AWrf8buJ9kNjepeUExZ5_ih5h4BZLga_LAn1rJDVGtA4jkTeyJJr_ierCH2FUQpfO0xZW4Gp2lpOkt52eIQD4Xm0M7C5gwcr6AMaivXXwJJlPTHgLAJ3I/s786/192.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 8" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfYzfdBAD26Jwg5sanu9bds_bwvt_o-7WhtgZvY5FvmN_xeeoxPFxej8VBfyVrOzc6T9XCd9AWrf8buJ9kNjepeUExZ5_ih5h4BZLga_LAn1rJDVGtA4jkTeyJJr_ierCH2FUQpfO0xZW4Gp2lpOkt52eIQD4Xm0M7C5gwcr6AMaivXXwJJlPTHgLAJ3I/w400-h271/192.png" width="400" /></a></div><p></p><p><br /></p><p>エラーメッセージのアドバイス通り、以下のコマンドを実行します。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake bmap-tools-native -caddto_recipe_sysroot</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb1UYpPt951QGwvsldzhvFFyHWbzEANStX6iDnlL_APBn_a1FPPiscylbXTT9SMwUlUDJQ6kryALo976MHEXPgSbTyktf2E6X68bHOrU8nk52NQLQW5yx1p6x-R2vjZJkEfrA3a7fZyfOdDmUYV4PnereC89LcN55pARRNomiyTopoPmTtkN97LnlUCv3o/s786/193.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 9" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb1UYpPt951QGwvsldzhvFFyHWbzEANStX6iDnlL_APBn_a1FPPiscylbXTT9SMwUlUDJQ6kryALo976MHEXPgSbTyktf2E6X68bHOrU8nk52NQLQW5yx1p6x-R2vjZJkEfrA3a7fZyfOdDmUYV4PnereC89LcN55pARRNomiyTopoPmTtkN97LnlUCv3o/w400-h271/193.png" width="400" /></a></div><p><br /></p><p>これで良いのか?</p><p>再度、イメージの書き込みにトライ!</p><p>最小限の「core-image-minimal」というタイプのディストリビューションなので、それほどの時間は掛かりません。</p><p>以下の表示が出れば、イメージの書き込み完了です。</p><p><br /></p><p><span style="color: #01ffff;">$ oe-run-native bmap-tools-native bmaptool copy ./tmp/deploy/images/pcduino3/core-image-minimal-pcduino3.wic /dev/sdb</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgovIvNQaDlZBQYVFcE9TAtiEIq9sgcux4kf9SfOp33o1my-cH82GB8LtgzABilYckTzkHzy6XjqA-ivtUtpHK_fuZFv4-iuPKFZ2jv3Vrn5uFBF-NyPxSKwZF4qRAgJM5bYyvoW74TK3geAHh0pxM7RN5uBHiXuBtQwV0I4bN6_tE-wXD_DYiyrCe3cOTF/s786/194.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 10" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgovIvNQaDlZBQYVFcE9TAtiEIq9sgcux4kf9SfOp33o1my-cH82GB8LtgzABilYckTzkHzy6XjqA-ivtUtpHK_fuZFv4-iuPKFZ2jv3Vrn5uFBF-NyPxSKwZF4qRAgJM5bYyvoW74TK3geAHh0pxM7RN5uBHiXuBtQwV0I4bN6_tE-wXD_DYiyrCe3cOTF/w400-h271/194.png" width="400" /></a></div><p><br /></p><p>イメージの書き込みが完了したマイクロSDカードを安全に引き抜きましょう。</p><p>ファイル・ブラウザの<span style="color: red;">イジェクトボタン</span>をクリックするか、もちろんターミナルから「umount」コマンドを実行しても構いません。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8oRndQ_RajR0c2lvmMa85THGtFjIO95SOkM4LCoiLbTuDUYWlp4UJM8IS8eK93znOUrOG044pqE3Nn2BeLiLXZ1S6p5Q_XKkAJ23LciO9Bh6ZRh2v4k36FzxhfaR3S16PeGSoMhypqGWtSf0U03JpnFay39wXfyWK12TYmQM3nXUe2rDqhfLkLbrJpURV/s942/195.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 10" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8oRndQ_RajR0c2lvmMa85THGtFjIO95SOkM4LCoiLbTuDUYWlp4UJM8IS8eK93znOUrOG044pqE3Nn2BeLiLXZ1S6p5Q_XKkAJ23LciO9Bh6ZRh2v4k36FzxhfaR3S16PeGSoMhypqGWtSf0U03JpnFay39wXfyWK12TYmQM3nXUe2rDqhfLkLbrJpURV/w400-h256/195.png" width="400" /></a></div><p><br /></p><h2 id="boot" style="text-align: left;"><u>「pcDuino3」用ディストリビューションの起動</u></h2><p>それでは、イメージの書き込みが完了したマイクロSDカードを「pcDuino3」に挿入し、Linuxを起動させてみましょう。</p><p>「pcDuino3」には、HDMI接続のディスプレイとUSBキーボードを接続しておきます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgah6uzDirdOUoZccmt_yWNTuIRcZQpbYsjwBLQThWtJbmD4Pom-Ew-0EzbhBQ41mjcuchyfmPmua8whql6d4T9XdXlh2zUw4iLsx0UJeJIVL5DzEICOArZ9_Xz2RQwonX8vueYTmqewEoWVuzmE2nzrxqeJICqsEjidZZzhznvtD0qHXzV2COSuTRXpayo/s960/DSC_0771.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Linuxの起動 - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgah6uzDirdOUoZccmt_yWNTuIRcZQpbYsjwBLQThWtJbmD4Pom-Ew-0EzbhBQ41mjcuchyfmPmua8whql6d4T9XdXlh2zUw4iLsx0UJeJIVL5DzEICOArZ9_Xz2RQwonX8vueYTmqewEoWVuzmE2nzrxqeJICqsEjidZZzhznvtD0qHXzV2COSuTRXpayo/w400-h300/DSC_0771.JPG" width="400" /></a></div><p><br /></p><p>「pcDuino3」のマイクロUSBから給電させると、なにかディスプレイに表示されましたよ!</p><p>Linuxは順調に起動しているようです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv1YxV560Dhj5wRUaJFhWiJENLgfcSweuIB7fw-nWknTuTk_WlwLX9nqN2n0RCdeXNpyIK-BfpUe2lJPATGdEw92eWRY2UKaCn1BAScsLo3vgJAfsOb1A9y1lYji5dzaByPlXCPAiIzoDSZHn_04960_qGfRrLT5Qt7mV8-xFd8AAjpixEPKCZNvrEudlK/s960/DSC_0772.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Linuxの起動 - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv1YxV560Dhj5wRUaJFhWiJENLgfcSweuIB7fw-nWknTuTk_WlwLX9nqN2n0RCdeXNpyIK-BfpUe2lJPATGdEw92eWRY2UKaCn1BAScsLo3vgJAfsOb1A9y1lYji5dzaByPlXCPAiIzoDSZHn_04960_qGfRrLT5Qt7mV8-xFd8AAjpixEPKCZNvrEudlK/w400-h300/DSC_0772.JPG" width="400" /></a></div><p><br /></p><p>ログインは「root」とでも入力しときましょう。</p><p>パスワードの設定はありませんので入力不要です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG66MIgX3icajsvHeOurAhW76B0d57TxywCo86HuTcsJOOwAmCKBPlhuLJLsZYDRE1I762smbik-3yxoCqUkhk6ya2v47vsUk5asSAgoCGnrfb-Gkkc1-Mg1I8amj4fWETEMqcDf6L-BT4WMr3kVp1rgWT5z4xeYctFjCKdDRidJ7MSvwdA1vuoP9k3cfZ/s960/DSC_0773.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Linuxの起動 - 3" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG66MIgX3icajsvHeOurAhW76B0d57TxywCo86HuTcsJOOwAmCKBPlhuLJLsZYDRE1I762smbik-3yxoCqUkhk6ya2v47vsUk5asSAgoCGnrfb-Gkkc1-Mg1I8amj4fWETEMqcDf6L-BT4WMr3kVp1rgWT5z4xeYctFjCKdDRidJ7MSvwdA1vuoP9k3cfZ/w400-h300/DSC_0773.JPG" width="400" /></a></div><p><br /></p><p>早速、今回の主目的…新しいカーネルで動いているのかどうかを確かめます。</p><p>以下のコマンドを入力と…。</p><p><br /></p><p><span style="color: #01ffff;"># uname -a</span></p><p><br /></p><p>OK、カーネル・バージョンは「<span style="color: #fcff01;">6.1.9</span>」と出ました!!</p><p>デフォルトでインストールされていたカーネルが「<span style="color: #fcff01;">3.4.79</span>」だったので、大きな進歩です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAAItnCEDhYa5xcNxV4ZKvBGqchQor3jAu4IR8jeg-3pHYx5j3I5GgLSyTXxgc14ebZcCceW4M5dNEx1p_KOF3smvXSbtSN1RUObmqUW8AG0VvFfKryjIctIadoWx8zJg2mgQBE19zICGwPASmBaXWIEga3Vlyteie4RKZWOsJNEwUtnzGTYKynTXc51I1/s960/DSC_0774.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Linuxの起動 - 4" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAAItnCEDhYa5xcNxV4ZKvBGqchQor3jAu4IR8jeg-3pHYx5j3I5GgLSyTXxgc14ebZcCceW4M5dNEx1p_KOF3smvXSbtSN1RUObmqUW8AG0VvFfKryjIctIadoWx8zJg2mgQBE19zICGwPASmBaXWIEga3Vlyteie4RKZWOsJNEwUtnzGTYKynTXc51I1/w400-h300/DSC_0774.JPG" width="400" /></a></div><p><br /></p><p>さて「Yocto Project」を使用して、無事Linuxディストリビューションを作成できたわけですが「core-image-minimal」という最小限の構成です。</p><p><a href="https://ja.wikipedia.org/wiki/Secure_Shell" target="_blank">SSH</a>すら載ってません。</p><p>次回以降、より実用的なディストリビューションを構築していきましょう。</p><p>SSHは必須、Gitや「Node.js」も欲しいですよね。</p><p>当初の目的からは逸れますが、せっかくHDMIがあるのだから、ちゃんとしたGUIも表示させてみたいかも。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2024/03/pcduino3yocto-project.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-43152375914765302022024-01-20T23:46:00.000-08:002024-02-18T00:38:19.579-08:00TOPPERS/ASP - Arduino UNO R4版 その5<p><a href="https://www.madogiwakoubou.com/2023/12/toppersasp-arduino-uno-r4_15.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/10/toppersasp-arduino-uno-r4.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>デバッガ⇔ターゲット・ケーブルの作成</u></h2><p>今回は、デバッガとしてRenesas純正の「E2 emulator Lite」を使用しますが、これを「Arduino UNO R4」に接続するためのケーブルが必要になります。</p><p>「E2 emulator Lite」と「Arduino UNO R4」を接続した例は、以下のようになります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7issiXBrdY1e87hVG8kghaTNCsSB2Og93lXy3VIsh9Jmbf44FRUsS_QOD4gCN7PfZwbjci0We_mtdCY-DYFqOM0sdBstrv8v2kNFpnhsOxIb7b3_KXuMQsOu9jG2pOCKt-VhBwSzmyDprN1Er0StnpHiX8Am636zJDajkZyp_GAnuUSLbrzb84tQurlXA/s960/DSC_0747.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「E2 emulator Lite」と「Arduino UNO R4」の接続例" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7issiXBrdY1e87hVG8kghaTNCsSB2Og93lXy3VIsh9Jmbf44FRUsS_QOD4gCN7PfZwbjci0We_mtdCY-DYFqOM0sdBstrv8v2kNFpnhsOxIb7b3_KXuMQsOu9jG2pOCKt-VhBwSzmyDprN1Er0StnpHiX8Am636zJDajkZyp_GAnuUSLbrzb84tQurlXA/w400-h300/DSC_0747.JPG" width="400" /></a></div><p><br /></p><p>「E2 emulator Lite」を購入するとフラットケーブルが同梱されています。</p><p>しかし、これは2.54mピッチの20ピン用で、1.27mmピッチの10ピンヘッダの「Arduino UNO R4」のデバッグ端子には、どう頑張っても接続できません。</p><p>ですので、面倒でもケーブルの作成が必要です。</p><p>早速、部材集めです!</p><p>電子部品の購入は、やっぱりボクらの強い見方、<a href="https://akizukidenshi.com/catalog/" target="_blank">秋月電子通商さん</a>をオススメします!</p><p>お持ちでない方は、デバッガの「<a href="https://akizukidenshi.com/catalog/g/gM-10459/" target="_blank">E2 emulator Lite</a>」も一緒に導入できちゃうので、大変便利です。</p><p>さて、ケーブルに必要な部品は以下の通りです。</p><p><br /></p><p>●<a href="https://akizukidenshi.com/catalog/g/gC-06777/" target="_blank">2×10(20P)両端コネクタ付IDCリボンケーブル</a> × 1本</p><p>●<a href="https://akizukidenshi.com/catalog/g/gC-06776/" target="_blank">2×5(10P)両端コネクタ付IDCリボンケーブル</a> × 1本</p><p>●<a href="https://akizukidenshi.com/catalog/g/gP-14224/" target="_blank">ピッチ変換基板 2×5⇔1×10</a> × 2枚</p><p>●<a href="https://akizukidenshi.com/catalog/g/gC-13800/" target="_blank">ピンヘッダ 1.27mm 2×5(10P)</a> × 2個</p><p>●<a href="https://akizukidenshi.com/catalog/g/gC-05371/" target="_blank">ブレッドボード・ジャンパーワイヤ(オス-オス)</a> × 1セット</p><p><br /></p><p>この他、ワイヤーが必要ですが、適当に余っている物をご使用ください。</p><p>余りがない場合は、<a href="https://akizukidenshi.com/catalog/g/gP-06756/" target="_blank">こちら</a>のような「AWG24」くらいの太さの頑丈なものを推奨します。</p><p>これらの部品を使用した完成イメージは、以下の通り。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikB0L4-XFFbwhtaZfJKpFib74cqBZ5asIJN2BK1KgHSfetlHDFgpnG4rf0kl0-CPdIdHiy78XEqs5fitpC5yIR5oMPZGs7kvNs6zhyphenhyphenmFQtFXpMneraLhndVXwaGGvR-fVnM-gIABN_uLxwY1uiJUBny_skYEI43gPceJFyw7jrrCoU38rHXGYmRH0Q39wk/s960/DSC_0751.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="ケーブル完成イメージ" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikB0L4-XFFbwhtaZfJKpFib74cqBZ5asIJN2BK1KgHSfetlHDFgpnG4rf0kl0-CPdIdHiy78XEqs5fitpC5yIR5oMPZGs7kvNs6zhyphenhyphenmFQtFXpMneraLhndVXwaGGvR-fVnM-gIABN_uLxwY1uiJUBny_skYEI43gPceJFyw7jrrCoU38rHXGYmRH0Q39wk/w400-h300/DSC_0751.JPG" width="400" /></a></div><p><br /></p><p>さて、これから配線をしていくのですが、各信号線の詳細を確認しておきましょう。</p><p>今回「E2 emulator Lite」と「Arduino UNO R4」を接続するのは、<span style="color: #fcff01;">SWD(Serial Wire Debug)</span>という方式です。</p><p>ARM系のマイコンと、それに対応するデバッガであれば、各社ほぼ共通の接続方式であり、信号線が少ないのが特徴です。</p><p>殆どの場合、以下の信号線をマイコンとデバッガのそれぞれに接続するだけで動作します。</p>
<center>
<table border="2">
<tbody><tr>
<th bgcolor="dodgerblue">信号名</th>
<th bgcolor="dodgerblue">詳細</th>
</tr>
<tr>
<td bgcolor="purple">VCC</td>
<td>電源</td>
</tr>
<tr>
<td bgcolor="green">SWDIO</td>
<td>SWD通信用データ</td>
</tr>
<tr>
<td bgcolor="black">GND</td>
<td>グランド</td>
</tr>
<tr>
<td bgcolor="yellow">SWCLK</td>
<td>SWD通信用クロック</td>
</tr>
<tr>
<td bgcolor="gray">RESET</td>
<td>リセット</td>
</tr>
</tbody></table></center><p><br /></p><p>本当にこれらの信号線のピンが存在するのか?一応コネクタのピン配置を確認しておきましょう。</p><p>まずは「E2 emulator Lite」から。</p><p>以下の図の<span style="color: red;">(b)</span>のコネクタを使用します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizs7U0s9UMyehvbx8hoMDFMEFG5Lwat_sQomVbvt7PbQ11S1MxVJrHrjDB0B7Pn6fHyM_l-an-y68hx2RwYRf82lBZgGx1xHEFLWpE7aBSDZ1ztHPgz5fWwHkKZc7HWdgs9lwei08yJy9hJjZ8Seu7oqiYL1eTvDfScwuuC_F6qp04-d_taDaXMS0DX6AX/s1022/080.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「E2 emulator Lite」側のコネクタ" border="0" data-original-height="702" data-original-width="1022" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizs7U0s9UMyehvbx8hoMDFMEFG5Lwat_sQomVbvt7PbQ11S1MxVJrHrjDB0B7Pn6fHyM_l-an-y68hx2RwYRf82lBZgGx1xHEFLWpE7aBSDZ1ztHPgz5fWwHkKZc7HWdgs9lwei08yJy9hJjZ8Seu7oqiYL1eTvDfScwuuC_F6qp04-d_taDaXMS0DX6AX/w400-h275/080.png" width="400" /></a></div><p><br /></p><p>そして「E2 emulator Lite」のマニュアルによると、このコネクタのピン配置は以下の通りとなります。</p><p>上記の各種信号線が、ちゃんと存在していることが確認できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiknVFTHPMIkc0ljAluGxWuRSqwtexo6Roie-XDbyCyS8hV4ee4lst8DtsTx7hyphenhyphennT4O0wvheBi-985oVXvl1NQhNR8u1SCJs0Bw3Lou0jODIwqWeZwz7rKOB4RhYFRCJN0T26g-k_I11CZlYVI5QWHpXd2RIEZnkvS9LzPE88qnR9rgfg-WEfbVZMgAhSKa/s956/081.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「E2 emulator Lite」側のコネクタのピン配置 - 1" border="0" data-original-height="701" data-original-width="956" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiknVFTHPMIkc0ljAluGxWuRSqwtexo6Roie-XDbyCyS8hV4ee4lst8DtsTx7hyphenhyphennT4O0wvheBi-985oVXvl1NQhNR8u1SCJs0Bw3Lou0jODIwqWeZwz7rKOB4RhYFRCJN0T26g-k_I11CZlYVI5QWHpXd2RIEZnkvS9LzPE88qnR9rgfg-WEfbVZMgAhSKa/w400-h294/081.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">上記の内「RES」は「RESET」と同義です。</span></p><p>また、上記の内「UCON」という信号は、ターゲット側(つまり「Arduino UNO R4」)でGNDにおちているか否かで、接続の有無を検出する信号であるため、配線が必要です。</p><p><br /></p><p>次に「Arduino UNO R4」です。</p><p>「Arduino UNO R4」の回路図の「SWD CONNECTOR」において、こちらにも各種信号線が存在していますね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9KX9YWX-ET7ttXDoi_aNfdZQDeRnbNvtTgxf9k04amuagzgU800e07T3_nsuhZnlOqEHC-i88JxF0L5ajHv-36x1smPil0JNbtXLSRqoWVZiyzf_Huqys3i0UmsaswtJg2-_h45SVZAuFT9u-Rz2AIo1y8g84sJ1OCqsmD0gFE58L88b3yF-MG907wURw/s700/082.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」の回路図 - 1" border="0" data-original-height="300" data-original-width="700" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9KX9YWX-ET7ttXDoi_aNfdZQDeRnbNvtTgxf9k04amuagzgU800e07T3_nsuhZnlOqEHC-i88JxF0L5ajHv-36x1smPil0JNbtXLSRqoWVZiyzf_Huqys3i0UmsaswtJg2-_h45SVZAuFT9u-Rz2AIo1y8g84sJ1OCqsmD0gFE58L88b3yF-MG907wURw/w400-h171/082.png" width="400" /></a></div><p><br /></p><p>基本的には、同じ名前の信号がそれぞれ接触するようなケーブルの配線をすれば良いのですが、<span style="color: #fcff01;">今回はひと工夫加えました。</span></p><p>「Arduino UNO R4」の回路図をもう一度ご覧ください。</p><p>「<span style="color: #2b00fe;">P502_SCI1_RXD</span>」と「<span style="color: red;">P501_SCI1_TXD</span>」という信号も「SWD CONNECTOR」に配線されていますね?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQL2wpuLCaFhQaDKUd4487ygHlI5LXTX8R0t-YCoj0hNvaDqdw2fgoWNBsNfnfdGcrDu263WL8o8M9hLOeqCvsR00M6imu6wbnONJjIOLkBePr-0za9e1WiOco2KcCoVdOHdcN_OzjSIxxDg7swB7YR9268GP5ouifM4yGoVmESTGEqQcR4kMCwCmTYBuU/s700/083.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」の回路図 - 2" border="0" data-original-height="300" data-original-width="700" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQL2wpuLCaFhQaDKUd4487ygHlI5LXTX8R0t-YCoj0hNvaDqdw2fgoWNBsNfnfdGcrDu263WL8o8M9hLOeqCvsR00M6imu6wbnONJjIOLkBePr-0za9e1WiOco2KcCoVdOHdcN_OzjSIxxDg7swB7YR9268GP5ouifM4yGoVmESTGEqQcR4kMCwCmTYBuU/w400-h171/083.png" width="400" /></a></div><p><br /></p><p>これらの信号はシリアル通信の信号です。</p><p>TOPPERS/ASPを動作させる際に、デバッグのためにシリアル通信を使用しますが、そのための信号をここから取れそうです。</p><p>それを踏まえた上で、作成するケーブルの具体的な配線は以下の通りとしました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidpwSuh-UZK1tRE_LNkxKb8cxxO4BHIV1_V9bKU4uWLuCn-QeFE_znleO8lyFN7KPgcr0YZhMNv_89QBqwE0LsUdXw6MeTjSpdRuWjdrPJBlmHVhyphenhyphenRQo4AvkQG6_18IwxjhelbVVE_9n0GGlOH9rkDAA0QIej6K3slXZIxI0_C7BDwQoJphIF6rQ5j6DvS/s1920/084.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ケーブル配線図" border="0" data-original-height="900" data-original-width="1920" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidpwSuh-UZK1tRE_LNkxKb8cxxO4BHIV1_V9bKU4uWLuCn-QeFE_znleO8lyFN7KPgcr0YZhMNv_89QBqwE0LsUdXw6MeTjSpdRuWjdrPJBlmHVhyphenhyphenRQo4AvkQG6_18IwxjhelbVVE_9n0GGlOH9rkDAA0QIej6K3slXZIxI0_C7BDwQoJphIF6rQ5j6DvS/w400-h200/084.png" width="400" /></a></div><p><br /></p><p>シリアル通信の信号線「<span style="color: #2b00fe;">RXD</span>」、「<span style="color: red;">TXD</span>」、「<span style="color: #999999;">GND</span>」の引き出し線は「<a href="https://akizukidenshi.com/catalog/g/gC-05371/" target="_blank">ブレッドボード・ジャンパーワイヤ(オス-オス)</a>」の片方のハウジング部分を切って使用しています。</p><p>ちょっと勿体ないけど…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguwJlOUVjFPq-4H0KKY9qcXlT9amZPX-p3E4No0LH5HNwh9gIswzI-PcuMNMbh2DTfwOp6oRhN1WV_ri4_PoKfP0mC4a_uB6tJTAvHE6HtqRHzZdqTtvNhpXKW8Vbdbl2HTvxBCFBVDR8NJ-IsSD-U2vcp4C6YmluHpaUDMEAT_5xB2jGE-enxrtx9SV5s/s960/DSC_0748.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="作成したケーブル(表)" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguwJlOUVjFPq-4H0KKY9qcXlT9amZPX-p3E4No0LH5HNwh9gIswzI-PcuMNMbh2DTfwOp6oRhN1WV_ri4_PoKfP0mC4a_uB6tJTAvHE6HtqRHzZdqTtvNhpXKW8Vbdbl2HTvxBCFBVDR8NJ-IsSD-U2vcp4C6YmluHpaUDMEAT_5xB2jGE-enxrtx9SV5s/w400-h300/DSC_0748.JPG" width="400" /></a></div><p><br /></p><p>裏から見ると、こんな感じ。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtE3fjrO5IMb3QZurva8hIj4P2ZCUYmmoHv7LlGMslv-X8bIQoQMpbila-vbqav-lg9jNo_faltFAvZI79Bup09wIBYkZJXLhyphenhyphenMdQetmujFHeMThrYYFj2LssPVrSBIpcQbowGDsIg-2h8D2GhbITJtKKXzRG_VNEb_0Xj9T93IkkBAD_E1QdspKQJqV4M/s960/DSC_0749.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="作成したケーブル(裏)" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtE3fjrO5IMb3QZurva8hIj4P2ZCUYmmoHv7LlGMslv-X8bIQoQMpbila-vbqav-lg9jNo_faltFAvZI79Bup09wIBYkZJXLhyphenhyphenMdQetmujFHeMThrYYFj2LssPVrSBIpcQbowGDsIg-2h8D2GhbITJtKKXzRG_VNEb_0Xj9T93IkkBAD_E1QdspKQJqV4M/w400-h300/DSC_0749.JPG" width="400" /></a></div><p><br /></p><p>注意しなければいけないのは「E2 emulator Lite」側の<a href="https://akizukidenshi.com/catalog/g/gP-14224/" target="_blank">ピッチ変換基板</a>において、<a href="https://akizukidenshi.com/catalog/g/gC-13800/" target="_blank">ピンヘッダ</a>が<span style="color: #fcff01;">10ピン</span>なのに対して、これに刺す<a href="https://akizukidenshi.com/catalog/g/gC-06777/" target="_blank">リボンケーブル</a>が<span style="color: #fcff01;">20ピン</span>であることです。</p><p>再度「E2 emulator Lite」のマニュアルのピン配置の表をご覧ください。</p><p>これによると、11ピン以降は何も<span style="color: red;">信号線が配線されていない</span>ことが分かります。</p><p>つまり、<span style="color: #fcff01;">後半の10ピンは未使用</span>です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTELgRIbU4XfMcIrpcmc40T3fYkIUcFm_8zeGJmSLxqN3skBbfmFhL3czZrtwrZlB_KgMLp368hwO-vaL9iaNYhxb6kZcesUjDH-vB0eQn-MXcwePFlfA4z65flrJ7vhSZ87SRyuopFxY-IOsl5B31QUIRnJqaiZd_sXT_Fop2PArA0g7PyTt9grLDeRIB/s1096/085.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「E2 emulator Lite」側のコネクタのピン配置 - 2" border="0" data-original-height="830" data-original-width="1096" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTELgRIbU4XfMcIrpcmc40T3fYkIUcFm_8zeGJmSLxqN3skBbfmFhL3czZrtwrZlB_KgMLp368hwO-vaL9iaNYhxb6kZcesUjDH-vB0eQn-MXcwePFlfA4z65flrJ7vhSZ87SRyuopFxY-IOsl5B31QUIRnJqaiZd_sXT_Fop2PArA0g7PyTt9grLDeRIB/w400-h303/085.png" width="400" /></a></div><p><br /></p><p>ですので「E2 emulator Lite」側の<a href="https://akizukidenshi.com/catalog/g/gP-14224/" target="_blank">ピッチ変換基板</a>の10ピンの<a href="https://akizukidenshi.com/catalog/g/gC-13800/" target="_blank">ピンヘッダ</a>に、20ピンの<a href="https://akizukidenshi.com/catalog/g/gC-06777/" target="_blank">リボンケーブル</a>を刺す場合、以下のように<span style="color: #fcff01;">1から10ピンまでを通電させるようにします。</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEize0HwRy2w74oB-KGjNw9D79pb-siK1d9LLV7M9jmif0ZtsDMKGCA4zGelw4fAIXEVAn_JBzgqsh-1wXaRSbBnuC3TAF3ExDD1eC-_Gyzd6uaRIcG2gT9eDph_D34a1sQ5u6ONVeSPgQKw_M0VfSsEh3kDGvp8-Rs9HHIrsOOE3bOAEexXCXjxakjDVm3R/s960/DSC_0750.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="10ピンのピンヘッダに20ピンのリボンケーブルを刺す様子" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEize0HwRy2w74oB-KGjNw9D79pb-siK1d9LLV7M9jmif0ZtsDMKGCA4zGelw4fAIXEVAn_JBzgqsh-1wXaRSbBnuC3TAF3ExDD1eC-_Gyzd6uaRIcG2gT9eDph_D34a1sQ5u6ONVeSPgQKw_M0VfSsEh3kDGvp8-Rs9HHIrsOOE3bOAEexXCXjxakjDVm3R/w400-h300/DSC_0750.JPG" width="400" /></a></div><p><br /></p><p>この作業は慎重に行ってください。</p><p><span style="color: #fcff01;">もしズレて刺したまま通電してしまうと、最悪の場合は「E2 emulator Lite」が壊れてしまうことがあります。</span></p><p>ですので、この部分はテスターなどを使用して配線を確認後、正しかったらグルーガンなどで固定してしまうと良いかもしれませんね。</p><p>鋭い方はお気付きかもしれませんが、単純にデバッガとターゲットを接続するだけなら、<a href="https://akizukidenshi.com/catalog/g/gC-06777/" target="_blank">2×10(20P)両端コネクタ付IDCリボンケーブル</a>が一本あれば、電気的には事足りるんです。</p><p>しかし、その場合は「Arduino UNO R4」のJDIGITALピンヘッダと幅が広い20ピンのリボンケーブルのピンソケットが干渉し、ピンソケットを物理的に削ったりしない限り刺さりません。</p><p>また、せっかくSWDピンヘッダに配線されているシリアル通信の信号線を無駄にしたくなかったため、それらを引き出すためにも、あえて今回のケーブル作成という手間をかけました。</p><p>引き出したシリアル通信ポートはデバッグ用途専用に使用することにして、正規のArduinoインターフェースの方に配線されているシリアル通信ポートはアプリケーション目的に使用しましょう。</p><p><br /></p><p>さて、苦手な半田付けも無事終了。</p><p>組み込みエンジニアは、ハードウェアに触れる機会も多いため半田付けが得意な人もいるかもしれませんが、そういう人を本当に尊敬します。</p><p>私は、いくら努力してもダメ…。</p><p>(写真でバレる。キタナイでしょ?)</p><p><strike>次回は、作成したケーブルでデバッガとターゲットを接続し、実際にTOPPERS/ASPを動かしていきましょう!</strike></p><p>…と、その前に「e2 studio」でTOPPERS/ASP用のプロジェクトを作らなきゃだわ。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2024/02/toppersasp-arduino-uno-r4.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-61073769869814773102024-01-02T22:54:00.000-08:002024-02-04T05:37:44.608-08:00「pcDuino3」でYocto Project その6<p><a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project_22.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>「meta-sunxi」レイヤーの取得</u></h2><p>さて、前回までに述べた通り<span style="color: #fcff01;">「Yocto Project」で「pcDuino3」用のLinuxディストリビューションを作成するには「meta-sunxi」というレイヤーが必要</span>であることが分かりました。</p><p>前々回「VMware Workstation Player」上にインストールした「Ubuntu」を立ち上げましょう。</p><p>ログイン後は、キーボードの<span style="color: #fcff01;">「Ctrl」+「Alt」+「T」</span>を同時に押すなどして、ターミナルを起動させます。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiaDTE_JdZAI0clltxI-W7mh4wCXb5O18kWP-semKBZiAbIByeBQBREFFwI6maKEgl1RauPmBuMLYT59e4pSqXZbCOz9lEmd7weFvuGp9lfPtemsws7Vq3ZFcBopfaz6-7MGSLkzbGvRreNA7V002TXngKcXY2e7R7uC5bLgtj7EnexvL7hSl5JKp1JtSG/s1284/133.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」" border="0" data-original-height="888" data-original-width="1284" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiaDTE_JdZAI0clltxI-W7mh4wCXb5O18kWP-semKBZiAbIByeBQBREFFwI6maKEgl1RauPmBuMLYT59e4pSqXZbCOz9lEmd7weFvuGp9lfPtemsws7Vq3ZFcBopfaz6-7MGSLkzbGvRreNA7V002TXngKcXY2e7R7uC5bLgtj7EnexvL7hSl5JKp1JtSG/w400-h276/133.png" width="400" /></a></div><p></p><p><br /></p><p>次に、以下のコマンドをターミナルで入力してリターンキーを押すことにより「Yocto Project」の実体である「poky」ディレクトリに移動します。</p><p><br /></p><p><span style="color: #01ffff;">$ cd poky/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji591bY8FxY4iyj24DRDPgjQY4rVjc2I-nLxKdOM4htfRxifDqV5LAZlX5PGz6NJV52YqPFDfP0nytnBhJrUkJpDmQAfGyfKFBDxhVjjM1ruEZghkPAizA5TuB4GMS3PAuXPICZijF-J3UZfZxbHaaUcnOQlCzJz2hLtf2c0-UqP_uguFg7SwoKxgnHqxB/s786/134.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 1" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji591bY8FxY4iyj24DRDPgjQY4rVjc2I-nLxKdOM4htfRxifDqV5LAZlX5PGz6NJV52YqPFDfP0nytnBhJrUkJpDmQAfGyfKFBDxhVjjM1ruEZghkPAizA5TuB4GMS3PAuXPICZijF-J3UZfZxbHaaUcnOQlCzJz2hLtf2c0-UqP_uguFg7SwoKxgnHqxB/w400-h271/134.png" width="400" /></a></div><p><br /></p><p>続いて「Yocto Project」の動作に必要な環境変数の設定を設定します。</p><p>これは「poky」ディレクトリ以下にある「oe-init-build-env」シェルスクリプトを「source」コマンドで実行することによって行います。</p><p>もし、前々回「<a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project.html">「pcDuino3」でYocto Project その4</a>」からブッ通しで作業してくれている方の場合、これを行う必要はありません。</p><p>しかしながら、一度でもターミナルを閉じてしまったり、ましてやLinuxを再起動してしまった場合などは、再びこの手順を行う必要があります。</p><p>なお、前々回にこのコマンドを実行した際は「poky」直下に「build」ディレクトリも作成されたはずですが、これは初回だけです。</p><p>すでに「build」ディレクトリが作成されている場合には、これを再生成することはなく、単純に環境変数の設定のみが行われます。</p><p><br /></p><p><span style="color: #01ffff;">$ source oe-init-build-env</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiIxIbx-8hq2uVPNAZTF-cKpa8zOm_pD_D8RDqfArCWk99jWf3M2zYqMiYzHaSOTUklGfjvWYDV3eiQ_lcEX2_RMKYefQrBw3gqk_EA6Uh1_udshA7F9iCkmZB2f8cdD-LCeCxhQrfiFlx7bpV7oS83yj-M25xfuBDuuUhtCEgpszCSV39iB1GA4gZy32I/s786/135.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 2" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiIxIbx-8hq2uVPNAZTF-cKpa8zOm_pD_D8RDqfArCWk99jWf3M2zYqMiYzHaSOTUklGfjvWYDV3eiQ_lcEX2_RMKYefQrBw3gqk_EA6Uh1_udshA7F9iCkmZB2f8cdD-LCeCxhQrfiFlx7bpV7oS83yj-M25xfuBDuuUhtCEgpszCSV39iB1GA4gZy32I/w400-h271/135.png" width="400" /></a></div><p><br /></p><p>上記のコマンドの実行の結果、強制的に「/home/poky」から、その直下の「/home/poky/build」に移動させられてしまっています。</p><p>これだと次の手順で都合が悪いので、一個上の「/home/poky」に戻りましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd ..</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZv-DDa8eqp35kiA51pDzFfL1hrKv4hXMffqVbHYCYmAbHBvpJOU_jRCmvhtdLJkmqoBlXt1hvYO_N-KyOJA2tEyGD2HTV9eFoc79SrL_Y3Vv2-jSKRl6RjHzyYhInSVGsT-1vdj4ClukElN4XLQ6L1deyp6w8iPCQC2hJS5AuK4xi5gFL2VQE2fdJWkTd/s786/136.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 3" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZv-DDa8eqp35kiA51pDzFfL1hrKv4hXMffqVbHYCYmAbHBvpJOU_jRCmvhtdLJkmqoBlXt1hvYO_N-KyOJA2tEyGD2HTV9eFoc79SrL_Y3Vv2-jSKRl6RjHzyYhInSVGsT-1vdj4ClukElN4XLQ6L1deyp6w8iPCQC2hJS5AuK4xi5gFL2VQE2fdJWkTd/w400-h271/136.png" width="400" /></a></div><p><br /></p><p>続いて、件の「meta-sunxi」レイヤーを取得しましょう。</p><p>それが何処にあるかは、前回ご紹介した「OpenEmbedded Layer Index」の「meta-sunxi」レイヤーのページに記述があります。</p><p>これによると、リポジトリのURLは「<span style="color: red;">https://github.com/linux-sunxi/meta-sunxi.git</span>」ですね。</p><p><br /></p><p><a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/" target="_blank">https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrppuRtg0FK-oboYXzkM8xBCFRDwtawkQRTGbhTOChADjkVW_ByUz-7BumiXO4UCeVYIEypxA_oGrBOW7VK35lrOo93j6TwcVHdErKFECEOCtybXFkf4b-ZTRjtyYWdJjeLsZgh8qF6jp-EOAlvdJlVHzzsR8RTa9vXvlRap6WkWYTxdMHovKTWy6RcbQd/s1920/137.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 1" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrppuRtg0FK-oboYXzkM8xBCFRDwtawkQRTGbhTOChADjkVW_ByUz-7BumiXO4UCeVYIEypxA_oGrBOW7VK35lrOo93j6TwcVHdErKFECEOCtybXFkf4b-ZTRjtyYWdJjeLsZgh8qF6jp-EOAlvdJlVHzzsR8RTa9vXvlRap6WkWYTxdMHovKTWy6RcbQd/w400-h235/137.png" width="400" /></a></div><p><br /></p><p>これに従い、以下のコマンドを入力します。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone https://github.com/linux-sunxi/meta-sunxi.git</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvsbY3Tjrbq1f4xM21xWr6JSzJTGa8emATycV5RmP_7qmBLNSidcFZAD0Yw-xfjn8FSC8rD7c-ozrdg27RTNUSpfTUgqv64Zm0Chc_cYziDNG7mm6us9FprJxy9kTZvfRFsjNjMS5pYInddDm5I3tZr1GYLlTEXGxQfJwsrDu7sdwC4NsrgXJOVxY_hu-Q/s786/137.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 4" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvsbY3Tjrbq1f4xM21xWr6JSzJTGa8emATycV5RmP_7qmBLNSidcFZAD0Yw-xfjn8FSC8rD7c-ozrdg27RTNUSpfTUgqv64Zm0Chc_cYziDNG7mm6us9FprJxy9kTZvfRFsjNjMS5pYInddDm5I3tZr1GYLlTEXGxQfJwsrDu7sdwC4NsrgXJOVxY_hu-Q/w400-h271/137.png" width="400" /></a></div><br /><p>上記のコマンドの実行の結果「/home/poky」ディレクトリ以下に「<span style="color: red;">meta-sunxi</span>」が生成されたはずです。</p><p>ファイル・ブラウザで確認しておきましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimIsblry1PpIfIPy0tNCtB3mQAPV92XFOzzFFQXAMaOofHLqaIy61Bp86JdekHub2h_hiVsYGIC6t1ZYCmdQaXceEj1sDxBryqXQvf4B97mlj4r7ZZVtXdcgZ4j1t9fq-DE8ZOdbiuI7s6Nyu4EKgFM7I8ptZg-2KpzFOkuZza4jtBjZSapktYRnOxbipv/s942/138.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 2" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimIsblry1PpIfIPy0tNCtB3mQAPV92XFOzzFFQXAMaOofHLqaIy61Bp86JdekHub2h_hiVsYGIC6t1ZYCmdQaXceEj1sDxBryqXQvf4B97mlj4r7ZZVtXdcgZ4j1t9fq-DE8ZOdbiuI7s6Nyu4EKgFM7I8ptZg-2KpzFOkuZza4jtBjZSapktYRnOxbipv/w400-h256/138.png" width="400" /></a></div><p><br /></p><p>お次は、この「meta-sunxi」の<span style="color: #fcff01;">リモートブランチ「origin/mickledore」をローカルブラン「pcduino3」としてチェックアウト</span>します。</p><div>…って、長嶋茂雄さんの会話みたいになってしまいましたね…。</div><p>この意味は、前々回「<a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project.html">「pcDuino3」でYocto Project その4</a>」を参照してください。</p><p>要するに「meta-sunxi」のバージョンを今回使用する「Yocto Project」の少しだけ古いバージョンである「mickledore」の時期のものへ先祖返りさせますよ、ってことで。</p><p>これを行うためには、生成されたばかりの「meta-sunxi」ディレクトリの中へ移動する必要があります。</p><p>以下のコマンドを入力です。</p><p><br /></p><p><span style="color: #01ffff;">$ cd meta-sunxi/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSYWh8k9y-nNBkMDiJzUETRmVhKRHkipmz6oL9WiX8XVxy6dQI4B1yI-XBCZo6ub8A1KV3EofjYTAdyZ63I9yBQQkD7eAYUTFhAL-xzcB6nG1gvvBbHDMNuFibI8jXPuvnMwc2V59uYdRwt2NfjsdojSA_-mDsAv-oOjSNLCsW7GQ0VbkIh04Kz1UZ7ESl/s786/140.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 5" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSYWh8k9y-nNBkMDiJzUETRmVhKRHkipmz6oL9WiX8XVxy6dQI4B1yI-XBCZo6ub8A1KV3EofjYTAdyZ63I9yBQQkD7eAYUTFhAL-xzcB6nG1gvvBbHDMNuFibI8jXPuvnMwc2V59uYdRwt2NfjsdojSA_-mDsAv-oOjSNLCsW7GQ0VbkIh04Kz1UZ7ESl/w400-h271/140.png" width="400" /></a></div><br /><p>そして、以下のコマンドでチェックアウトです。</p><p><br /></p><p><span style="color: #01ffff;">$ git checkout -t origin/mickledore -b pcduino3</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMqjA_9r9D1bSDKyGVApe8x0Yyeup4PYUnc6OzwXYlxp4Zrx9rYpj8KaD5oY18GuaaSa0HoGGfHvM-QTNLtwIzttsutfFihc1FusPIPIQ3SOQO2qpawdJBKHlEKJ5fxHwM3LIuYLrx22zAruv4JWLCYT52xWtewotQQ1m-WcO4jFDmMTaqalvyUA1WisVK/s786/141.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 6" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMqjA_9r9D1bSDKyGVApe8x0Yyeup4PYUnc6OzwXYlxp4Zrx9rYpj8KaD5oY18GuaaSa0HoGGfHvM-QTNLtwIzttsutfFihc1FusPIPIQ3SOQO2qpawdJBKHlEKJ5fxHwM3LIuYLrx22zAruv4JWLCYT52xWtewotQQ1m-WcO4jFDmMTaqalvyUA1WisVK/w400-h271/141.png" width="400" /></a></div><br /><p>チェックアウトが終わったら、一個上の「/home/poky」に戻りましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd ..</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5PxOwU5LXSUqLm_ZCzY7W0saCLNF8iJb3ABTUVXX8QsCNQ9ZKhwoyj4t2ScPYnL6GpPxy2o94iuxXp2kIQtYyRF5ksOJzZfeVA-_TWSsBGMDgYedaO1Fpi_gKMkf7kbbYYtPYWrlgQon-kmgUloQiWn9kxZOURIjHKM3xiK86B0whOOGhct38vkgtlHJh/s786/142.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 7" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5PxOwU5LXSUqLm_ZCzY7W0saCLNF8iJb3ABTUVXX8QsCNQ9ZKhwoyj4t2ScPYnL6GpPxy2o94iuxXp2kIQtYyRF5ksOJzZfeVA-_TWSsBGMDgYedaO1Fpi_gKMkf7kbbYYtPYWrlgQon-kmgUloQiWn9kxZOURIjHKM3xiK86B0whOOGhct38vkgtlHJh/w400-h271/142.png" width="400" /></a></div><p></p><p><span style="color: #01ffff;"><br /></span></p><p>さて、前回も説明しましたとおり、レイヤーはディレクトリの配置だけではダメで、そのディレクトリのパスを「/home/yocto/poky/build/conf/bblayers.conf」ファイルに記述する必要があります。</p><p>今回の場合、<span style="color: red;">以下の部分</span>に「meta-sunxi」のパスを記述すれば良さそうなのですが…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhyTTFTwBBEHdZS9U1SYalLJm1KiSSJ_u8hGrUnUDNGNVJ6PWQkSM6nTjprRN2-Kwc53ekrIPAyPDtdl4R0PRGy2GoqLpoJayJ5Q-k42La7k5bsa9Vx1QVWDTstNNDD4u0NaWCXxswAUNRduJHyqGaL5aqvAeQTAhEw0yysRi4FBydipuYbsrRmi9P6LVr/s952/143.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「/home/yocto/poky/build/conf/bblayers.conf」ファイル" border="0" data-original-height="491" data-original-width="952" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhyTTFTwBBEHdZS9U1SYalLJm1KiSSJ_u8hGrUnUDNGNVJ6PWQkSM6nTjprRN2-Kwc53ekrIPAyPDtdl4R0PRGy2GoqLpoJayJ5Q-k42La7k5bsa9Vx1QVWDTstNNDD4u0NaWCXxswAUNRduJHyqGaL5aqvAeQTAhEw0yysRi4FBydipuYbsrRmi9P6LVr/w400-h206/143.png" width="400" /></a></div><p><br /></p><p>…これは、非常に<span style="color: #fcff01;">お行儀の悪いやり方</span>だそうです。</p><p>では、お上品なやり方とは?</p><p>それは、レイヤーを操作するための「<span style="color: #fcff01;">bitbake-layers</span>」コマンドを使うことです。</p><p>それでは、以下のように「bitbake-layers」コマンドを使用して、レイヤーを追加してみましょう。</p><p>「bitbake-layers」コマンドに、レイヤーの追加を指示する「add-layer」オプションを加え、そのパスを指定します。</p><p>ですが…</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake-layers add-layer ../poky/meta-sunxi/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-PjHOF5MpFII8mXYEqxMlkmXHQ3UAM434NGAveCPlbeKJTK6oQUBmvrKbslOnXQpIWkSys2icE7IY2MxtLq53ZD0Ax3fV2mggmnCYAK3Sw3pD3qnWTmJNs4wxBSKqBR7elDX3Fip-SdCYQKIYQCP1Ea35Gm_h1ESG8aToEGvnYaXd1XQnJxolyS4h6hEt/s786/144.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 8" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-PjHOF5MpFII8mXYEqxMlkmXHQ3UAM434NGAveCPlbeKJTK6oQUBmvrKbslOnXQpIWkSys2icE7IY2MxtLq53ZD0Ax3fV2mggmnCYAK3Sw3pD3qnWTmJNs4wxBSKqBR7elDX3Fip-SdCYQKIYQCP1Ea35Gm_h1ESG8aToEGvnYaXd1XQnJxolyS4h6hEt/w400-h271/144.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">エラーメッセージが出て失敗しましたね…。</span></p><p>内容は…</p><p><span style="color: red;">「sunxi」レイヤーは「meta-python」レイヤーに依存するが、このレイヤーはアンタの設定では有効ではない!</span></p><p>…とか何とか。</p><p>うむ、どうやら依存関係の問題で「meta-sunxi」の前に他のレイヤーを追加しておく必要があるみたいですね。</p><p>これは「bitbake-layers」コマンドがレイヤーの依存関係を検証した結果、出力されたエラーメッセージです。</p><p>もし、レイヤーを追加するために直接「/home/yocto/poky/build/conf/bblayers.conf」ファイルを書き換えていたら、このエラーには気が付かずに、後々ドツボにハマっていたかもしれませんね。</p><p>そういう意味で、ちゃんと「bitbake-layers」コマンドを使用して、レイヤーを追加するのが正しい…というか、間違いのない作法ということなのでしょう。</p><p>では「meta-sunxi」が依存するレイヤーとは?</p><p>答えは、先程も開いた<a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/" target="_blank">「OpenEmbedded Layer Index」の「meta-sunxi」レイヤーのページ</a>にあります。</p><p>右側の「<span style="color: red;">Dependencies</span>」という欄に注目。</p><p>これによると「meta-sunxi」レイヤーは、以下の4つの別のレイヤーに依存しているとのことです。</p><p><br /></p><p><span style="color: red;">●openembedded-core</span></p><p><span style="color: red;">●meta-oe</span></p><p><span style="color: red;">●meta-python</span></p><p><span style="color: red;">●meta-arm</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eeBrFSRRJUWea4Tpymu2BOofR8n-eUbTr1iH6YSEfsMWPLreiGJnVSUAu_ihNQ5rT1Ve7NukRUU04Qy8o3Y_2bP-wBgQjBaIP6tLZRBdv96TBKKPsoxeyq1o6ekbJRvDZRMVBtTL-biiEriPGNLysZJSXTPTk56gP_asqwqh5nXRRqB0oSInR7B8hpkL/s1920/145.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 2" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eeBrFSRRJUWea4Tpymu2BOofR8n-eUbTr1iH6YSEfsMWPLreiGJnVSUAu_ihNQ5rT1Ve7NukRUU04Qy8o3Y_2bP-wBgQjBaIP6tLZRBdv96TBKKPsoxeyq1o6ekbJRvDZRMVBtTL-biiEriPGNLysZJSXTPTk56gP_asqwqh5nXRRqB0oSInR7B8hpkL/w400-h235/145.png" width="400" /></a></div><p><br /></p><p>というわけで、これらのレイヤーから先に導入しましょう。</p><p><br /></p><h2 style="text-align: left;"><u>依存レイヤーの導入</u></h2><p>上記に挙げた「meta-sunxi」が依存するレイヤーを順番に導入していきましょう。</p><p>まずは「<span style="color: #fcff01;">openembedded-core</span><span>」レイヤーです。</span></p><p><span>このレイヤーの導入については、特にやることはありません。</span></p><p><span>何故ならば「Yocto Project」、すなわち「poky」ディレクトリを生成した時点で既に導入されているからです。</span></p><p>その場所は「/home/poky/meta」ディレクトリです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTwSn7AddIYwwC9lDNySXtu7wuao0xmOBbUx9kHcbPyiwiAoBCyKNjbaukMWWOGi4haiHvuV_sW2WIY3R_Z28hvHGZFhk8xus9rqR6vBOHYs1AznxXFxYLAKdkIyUOG2P9YhmiJyWAtjGihPo8R9Wha4tjaTMK_SJRxGgiLqrzF1cSyY7uJBu6w9MnRhXG/s942/148.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 3" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTwSn7AddIYwwC9lDNySXtu7wuao0xmOBbUx9kHcbPyiwiAoBCyKNjbaukMWWOGi4haiHvuV_sW2WIY3R_Z28hvHGZFhk8xus9rqR6vBOHYs1AznxXFxYLAKdkIyUOG2P9YhmiJyWAtjGihPo8R9Wha4tjaTMK_SJRxGgiLqrzF1cSyY7uJBu6w9MnRhXG/w400-h256/148.png" width="400" /></a></div><p><br /></p><p>「OpenEmbedded」は「Yocto Project」の基となったフレームワークであることは前述のとおりです。</p><p>つまり<span style="color: #fcff01;">「<span>openembedded-core</span></span><span><span style="color: #fcff01;">」レイヤーとは、その上に被せる全てのレイヤーの基底となるレイヤー</span>であると考えてください。</span></p><p><span>したがって、最初から導入されているんですね。</span></p><p><span style="color: red;"><br /></span></p><p><span>次に「</span><span style="color: #fcff01;">meta-oe</span><span>」</span><span>レイヤーです。</span></p><p><span>このレイヤーの</span>「OpenEmbedded Layer Index」のページを見てみましょう。</p><p><a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/" target="_blank">「meta-sunxi」レイヤーのページ</a>の右側の依存レイヤーのリストからから「<span style="color: red;">meta-oe</span>」をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgtCeXAnktg07-f2z0O5UV-LwIUWunAoj0pWbNm0gCzevcWsQi2Nw9GVXZluPRnQ6R43AZ-oSoe9zd1J2Nrcc82uMJwJurlXsygsSuYIVs5ua6dzPnhqO1DEhcpgUM6Cqhjyj3GwhcWn6w2bXtm--kw4OOdWxgZSIM0g0RY73gLySnvF92Go3O1uzK6Lz2o" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 3" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEgtCeXAnktg07-f2z0O5UV-LwIUWunAoj0pWbNm0gCzevcWsQi2Nw9GVXZluPRnQ6R43AZ-oSoe9zd1J2Nrcc82uMJwJurlXsygsSuYIVs5ua6dzPnhqO1DEhcpgUM6Cqhjyj3GwhcWn6w2bXtm--kw4OOdWxgZSIM0g0RY73gLySnvF92Go3O1uzK6Lz2o=w400-h235" width="400" /></a></div></div><p><br /></p><p>開かれた<span>「meta-oe」レイヤーのページで、レポジトリのURLがわかります。</span></p><p><span>「<span style="color: red;">git://git.openembedded.org/meta-openembedded</span>」ですね。</span></p><p><span></span></p><div class="separator" style="clear: both; text-align: center;"><span><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjsj5aBhvPXQ-1Q7zHZElLLoLj6vQZQ_kc93fnCAxot5lGvWcHkwK5--4_4XrLITofL0FSvhCa0U2bQ8CNvFEe2Mk6PN6vusEDtVAa2HHkU3DaGfovDlqqaRY8dxP4NxjOe1rnJ03WO2mVWEF21srkIRKOp4iqNHxT9lyzwo66Qa5EvpI39X2Ts8NoDLmgd" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 4" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEjsj5aBhvPXQ-1Q7zHZElLLoLj6vQZQ_kc93fnCAxot5lGvWcHkwK5--4_4XrLITofL0FSvhCa0U2bQ8CNvFEe2Mk6PN6vusEDtVAa2HHkU3DaGfovDlqqaRY8dxP4NxjOe1rnJ03WO2mVWEF21srkIRKOp4iqNHxT9lyzwo66Qa5EvpI39X2Ts8NoDLmgd=w400-h235" width="400" /></a></span></div><p><br /></p><p>これに従い、ターミナルで以下のコマンドを実行することでダウンロードを行います。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone https://github.com/linux-sunxi/meta-sunxi.git</span></p><p><span style="color: red;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="color: red;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhBiyfRcdQkGYzG1293skoNgTVDbhnSR5t6kOMasEv0zNtQu7V4lCrwKv1DjE0SoGfE3mWkv1o4MpB8-qq4JXxOEzRNsuXcdCF0jtoRffyF-5AP-_xc1eZ5pHVZB64i-7Ye8BTCYb3cJgmMjFHYtGHaAt27w8LPWzTuGLBEc61G5stZ17LVLceV0yC_Nrsy" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 9" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEhBiyfRcdQkGYzG1293skoNgTVDbhnSR5t6kOMasEv0zNtQu7V4lCrwKv1DjE0SoGfE3mWkv1o4MpB8-qq4JXxOEzRNsuXcdCF0jtoRffyF-5AP-_xc1eZ5pHVZB64i-7Ye8BTCYb3cJgmMjFHYtGHaAt27w8LPWzTuGLBEc61G5stZ17LVLceV0yC_Nrsy=w400-h271" width="400" /></a></span></div><p></p><p><span style="color: red;"><br /></span></p><p>ファイル・ブラウザで「<span style="color: red;">meta-openembedded</span>」が生成されているのを確認しましょう。</p><p><span style="color: #fcff01;">「meta-oe」っていう名前じゃない理由は、後で述べます。</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhDyJefh9yCvhRjqBRcaCAvpn1nyEoCU-SEu547UWrrPss31P1r76haJtgjB4FcxUkzUKYjwxWBTSpOJFhX4NY-vQru6xJjx3tTN8pRl_NrtJGJvdDJTziYLhl6hfvam2IxcPntHJIAQm9eU56fkCqwsLtmDpBsKdssoTXwB3ZjxOFskAvnVL9jZsqIa-xr" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 4" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/a/AVvXsEhDyJefh9yCvhRjqBRcaCAvpn1nyEoCU-SEu547UWrrPss31P1r76haJtgjB4FcxUkzUKYjwxWBTSpOJFhX4NY-vQru6xJjx3tTN8pRl_NrtJGJvdDJTziYLhl6hfvam2IxcPntHJIAQm9eU56fkCqwsLtmDpBsKdssoTXwB3ZjxOFskAvnVL9jZsqIa-xr=w400-h256" width="400" /></a></div><p></p><p><br /></p><p>「meta-sunxi」の時と同様「meta-openembedded」の<span style="color: #fcff01;">リモートブランチ「origin/mickledore」をローカルブラン「pcduino3」としてチェックアウト</span>します。</p><p>以下のコマンドで、生成されたばかりの「meta-openembedded」ディレクトリの中へ移動します。</p><p><br /></p><p><span style="color: #01ffff;">$ cd meta-openembedded/</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEihhTU6yoEMue19qhvzonGWFX7LZOasTS1g92XtBU2p_3c2uMOinJpb5wM8VprzYj32P7UjApcNqGkXKYOYPQRytVJD5pRSRwbDN2uZjcczwD60wh177_QAR2xZuHCaqAJy0vXlmFdyRNPqJzBKRA6w9KmZqDhfesq1MKMGHjp8VLGwA7rpz_AmxN-umL6g" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 10" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEihhTU6yoEMue19qhvzonGWFX7LZOasTS1g92XtBU2p_3c2uMOinJpb5wM8VprzYj32P7UjApcNqGkXKYOYPQRytVJD5pRSRwbDN2uZjcczwD60wh177_QAR2xZuHCaqAJy0vXlmFdyRNPqJzBKRA6w9KmZqDhfesq1MKMGHjp8VLGwA7rpz_AmxN-umL6g=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>以下のコマンドでチェックアウトです。</p><p><br /></p><p><span style="color: #01ffff;">$ git checkout -t origin/mickledore -b pcduino3</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjCmX0MluDESkBvoeNL1SrDiHk0t3rDtUFbQmEobOmpACrQCDX15BxVHQIrB1kZ8ipPQNFzQcsij9agi8U9i2ehg0UYPJTIpXqA_hJVtOAXyziMDy_lxJLa_YLQwZt3lQxYxI5wVfYFv73d4TdmULRn3c8X6Snx7xGPyOw_4oDiNWZ6GChvoIxBxt8MtELd" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 11" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEjCmX0MluDESkBvoeNL1SrDiHk0t3rDtUFbQmEobOmpACrQCDX15BxVHQIrB1kZ8ipPQNFzQcsij9agi8U9i2ehg0UYPJTIpXqA_hJVtOAXyziMDy_lxJLa_YLQwZt3lQxYxI5wVfYFv73d4TdmULRn3c8X6Snx7xGPyOw_4oDiNWZ6GChvoIxBxt8MtELd=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>チェックアウトが終わったら、一個上の「/home/poky」に戻りましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd ..</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhmyRslu2I2Ge-55YpRJbpWDB1MqUnnWRWOjxbsztOmZ-WmV0So_oSF5U31h_nOJPSXxN0Z_xmixGM-ULKH6_5Ixsbh24Nftw1k_lQLMkjTTyWOayV11f_sexRBgO_XEh0F2wRN3jIER1zkzf5eXV2_YToWQX23daQbMxHOko7thOzyAg4SzfqH0YKGhoYv" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 12" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEhmyRslu2I2Ge-55YpRJbpWDB1MqUnnWRWOjxbsztOmZ-WmV0So_oSF5U31h_nOJPSXxN0Z_xmixGM-ULKH6_5Ixsbh24Nftw1k_lQLMkjTTyWOayV11f_sexRBgO_XEh0F2wRN3jIER1zkzf5eXV2_YToWQX23daQbMxHOko7thOzyAg4SzfqH0YKGhoYv=w400-h271" width="400" /></a></div><p></p><p><span><br /></span></p><p><span>次に「</span><span style="color: #fcff01;">meta-python</span><span>」</span><span>レイヤーです。</span></p><p><span>このレイヤーの</span>「OpenEmbedded Layer Index」のページを見てみましょう。</p><p><a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/" target="_blank">「meta-sunxi」レイヤーのページ</a>の右側の依存レイヤーのリストからから「<span style="color: red;">meta-python</span>」をクリックします。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhSoVYcmMhx2zWDuDH3fTaJHfAGH3HDSQkkKdZzd79k7p3KZEBPsheZZ_ucUg8U_OwGo5vb3MMBt4XzryLJSitEGodWobufO_Mweu-p16dbWsiU3M9OAxDRnPx9jowPDZnRjFhETMc0lGSwaARL-CVthO4ShcMgwkAKUF3j4OfjkN5ZFWtFTwWoH5Y7ow8R" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 5" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEhSoVYcmMhx2zWDuDH3fTaJHfAGH3HDSQkkKdZzd79k7p3KZEBPsheZZ_ucUg8U_OwGo5vb3MMBt4XzryLJSitEGodWobufO_Mweu-p16dbWsiU3M9OAxDRnPx9jowPDZnRjFhETMc0lGSwaARL-CVthO4ShcMgwkAKUF3j4OfjkN5ZFWtFTwWoH5Y7ow8R=w400-h235" width="400" /></a></div><p></p><p><br /></p><p>開かれた<span>「meta-python」レイヤーのページで、レポジトリのURLがわかります。</span></p><p></p><p><span></span></p><p></p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span>「<span style="color: red;">git://git.openembedded.org/meta-openembedded</span>」ですね…って、コレさっきの「meta-oe」の時と一緒じゃん!?</span></p><p style="-webkit-text-stroke-width: 0px; color: black; font-family: Meiryo; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span></span></p><div class="separator" style="clear: both; text-align: center;"><span><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh9lfrupeYcekjkzpRC0Yby5CouPEU8yRz4pfBSoxiGTWVkIt9mR2tYm_yFJ1DXr3fUz-rHAYyU2PEAZxNowQKIMVVP_RcXJa8OSDu8F6vjEdaDni05XlBEs0sJUKFENmQ87wfJbn7vjj4F9aSTAuSygZoTFp_h7zCnMwrSbqk-bWg36epJc2lqWCvIG3Jv" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 6" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEh9lfrupeYcekjkzpRC0Yby5CouPEU8yRz4pfBSoxiGTWVkIt9mR2tYm_yFJ1DXr3fUz-rHAYyU2PEAZxNowQKIMVVP_RcXJa8OSDu8F6vjEdaDni05XlBEs0sJUKFENmQ87wfJbn7vjj4F9aSTAuSygZoTFp_h7zCnMwrSbqk-bWg36epJc2lqWCvIG3Jv=w400-h235" width="400" /></a></span></div><p style="-webkit-text-stroke-width: 0px; color: black; font-family: Meiryo; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span><span><br /></span></span></p><span>これはどういうことか?</span><p></p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span>種明かしのために「/home/poky/meta-openembedded」ディレクトリをファイル・ブラウザで開いてみてください。</span></p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span>すると、その中に「<span style="color: red;">meta-oe</span>」</span>ディレクトリと「<span style="color: red;">meta-python</span>」ディレクトリが配置されていることが分かります。</p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span style="color: black;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="color: black;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEggucnwjH30dq_63pNePUGt8bsis5EVUDS3KlDNkHoJH7rVVaC7acHzLeSv3bqS8zOzVj3TipoKn2iCNUWt4VuDbMV5rAAV1_tkk6mL78dC8m2NuyRJn-nwvWATJYWaVN5U3kCRAGUI96qINI2FmbFtkZ1Nh65egLQaJyk2ysc9LygfX3GwEWBSX7sqEhnX" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 5" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/a/AVvXsEggucnwjH30dq_63pNePUGt8bsis5EVUDS3KlDNkHoJH7rVVaC7acHzLeSv3bqS8zOzVj3TipoKn2iCNUWt4VuDbMV5rAAV1_tkk6mL78dC8m2NuyRJn-nwvWATJYWaVN5U3kCRAGUI96qINI2FmbFtkZ1Nh65egLQaJyk2ysc9LygfX3GwEWBSX7sqEhnX=w400-h256" width="400" /></a></span></div><p></p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span style="color: black;"><br /></span></p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span>これはつまり「meta-openembedded」という、いかにもレイヤーっぽい名前のディレクトリの直下に</span><span>「<span>meta-oe</span>」、</span>「<span>meta-python</span>」とその他複数のレイヤーが格納されているという状態です。</p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">したがって「meta-python」は既に取得済みであることが分かります。</p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">このような一つのレポジトリに複数のレイヤーが含まれる例は、大規模なカテゴリの場合に、ママ目にすることがありますので、ご用心を。</p><p style="-webkit-text-stroke-width: 0px; font-family: Meiryo; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><br /></p><p>それでは、ここいらで<span>「meta-oe」</span>と「meta-python」の両レイヤーを「/home/yocto/poky/build/conf/bblayers.conf」ファイルに追加してしまいましょう。</p><p>お作法として「bitbake-layers」コマンドに、レイヤーの追加を指示する「add-layer」オプションを加え、そのパスを入力することによって行うのでしたね?</p><p>まずは「meta-oe」レイヤーから。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake-layers add-layer ../poky/meta-openembedded/meta-oe/</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhrQUWz6kvCFZ3oYEbp4Qotuxb-_BNTjzp4y5zTANbofkhh7cH7gy2tKn622nOjb9PP0RBjWXg5YXhcCGQV8avnOlh4K11LLP8j78NEStO-cRmScrO6tIpvJDJ_WfKC0vQ33398-xo5YndUykduhXEymW4VPiwveCeqRm8bEJM9lChvr6gvvpO8RKg1dCTP" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 13" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEhrQUWz6kvCFZ3oYEbp4Qotuxb-_BNTjzp4y5zTANbofkhh7cH7gy2tKn622nOjb9PP0RBjWXg5YXhcCGQV8avnOlh4K11LLP8j78NEStO-cRmScrO6tIpvJDJ_WfKC0vQ33398-xo5YndUykduhXEymW4VPiwveCeqRm8bEJM9lChvr6gvvpO8RKg1dCTP=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>続いて「meta-python」レイヤー。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake-layers add-layer ../poky/meta-openembedded/meta-python/</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjyX3khRcI_gpDPmVsxGdiHLFzYWviAoFI9GWbX1-21uRATxqJIUb1585Skuq3YqnTIgWY_R0A9lbgm-0O39xiLEYVGRDK3-bPBtwzW43evaCNWTPPHCk2ve1KRTKNMdceBP3Z9Vu-d0lGVutrki7pWUFPREaAuIU4dJSkuqDH_yqAhk7I5L2D8G4CpFLH7" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 14" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEjyX3khRcI_gpDPmVsxGdiHLFzYWviAoFI9GWbX1-21uRATxqJIUb1585Skuq3YqnTIgWY_R0A9lbgm-0O39xiLEYVGRDK3-bPBtwzW43evaCNWTPPHCk2ve1KRTKNMdceBP3Z9Vu-d0lGVutrki7pWUFPREaAuIU4dJSkuqDH_yqAhk7I5L2D8G4CpFLH7=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>さて、次は<span>「</span><span style="color: #fcff01;">meta-arm</span><span>」</span><span>レイヤーです。</span></p><p><span>このレイヤーの</span>「OpenEmbedded Layer Index」のページを見てみましょう。</p><p><a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/" target="_blank">「meta-sunxi」レイヤーのページ</a>の右側の依存レイヤーのリストからから「<span style="color: red;">meta-arm</span>」をクリックします。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhgpQjTzWNqLCNfhBcGZ-WYOlPiZE9e_URL3aBMW1LpWJzt1-MvLblsxtTWTGLaKJwU3CSqJda7t3RksAv_Jjb9x7ndYkB5diDnHeDtqffvrwzSUInDY_l-u2CEvlh7_eUmCzjXNYoz-c2lNgL8pCU6zfCY9NfTm_lQmWa5htHDA-3dFlPagU8Dx_tit3EY" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 7" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEhgpQjTzWNqLCNfhBcGZ-WYOlPiZE9e_URL3aBMW1LpWJzt1-MvLblsxtTWTGLaKJwU3CSqJda7t3RksAv_Jjb9x7ndYkB5diDnHeDtqffvrwzSUInDY_l-u2CEvlh7_eUmCzjXNYoz-c2lNgL8pCU6zfCY9NfTm_lQmWa5htHDA-3dFlPagU8Dx_tit3EY=w400-h235" width="400" /></a></div><p></p><p><br /></p><p>開かれた<span>「meta-arm」レイヤーのページで、レポジトリのURLがわかります。</span></p><p><span>「<span style="color: red;">git://git.yoctoproject.org/meta-arm</span>」ですね。</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgm9yLonhsqghTxFWa1VI3DEdPlEQIt7YcxC-YwD7odHUdqJPUWTzNQy5jta4c5aeJULipW3hCf7VkWQeZ1DXavjNCqtmIWxSLbUTq37RTnY51Qb-ZntiW4UfMmujq0mPJPXr33Ib9u1e5OWZfeFhbhe4IEivIQAnVP5eDpMqygpe_wGH2g1JMQd9MI0S6I" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 8" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEgm9yLonhsqghTxFWa1VI3DEdPlEQIt7YcxC-YwD7odHUdqJPUWTzNQy5jta4c5aeJULipW3hCf7VkWQeZ1DXavjNCqtmIWxSLbUTq37RTnY51Qb-ZntiW4UfMmujq0mPJPXr33Ib9u1e5OWZfeFhbhe4IEivIQAnVP5eDpMqygpe_wGH2g1JMQd9MI0S6I=w400-h235" width="400" /></a></div><p></p><p><br /></p><p>これに従い、ターミナルで以下のコマンドを実行することでダウンロードを行います。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone git://git.yoctoproject.org/meta-arm</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEitxASZpdTCYjEjthKbUxJkWK9NcZt_irEUr10VdC4aHjCT4RF-cJGrGnPgYTkbydj6msPH9kNFccDEwufsiPdIipuVJEiOxbkg8Cwq_STrHjRxSU_kWdVz6iiHQuQGKpd2KBJoq1Ems6hvfa7q7_qYSrUeUxNd4vYoGceU1gKGPCUogiLLVnxrMsFAHt6H" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 15" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEitxASZpdTCYjEjthKbUxJkWK9NcZt_irEUr10VdC4aHjCT4RF-cJGrGnPgYTkbydj6msPH9kNFccDEwufsiPdIipuVJEiOxbkg8Cwq_STrHjRxSU_kWdVz6iiHQuQGKpd2KBJoq1Ems6hvfa7q7_qYSrUeUxNd4vYoGceU1gKGPCUogiLLVnxrMsFAHt6H=w400-h271" width="400" /></a></div><br /><p></p><p>ファイル・ブラウザで「<span style="color: red;">meta-arm</span>」が生成されているのを確認しましょう。</p><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh4IJSE13nnCBj7iZ0eKksmNrg7zbe4s4kJbXwGQjSgLk0wu1-NCNSfhfeWH8ku4dhPX0MjwQhaZinJ0pIhtqO8uQtok9XiOHKR05_5yNzwxT6GnZtwRx7vNU5KlBam58OCSTDzRY8lAQTEcFMxoQSNqr6Qo9MS_FBOOcHKFfZ24BawOt4EQzeTq8wE0cQr" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 6" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/a/AVvXsEh4IJSE13nnCBj7iZ0eKksmNrg7zbe4s4kJbXwGQjSgLk0wu1-NCNSfhfeWH8ku4dhPX0MjwQhaZinJ0pIhtqO8uQtok9XiOHKR05_5yNzwxT6GnZtwRx7vNU5KlBam58OCSTDzRY8lAQTEcFMxoQSNqr6Qo9MS_FBOOcHKFfZ24BawOt4EQzeTq8wE0cQr=w400-h256" width="400" /></a></div></div></div><p><span><br /></span></p><p><span>続いて</span>「meta-arm」の<span style="color: #fcff01;">リモートブランチ「origin/mickledore」をローカルブラン「pcduino3」としてチェックアウト</span>します。</p><p>以下のコマンドで、生成されたばかりの「meta-arm」ディレクトリの中へ移動します。</p><p><br /></p><p><span style="color: #01ffff;">$ cd meta-arm/</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEheqIW_JJ3T22Jw_g56gNzWhXgWdnxPI27T8ZoV4ionWXolS1F2OuK7afNU3WnahiNIw1xQkb3WIY6y2rBYlK602yG_umHcH2zZcOC0SC7J1ux7lF92ie-4BRPbW8jkAusjYckCuFx1TKzdgn-zyHcKyyKyvJ0PGzthmeYBGtblyUlNewdabyaOnqFMNqXR" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 16" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEheqIW_JJ3T22Jw_g56gNzWhXgWdnxPI27T8ZoV4ionWXolS1F2OuK7afNU3WnahiNIw1xQkb3WIY6y2rBYlK602yG_umHcH2zZcOC0SC7J1ux7lF92ie-4BRPbW8jkAusjYckCuFx1TKzdgn-zyHcKyyKyvJ0PGzthmeYBGtblyUlNewdabyaOnqFMNqXR=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>以下のコマンドでチェックアウトです。</p><p><br /></p><p><span style="color: #01ffff;">$ git checkout -t origin/mickledore -b pcduino3</span></p><p><span style="color: #01ffff;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="color: #01ffff;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgcmJ4a9SPAdl6Enf1ctJs-MYg2nzM1tIjuXlyFHwTeFMTHwDhPW-yZU5cQbV9n8-z_zMrOlvjWQioIlz9j6bKDiKpr_Hug64zUsnGsrOiuP-TYpLOP-jxf0i_per9koJJzo0hiLfMYfCDPu0AsA2QY5maX9ZxgsqygOC56Z9yGGdw3FF8EXFxzEt40Nwy3" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 17" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEgcmJ4a9SPAdl6Enf1ctJs-MYg2nzM1tIjuXlyFHwTeFMTHwDhPW-yZU5cQbV9n8-z_zMrOlvjWQioIlz9j6bKDiKpr_Hug64zUsnGsrOiuP-TYpLOP-jxf0i_per9koJJzo0hiLfMYfCDPu0AsA2QY5maX9ZxgsqygOC56Z9yGGdw3FF8EXFxzEt40Nwy3=w400-h271" width="400" /></a></span></div><p></p><p><br /></p><p>チェックアウトが終わったら、一個上の「/home/poky」に戻りましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd ..</span></p><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjHrNk-i6O3qeMvS58C0TBhSNx2Sa8RtR1VZintAIeP8R0KicaWzvxJKJqBdBQLAG_y6s-w1RfhkTmrbQeh944NFB995Fm4PTj2hGwwlnEz9jDnmH_e8CLpvN-vwRlcvVT-uMb-3dTQTO5cUo5kWUY6rEarKaWgt73x3RABOSa2KEHGVAQUVfXK73GXb7kU" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 18" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEjHrNk-i6O3qeMvS58C0TBhSNx2Sa8RtR1VZintAIeP8R0KicaWzvxJKJqBdBQLAG_y6s-w1RfhkTmrbQeh944NFB995Fm4PTj2hGwwlnEz9jDnmH_e8CLpvN-vwRlcvVT-uMb-3dTQTO5cUo5kWUY6rEarKaWgt73x3RABOSa2KEHGVAQUVfXK73GXb7kU=w400-h271" width="400" /></a></div><br /></div><div><p><span>次は「meta-arm</span><span>」</span>レイヤーを「bitbake-layers」コマンドを使って「/home/yocto/poky/build/conf/bblayers.conf」ファイルに追加しましょう。</p><p><span style="color: #fcff01;">ここで、一つご注意を。</span></p><p><a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-arm/" target="_blank">「OpenEmbedded Layer Index」の「meta-arm」のページ</a>を今一度御覧ください。</p><div><p>右側の「<span style="color: red;">Dependencies</span>」という欄によると「meta-arm」レイヤーは、以下の3つの別のレイヤーに依存しているとのことです。</p><p><br /></p><p><span style="color: red;">●openembedded-core</span></p><p><span style="color: red;">●meta-python</span></p><p><span style="color: red;">●meta-arm-toolchain</span></p><p><br /></p><p>このうち「openembedded-core」と「meta-python」に関しては、既に導入済みです。</p><p>問題は「<span style="color: red;">meta-arm-toolchain</span>」というレイヤーです。</p><p><span style="color: red;"></span></p><p>これをどうやって入手するか?</p><p>「<span style="color: red;">meta-arm-toolchain</span>」の表示をクリックしてください。</p></div><p></p></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOuozLTxYmlRH-uKhVDMXlVphsS-8Gc4_IvCGsCwK22NUIL6AyrIqxcYt7McV_pFyhyphenhyphenkEfR4vhtDo1HFpQKbdYNqOtSN7-ZAlrTS56-2adyZhovWKw-gWOkQbd4cAvHGNIThoR4j0Yoy2l4JKBQ6m553LWu3nq4QlZLlSFSjnMZRMnh5fIS6DjemAKLQle/s1920/166.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 9" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOuozLTxYmlRH-uKhVDMXlVphsS-8Gc4_IvCGsCwK22NUIL6AyrIqxcYt7McV_pFyhyphenhyphenkEfR4vhtDo1HFpQKbdYNqOtSN7-ZAlrTS56-2adyZhovWKw-gWOkQbd4cAvHGNIThoR4j0Yoy2l4JKBQ6m553LWu3nq4QlZLlSFSjnMZRMnh5fIS6DjemAKLQle/w400-h235/166.png" width="400" /></a></div><div><p><br /></p><p>移動した「meta-arm-toolchain」のページでは、レポジトリのURLが「<span style="color: red;">git://git.yoctoproject.org/meta-arm</span>」となっています。</p><p>これは、先程「git clone」とチェックアウトを行った「meta-arm」レイヤーと同一です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCTeGNu2MrerhjOVK-1cWxafkoHFgK10Dbuunneliw3pT0qJs9pW1Jbq9nxtF77NP7ryUtFGWPiu8I6mO7apSlizkNurzznAFxgWnBRV37JR1vUybJk-NLNp5te8E6aqBZzAI-NmofnfR3T8uwRlHc3KYLi0d0m1XSFxtHm-KA0IkWJnq5rjMvSiRgNjDN/s1920/167.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 10" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCTeGNu2MrerhjOVK-1cWxafkoHFgK10Dbuunneliw3pT0qJs9pW1Jbq9nxtF77NP7ryUtFGWPiu8I6mO7apSlizkNurzznAFxgWnBRV37JR1vUybJk-NLNp5te8E6aqBZzAI-NmofnfR3T8uwRlHc3KYLi0d0m1XSFxtHm-KA0IkWJnq5rjMvSiRgNjDN/w400-h235/167.png" width="400" /></a></div><p><br /></p><p>つまりこれは「meta-openembedded」の時と同じような、一つのレポジトリに複数のレイヤーが格納されているタイプなのではないだろうか?…と推測できます。</p><p style="-webkit-text-stroke-width: 0px;"><span>確認のために「/home/poky/meta-arm」ディレクトリをファイル・ブラウザで開いてみてください。</span></p><p style="-webkit-text-stroke-width: 0px;"><span>すると、案の定その中に「<span style="color: red;">meta-arm</span>」</span>ディレクトリと「<span style="color: red;">meta-arm-toolchain</span>」ディレクトリが配置されていることが分かります。</p><p style="-webkit-text-stroke-width: 0px;">すなわち「<span style="color: red;">meta-arm-toolchain</span>」レイヤーは既に取得済みということが分かります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvk5ztsKzqJ9HZb3KWMJxiCfh_9xdQh4SVHOv8h1QTjjT27L8-E5UqhFc4O00cyCvbUPWSrvUuAUlEuOSII83LgotrGsQ0ZfTUMELp443yyEnG06ZnnHdUef8dp5ysYVSUOSehM0o5ry5D3HU73T3LCxJMP_ZL0cziYXgLjEpL2vPEzbxm5zxmAl_UhvdW/s942/168.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ファイル・ブラウザ - 7" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvk5ztsKzqJ9HZb3KWMJxiCfh_9xdQh4SVHOv8h1QTjjT27L8-E5UqhFc4O00cyCvbUPWSrvUuAUlEuOSII83LgotrGsQ0ZfTUMELp443yyEnG06ZnnHdUef8dp5ysYVSUOSehM0o5ry5D3HU73T3LCxJMP_ZL0cziYXgLjEpL2vPEzbxm5zxmAl_UhvdW/w400-h256/168.png" width="400" /></a></div><p><br /></p><p>では「/home/yocto/poky/build/conf/bblayers.conf」ファイルに「bitbake-layers」コマンドを使って、これらのレイヤーを追加しましょう。</p><p>まずは「<span>meta-arm-toolchain</span>」からです。</p><p><span style="color: #fcff01;">「meta-arm」が「meta-arm-toolchain」に依存しているので「meta-arm-toolchain」の方が先です。</span></p><p><br /></p><p><span style="color: #01ffff;">$ bitbake-layers add-layer ../poky/meta-arm/meta-arm-toolchain/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Bb8ceeLk_5ErGu3piSyKvWgsVjcyJy3H52f-oQ80n0K5zGfo6boweYm-D-GJqc0hwnUAMhHpp9po6TyMyl2CUKXdmvwAlFAHKVf1syb8z2m88zcmef0ALIUMEYsgKUvwRXByuQK7-0orR0MfIB4xs-fYLEKMxSYabiih7x98sd3OlyQh0GTDA8PGQCj_/s786/169.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 19" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Bb8ceeLk_5ErGu3piSyKvWgsVjcyJy3H52f-oQ80n0K5zGfo6boweYm-D-GJqc0hwnUAMhHpp9po6TyMyl2CUKXdmvwAlFAHKVf1syb8z2m88zcmef0ALIUMEYsgKUvwRXByuQK7-0orR0MfIB4xs-fYLEKMxSYabiih7x98sd3OlyQh0GTDA8PGQCj_/w400-h271/169.png" width="400" /></a></div><br /><p>次に「<span>meta-arm</span>」です。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake-layers add-layer ../poky/meta-arm/meta-arm/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzjLJJpyC5VjCVBTUYbpQ4V27P4xEHSyeo91hpgk00N-VhTYdxGNMvF0ec_WP42rndwQKsj10ZXBl9jFXexSnD0OKyvq8GiZARHcjxTFBBU7iY8E7ps5wCuKVgX4x3CbAKHBwDePmKWGWS_tIwJeyy10vBWHk1yVdPTDesY8yXgEwG-R4KhV4PZuyV-3i1/s786/170.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 20" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzjLJJpyC5VjCVBTUYbpQ4V27P4xEHSyeo91hpgk00N-VhTYdxGNMvF0ec_WP42rndwQKsj10ZXBl9jFXexSnD0OKyvq8GiZARHcjxTFBBU7iY8E7ps5wCuKVgX4x3CbAKHBwDePmKWGWS_tIwJeyy10vBWHk1yVdPTDesY8yXgEwG-R4KhV4PZuyV-3i1/w400-h271/170.png" width="400" /></a></div><p><br /></p><p>これで「meta-sunxi」が依存するすべてのレイヤーの導入が完了したはずですね。</p><p><br /></p><h2><u>「meta-sunxi」レイヤーの導入</u></h2><p>紆余曲折ありましたが、いよいよ当初の目的である「mets-sunxi」レイヤーを導入します。</p><p>ディレクトリは既に取得済みで、チェックアウトも終えています。</p><p>満を持して「/home/yocto/poky/build/conf/bblayers.conf」ファイルに「bitbake-layers」コマンドを使って「meta-sunxi」レイヤーを追加しましょう。</p><p>以下のコマンドを実行します。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake-layers add-layer ../poky/meta-sunxi/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfu7NvQ6WnuzvV59ng-3uTcNXKkYuvzuqcFIXjeYH1dX7LJJ0swTsbkfzXQ-vjSHFp7pFRXP_IPg7GkZNBj8GjzBbVnPTm1ofIV0ZWZ_XtiVu3iZbcsK6y8im2uEHF8lI8ES_IkyMhkA2SIm1dExoGqblh7wBwaKKIIWW0fmFwhKSsoYT2UAmfcl0b5ETw/s786/171.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 21" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfu7NvQ6WnuzvV59ng-3uTcNXKkYuvzuqcFIXjeYH1dX7LJJ0swTsbkfzXQ-vjSHFp7pFRXP_IPg7GkZNBj8GjzBbVnPTm1ofIV0ZWZ_XtiVu3iZbcsK6y8im2uEHF8lI8ES_IkyMhkA2SIm1dExoGqblh7wBwaKKIIWW0fmFwhKSsoYT2UAmfcl0b5ETw/w400-h271/171.png" width="400" /></a></div><br /><p><span style="color: #fcff01;">ヨシっ!</span></p><p>今度はエラーが出力されることなく導入に成功したみたいですね。</p><p>それでは最終確認。</p><p>今まで散々「bitbake-layers」コマンドで「/home/yocto/poky/build/conf/bblayers.conf」ファイルにレイヤーを追加してきましたが、正しく出来ているでしょうか?</p><p>「/home/yocto/poky/build/conf/bblayers.conf」ファイルを開いて確認してみましょう。</p><p>以下のように<span style="color: red;">今までの作業が反映されている</span>でしょうか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN2aUQBIFp_L4-YjoGcgqaLVzU51swFHHAJRkIqgTpZzm2Ogf1cfYNoVmjCoQZmFnNwhK7_UdAirVUlvG8SoF_y2NysO4dNGmPk48iQ2akFyWvIRGCE0cdpo-Q2iNX9tlg61l-powg4pEzgwYqK7Dc78QU2TDgtwsqmH8OmyD-MnmLlEpfw0IBLLR43eIt/s952/172.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「/home/yocto/poky/build/conf/bblayers.conf」ファイル - 2" border="0" data-original-height="491" data-original-width="952" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN2aUQBIFp_L4-YjoGcgqaLVzU51swFHHAJRkIqgTpZzm2Ogf1cfYNoVmjCoQZmFnNwhK7_UdAirVUlvG8SoF_y2NysO4dNGmPk48iQ2akFyWvIRGCE0cdpo-Q2iNX9tlg61l-powg4pEzgwYqK7Dc78QU2TDgtwsqmH8OmyD-MnmLlEpfw0IBLLR43eIt/w400-h206/172.png" width="400" /></a></div><p><br /></p><p>これで「BBLAYERS」という変数に必要なレイヤーのパスが代入されるようになりました。</p></div><div><p>いよいよ「pcDuino3」用のLinuxディストリビューションをビルドしましょう…と思いますが、まだまだ若干の作業が必要です。</p><p><br /></p><p>さて、長くなってしまうので、一度区切りましょう。</p><p>遅ればせながら…</p><p><span style="color: #fcff01;">皆様、明けましておめでとうございます。</span></p><p><span style="color: #fcff01;">本年が皆様によって素晴らしい年になりますように。</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2024/02/pcduino3yocto-project.html"><続く></a></p></div>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-44402823268680186892023-12-26T20:16:00.000-08:002023-12-28T17:09:16.246-08:00「MSX DEVCON」アムステルダム報告会<h2 style="text-align: left;"><u>「MSX DEVCON」アムステルダム報告会 概要</u></h2><p>12月26日、「MSX DEVCON」アムステルダム報告会に参加してきました。</p><p>今回のイベントは、<a href="https://ja.wikipedia.org/wiki/%E8%A5%BF%E5%92%8C%E5%BD%A6" target="_blank">西 和彦</a>さんによりオランダ、アムステルダムで12月9日に開かれた「DEVCON」の報告会です。</p><p>会場は、東京国立博物館・平成館大講堂で13:00より行われました。</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNDH0-Ncgp8Hfhid7tX1g5x63-0P7al3dZSm3I9jJT3XAsmUu6x1jEBeJkJ3JnkF9YxdlwecufiyU-xfpyn3jytAp0-Ca69C5XheteUlWqMozivwYUOvWwchfAXzQeqj1-WUR-zFCAI_3aRsCWzzc0Dq9A3hkHJZxQbHDY3czU_jlHO9ZH_B0UXxwFgX1/s960/DSC_0753.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="東京国立博物館・平成館大講堂" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNDH0-Ncgp8Hfhid7tX1g5x63-0P7al3dZSm3I9jJT3XAsmUu6x1jEBeJkJ3JnkF9YxdlwecufiyU-xfpyn3jytAp0-Ca69C5XheteUlWqMozivwYUOvWwchfAXzQeqj1-WUR-zFCAI_3aRsCWzzc0Dq9A3hkHJZxQbHDY3czU_jlHO9ZH_B0UXxwFgX1/w400-h300/DSC_0753.JPG" width="400" /></a></p><p><br /></p><p>以下のように、事前にX(旧Twitter)で参加人数を調査され、300人ほどの会場を用意されたとのことですが…</p><blockquote class="twitter-tweet"><p dir="ltr" lang="ja">お知らせ<br /><br />12月26日に1300時から1600時に<br />東京上野で<br />msx devconオランダ報告会をすることになりました<br /><br />会場設営のため出席希望の方だけいいねをお願いします<br /><br />最新のmsx0とmsx3についてお話しさせて頂きます<br /><br />無料です<br />msx0の即売もします <a href="https://t.co/gvTRzpwlnj">pic.twitter.com/gvTRzpwlnj</a></p>— 西 和彦 Kazuhiko Nishi (@nishikazuhiko) <a href="https://twitter.com/nishikazuhiko/status/1730459928928854366?ref_src=twsrc%5Etfw">December 1, 2023</a></blockquote> <script async="" charset="utf-8" src="https://platform.twitter.com/widgets.js"></script><p><br /></p><p>実際に会場に集ったのは、多くて100人を少し超える程度。</p><p>しかしこれは、<span style="color: #fcff01;">決して日本での「MSX3」への関心が低くなったわけではない</span>でしょう。</p><p>まず、この年末の多忙な時期というタイミング、それに加え、ネット配信や録画で自宅で参加したいというニーズが高かったものと考えられます。</p><p>それでも、アムステルダムでのイベントの報告をいち早く日本のファンに届けたいという西さんの思いは伝わってきます。</p><p>「MSX3」は、あくまでも「Made in Japan」の精神にブレはありません。</p><p>おそらく、後日、会場の模様は録画でも配信されるでしょうから、あえてこのブログで報告会の内容を細々と記述する必要はないでしょう。</p><p>ここでは、個人的な感想を<span style="color: #fcff01;">勝手に</span>述べさせていただきたいと思います。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguNdCxDlHqJJ75bszuvSGPzFlAuLpum9s6xCBstYgO1TaYvxeZ0_pgqM6is8OhisA1fhkyGTwaHP59igeVU4KRQxJ8gswllAQC7QqsEChlP9b9NdqhA9OtTo_hZojX9Uo_GFBP8P-LP2pGmDi-4m_Trcb5l59rrtjwW1A41W414MlqrmCjVIEneVDbQulY/s960/DSC_0754.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="会場の様子" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguNdCxDlHqJJ75bszuvSGPzFlAuLpum9s6xCBstYgO1TaYvxeZ0_pgqM6is8OhisA1fhkyGTwaHP59igeVU4KRQxJ8gswllAQC7QqsEChlP9b9NdqhA9OtTo_hZojX9Uo_GFBP8P-LP2pGmDi-4m_Trcb5l59rrtjwW1A41W414MlqrmCjVIEneVDbQulY/w400-h300/DSC_0754.JPG" width="400" /></a></div><p><br /></p><h2 style="text-align: left;"><u>「MSX3」は高価なHDMIセレクタ?</u></h2><p>すでに公開されている「MSX3」のプロトタイプの姿は以下の通りです。</p><blockquote class="twitter-tweet"><p dir="ltr" lang="ja">次世代MSXプロジェクトの本命「MSX3」のプロトタイプが公開! 2006年に発売された「1chipMSX」が有償アップグレードでUSB 2.0対… <a href="https://t.co/b1q8AFifQ5">https://t.co/b1q8AFifQ5</a> <a href="https://twitter.com/hashtag/MSX3?src=hash&ref_src=twsrc%5Etfw">#MSX3</a> <a href="https://twitter.com/hashtag/MSX0?src=hash&ref_src=twsrc%5Etfw">#MSX0</a> <a href="https://twitter.com/hashtag/%E8%A5%BF%E5%92%8C%E5%BD%A6?src=hash&ref_src=twsrc%5Etfw">#西和彦</a> <a href="https://t.co/md7LYehniC">pic.twitter.com/md7LYehniC</a></p>— GAME Watch (@game_watch) <a href="https://twitter.com/game_watch/status/1736200654279090205?ref_src=twsrc%5Etfw">December 17, 2023</a></blockquote> <script async="" charset="utf-8" src="https://platform.twitter.com/widgets.js"></script>
<p><br /></p><p>今回の報告会において、初めて「MSX3」の具体的な姿、そして目指す方向性が見えてきました。</p><p>まず「MSX3」は、どのカテゴリーの製品なのかということです。</p><p>今、私たちが普段使用している情報機器は、パソコンとスマートフォンの二つです。</p><p>40年前に発売されたMSXは、一般的にはパソコンというカテゴリに属する製品でした。</p><p>したがって、その後継としての「MSX3」もまたパソコンであると考える方が自然ではあります。</p><p>では、現在広く使われているWindowsやMacOSと競合するものを目指すのか?</p><p>答えは<span style="color: #fcff01;">ノー</span>です。</p><p>パソコンよりも遥かに気軽でウェアラブルなスマートフォンの立ち位置ではどうでしょう。</p><p>「MSX3」は、iOSやAndroidと競合するものを目指すのか?</p><p>こちらも、答えは<span style="color: #fcff01;">ノー</span>です。</p><p>いずれの方向も、既に双璧がシェアを争う構図が確定しており、今後数年に渡って大きな変化はないでしょう。</p><p>MSXが、今からこれらの分野の3番手を狙うのは現実的ではありません。</p><p>では、どうするか?</p><p>そもそも、40年前に発売されたMSXが単なる「パソコン」であったのかどうかを疑う必要があります。</p><p>当時、人々が直に使い得る情報機器は、非常に高価なオフィスコンピュータくらいなものでした。</p><p>(PC88や、ましてやPC98は、非常に高価でした。)</p><p>それより規模は小さいものの、安価で、一般の人が購入できる価格でコンピュータを提供したことが、MSXの偉業と言えるでしょう。</p><p>それが、日本のその後のモノづくり、技術者の育成にどれだけの貢献をしたかを含めて。</p><p>このように、MSXとは「パソコン」とういう概念に囚われず「<span style="color: #fcff01;">安価に入手できる、本来手にできなかったモノ</span>」と定義すれば、「MSX3」は必ずしも第3のパソコンでなくても良いのです。</p><p>では現在、個人ではなかなか手にできない情報機器とは何でしょうか?</p><p>それは、富岳などに代表される<span style="color: #fcff01;">スーパーコンピュータ</span>です。</p><p>西さんの思い描く近未来とは、誰もがスーパーコンピュータ…つまり「MSX3」を使って、ユーザが個人でメタバースを運営したり、AIを育てたり、気象予報が可能となる世界でしょう。</p><p>更には、日本のモノづくりへの貢献です。</p><p>国立研究開発法人、産業技術総合研究所のスーパーコンピュータ、<a href="https://ja.wikipedia.org/wiki/AI%E6%A9%8B%E6%B8%A1%E3%81%97%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89" target="_blank">AI橋渡しクラウド(AI Bridging Cloud Infrastructure、ABCI) </a>は、多くの企業によって、数カ月先まで予約が埋まっている状態だと聞きます。</p><p>スーパーコンピュータを使いたくても使えない状況。</p><p>「MSX3」には、このような状況を打開し、スピーディーに企業や個人が大規模なシステムの開発を推進できる起点になる可能性すら感じさせます。</p><p>重要なことは、MSXは、それらが可能な砂場(サンドボックス)を安く提供するまではやります、と。</p><p>しかし、その砂場でどういう遊びをするのかは、ユーザに委ねられている点です。</p><p>したがって「MSX3」は、ユーザが何も手を加えなければ、高価なHDMIセレクタに過ぎないと、西さんは仰られました。</p><p>用意されていないものは、自分で作る。</p><p>この精神性もまた、MSXの伝統と言えるでしょう。</p><div><br /></div><p>「MSX3」を簡単にまとめると…</p><p><br /></p><p><span style="color: #01ffff;">◯インターネット接続</span></p><p><span style="color: #01ffff;">◯HDMI接続の映像出力</span></p><p><span style="color: #01ffff;">◯32bitと64bitのCPU</span></p><p><span style="color: #01ffff;">◯メタバースに対応し得るビデオとオーディオ</span></p><p><span style="color: #01ffff;">◯すべての人にスーパーコンピュータを</span></p><p><span style="color: #01ffff;">◯IoTへの新たなるアプローチ</span></p><p><br /></p><p>これらは、既にプロトタイプに実装されているといいます。</p><p>より具体的な中身については、今後発表されるSDK(Software Development Kit)を精査する必要があります。</p><p>待ち遠しいですね!</p><p><br /></p><h2 style="text-align: left;"><u>「MSX3」と「MSX turbo」の関係は?</u></h2><p><span style="color: #fcff01;">「すべての人にスーパーコンピュータを」</span></p><p>このベクトルは、本来、3つある新しいMSXの内の一つ「MSX turbo」が担う分野だったはずです。</p><p>私も「MSX3」とは全く別のラインで、スーパーコンピュータ「MSX turbo」が登場するものと思っていましたが、どうやら違ったようです。</p><p>「MSX3」は、そのCPUボードを最大16枚スタックすることができるそうです。</p><p>すなわち、ユーザのニーズ、必要な処理速度に合わせてCPUボードを増設することによって、メニコアのシステムに育てて行くことが可能とのこと。</p><p>つまり<span style="color: #fcff01;">「MSX turbo」とは「MSX3」の延長</span>であると解釈するのが正解のようです。</p><p><br /></p><p><span style="color: #01ffff;">「お前のMSX、何段?」</span></p><p><span style="color: #01ffff;">「今は8段だけど、次のボーナスで12段にするぜ!」</span></p><p><br /></p><p>…なんて会話が、ヘビーユーザの間で交わされるのでしょうか?</p><p><span style="color: #fcff01;">「MSX3」のOSはLinuxベース</span>であり、その上に「<span style="color: #fcff01;">TAOX</span>」というレイヤーを被せます。</p><p>「TAOX」自体は、OSというよりもPosixに依存するフレームワークのようで、ロボット・アプリケーションの分野で普及する「<a href="https://ja.wikipedia.org/wiki/Robot_Operating_System" target="_blank">ROS</a>」に近いイメージでしょうか。</p><p>おそらく、この「TAOX」が、<a href="https://ja.wikipedia.org/wiki/Communicating_Sequential_Processes" target="_blank">CSP(Communicating sequential processes)</a>すなわち、並行処理を担うレイヤーになるでしょう。</p><p>「TAOX」は、以前から開発されているものですが、一般的に情報は少なく、こちらについても詳細はSDK待ちということになるでしょう。</p><p>以前のDEVCONでは、プログラミング言語として「<a href="https://ja.wikipedia.org/wiki/Occam" target="_blank">Occam</a>」を使用すると説明がありましたが、今回は触れられていません。</p><p>流石に古すぎたか?</p><p>個人的には、CSPの思想を受け継ぐのであれば、今であれば「<a href="https://ja.wikipedia.org/wiki/Go_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" target="_blank">Go lang</a>」が使えると面白いと思います。</p><p><br /></p><h2 style="text-align: left;"><u>ゲームは重要!</u></h2><p>ゲームに関しては、西さん独特のシニカルな言い回しで仰いました。</p><p>「わたしゃゲームは嫌いだ。でも、<span style="color: #fcff01;">MSXにとってゲームは非常に重要だ。</span>」</p><p>同時に、現在「<a href="https://kibidango.com/" target="_blank">kibidango</a>」でのクラウドファンディングで募集中のMSX0各機種が、非常に苦戦しているとのことでした。</p><p>確かにキツそうです。</p><p>(購入予定はなかったけど、急遽応援します。)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg71Ly3Y-lGQ1YOgpDsZeTexXAnBrS50vm2BfEYluRVyAwYjJKH3yMUfXubhYJWAURok7KATlfGi1AQUclRDGT5Yv7kK18y3AUJ7WLFpQ9BacQxt5epZ0_F7GjLnpL1Wx0OoDiMZ2V6c3iyJCAOfczEStaFcRBgDTl0cY7I-V6esWB4iXv7k-vYp8btcnx2/s1208/kibidango.png" style="margin-left: 1em; margin-right: 1em;"><img alt="クラウドファンディング苦戦中" border="0" data-original-height="588" data-original-width="1208" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg71Ly3Y-lGQ1YOgpDsZeTexXAnBrS50vm2BfEYluRVyAwYjJKH3yMUfXubhYJWAURok7KATlfGi1AQUclRDGT5Yv7kK18y3AUJ7WLFpQ9BacQxt5epZ0_F7GjLnpL1Wx0OoDiMZ2V6c3iyJCAOfczEStaFcRBgDTl0cY7I-V6esWB4iXv7k-vYp8btcnx2/w400-h195/kibidango.png" width="400" /></a></div><p><br /></p><p>この原因について、西さんは「ゲームを置き去りにしてしまった。ゲームは今までMSXが生き残ってきた重要な要素であり、今後はそれを無視できない。」と仰っています。</p><p>西さんのことですから、今後、この分野でも大きな動きを起こすでしょう。</p><p>また、この日も「<a href="http://www.d4e.co.jp/" target="_blank">株式会社D4エンタープライズ</a>」の鈴木代表も登壇されましたが、ゲームの供給という点でプレッシャーは大きいでしょう。</p><p>そもそも「MSX3」は「メタバースに対応し得るビデオとオーディオ」を搭載できます。</p><p>8K対応の「ORIN GPU」で「Open GL」に対応するとのことで、旧作ばかりではなく、新しい、そして、かなり高度なゲームを開発できる土壌はあるはず。</p><p>有力なサードパーティの参入に期待したいところですが、それには何より、まずユーザサイドで盛り上がる必要がありますね。</p><p><span style="color: #fcff01;">メーカーに、活発な市場と思わせなければなりません。</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdgNlIP1eCcr28jkMhR5QzqqnYLE2RGJw2rTWCoGBBRg4zSjGeGHxTs4uZIh-zDr2hRTnqcjYHPBLBCIZuKZngSC5NfJ_F9XUjLWTEMTzCNg_ZZGXN0QHc-_NqdOGhzfpbzuAegf-Gv5MK99bhsegXIDLDOKCTf1GX1y_xGgT08wA8zicnxSU8MXiwp10i/s960/DSC_0755.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="配布資料の黄色リボン" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdgNlIP1eCcr28jkMhR5QzqqnYLE2RGJw2rTWCoGBBRg4zSjGeGHxTs4uZIh-zDr2hRTnqcjYHPBLBCIZuKZngSC5NfJ_F9XUjLWTEMTzCNg_ZZGXN0QHc-_NqdOGhzfpbzuAegf-Gv5MK99bhsegXIDLDOKCTf1GX1y_xGgT08wA8zicnxSU8MXiwp10i/w400-h300/DSC_0755.JPG" width="400" /></a></div><p></p><p><span style="color: #fcff01;"><br /></span></p><p>西さん、ここまでのMSX3に開発経緯を記した「<span style="color: #fcff01;">反省記2</span>」の執筆も進めているそうです。</p><p>前作の「<a href="https://www.amazon.co.jp/%E5%8F%8D%E7%9C%81%E8%A8%98%E2%80%95%E2%80%95-%E3%83%93%E3%83%AB%E3%83%BB%E3%82%B2%E3%82%A4%E3%83%84%E3%81%A8%E3%81%A8%E3%82%82%E3%81%AB%E6%88%90%E5%8A%9F%E3%82%92%E3%81%A4%E3%81%8B%E3%82%93%E3%81%A0%E5%83%95%E3%81%8C%E3%80%81%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%81%AE%E2%80%9C%E5%9C%B0%E7%8D%84%E2%80%9D%E3%81%A7%E5%AD%A6%E3%82%93%E3%81%A0%E3%81%93%E3%81%A8-%E8%A5%BF-%E5%92%8C%E5%BD%A6-ebook/dp/B08CZ9VFSQ/ref=sr_1_1?adgrpid=114288595411&gclid=Cj0KCQiAkKqsBhC3ARIsAEEjuJhjSyyCi5Qn4mjTXOqpA27P86hpVZt-slHCgs-yni4FcDoO6MFi4k0aAq0wEALw_wcB&hvadid=679003312282&hvdev=c&hvlocphy=1009314&hvnetw=g&hvqmt=e&hvrand=10208248577556632909&hvtargid=kwd-952206780125&hydadcr=16033_13711637&jp-ad-ap=0&keywords=%E5%8F%8D%E7%9C%81%E8%A8%98&qid=1703660723&sr=8-1" target="_blank">反省記</a>」も、モノづくりに関わる人間の一人として、着眼点やその発想の方法に大きな感銘を受けた内容でした。</p><p>こちらも楽しみです。</p><p>さて、まだまだ目が離せないMSX界隈の状況。</p><p>今後も注目していきたいと思います。</p><p><span style="color: #fcff01;">皆様、良いお年を!</span></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-61063995468567275652023-12-22T17:30:00.000-08:002024-01-02T22:56:51.056-08:00「pcDuino3」でYocto Project その5<p><a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>「Yocto Project」におけるレシピとは?</u></h2><p>「Yocto Project」を使う上で、絶対に避けて通れないのが「<span style="color: #fcff01;">レシピ</span>」という概念です。</p><p>レシピって聞いて、皆さん何を思い浮かべるでしょうか?</p><p>そう、<span style="color: #fcff01;">お料理のレシピ</span>ですよね。</p><p><br /></p><p><span style="color: #fcff01;">はい、これでもう「Yocto Project」のレシピは理解できたも同然です!</span></p><p><br /></p><p>例えば、今晩の夕食はカレーライスにしようと思います。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5NfG2Toqw51o_-SJOX1qb_g03Sk2IIHAZJF7RA78M4JyKZdXc615nI9s-YgarsaAC_JczjuouKkxmm8n5etZcRqJEUpLxHOd9xPwOFxHyfubsp6RgXcsuSAUfolqHaS9jyLVmdKWSWMzFUY7pgOup54_a0EqlUp-XyNeAUDhbTfenbfSPcoWWOnyIP4Jg/s960/DSC_0013.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="カレーライス" border="0" data-original-height="540" data-original-width="960" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5NfG2Toqw51o_-SJOX1qb_g03Sk2IIHAZJF7RA78M4JyKZdXc615nI9s-YgarsaAC_JczjuouKkxmm8n5etZcRqJEUpLxHOd9xPwOFxHyfubsp6RgXcsuSAUfolqHaS9jyLVmdKWSWMzFUY7pgOup54_a0EqlUp-XyNeAUDhbTfenbfSPcoWWOnyIP4Jg/w400-h225/DSC_0013.JPG" width="400" /></a></div><p><br /></p><p>まず「ご飯」のレシピを想像してみましょう。</p><p>「ご飯」を炊くためには、まず、お米が必要です。</p><p><span style="color: #fcff01;">お米は、何処で買いましょう?</span></p><p><span style="color: #fcff01;">どうやって、どのくらい研ぎましょうか?</span></p><p><span style="color: #fcff01;">炊飯器にどのくらいの水を入れましょうか?</span></p><p><span style="color: #fcff01;">どのくらいの時間蒸らしましょうか?</span></p><p>…などなど、細かく書くと意外と複雑ですよね。</p><p>次に「カレールー」のレシピです。</p><p>これは「ご飯」よりも、もっと複雑です。</p><p><span style="color: #fcff01;">何処産のターメリックをどれくらい使いましょうか?</span></p><p><span style="color: #fcff01;">何処産のカルダモンをどれくらい使いましょうか?</span></p><p><span style="color: #fcff01;">何処産のシナモンをどれくらい使いましょうか?</span></p><p><span style="color: #fcff01;">何処産のコリアンダーをどれくらい使いましょうか?</span></p><p><span style="color: #fcff01;">辛さは?</span></p><p>…こりゃキリがないですね。</p><p>他にも「野菜」や「お肉」の調理方法が書いてあるレシピが、カレーライスを作るためには必要です。</p><p><br /></p><p>これを「Yocto Project」でLinuxディストリビューションを作る場合に置き換えてみます。</p><p>まず「Linuxカーネル」のレシピがあります。</p><p>「Linuxカーネル」をビルドするには、ソースコードが必要です。</p><p><span style="color: #fcff01;">ソースコードは、どこからダウンロードしましょう?</span></p><p><span style="color: #fcff01;">どのアーキテクチャでビルドしましょうか?</span></p><p><span style="color: #fcff01;">どういったオプションでビルドしましょうか?</span></p><p><span style="color: #fcff01;">どのようなモジュールを追加しましょうか?</span></p><p>…などなど「ご飯」の時と似てますよね。</p><p>他にも「ブートローダー」や「BusyBox」など、Linuxが動作するために必要な部材のレシピが存在します。</p><p>前回「git clone」して生成された「poky」というディレクトリの中には、これらのレシピがたくさん入っています。</p><p>料理のレシピは、紙のメモ等かもしれませんが、そこはLinuxなので「Yocto Project」のレシピはテキストファイル形式で存在しています。</p><p><span style="color: #fcff01;">拡張子は「.bb」です。</span></p><p>以下の通り「poky」ディレクトリの下層、たとえば「~/poky/meta/recipes-kernel/」ディレクトリの中には、たくさんのソフトウェアごとのディレクトリがあって…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBdiZsz7CXHiVSyIr0A3vtYZdWRb5HXNRhlI3uykfPVpc-REuoh4wIVdT5YovUpQeegYQtnvbNh8mZf2531oRFcAnmeBrE2WHgjrISrBikwmSJqNPiArxd2TfuYWa1O7Vz0G7CysmaRKju8cxbqm52lmZDgTqZQNKbz-fV2nfPDM-fLBVS2y_qo8PItIr/s942/48.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「poky」ディレクトリの下層 - 1" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheBdiZsz7CXHiVSyIr0A3vtYZdWRb5HXNRhlI3uykfPVpc-REuoh4wIVdT5YovUpQeegYQtnvbNh8mZf2531oRFcAnmeBrE2WHgjrISrBikwmSJqNPiArxd2TfuYWa1O7Vz0G7CysmaRKju8cxbqm52lmZDgTqZQNKbz-fV2nfPDM-fLBVS2y_qo8PItIr/w400-h256/48.png" width="400" /></a></div><p><br /></p><p>その中に、それぞれの「.bb」ファイルが存在するのを確認できますね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0k6j67Gk3yvXVs8eseOIlEc3s0pzy5iMTv5l0rgjQn3crd6PN8H35itHfzs27bqh5sPf7fp1CnKO5DivLS9I7spguXa3asL9sOojkMZVXL5L_WXPi8ndvbIgWzEtrTVzu9cChbKo4K-trBTpYlejBKVvSuyxJxduXO3hqASJnbYyntyrojCVqKNibHH0c/s942/49.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「poky」ディレクトリの下層 - 2" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0k6j67Gk3yvXVs8eseOIlEc3s0pzy5iMTv5l0rgjQn3crd6PN8H35itHfzs27bqh5sPf7fp1CnKO5DivLS9I7spguXa3asL9sOojkMZVXL5L_WXPi8ndvbIgWzEtrTVzu9cChbKo4K-trBTpYlejBKVvSuyxJxduXO3hqASJnbYyntyrojCVqKNibHH0c/w400-h256/49.png" width="400" /></a></div><p><br /></p><p>興味のある方は、レシピがどういう風に書かれているか、見てみるのも良いかもしれません。</p><p>(但し、訳が分かんなくてもヘコタレナイこと!)</p><p><br /></p><h2 style="text-align: left;"><u>「bitbake」コマンドとは?</u></h2><p>さて、カレーライスの場合は、私たち自身がレシピを読みながら料理をしなければなりません。</p><p>では、Linuxディストリビューションの場合は?</p><p>それを行うのが、ビストロ「Yocto Project」の料理長「<span style="color: #fcff01;">bitbake</span>」コマンドさんだったのです。</p><p>前回、以下のようなコマンドを打ちましたよね?</p><p>終わるまでに5時間くらい掛かった例のヤツ。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake core-image-minimal</span></p><p><br /></p><p>これは、料理長「bitbake」さんに「core-image-minimal」というお料理を注文したことになります。</p><p>「bitbake」さん、料理長なのにお客さんの注文取ったり、色々大変なので「グズグズすんな」とか「トロトロしてんじゃねー」とか「ぁくしろよ!」とか言っちゃダメ。</p><p>でもって「core-image-minimal」の注文を受けた「bitbake」料理長、厨房に戻ると「core-image-minimal」に必要な食材を買い出しに行きます。</p><p><span style="color: #fcff01;">…え、今からかいっ!?</span></p><p>まあ、そういったツッコミは、例え話なんでご勘弁を。</p><p>たくさんのレシピに書かれている部材をすべて買い揃えた「bitbake」料理長、厨房に戻って、これまたレシピ通りに各食材を調理していきます。</p><p>こうして「bitbake」料理長の大車輪の活躍で出来上がったのが「core-image-minimal」というお料理、すなわち、Linuxディストリビューションとなります。</p><p><br /></p><h2 style="text-align: left;"><u>「Yocto Project」における</u><u>レイヤーとは?</u></h2><p>コスプレする人のことじゃないです。</p><p>「Yocto Project」には、レシピの他、もう一つ重要な概念「<span style="color: #fcff01;">レイヤー</span>」というものがあります。</p><p>前回ビルドした「core-image-minimal」は、いわばプレーンなカレーライス、学食の300円のカレーみたいなもんで、なんのヒネリもないシンプルなものです。</p><p>(今思うと、アレはアレで美味しかったなぁ。)</p><p>これをグレードアップして、カツカレーライスにしたいと思います。</p><p>しかし、カツカレーライスを作るためには、ベースのプレーンなカレーライスのレシピに加えて、上に乗せるカツのレシピも必要になります。</p><p>カツも一から作るとなれば、結構大変です。</p><p>お肉は何処で買えば良いのか?</p><p>油の量や温度はどうするのか?</p><p>...などなど。</p><p>カレーライスとは別の料理として、複数のレシピが必要になりそうです。</p><p>これを「Yocto Project」風に言えば、カレーライスの上に、カツのレシピが含まれた、カツの「レイヤーを加える」必要があるわけです。</p><p>おまけに、このカツカレーライスに福神漬をトッピングしちゃった日にゃ、ダイコンやらレンコンやら、それらの味付けやらで、複数のレシピが含まれた福神漬の「レイヤーを加える」ことになります。</p><p>すなわち、レイヤーとは、ある要素を一纏めにしたレシピの集合体と言えます。</p><p>前回作った「core-image-minimal」が、プレーンなカレーライス。</p><p>今後、この記事で作ろうとする「pcDuino3」向けの「core-image-minimal」が、カツカレーライス。</p><p>このように例えるなら「pcDuino3」向けのLinuxディストリビューションは、前回作った「core-image-minimal」に「レイヤーを加える」ことによって作成することになります。</p><p>レイヤーは原則として「meta-<span style="color: #fcff01;">xxx</span>」というディレクトリ名が付けられます。</p><p>このディレクトリの中に、関連するレシピ、すなわち「.bb」ファイルがたくさん配置されています。</p><p>(「.bb」ファイル以外のものもありますが、それは今は気にしないで。)</p><p>ディレクトリを配置しただけではダメです。</p><p>レイヤーの場所を教えてあげないと「bitbake」料理長、その中のレシピが見れなくて困っちゃう。</p><p>それをやっているのが以下のパスの「<span style="color: red;">bblayers.conf</span>」ファイルです。</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/build/conf/bblayers.conf</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidZb-B8rvGxjOhIQWiJMvT2CX0u8Aek-Wbr4ldtSciLa0OoLeFodKb3L2hhFb2IJpgIwbFFypspnCdTHyzDgXBavz-siZ-9o2hDqGn54NKMsmCSrI_1kbOw2EL79IvexbSQ834sNxCO5BcZnjtHqmk34tI6UJ2hhUkujuGuNgKNqi_XntyfxJWudUEC-Km/s942/50.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「bblayers.conf」のあるディレクトリ" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidZb-B8rvGxjOhIQWiJMvT2CX0u8Aek-Wbr4ldtSciLa0OoLeFodKb3L2hhFb2IJpgIwbFFypspnCdTHyzDgXBavz-siZ-9o2hDqGn54NKMsmCSrI_1kbOw2EL79IvexbSQ834sNxCO5BcZnjtHqmk34tI6UJ2hhUkujuGuNgKNqi_XntyfxJWudUEC-Km/w400-h256/50.png" width="400" /></a></div><p><br /></p><p>この「bblayers.conf」ファイル、中身はこんな感じのテキストです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaH4aejjYXxL2sdcTfhfZ6eceSIF6WtUVdx_ULQnGOXli8EwMP5XVpYShMB9kGADUE9PHrThGLdmo3jbZdPy8ZjddWtAg-jKciNdIzivhYWuvQ0JYuraLVNnVWFZFBajjsRAIs92SUspfIseLZwnydMfSYqI7YR9-UMcYRuihCH2NRK0sEWR2A4aWZ4wU6/s952/51.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「bblayers.conf」の内容" border="0" data-original-height="364" data-original-width="952" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaH4aejjYXxL2sdcTfhfZ6eceSIF6WtUVdx_ULQnGOXli8EwMP5XVpYShMB9kGADUE9PHrThGLdmo3jbZdPy8ZjddWtAg-jKciNdIzivhYWuvQ0JYuraLVNnVWFZFBajjsRAIs92SUspfIseLZwnydMfSYqI7YR9-UMcYRuihCH2NRK0sEWR2A4aWZ4wU6/w400-h153/51.png" width="400" /></a></div><br /><p>これを見ると、なにやら「BBLAYERS」という変数に、パスのリストを代入しているように見えます。</p><p>この代入により「meta」と「meta-poky」と「meta-yocto-bsp」の3つレイヤーが登録されていることになります。</p><p>わずか3つ!</p><p>すなわち、前回作った「core-image-minimal」は、非常に少ないレイヤーで構成されていたことが分かります。</p><p>そりゃ学食の300円カレーだもの…。</p><p><br /></p><h2 style="text-align: left;"><u>「meta-sunxi」レイヤー</u></h2><p>さて「pcDuino3」用のLinuxディストリビューションを作るために必要なレイヤーを手に入れなければなりません。</p><p>ところで「pcDuino3」のような名の通ったボードでLinuxを動かすために、白紙の状態から独自のレシピを書いてレイヤーを作ることは、まず無いと思います。</p><p>そういったものは、大概はコミュニティの方々が既に開発して、公開している上にメンテナンスまでやってくれています。</p><p><span style="color: #fcff01;">本当にありがたいですよね。</span></p><p>お仕事で独自のLinuxボードを作って、それにLinuxを動かす場合でも、使用したCPUのベンダーが必要なレシピやレイヤーを提供していることがほとんどで、最小限のカスタマイズで移植可能です。</p><p>では「pcDuino3」に必要なレイヤーがどこにあるか?</p><p>結論から言うと、まず以下の「<span style="color: #fcff01;">meta-sunxi</span>」レイヤーのページを御覧ください。</p><p>このページは「Yocto Project」の元となった、組み込み機器用のLinuxディストリビューションを作るためのソフトウェアフレームワーク「<a href="https://ja.wikipedia.org/wiki/OpenEmbedded" target="_blank">OpenEmbedded</a>」がサポートする、公式の各種レイヤー情報ページです。</p><p>そして、このページの「<span style="color: red;">Machines</span>」タブをクリックしてください。</p><p><br /></p><p><a href="https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/">https://layers.openembedded.org/layerindex/branch/master/layer/meta-sunxi/</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaf3XXY1CY3G4CqKtrXHLmq0pO8-8ToIra6TfLalY9xcEaS7CLqIcpi0esPApANxkVbe0h9P1NsPI75A6IBJoygpK9kbCp0Ju9pao5JHkaUYrK2wilaiWkwd9QcHDrfThnKOzN4Y06CbYe1eRcYLzz8ewr1OxLDsw8EYj1cz3YlCnnslhcsatft9grva9d/s1920/52.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 1" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaf3XXY1CY3G4CqKtrXHLmq0pO8-8ToIra6TfLalY9xcEaS7CLqIcpi0esPApANxkVbe0h9P1NsPI75A6IBJoygpK9kbCp0Ju9pao5JHkaUYrK2wilaiWkwd9QcHDrfThnKOzN4Y06CbYe1eRcYLzz8ewr1OxLDsw8EYj1cz3YlCnnslhcsatft9grva9d/w400-h235/52.png" width="400" /></a></div><p><br /></p><p>このページを下の方へスクロールしますと…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMzgxCfomRaLZCMNuxJ0PWshxI_nVcUX-nZwZY-DrMLJR-PCuLl5oRvcv7VxfrgID2nNhgWHr7Ip9rrbr4X5YwABRG8pWqdOSZuDaY0HYBbTohcWgTtSMy6V5wzjCsht5VqDoHy2R2kIM0eH-Io2Perqv_FfbjH3M2c5gmO2B_z37WQQOym8nPK5RGhUjk/s1920/53.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 2" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMzgxCfomRaLZCMNuxJ0PWshxI_nVcUX-nZwZY-DrMLJR-PCuLl5oRvcv7VxfrgID2nNhgWHr7Ip9rrbr4X5YwABRG8pWqdOSZuDaY0HYBbTohcWgTtSMy6V5wzjCsht5VqDoHy2R2kIM0eH-Io2Perqv_FfbjH3M2c5gmO2B_z37WQQOym8nPK5RGhUjk/w400-h235/53.png" width="400" /></a></div><p><br /></p><p>「<span style="color: red;">pcduino3</span>」という表記がありますね。</p><p>どうやら、このレイヤーを使えば良いらしいことが分かります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMNWxUdIFT2Z08K7LzroSv6W-1pcF2bVqpsxpche3mvv0r3w8w_V9Wfuu7Z89-O8ZAGEwr1428jQcAWIvd3wLPov3oHNwAJwv_MGQOnm_DFeSClz0GS6WFI6b2nHPk0xQAMUXukMb-xlWMRHImDkUjimezd868GA-GjH3NQrpOvxQhg7TRPzEYW3GflDeH/s1920/54.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OpenEmbedded Layer Index」 - 3" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMNWxUdIFT2Z08K7LzroSv6W-1pcF2bVqpsxpche3mvv0r3w8w_V9Wfuu7Z89-O8ZAGEwr1428jQcAWIvd3wLPov3oHNwAJwv_MGQOnm_DFeSClz0GS6WFI6b2nHPk0xQAMUXukMb-xlWMRHImDkUjimezd868GA-GjH3NQrpOvxQhg7TRPzEYW3GflDeH/w400-h235/54.png" width="400" /></a></div><p><br /></p><p>因みに「<span style="color: #fcff01;">sunxi</span>」って何?って思いますよね。</p><p>これは「pcDuino3」に搭載されている、中国Allwinner Technology社のCPUシリーズの型番に由来します。</p><p>「pcDuino3」に搭載されているものは「A20(sun<span style="color: #fcff01;">7</span>i)」です。</p><p>他にも、このシリーズには「A10 (sun<span style="color: #fcff01;">4</span>i)」や「A13 (sun<span style="color: #fcff01;">5</span>i)」などが存在します。</p><p>つまり「sun<span style="color: #fcff01;">x</span>i」の「<span style="color: #fcff01;">x</span>」は、型番の番号のアスタリスクになっているわけです。</p><p>スンシィー、寸志!?…なんか中国語っぽい意味かと思ったけど違ったみたい。</p><p><br /></p><p>さて、今回は作業無くウンチクだけで終了。</p><p>次回から、実際にこのレイヤーをどのように「Yocto Project」に組み込むか?をやっていきたいと思います。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2024/01/pcduino3yocto-project.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-15108251639304204472023-12-15T19:14:00.000-08:002024-01-20T23:46:43.544-08:00TOPPERS/ASP - Arduino UNO R4版 その4<p><a href="https://www.madogiwakoubou.com/2023/12/toppersasp-arduino-uno-r4.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/10/toppersasp-arduino-uno-r4.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>Cygwinターミナルでのビルド</u></h2><p>雛形プロジェクトができましたので、ここで生成されたソースコードの一部を「TOPPERS/ASP Arduino UNO R4版」のソースコードを補完しましょう。</p><p>その前に「<span style="color: #fcff01;">Cygwin</span>」のインストールをお願いします。</p><p>このページ(<a href="https://www.madogiwakoubou.com/p/toppersaspcygwin.html">TOPPERS/ASPのビルドからデバッグまで~Cygwinの導入</a>)を参考にしてください。</p><p><br /></p><p>次に「TOPPERS/ASP Arduino UNO R4版」のソースコードをゲットしちゃいましょう。</p><p>今、インストールしたばかりの「Cygwin」を起動させてください。</p><p>起動したターミナルで、以下のコマンドを使ってソースコードのクローンを行います。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone https://github.com/RyutaroMorita/asp_arduino_uno_r4_gcc.git</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-5wLrdIz5mAgMTtDaYLVuGKWtY5fwIz-SYnslJ5Pc3WgJiE0SDKhMLerINcItKn-cU5GJuAQ1tweaF5JY15A-BEGZ834_xCqJd7SfPwWuaUs2kwUKXiudO-H8oWsBN3STpYfEl_NHArqgLJ3jjHJV-_vKVY9oPJyRPZejdwn3a1NugTur8sIKnjMmlqo8/s912/066.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 1" border="0" data-original-height="529" data-original-width="912" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-5wLrdIz5mAgMTtDaYLVuGKWtY5fwIz-SYnslJ5Pc3WgJiE0SDKhMLerINcItKn-cU5GJuAQ1tweaF5JY15A-BEGZ834_xCqJd7SfPwWuaUs2kwUKXiudO-H8oWsBN3STpYfEl_NHArqgLJ3jjHJV-_vKVY9oPJyRPZejdwn3a1NugTur8sIKnjMmlqo8/w400-h233/066.png" width="400" /></a></div><p></p><p><span><br /></span></p><p><span>上記のコマンドの結果、以下のパスに</span>「<span style="color: red;">asp_arduino_uno_r4_gcc</span>」というディレクトリが生成されたはずです。</p><p>エクスプローラを開いて、確認してみてください。</p><p><br /></p><p><span style="color: #01ffff;">C:\cygwin64\home\<ユーザ名></span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIokYH4of66xKN4__K3X6lwaBLWVrzNQXTxuyAeZ8WQh8B7W9eYTiyV2yesWI9uKw47fWToC-gtjP-kfmTlNvaWRLSvc2QGResKgbbpb3TUVBC6ThKe85teTJFiXe__DH8WSyQOSeHk6XzIkDxC_yjeRM3C4niggDv-1O7ppZkGj8f_rIlaLVUnMn10oxM/s1085/067.png" style="margin-left: 1em; margin-right: 1em;"><img alt="エクスプローラ - 1" border="0" data-original-height="598" data-original-width="1085" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIokYH4of66xKN4__K3X6lwaBLWVrzNQXTxuyAeZ8WQh8B7W9eYTiyV2yesWI9uKw47fWToC-gtjP-kfmTlNvaWRLSvc2QGResKgbbpb3TUVBC6ThKe85teTJFiXe__DH8WSyQOSeHk6XzIkDxC_yjeRM3C4niggDv-1O7ppZkGj8f_rIlaLVUnMn10oxM/w400-h220/067.png" width="400" /></a></div><p></p><p><br /></p><p>この「asp_arduino_uno_r4_gcc」というディレクトリの名前を「<span style="color: red;">asp_1.9.2</span>」と改名してください。</p><p>(深い意味はないです…説明がしやすいだけ。)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAQyO7nWCrJMRbaXTwpa7bgkNHBbBdExyGn1xd7sE7babZxiQ5sHmgMRXDZy33VNRFz4HxuKQdrbSIP2QWJP5Ue2xBXtc3eLOz7KTwQCCpdXgMoq9n7O-hp4yqXBHfGOCr7Dkmz1bt-Yoa3CKIKUs-XkSP2pAeWMhyRZBO-FgzzyyVa8WJZOvRDaXgxAWc/s1085/068.png" style="margin-left: 1em; margin-right: 1em;"><img alt="エクスプローラ - 2" border="0" data-original-height="598" data-original-width="1085" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAQyO7nWCrJMRbaXTwpa7bgkNHBbBdExyGn1xd7sE7babZxiQ5sHmgMRXDZy33VNRFz4HxuKQdrbSIP2QWJP5Ue2xBXtc3eLOz7KTwQCCpdXgMoq9n7O-hp4yqXBHfGOCr7Dkmz1bt-Yoa3CKIKUs-XkSP2pAeWMhyRZBO-FgzzyyVa8WJZOvRDaXgxAWc/w400-h220/068.png" width="400" /></a></div><p><br /></p><p>改名した「asp_1.9.2」ディレクトリの中身は、こんな風になっていると思います。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwBaJ_GOXKyqcLxpCndTJzVYOCV2f0z3tl-Eg9wJAxvpE0EHsF95yNntF4qMreBlLvXcyw5Vn4oN1Hb1u3r6wpvN0xaq6AmQNWjyIIY9k3iQC6INC1Z8r9F_JGrT7aKXlEWpFT7mSx80OrdtI2cGDoJGpkvDNHptxhuKXsf_LlARdmj5QL7KFWWLbLPWAx/s1128/069.png" style="margin-left: 1em; margin-right: 1em;"><img alt="エクスプローラ - 3" border="0" data-original-height="1128" data-original-width="1085" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwBaJ_GOXKyqcLxpCndTJzVYOCV2f0z3tl-Eg9wJAxvpE0EHsF95yNntF4qMreBlLvXcyw5Vn4oN1Hb1u3r6wpvN0xaq6AmQNWjyIIY9k3iQC6INC1Z8r9F_JGrT7aKXlEWpFT7mSx80OrdtI2cGDoJGpkvDNHptxhuKXsf_LlARdmj5QL7KFWWLbLPWAx/w385-h400/069.png" width="385" /></a></div><p><br /></p><p>この「asp_1.9.2」ディレクトリの下層、以下のパスを表示してみてください。</p><p><br /></p><p><span style="color: #01ffff;">C:\cygwin64\home\<ユーザ名>\asp_1.9.2\target\arduino_uno_r4_gcc</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAeuiRwB0e_G1gzy0OPWbmw-2QP0Q3VhLDwtPZZFc2vXW6xen3GdKFTTJqPFzdgIxlwAbSLW7xVLerZRvtVZbzODP-w0E7AqKH2CifDDQLbpJGFA_0kd7PIQFL09xtP7pRgQciJO5eR3zCxVEVSJNM1OEATzhiC61SuuZ0ZEIiIH16PkuRQ30XwjL_wFMi/s1085/070.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターゲットディレクトリのエクスプローラ - 1" border="0" data-original-height="768" data-original-width="1085" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAeuiRwB0e_G1gzy0OPWbmw-2QP0Q3VhLDwtPZZFc2vXW6xen3GdKFTTJqPFzdgIxlwAbSLW7xVLerZRvtVZbzODP-w0E7AqKH2CifDDQLbpJGFA_0kd7PIQFL09xtP7pRgQciJO5eR3zCxVEVSJNM1OEATzhiC61SuuZ0ZEIiIH16PkuRQ30XwjL_wFMi/w400-h284/070.png" width="400" /></a></div><p><br /></p><p>ここには、TOPPERS/ASPカーネルのターゲットボード、すなわち、今回の場合は「Arduino UNO R4」依存のソースコードが格納されています。</p><p>この<span style="color: #fcff01;">ターゲットディレクトリ</span>のエクスプローラ、開いておいてくださいね。</p><p><span><br /></span></p><p><span>さて、前回作成した雛形プロジェクトのディレクトリを別のエクスプローラで開きます。</span></p><p><span>記事のとおりに作業していただいた場合は、以下のパスに生成されています。</span></p><p><span><br /></span></p><p><span style="color: #01ffff;">C:\Users\<ユーザ名>\e2_studio\workspace\Hinagata</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF8-rQJTgAGccHjLCbFNNBkiot0YVpNetZYZnyMEmzUf0Z6OrFayJlkZRJHa_EyLLaB98y9gN5iax_VFpBVlbTf4fKZYCBj7evB6TRD4e3hop4E4-_hQTytbvLTa8WU-7Ciz8atIQkjppyzUzskpVXTo1d6zrgFdpEWLQ4CoIrtDO9CvrpMwOP1ZFUL4MG/s1085/071.png" style="margin-left: 1em; margin-right: 1em;"><img alt="エクスプローラ - 4" border="0" data-original-height="768" data-original-width="1085" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF8-rQJTgAGccHjLCbFNNBkiot0YVpNetZYZnyMEmzUf0Z6OrFayJlkZRJHa_EyLLaB98y9gN5iax_VFpBVlbTf4fKZYCBj7evB6TRD4e3hop4E4-_hQTytbvLTa8WU-7Ciz8atIQkjppyzUzskpVXTo1d6zrgFdpEWLQ4CoIrtDO9CvrpMwOP1ZFUL4MG/w400-h284/071.png" width="400" /></a></div><p></p><p><span><br /></span></p><p><span>この中の以下の4つのディレクトリを予め開いておいた</span><span style="color: #fcff01;">ターゲットディレクトリ</span>のエクスプローラにコピーしてください。</p><p><br /></p><p><span style="color: #01ffff;">●ra</span></p><p><span style="color: #01ffff;"></span></p><p><span style="color: #01ffff;">●ra_cfg</span></p><div><p><span style="color: #01ffff;">●ra_gen</span></p></div><div><p><span style="color: #01ffff;">●src</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuzmB8cJ3mniwMjF_5BWtMHaabWtF63Cn04pv3gnUm6eBH64ILauBTjnr_pGfXIEhO5BcPMQQ2nYN4wTMvd_SX5FfKL7VXbqVavp6dr3wjJfx_vIF6-Ff5PkPQu22wtTsQg83SzHdoRH5f-WC0YicMithUt72ZtXRisDsE9BpN4ogfwhbi7YdQ3eyGiay/s1085/072.png" style="margin-left: 1em; margin-right: 1em;"><img alt="エクスプローラ - 5" border="0" data-original-height="768" data-original-width="1085" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuzmB8cJ3mniwMjF_5BWtMHaabWtF63Cn04pv3gnUm6eBH64ILauBTjnr_pGfXIEhO5BcPMQQ2nYN4wTMvd_SX5FfKL7VXbqVavp6dr3wjJfx_vIF6-Ff5PkPQu22wtTsQg83SzHdoRH5f-WC0YicMithUt72ZtXRisDsE9BpN4ogfwhbi7YdQ3eyGiay/w400-h284/072.png" width="400" /></a></div></div><p><span><br /></span></p><p><span>コピーが終わった時点で、</span><span style="color: #fcff01;">ターゲットディレクトリ</span>のエクスプローラは、こんな感じの表示になりましたか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZ7JBS9dIxkeZahrVHj6oX9ws1npjom_LYPFmRLB2JekHzqwpBX-Q8ePtMgMdvO8SrCckTlSZwq3EpYctbYTDDDLXB90qwHo5kEeO9M9vHSQRKOhRpcMH171DrG9zYAIHWCIYIUltm_icETyLHsuIXs_G7kfLUx-myoYMlzht8xNaHs96ihHgaO2xNh28/s1085/073.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターゲットディレクトリのエクスプローラ - 2" border="0" data-original-height="768" data-original-width="1085" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZ7JBS9dIxkeZahrVHj6oX9ws1npjom_LYPFmRLB2JekHzqwpBX-Q8ePtMgMdvO8SrCckTlSZwq3EpYctbYTDDDLXB90qwHo5kEeO9M9vHSQRKOhRpcMH171DrG9zYAIHWCIYIUltm_icETyLHsuIXs_G7kfLUx-myoYMlzht8xNaHs96ihHgaO2xNh28/w400-h284/073.png" width="400" /></a></div><p><span><br /></span></p><p>この作業でコピーした雛形プロジェクトのディレクトリの中に入っているソースコードを補完することによって、不完全だった「TOPPERS/ASP Arduino UNO R4版」のソースコードは、完璧なものになりました。</p><p><br /></p><p>試しに「Cygwin」ターミナルを使ってTOPPERS/ASPのビルドを通してみましょう。</p><p>「Cygwin」ターミナルを開いて、以下のコマンドでTOPPERS/ASPソースツリーの場所まで移動しましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd asp_1.9.2/</span></p><p><br /></p><p>次にその直下の「OBJ」ディレクトリに移動します。</p><p><br /></p><p><span style="color: #01ffff;">$ cd OBJ/</span></p><p><br /></p><p>コンフィギュレーターのパーミッションを実行可能に設定します。</p><p><br /></p><p><span style="color: #01ffff;">$ chmod 755 ../cfg/cfg/cfg.exe</span></p><p><br /></p><p>ここまで、大丈夫ですか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeovE_THL5lvNI9QYyZ90vufrhO3nuzEHLYdRlKmRHteZJhv2itM3ozdxz3qgb1Jho82YAh30q6LDnRokYDq28Ssw2RvSIj3NuYGf2mYmvRzaO3ZGTGO2VnkGlNmFMIZzkVF1O_mS-MLHUDrh512xm1Yg_5Ilw0fjbkF4pCY2bJLoYNgOTXBXU4YZ_tmiH/s912/074.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 2" border="0" data-original-height="529" data-original-width="912" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeovE_THL5lvNI9QYyZ90vufrhO3nuzEHLYdRlKmRHteZJhv2itM3ozdxz3qgb1Jho82YAh30q6LDnRokYDq28Ssw2RvSIj3NuYGf2mYmvRzaO3ZGTGO2VnkGlNmFMIZzkVF1O_mS-MLHUDrh512xm1Yg_5Ilw0fjbkF4pCY2bJLoYNgOTXBXU4YZ_tmiH/w400-h233/074.png" width="400" /></a></div><p><br /></p><p>そうしたら「OBJ」ディレクトリの中にあるコンフィグファイル(sample1.cfg)の情報を元に、OSに必要な定義を記したソースコード(「kernel_cfg.c」と「kernel_cfg.h」)を生成します。</p><p>これは、以下のコマンドで実行します。</p><p><br /></p><p><span style="color: #01ffff;">$ make depend</span></p><p><br /></p><p>以下のような表示にならずエラーが出力される場合は、残念ながらこれまでの作業に誤りがあります。</p><p>お手数ですが、最初からご確認を!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9al9uvNPhBH01Oah85Y-hovqT0Soo8yRf8Sqoe1smuVwhngAGN-kD1MkD5iKrnAOdfH2wT_8uxYM7vXKuBf4mSL6SrJICahjJ7FmgaukzCipM_LU7DxnlCydJxcHM5iafd6ktOsrQSfEaxfiMHyc8XUqJlSa3-MbDLps8tjZMuL9Vlhyphenhyphen7R7FycVYCdPnv/s912/075.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 3" border="0" data-original-height="529" data-original-width="912" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9al9uvNPhBH01Oah85Y-hovqT0Soo8yRf8Sqoe1smuVwhngAGN-kD1MkD5iKrnAOdfH2wT_8uxYM7vXKuBf4mSL6SrJICahjJ7FmgaukzCipM_LU7DxnlCydJxcHM5iafd6ktOsrQSfEaxfiMHyc8XUqJlSa3-MbDLps8tjZMuL9Vlhyphenhyphen7R7FycVYCdPnv/w400-h233/075.png" width="400" /></a></div><p><br /></p><p>ここまで上手くいったら、ホンチャンのビルド。</p><p>以下のコマンドを実行します。</p><p><br /></p><p><span style="color: #01ffff;">$ make all</span></p><p><br /></p><p>以下のように無事にビルドが通ったでしょうか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDiFlD2tHeCLWrN36wZrFx1CHlyMR_9ZhHF-MiA778QXsGD76a7Z9H5PRi7kI6uctZNJAe3XbCGk8fXMZEoJ3-QO8PR1VTEdbC7V5CRIZuapJDXRts25cWJWJivdxapvB2eZBSNf6LY9LtXGpTuuj92JWBo-NyuUNklBy6ukOgN98pdRlJZ3i0-DPqAEqk/s912/076.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 4" border="0" data-original-height="529" data-original-width="912" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDiFlD2tHeCLWrN36wZrFx1CHlyMR_9ZhHF-MiA778QXsGD76a7Z9H5PRi7kI6uctZNJAe3XbCGk8fXMZEoJ3-QO8PR1VTEdbC7V5CRIZuapJDXRts25cWJWJivdxapvB2eZBSNf6LY9LtXGpTuuj92JWBo-NyuUNklBy6ukOgN98pdRlJZ3i0-DPqAEqk/w400-h233/076.png" width="400" /></a></div><p><br /></p><p>さて、ターミナルでのビルドが通ったら、次はIDE(統合開発環境)の「e2studio」を使ってデバッグできるようにしたいと思います…が。</p><p>その前に、デバッガの「E2 emulator Lite」とターゲットの「Arduino UNO R4」とを接続するためのケーブルを作らなければなりません。</p><p>というわけで、次回は半田付け作業です。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2024/01/toppersasp-arduino-uno-r4.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-9978199788333519702023-12-13T02:06:00.000-08:002023-12-16T00:16:49.279-08:00TOPPERS/ASP - PIC32MX版 目次<p>絶滅危惧の「MIPS」アーキテクチャのマイコン「PIC32MX」。</p><p>今後、たとえ「ARM」アーキテクチャに移行してしまっても、PICはPICらしく。</p><p>DIPパッケージをラインナップするなど、あくまでもホビーユーザーに寄り添ったマイコンであり続けて欲しいでものですね。</p><p>以下、TOPPERS/ASP PIC32MX版に関する記事の目次です。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx.html">■TOPPERS/ASP - PIC32MX版 その1</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>TOPPERS/ASP - PIC32MX版 概要</span></p><p style="text-align: left;"><span style="color: #fcff01;"><span style="white-space: pre;"> </span>必要なもの</span></p><p style="text-align: left;"><span style="color: #fcff01;"><span style="white-space: pre;"> </span>ダウンロード/GitHub</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx_18.html">■TOPPERS/ASP - PIC32MX版 その2</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>開発環境の構築(MPLAB X IDE編)</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx_25.html">■TOPPERS/ASP - PIC32MX版 その3</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>開発環境の構築(XC32コンパイラ編)</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/08/toppersasp-pic32mx.html">■TOPPERS/ASP - PIC32MX版 その4</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>開発環境の構築(Eclipse編)</span></p><div><br /></div><p><a href="https://www.madogiwakoubou.com/2023/08/toppersasp-pic32mx_15.html">■TOPPERS/ASP - PIC32MX版 その5</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>MPLAB Harmonyとは?</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>MPLAB Harmonyのインストール</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>MPLAB HarmonyのIDEへの登録</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/09/toppersasp-pic32mx.html">■TOPPERS/ASP - PIC32MX版 その6</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>雛形プロジェクトの作成</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/09/toppersasp-pic32mx_22.html">■TOPPERS/ASP - PIC32MX版 その7</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>Harmony Frameworkのコピー</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>雛形プロジェクトで生成したソースコードのコピー</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>コマンドラインでのビルド</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-pic32mx.html">■TOPPERS/ASP - PIC32MX版 その8</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>プロジェクトの作成(Eclipse編)</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>プロジェクトの作成(MPLAB X IDE編)</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-pic32mx_17.html">■TOPPERS/ASP - PIC32MX版 その9</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>シリアル通信用の配線の引き出し</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>プログラムの転送とデバッグ</span></p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/11/toppersasp-pic32mx.html">■TOPPERS/ASP - PIC32MX版 その10</a></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>サンプルプロジェクトの説明</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>PIC32MX版カーネルについて</span></p><p><span style="color: #fcff01;"><span style="white-space: pre;"> </span>ライセンスについて</span></p><p><br /></p><p>なお、<a href="https://qiita.com/" target="_blank">Qiita</a>にも上記の記事を1ページにまとめたダイジェスト版を投稿しました。</p><p>こっちの方が読み易いです。</p><p>よろしければ参考にしてください。</p><div class="separator" style="clear: both; text-align: center;"><span style="margin-left: 1em; margin-right: 1em;"><a href="https://qiita.com/RyutaroMorita/items/1b178671032db135489e" target="_blank"><img alt="Qiita" border="0" data-original-height="320" data-original-width="480" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgglfFczm9iMx4f-IBzUc0DOQNA7-jWbX1JyjkW9R9vHQMFTYExAYgjpoOxmdPiCct8gF976Ehx7xi-Qxh2m4pGgkiljmSDG56_FzZX2zqlGA9CAm2AytFkKcRDJOtIgQEORUKFvO25t6l9gzCUcfz5tx1eNgYK2fh0AuLiDHOUXoX_tLpXqXdkoMolmvYl/w400-h266/Qiita.png" width="400" /></a></span></div><p><a href="https://qiita.com/RyutaroMorita/items/1b178671032db135489e" target="_blank">TOPPERS/ASP - PIC32MX版 - Qiita</a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-62047528135869235402023-12-08T16:18:00.000-08:002024-01-03T02:37:20.581-08:00「pcDuino3」でYocto Project その4<p><a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project_21.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>「Yocto Project」の構築</u></h2><p>前回「VMware Workstation Player」上にインストールした「Ubuntu」を立ち上げましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-5cwRRjQrc-29IZpB1n_8nd3DwTtkGPw7iV72fvMgoJjymYQR-ZPyM4UFzph3eQbf-EwAW7Z8-1-Fsx-VKwW32qieG525juJYl0iqpsTY_H83yRQjJ9FQXAeEXU-jtzlkMPLj9d7updoDPez3jOOgfhc7pCb2iwCp1lq-CuB6_dlwshcA9SSF7psNxvX5/s1284/111.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」 - 1" border="0" data-original-height="888" data-original-width="1284" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-5cwRRjQrc-29IZpB1n_8nd3DwTtkGPw7iV72fvMgoJjymYQR-ZPyM4UFzph3eQbf-EwAW7Z8-1-Fsx-VKwW32qieG525juJYl0iqpsTY_H83yRQjJ9FQXAeEXU-jtzlkMPLj9d7updoDPez3jOOgfhc7pCb2iwCp1lq-CuB6_dlwshcA9SSF7psNxvX5/w400-h276/111.png" width="400" /></a></div><p><br /></p><p>ターミナルを起動します。</p><p>キーボードの<span style="color: #fcff01;">「Ctrl」+「Alt」+「T」</span>を同時に押すと楽です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioLDJuxsyhXXma5XXCD26Y-c8hYll1xoL_guJfKWOHKGPOfJgf0-58Sa6D_PYkRaGo_BFJEOmpFnrIJLD6JH59AcRmRTgjZ45Hnf1k7kf_U6kvaLizocAteB02RzwUve0_8UNHgu5VMteLxze3ADVqD6oXZod0Y_J1c4UlAv4vUniSSkjHbwxy7G6l9SLw/s1284/112.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」 - 2" border="0" data-original-height="888" data-original-width="1284" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioLDJuxsyhXXma5XXCD26Y-c8hYll1xoL_guJfKWOHKGPOfJgf0-58Sa6D_PYkRaGo_BFJEOmpFnrIJLD6JH59AcRmRTgjZ45Hnf1k7kf_U6kvaLizocAteB02RzwUve0_8UNHgu5VMteLxze3ADVqD6oXZod0Y_J1c4UlAv4vUniSSkjHbwxy7G6l9SLw/w400-h276/112.png" width="400" /></a></div><p><br /></p><p>Linuxを扱うと、どうしてもターミナル(コマンドライン)での作業が多くなります。</p><p>アレルギーのある方は、今のうちに慣れておきましょう。</p><p>さて「Yocto Project」を動作させるには、いくつかのプログラムを予めインストールしておくことが前提となります。</p><p><span style="color: #fcff01;">それがまた、エラい数です。</span></p><p>早速、これらをインストールしましょう!</p><p>下のコマンドをコピーして「Ubuntu」のターミナルにペーストしてリターンキーを押しましょう。</p><p>(頭の「$ 」以降をコピーしてください。)</p><p>Winodowsから「VMware Workstation Player」上の「Ubuntu」へコピー・アンド・ペーストできますし、逆もまた可です。</p><p><br /></p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ul style="background-color: #111166; color: #ffff77; list-style: outside none; margin: 0px; padding-left: 5px; white-space: nowrap;">
<li style="background-color: #111166;">$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev python3-subunit mesa-common-dev zstd liblz4-tool file locales</li>
</ul></code></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcZ_DrZOH7FKRGTZmmhpfyyPy2-0-9RC2FSvkNxwkUTFWDoz7xVbnECHoGF53Nvn4nIBPqI6nkEKMoZncbUl-gcIgzHNq-VHkz6uinAGtS-QTzbHw3AH4OggPhfQfXDyzKrcEpgJkrm7Sbn_6ZC34gsJWzQd8Kz5yEAsK9rw_AqzcZ2s619FcgibJCwo-e/s786/113.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 1" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcZ_DrZOH7FKRGTZmmhpfyyPy2-0-9RC2FSvkNxwkUTFWDoz7xVbnECHoGF53Nvn4nIBPqI6nkEKMoZncbUl-gcIgzHNq-VHkz6uinAGtS-QTzbHw3AH4OggPhfQfXDyzKrcEpgJkrm7Sbn_6ZC34gsJWzQd8Kz5yEAsK9rw_AqzcZ2s619FcgibJCwo-e/w400-h271/113.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">ね!エラい数でしょ?</span></p><p>こんなのイチイチ打ってられるかっ!</p><p>パスワードの入力が求められます。</p><p>「<span style="color: red;">yocto</span>」でしたね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHhnqwZ4_lrEg9ime3ztvS7AbF0GfVr0nzSGfqfFH8EKPRC2iv2pm_XN8smsxCa531FQxZ6UWXD12sCGiq4ZnaMl6BePIi_1ygc6oMP3DbRQRgPl8_EPMQvmk21qVQLvCdY0gLtJ_LYRAl2LsIvI1woXr-xedDfuJaVzUpn9lyHd5SrI6TqQBp8M3NS5Le/s786/114.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 2" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHhnqwZ4_lrEg9ime3ztvS7AbF0GfVr0nzSGfqfFH8EKPRC2iv2pm_XN8smsxCa531FQxZ6UWXD12sCGiq4ZnaMl6BePIi_1ygc6oMP3DbRQRgPl8_EPMQvmk21qVQLvCdY0gLtJ_LYRAl2LsIvI1woXr-xedDfuJaVzUpn9lyHd5SrI6TqQBp8M3NS5Le/w400-h271/114.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><p>「sudo」は、以降のコマンドを管理者権限で実行させるコマンドで「apt install」というのが、以降に続くプログラムをダウンロード、インストールするコマンドです。</p><p>以下の画面では、作業を続行して良いかどうかを問われています。</p><p>ここは、リターンキーを押します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsFAcC-nW-sSJDXV5BiynPSz9-0GhQF_Atnfe7j0A3oKs6Pgz7j9T5CJ0DEAGKaDDMIl23jaHDYjN6uPCk0JxskJX7yVOQqQ94aNHsy8EVwgiDvbX_ibjMO_xnybyN0OdMh_kliIOOmmAt64ifamcHrmHq5JRxjpIl5MxJLrUJzO8JYVKjH7GJRtG-nrks/s786/115.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 3" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsFAcC-nW-sSJDXV5BiynPSz9-0GhQF_Atnfe7j0A3oKs6Pgz7j9T5CJ0DEAGKaDDMIl23jaHDYjN6uPCk0JxskJX7yVOQqQ94aNHsy8EVwgiDvbX_ibjMO_xnybyN0OdMh_kliIOOmmAt64ifamcHrmHq5JRxjpIl5MxJLrUJzO8JYVKjH7GJRtG-nrks/w400-h271/115.png" width="400" /></a></div><p><br /></p><p>作業中…。</p><p>意外と速く進みます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0btVpRGN4qj9510dK90La375DV6oAVtT_N0V5H1rF0Ddl01w-Nu3MC6aNPcND3Z9nHoGD18uvhJ3-9c3v77NCpnZ4XS5yTUewal-iAFab_iPwUd04oaqjf-50K0Dng5Rl-6jkqr2cmoxaqMScQRIMyd960c01LzDSn040OqBZTr0Raj2Zwh1a-zXipEH7/s786/116.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 4" border="0" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0btVpRGN4qj9510dK90La375DV6oAVtT_N0V5H1rF0Ddl01w-Nu3MC6aNPcND3Z9nHoGD18uvhJ3-9c3v77NCpnZ4XS5yTUewal-iAFab_iPwUd04oaqjf-50K0Dng5Rl-6jkqr2cmoxaqMScQRIMyd960c01LzDSn040OqBZTr0Raj2Zwh1a-zXipEH7/w400-h271/116.png" width="400" /></a></div><p><br /></p><p>ダウンロードとインストールが終わると、以下の表示になります。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTwx0uiRI-bbqBGX0vIQXBAA5jtB0qHx_fF0mN-XPVZCAkNMOe2H7gLgORL6EMe_8D4LJe5ihoL3auz7CBoR2xXLjTRqyfX-HwHBIIIDNQO4VdAXeCGSAFHzCrpr3kNlD1zwGlcQILfjVOZYICIE2gQ6kd1QGKanDo61Wnej7jilRlsFWXld2XYsjL7OxJ" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 5" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTwx0uiRI-bbqBGX0vIQXBAA5jtB0qHx_fF0mN-XPVZCAkNMOe2H7gLgORL6EMe_8D4LJe5ihoL3auz7CBoR2xXLjTRqyfX-HwHBIIIDNQO4VdAXeCGSAFHzCrpr3kNlD1zwGlcQILfjVOZYICIE2gQ6kd1QGKanDo61Wnej7jilRlsFWXld2XYsjL7OxJ=w400-h271" width="400" /></a></div><br /><p></p><p>次に、UTF-8ロケールの設定を行います。</p><p>要は文字コードの設定なのですが「Yocto Project」はUTF-8じゃないとトラブるようです。</p><p>以下のコマンドを入力してリターンキーを押します。</p><p><br /></p><p><span style="color: #01ffff;">$ sudo locale-gen en_US.UTF-8</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEicLueLM9-4zrWeB0I4gpUZiW3ROSh6Ug4Qstq47S0wxj3ttTRIPxm5E8YMzhKQ-ZLmur50UD4eM-2TkkEA6g40ABX_ZQngc59WhsWd_w_H6M14ACDs3lHW5aqNLLJK6ebIeVKJnWyrQOSRwWGA8fzQgp0i65OVq85wxT9rq7PMmAlFEfr-87ap1YKqW2g0" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 6" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEicLueLM9-4zrWeB0I4gpUZiW3ROSh6Ug4Qstq47S0wxj3ttTRIPxm5E8YMzhKQ-ZLmur50UD4eM-2TkkEA6g40ABX_ZQngc59WhsWd_w_H6M14ACDs3lHW5aqNLLJK6ebIeVKJnWyrQOSRwWGA8fzQgp0i65OVq85wxT9rq7PMmAlFEfr-87ap1YKqW2g0=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>いよいよ「Yocto Project」をダウンロード/インストールします。</p><p>以下のコマンドを入力してリターンキーを押します。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone git://git.yoctoproject.org/poky</span></p>
<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj_tFSY-R2h8iRzopAU799nkHOyUYz9Bl7PukwCsF5hbIRmWTQtqLZFCeRnzDD7D-yOEWn7QsVSrCF5d3XADcW7UZwqoTgAY-rREbPFM0OCypHCDy3H_qmAxwQlq3DWFfkxBhbiv7kg4h8T2K3fG3t1aF1g63RtTHXPnRUwB6f8Px6PQe2Y16Ow-rBaOTIH" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 7" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEj_tFSY-R2h8iRzopAU799nkHOyUYz9Bl7PukwCsF5hbIRmWTQtqLZFCeRnzDD7D-yOEWn7QsVSrCF5d3XADcW7UZwqoTgAY-rREbPFM0OCypHCDy3H_qmAxwQlq3DWFfkxBhbiv7kg4h8T2K3fG3t1aF1g63RtTHXPnRUwB6f8Px6PQe2Y16Ow-rBaOTIH=w400-h271" width="400" /></a></div><br /><p></p><p>地味に時間がかかる感じ?</p><p>終了した模様。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgQx_lPvtr2VUCvV2bFIpFrYo6zS773qKLD8SBvTi55njkniFPBDzzlPwQiHHtH3r0qVr2T70M6tUBLLB34iiPO5aEbA_jZ4e3Ba71GBx-9CESSCyW3-vgPeX-QzxwQRV8TbkDcJyvIygfaV4QWQOj-Ig6v2IMraeMwjeyTUKlp4l7tfBCCZYfAwP6OmyUV" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 8" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEgQx_lPvtr2VUCvV2bFIpFrYo6zS773qKLD8SBvTi55njkniFPBDzzlPwQiHHtH3r0qVr2T70M6tUBLLB34iiPO5aEbA_jZ4e3Ba71GBx-9CESSCyW3-vgPeX-QzxwQRV8TbkDcJyvIygfaV4QWQOj-Ig6v2IMraeMwjeyTUKlp4l7tfBCCZYfAwP6OmyUV=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>以下のコマンドで、現在のホームディレクトリに「<span style="color: red;">poky</span>」というディレクトリが生成されたことが確認できます。</p><p>これが「Yocto Project」の実体です。</p><p><br /></p><p><span style="color: #01ffff;">$ ls -l</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhukA1SeHscRJMAIoyd8aryeiLE55sgpv32GryVKOe8BOBygOnajA3JH00gxdLVtQKp8XkSj0o8Kfy8cOgEnLBYz2heRniWP8iJHDgq9xv1zsgFYJIZ3J6OCW4XSMEb_A6-0dwDfkCmOoXyrmkbiEZj1p4Bp4rPaBlgm3XCdntwBl-rN_BybkiK0KT2WYks" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 9" data-original-height="236" data-original-width="575" height="164" src="https://blogger.googleusercontent.com/img/a/AVvXsEhukA1SeHscRJMAIoyd8aryeiLE55sgpv32GryVKOe8BOBygOnajA3JH00gxdLVtQKp8XkSj0o8Kfy8cOgEnLBYz2heRniWP8iJHDgq9xv1zsgFYJIZ3J6OCW4XSMEb_A6-0dwDfkCmOoXyrmkbiEZj1p4Bp4rPaBlgm3XCdntwBl-rN_BybkiK0KT2WYks=w400-h164" width="400" /></a></div><p></p><p><br /></p><p>では、その中に突入!</p><p>ターミナルに「<span style="color: #01ffff;">$ cd poky/</span>」と入力してリターンキーを…と、<span style="color: #fcff01;">その前に豆知識。</span></p><p>例えば、今回のようにターミナルでディレクトリを打ち込む機会って今後も結構あると思います。</p><p>今回の場合「<span style="color: #fcff01;">cd po</span>…」まで打ってから<span style="color: #fcff01;">「Tab」</span>キーを押してください。</p><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg57GO2rA5bsG7YqQ41dos0u8l5245zA6x34EPg948WgK2ct0VqDRmaK9c4IBbunZVVQKMkf7ISU46ll-Onp6vbKaK-wvBSUXekmKdHHCDsh-fUDbuVaQBgTfGauOE7vfwehesxgATGU6NYpjH2BPNmg5_H5xkS2dOVbdgO-zlJgkCyHtTFF_BB21iG8v3G" style="margin-left: 1em; margin-right: 1em;"><img alt="タブ補完機能 - 1" data-original-height="20" data-original-width="375" height="21" src="https://blogger.googleusercontent.com/img/a/AVvXsEg57GO2rA5bsG7YqQ41dos0u8l5245zA6x34EPg948WgK2ct0VqDRmaK9c4IBbunZVVQKMkf7ISU46ll-Onp6vbKaK-wvBSUXekmKdHHCDsh-fUDbuVaQBgTfGauOE7vfwehesxgATGU6NYpjH2BPNmg5_H5xkS2dOVbdgO-zlJgkCyHtTFF_BB21iG8v3G=w400-h21" width="400" /></a></div></div></div><p></p><p><br /></p><p>そうすると、勝手に残りの「…<span style="color: #fcff01;">ky/</span>」が補完されます。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhthgDe8753AkItCH9tOrmlFKsH1pnffB5DmqRrFMvzmL1JnwsRGRVED5Szc1NOJchnrvIUnh_oJSMyF8iDwOcdBzrNA6rb3HudvgSxdy0GUGYAXfw_Mvi3uhOpiA47TH-jQa6xZd5HDnw7la1cTqivAFmoxM9Dnmab-vkEY_3hkqm_-dPH8SfM_ogXV-lW" style="margin-left: 1em; margin-right: 1em;"><img alt="タブ補完機能 - 2" data-original-height="20" data-original-width="375" height="21" src="https://blogger.googleusercontent.com/img/a/AVvXsEhthgDe8753AkItCH9tOrmlFKsH1pnffB5DmqRrFMvzmL1JnwsRGRVED5Szc1NOJchnrvIUnh_oJSMyF8iDwOcdBzrNA6rb3HudvgSxdy0GUGYAXfw_Mvi3uhOpiA47TH-jQa6xZd5HDnw7la1cTqivAFmoxM9Dnmab-vkEY_3hkqm_-dPH8SfM_ogXV-lW=w400-h21" width="400" /></a></div><p></p><p><br /></p><p>これは「タブ補完」と呼ばれているもので、現在のディレクトリ直下の存在するディレクトリやファイルの候補を自動的に補完してくれる機能です。</p><p>(存在しない場合は、何も起こりません。)</p><p>つまり、目的のディレクトリやファイルの頭から2~3文字だけ入力して「Tab」キーを押すことで名前が補完されるので、長いパスをタイピングする必要がなくなります。</p><p>これなら、ターミナルでのキー入力の回数が大幅に減って、大変楽になります。</p><p>実は私、若かりし頃Linuxを触りだしてから、かなり長いことこの機能を知りませんでした。</p><p>そして立派なターミナル・アレルギーになってしまいました。</p><p>でも、これを知ってからターミナルが大好き…にはなってませんがね。</p><p>まあ、…普通?</p><p><br /></p><p>さて、話を戻して。</p><p>ターミナルに「$ cd poky/」と入力してリターンキーです。</p><p><br /></p><p><span style="color: #01ffff;">$ cd poky/</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh6sOgpcWmrKnv9tbC6v0YdNqJg6nx-btf-lXTOuUm5-LCttM8FiixBhQMNn0HlIb5k4o6UyLTQaTarT1GMlzhj-ZFp6-oeI2gADr0pJFoQI0l714qUWqiCjcxLBk054nDG7tUvSwqu_tRMJBduXAb3HPBf20GhtNK48Dm39toHni8YhJAg_a0_EcEFOWUZ" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 10" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEh6sOgpcWmrKnv9tbC6v0YdNqJg6nx-btf-lXTOuUm5-LCttM8FiixBhQMNn0HlIb5k4o6UyLTQaTarT1GMlzhj-ZFp6-oeI2gADr0pJFoQI0l714qUWqiCjcxLBk054nDG7tUvSwqu_tRMJBduXAb3HPBf20GhtNK48Dm39toHni8YhJAg_a0_EcEFOWUZ=w400-h271" width="400" /></a></div><p></p><p><br /></p><p>ここで思案のしどころ…。</p><p>一口に「Yocto Project」と言っても、ソフトウェアなので古いのやら新しいのやら、色々とバージョンがあります。</p><p><a href="https://wiki.yoctoproject.org/wiki/Releases" target="_blank">このページ</a>に一覧表があります。</p><p>どれを選びましょう?</p><p>ソフトウェアというものは、新しいほど良いという訳ではありません。</p><p>とはいえ、古すぎては「pcDuino3」に新しいディストーションを!…という、今回の趣旨に反します。</p><p>「Yocto Project」は、経験上、サポートが終わったばかりの状態が一番安定している気がします。</p><p>(最近は違うのかも?)</p><p>というわけで、今回は「<span style="color: red;">Mickledore</span>」というのを選びます。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEix_6iOQyNVE7HyrWIg6MsZIk4UgY699jLIPGljOM5FjuevP-GJgfv4oFcZV0t8MliXxvJzbzJAJDLGRgn5RBSbUCWDramm3jKaI8c1ZYW9gp4h_QIvQOWbySTvKm_X93cJbOy8OxCAIxALuXFDz-GFUNQDFIW81hjpTWwVggU21sivWEXKz7hbAfnnf6I4" style="margin-left: 1em; margin-right: 1em;"><img alt="Yocto Project Releasesページ" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/a/AVvXsEix_6iOQyNVE7HyrWIg6MsZIk4UgY699jLIPGljOM5FjuevP-GJgfv4oFcZV0t8MliXxvJzbzJAJDLGRgn5RBSbUCWDramm3jKaI8c1ZYW9gp4h_QIvQOWbySTvKm_X93cJbOy8OxCAIxALuXFDz-GFUNQDFIW81hjpTWwVggU21sivWEXKz7hbAfnnf6I4=w400-h235" width="400" /></a></div><p></p><p><br /></p><p>「<a href="https://en.wikipedia.org/wiki/Mickledore" target="_blank">Mickledore</a>」=ミクルドア…、イギリスにある山の名前みたいですね。</p><p>以下のコマンドを入力してリターンキーを押します。</p><p><br /></p><p><span style="color: #01ffff;">$ git checkout -t origin/mickledore -b pcduino3</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgeFg2bem1h2nBFk05PV7uFwRgYNYwRzpz5gsbppFPYWViV8ZRW0885g-D33RGzDp09uUCnV6AWp1hNJBEdPAR6N3rN3h1VcjIMBYXPwEcfh_za0T-FwgwDGxFcRDGcP90vWpckpfpLE6Ga_YuCN5wUL7PUaGkZEPUybGCpn4Dc7jD6tcncKeunZqmauvwR" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 11" data-original-height="533" data-original-width="786" height="271" src="https://blogger.googleusercontent.com/img/a/AVvXsEgeFg2bem1h2nBFk05PV7uFwRgYNYwRzpz5gsbppFPYWViV8ZRW0885g-D33RGzDp09uUCnV6AWp1hNJBEdPAR6N3rN3h1VcjIMBYXPwEcfh_za0T-FwgwDGxFcRDGcP90vWpckpfpLE6Ga_YuCN5wUL7PUaGkZEPUybGCpn4Dc7jD6tcncKeunZqmauvwR=w400-h271" width="400" /></a></div><br /><p></p><p>このコマンドは、説明が必要かもしれません。</p><p>通常「git clone」コマンドでダウンロードされるソースコードやドキュメント類は、公開されている最新のものとなります。</p><p>しかしながら、今回は少し古い「Mickledore」を使用したいのです。</p><p>そのためには、ダウンロードされたソースコードやドキュメント類をその「時期」のものに先祖返りさせる必要があります。</p><p>この「時期」を指すのがリモートブランチと言って、上記のコマンドでは「<span style="color: #fcff01;">origin/mickledore</span>」の部分にあたります。</p><p>そして「origin/mickledore」のスナップショットをダウンロードしたソースコードやドキュメント類に反映させます。</p><p>これを「<span style="color: #fcff01;">checkout</span>」と呼びます。</p><p>リモートブランチ「origin/mickledore」は、管理者によって今後も変更されるかもしれません。</p><p>一方「checkout」したスナップショットは、今後、私達が変更するかもしれません。</p><p><span style="color: #fcff01;">この時点で「origin/mickledore」は分岐したことになります。</span></p><p>文字通りブランチ「枝」別れという訳です。</p><p>本家の「origin/mickledore」は、リモートブランチとして今後も「Yocto Project」のGitサーバで管理されます。</p><p>スナップショットは「<span style="color: #fcff01;">pcduino3</span>」という新たな名前のローカルブランチとして私達の開発用PCの中で管理していきます。</p><p><br /></p><p>…とまあ、分かりにくい説明で申し訳ありません。</p><p>要は、ダウンロードした最新の「Yocto Project」を少し古いバージョンに戻したよ!ってコトで。</p><p>次に「Yocto Project」の動作に必要な環境変数の設定と「build」ディレクトリを作成します。</p><p>以下のコマンドを入力してリターンキーを押します。</p><p>環境変数が設定され、さらに「<span style="color: red;">build</span>」ディレクトリが作成されて、そこに移動した様子が分かります。</p><p><br /></p><p><span style="color: #01ffff;">$ source oe-init-build-env</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgaIYrNdzq_SSxUq_RgUEGFSxSSGrrGGrVwdxpPmYC_6QGtMxJ2qJIiwJLNgXLzrGIYx_1SCzFWFBkeSEKFbBwgRqiLn9cLFxkFKAb8FJq9zEhWebmEfRAjXr0ucRIXXxtBYTpmPxMMEznA2AEWeyMHyAyyu7iLoXQtZITEznFaoMQMH9DeDPsb4w171u1E" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 12" data-original-height="821" data-original-width="786" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEgaIYrNdzq_SSxUq_RgUEGFSxSSGrrGGrVwdxpPmYC_6QGtMxJ2qJIiwJLNgXLzrGIYx_1SCzFWFBkeSEKFbBwgRqiLn9cLFxkFKAb8FJq9zEhWebmEfRAjXr0ucRIXXxtBYTpmPxMMEznA2AEWeyMHyAyyu7iLoXQtZITEznFaoMQMH9DeDPsb4w171u1E=w383-h400" width="383" /></a></div><br /><p></p><p>「Ubuntu」のエクスプローラーで見ても「poky」ディレクトリ以下に「<span style="color: red;">build</span>」ディレクトリが出来ていますね。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi8jb2MQbDpMzN17ApqswA8Q5fWsnuhp74-CTqOrC9ZBjbGOy8jL6boKRJNYGGAAgoshu9TO2Kv0I0w_4kWA4Q_SMHakt1JhkKhdyMW1abBfuE0DXxk5g-KoMoxrMi5hUx_xul0dSPgEYolwcArJafBMu4w1r5-hjolUKTwzty62ueraAdGeuMSO5ry7rv4" style="margin-left: 1em; margin-right: 1em;"><img alt="「build」ディレクトリ" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/a/AVvXsEi8jb2MQbDpMzN17ApqswA8Q5fWsnuhp74-CTqOrC9ZBjbGOy8jL6boKRJNYGGAAgoshu9TO2Kv0I0w_4kWA4Q_SMHakt1JhkKhdyMW1abBfuE0DXxk5g-KoMoxrMi5hUx_xul0dSPgEYolwcArJafBMu4w1r5-hjolUKTwzty62ueraAdGeuMSO5ry7rv4=w400-h256" width="400" /></a></div><br /><p></p><p>さてさて、早速「Yocto Project」の試運転と行きましょうか。</p><p><span style="color: #fcff01;">そこで、ちょっと相談があるんですが…。</span></p><p>今、このページを読んでくれて、実際に試そうと思っている方!</p><p><br /></p><p><span style="color: #fcff01;">今何時ですか?</span></p><p><span style="color: #fcff01;"><br /></span></p><p>…というのも、次のコマンドは終了までにとても長い時間がかかります。</p><p>試運転ですから、最小限の軽いLinuxディストリビューションを作ろうと思っています。</p><p>まずは、いきなり「<span>pcDuino3</span>」用ではなく、デフォルト設定の「x86-64」アーキテクチャ用、すなわち普通のPC向けのディストリビューションです。</p><p>それでも、開発用PCのスペックと、ネットの環境によっては<span style="color: #fcff01;">5<span>時間以上は覚悟</span></span>です。</p><p>「Yocto Project」のビルドツールである「bitbake」は、相当に処理が重いため、その間はPCをほぼ専有されてしまいます。</p><p>ですので、<span style="color: #fcff01;">次のコマンドは就寝前に実行することをオススメします。</span></p><p>朝起きれば、きっとディストリビューションのビルドが成功しているはずですよ。</p><p>普段の行いが良ければ。</p><p>…というわけで、布団の入る前に、以下のコマンドを入力してリターンキーを押します。</p><p><br /></p><p><span style="color: #01ffff;">$ bitbake core-image-minimal</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgeMPpkCwtAuL5VBr-MFrTT14F_wXzCgAnNhvTyGxAqsIbSUdZ1MNNuNZGgGtJcp2cKt9dIRIdvX5PI3Av75RUbN9IG54uaqr7KLqVupVlwmGqBRkCUWaGNyGsdxjVMcEbjm9y8C6FlPLNB-aH_uCmrUl689iMoN0jd1k4xPlP-Jgc7bn7fbO36nBJETe-N" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 13" data-original-height="200" data-original-width="726" height="110" src="https://blogger.googleusercontent.com/img/a/AVvXsEgeMPpkCwtAuL5VBr-MFrTT14F_wXzCgAnNhvTyGxAqsIbSUdZ1MNNuNZGgGtJcp2cKt9dIRIdvX5PI3Av75RUbN9IG54uaqr7KLqVupVlwmGqBRkCUWaGNyGsdxjVMcEbjm9y8C6FlPLNB-aH_uCmrUl689iMoN0jd1k4xPlP-Jgc7bn7fbO36nBJETe-N=w400-h110" width="400" /></a></div><br /><p></p><p>なにやら、始まりましたよ~。</p><p>これは、ディストリビューションに含まれる様々なソフトウェアのソースコードをダウンロードしてはビルドする...ということを延々と繰り返しているようです。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiRfMoLZezt76Q6jH52kai0ydJEsah6NKpubQ85xh5vLi73s49Lwv3zbIrZFXObNZNoxYxfr0by-l13R3xm1H714GmtqD-3t1OYgpNhH-g_qoMpAX72tEJT73VdFOC6jE5C-S2012EwLh2aEnI3DKmCbgFortjMbYgFFEHTg8_HycCPtsyguG7njxFZoe6n" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 14" data-original-height="803" data-original-width="786" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEiRfMoLZezt76Q6jH52kai0ydJEsah6NKpubQ85xh5vLi73s49Lwv3zbIrZFXObNZNoxYxfr0by-l13R3xm1H714GmtqD-3t1OYgpNhH-g_qoMpAX72tEJT73VdFOC6jE5C-S2012EwLh2aEnI3DKmCbgFortjMbYgFFEHTg8_HycCPtsyguG7njxFZoe6n=w392-h400" width="392" /></a></div><br /><p></p><p><span style="color: #fcff01; font-size: large;">そして、就寝!!</span></p><p><span style="color: #fcff01; font-size: large;">…</span></p><p><span style="color: #fcff01; font-size: large;"><br /></span></p><p><span style="color: #01ffff; font-size: large;">…</span></p><p><span style="color: #01ffff; font-size: large;">起床!!</span></p><p><br /></p><p>眠い目を擦りながらも、すかさず開発用PCの画面を確認。</p><p>よし!どうやらディストリビューションのビルドに成功したみたいです。</p><p>エラーが出た時って、<span style="color: red;">真っ赤なエラーメッセージがビッシリ出力される</span>ので一目で分かります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtannxOI0fOmYWhitO7NIMHjjyBc45eODqeCY_oloTvL3czOOyjevXv39UVfEFWoJgbhYsa3sj3Mv6pTrR8g4Nbgyj-b2QKBHDY5Qs_5jQ_thYViIxTE1oPmA8wVF2ndGz87b_SKTdGHqQ96ZY1ZdSSbbbFkN9SqlCOf_aLxuR0ItJLafL185H4o5xwrD0/s803/131.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ターミナル - 15" border="0" data-original-height="803" data-original-width="786" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtannxOI0fOmYWhitO7NIMHjjyBc45eODqeCY_oloTvL3czOOyjevXv39UVfEFWoJgbhYsa3sj3Mv6pTrR8g4Nbgyj-b2QKBHDY5Qs_5jQ_thYViIxTE1oPmA8wVF2ndGz87b_SKTdGHqQ96ZY1ZdSSbbbFkN9SqlCOf_aLxuR0ItJLafL185H4o5xwrD0/w391-h400/131.png" width="391" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;"><p><br /></p><p>ビルドの成果物は、以下のパスに生成されています。</p></span></div><p style="text-align: left;">階層、深すぎですね…。</p><p><br /></p><p><span style="color: #01ffff;">/home/yocto/poky/build/tmp/deploy/images/qemux86-64</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk4qByYsBe1NCMgXh4w68Cp6VgrPbD2u1MuE3YWyHsi7Cd4unqXJo0z_Bms7UByuEotIkRC8cYsgIIMFp6MjhOFs1Mu8TG0k6_qr0gXaX8nt5Qyw0Si3FKh6-TLLeozzaI6JaQZNef1SOFuqjCyS2uY5n-E1MQhahQ7iGJaHKouLW0yqHUsXn11r2ixC7c/s942/132.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ビルドの生成物のディレクトリ" border="0" data-original-height="602" data-original-width="942" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk4qByYsBe1NCMgXh4w68Cp6VgrPbD2u1MuE3YWyHsi7Cd4unqXJo0z_Bms7UByuEotIkRC8cYsgIIMFp6MjhOFs1Mu8TG0k6_qr0gXaX8nt5Qyw0Si3FKh6-TLLeozzaI6JaQZNef1SOFuqjCyS2uY5n-E1MQhahQ7iGJaHKouLW0yqHUsXn11r2ixC7c/w400-h256/132.png" width="400" /></a></div><br /><p></p><p>タイムスタンプを見てみると、ディストリビューションのイメージファイルの生成時間が「4:50」くらい。</p><p>「bitbake」コマンドを打ったのが昨晩「0:00」くらいだったので、やっぱり5時間コースですね。</p><p>仕事でLinuxを扱っていた頃、今回のように会社で帰宅時に「bitbake」コマンドを打って、夜通しビルドを行うことがよくありました。</p><p>それで、翌朝出社して画面を見ると、大量のエラーが出てビルド失敗。</p><p>その日の出鼻を挫かれた感じで、一日中スッキリしない気分…なんてことは、組み込みLinuxエンジニアあるあるです。</p><p>エラーの原因は、色々あります。</p><p>単純にパラメータの入力ミスとかなら分かるのですが、ネットワークの切断だったり「Ubuntu」のフリーズだったり、はたまたソースコードのダウンロード元のサーバが落ちていたりなどなど、納得いかない理由であることもしばしば…。</p><p>どうやら、今回構築した「Yocto Project」は、正常に動作してくれたようです。</p><p><br /></p><p>さて、今回はここまで。</p><p>今回は試運転だったので「pcDuino3」では動かないディストリビューションを作りました。</p><p>次回以降は、これを「pcDuino3」で動くようにする作業をやっていきましょう。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project_22.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-38178378669523969472023-12-01T19:18:00.000-08:002024-02-17T23:42:40.314-08:00TOPPERS/ASP - Arduino UNO R4版 その3<p><a href="https://www.madogiwakoubou.com/2023/11/toppersasp-arduino-uno-r4.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/10/toppersasp-arduino-uno-r4.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>Flexible Software Package (FSP)とは?</u></h2><p>FSPとは、ドライバ、プロトコル・スタックなどを開発者に提供するソースコードのライブラリです。</p><p>いわゆるRenesas社純正のライブラリパッケージであり、これを使用するとマイコンに内蔵されているペリフェラル(周辺機器)を簡単に利用することができるというものです。</p><p>今回の「TOPPERS/ASP Arduino UNO R4版」のカーネル内でも、I/O関連のドライバなどは、このFSPのものを使用しています。</p><p>ところが、このFSPのソースコードのライセンスの条項が不明瞭なために再配布できません。</p><p>そのため「TOPPERS/ASP Arduino UNO R4版」のソースコードが不完全なものとなり、そのままではビルドが通らず、通すためには手動で不足分のソースコードをコピーしていただくという手間を強いることになってしまいました。</p><p><span style="color: #fcff01;">面倒くさい思いをさせてしまって申し訳ありません。</span></p><p>ですが、このFSPを上手く利用すれば「Arduino UNO R4」に搭載されているRAマイコンのすべての周辺機器を最小限のコーディングで簡単に利用できるようになります。</p><p>後々、このFSPの便利な使い方の例も書いていきたいと思いますので、どうぞよろしく。</p><p>さて、ビルドを通すために足りていないFSPのソースコードを何処から入手すれば良いのか?</p><p>そのためには、<span style="color: #fcff01;">インストールした「e2 studio」上で雛形となるプロジェクトを作って、そこで生成されたFSPのソースコードを「TOPPERS/AS Arduino UNO R4版」のソースツリーにコピーする</span>という方法を採ります。</p><p><br /></p><h2 style="text-align: left;"><u>雛形プロジェクトの作成</u></h2><p>まずは「e2 studio」を起動して下さい。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_cUCR7-DrDLYWvaR2P9kdTYmTtWs-pQYZgbgUQbVj6AygDAVyxqso6owID1LMsFR_jUkGlmB0NdDx8es5R-k7_72MAt69yUO8N7XflfBQj5wodtfvUs8aVfflYefhy97kKcPuuSHelE8h9z2z3sNZjkO37mOiJMu0ICtsVznS_Su-H0d4K9QdPJOHEaLe/s1280/33.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 1" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_cUCR7-DrDLYWvaR2P9kdTYmTtWs-pQYZgbgUQbVj6AygDAVyxqso6owID1LMsFR_jUkGlmB0NdDx8es5R-k7_72MAt69yUO8N7XflfBQj5wodtfvUs8aVfflYefhy97kKcPuuSHelE8h9z2z3sNZjkO37mOiJMu0ICtsVznS_Su-H0d4K9QdPJOHEaLe/w400-h308/33.png" width="400" /></a></div><p><br /></p><p>次に、アプリケーションメニューの「ファイル」から「新規」をクリックし「Renesas C/C++ Project」をクリック、更に展開されたメニューから「<span style="color: red;">Renesas RA</span>」をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA2ssCDDPIFjPRKQ1k7llrAveO6vM8VGzGpES0iltg0hOoFOmKbuaNhfhZ0Jema2K1nqw3UkJfw3_eTM-gRfYFMrOANLIgugkF8kUepipZExHL4VmmQnPaaC9j59JdULN-Rx7K8ryInmhRJZURVrpaXYUFiVT_h4gOfVCnMF43o9JdmRsJ-Y6qoKTCxBEP/s1400/034.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 2" border="0" data-original-height="700" data-original-width="1400" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA2ssCDDPIFjPRKQ1k7llrAveO6vM8VGzGpES0iltg0hOoFOmKbuaNhfhZ0Jema2K1nqw3UkJfw3_eTM-gRfYFMrOANLIgugkF8kUepipZExHL4VmmQnPaaC9j59JdULN-Rx7K8ryInmhRJZURVrpaXYUFiVT_h4gOfVCnMF43o9JdmRsJ-Y6qoKTCxBEP/w400-h200/034.png" width="400" /></a></div><p><br /></p><p>以下のようなダイアログが表示されたら「<span style="color: red;">Renesas RA C/C++ Project</span>」の表示をクリックして選択状態にしてから、ダイアログ下部の「<span style="color: red;">次へ</span>」ボタンをクリックしましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbMd21iWWIIq4RTz7Ss-wCnv31UwJwnNxE81eib6r4BzmGNAD0dkytSY0ED694ceSP9k4H6h_2oYQRdSAnpXeZ1hfRzapwzXneu6aupNZdGf_lBzuK94M1hBDGymS9kXfSmoe0xYpkpCSk2kldbIbz-noxoe59b7hPmhAIrwICC5QkpQ60mJz2qRsT945g/s902/035.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「New C/C++ Project 」ダイアログ" border="0" data-original-height="572" data-original-width="902" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbMd21iWWIIq4RTz7Ss-wCnv31UwJwnNxE81eib6r4BzmGNAD0dkytSY0ED694ceSP9k4H6h_2oYQRdSAnpXeZ1hfRzapwzXneu6aupNZdGf_lBzuK94M1hBDGymS9kXfSmoe0xYpkpCSk2kldbIbz-noxoe59b7hPmhAIrwICC5QkpQ60mJz2qRsT945g/w400-h254/035.png" width="400" /></a></div><p><br /></p><p>以下のように「Renesas RA C/C++ Project」ダイアログが表示されたら「<span style="color: red;">Project name</span>」の下のテキストボックスにプロジェクト名を入力します。</p><p>雛形プロジェクトなので「<span style="color: red;">Hinagata</span>」とでもしましょうかね。</p><p>入力したらダイアログ下部の「<span style="color: red;">次へ</span>」ボタンをクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuddQpTE0qJd1FWXZQDEbdu0Rhfzhr25ac8bDJnGnzSoXNEnuWAtzJAixC-BhGwucT0oBYrYxIEMYKjjTbqUnb3fvGvHKCdDIi3VF_MEJwUdJEYu0ngsulDKQwrqAiDBLlusreDJGVgvorqpV0ZvjxgU60i9-jppMRt1H-UUFnCkZ8VM2JBR35vXUtUUwz/s1334/036.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Renesas RA C/C++ Project」ダイアログ - 1" border="0" data-original-height="1009" data-original-width="1334" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuddQpTE0qJd1FWXZQDEbdu0Rhfzhr25ac8bDJnGnzSoXNEnuWAtzJAixC-BhGwucT0oBYrYxIEMYKjjTbqUnb3fvGvHKCdDIi3VF_MEJwUdJEYu0ngsulDKQwrqAiDBLlusreDJGVgvorqpV0ZvjxgU60i9-jppMRt1H-UUFnCkZ8VM2JBR35vXUtUUwz/w400-h303/036.png" width="400" /></a></div><p><br /></p><p>以下のように表示か切り替わります。</p><p>ここでは、どんなターゲット向けのソフトウェアを作るのかを問われています。</p><p>まずは、ターゲットのマイコン(Device)が違いますね。</p><p>「Arduino UNO R4」に搭載されているマイコンは、デフォルトで表記されている型番ではありません。</p><p>ですので、これを変更する必要があります。</p><p>「<span style="color: red;">R7FA2A1AB3CFM</span>」と表記されているテキストボックスの左に「<span style="color: red;">...</span>」というボタンがありますので、これをクリック!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipyrU9uqOCwAXETYSoWorR7gJw2Bd1bKzDBH2Q7VgE0Iv5HOiG5MRn42tXDEneKQv7ShT1YQQrMqaXcrKwcOHDLCunmAlcM-DZLi0RVKTLgOSBZWS40xATpEvpGipZQkl-yqKqIzb0dHWRoGp37dkvMC6YcjGYWMVKpSZ69RnxSpG61hrEFLLrcZYkU47_/s1334/037.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Renesas RA C/C++ Project」ダイアログ - 2" border="0" data-original-height="1009" data-original-width="1334" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipyrU9uqOCwAXETYSoWorR7gJw2Bd1bKzDBH2Q7VgE0Iv5HOiG5MRn42tXDEneKQv7ShT1YQQrMqaXcrKwcOHDLCunmAlcM-DZLi0RVKTLgOSBZWS40xATpEvpGipZQkl-yqKqIzb0dHWRoGp37dkvMC6YcjGYWMVKpSZ69RnxSpG61hrEFLLrcZYkU47_/w400-h303/037.png" width="400" /></a></div><p><br /></p><p>以下のようなダイアログが表示されますので「Arduino UNO R4」に搭載されているマイコンである「<span style="color: red;">R7FA4M1AB3CFM</span>」を正しく選択して「<span style="color: red;">OK</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA3rYxlXot-7b8Hrup8BbTFJnEy_2F9h4r5mNLc4-YVfxQysibbQCaijwwsYOhIWYKmws2qYy24j4NZ5QMKTozHQ2Fe9-T6O94cH1LvdDkPmmexuTMSRQXvdSiesEh_jqN9AWwjOTLM9WfvkBR9Zux0gxJu8qZiU5nIOexmeDtDJR2v83A-G0cOgNXIQHN/s891/038.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Device Selection」ダイアログ" border="0" data-original-height="891" data-original-width="882" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA3rYxlXot-7b8Hrup8BbTFJnEy_2F9h4r5mNLc4-YVfxQysibbQCaijwwsYOhIWYKmws2qYy24j4NZ5QMKTozHQ2Fe9-T6O94cH1LvdDkPmmexuTMSRQXvdSiesEh_jqN9AWwjOTLM9WfvkBR9Zux0gxJu8qZiU5nIOexmeDtDJR2v83A-G0cOgNXIQHN/w396-h400/038.png" width="396" /></a></div><p><br /></p><p>「Renesas RA C/C++ Project」ダイアログに戻ります。</p><p>「<span style="color: red;">Device Selection</span>」の欄に正しいマイコンの型番が表示されていることを確認し、次は「<span style="color: red;">Debugger</span>」の欄に注目します。</p><p>今回は、デバッガに「<span style="color: red;">E2 Lite(ARM)</span>」を使用しますので、コンボボックスをこれに設定します。</p><p>正しく設定できたら、ダイアログ下部の「<span style="color: red;">次へ</span>」ボタンをクリックしましょう!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJrCYT1K-mL13ckjN6UHV5wsLrymNt9yK1ML9LcHWf91PhSbIcGJTMROtifRC1oLW-c8iXXXyFyUhSvJrDxV0dKgYpCryxVbMweFLU1As-fy5NMOzq2Y4Bygy0V65w6zZf60JPDOLJnpryTXYm4V3ylh2Kc_J_4b2CYZ3pObfZqGE0u5w4HJ8GRfRoqUr/s1334/039.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Renesas RA C/C++ Project」ダイアログ - 3" border="0" data-original-height="1009" data-original-width="1334" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIJrCYT1K-mL13ckjN6UHV5wsLrymNt9yK1ML9LcHWf91PhSbIcGJTMROtifRC1oLW-c8iXXXyFyUhSvJrDxV0dKgYpCryxVbMweFLU1As-fy5NMOzq2Y4Bygy0V65w6zZf60JPDOLJnpryTXYm4V3ylh2Kc_J_4b2CYZ3pObfZqGE0u5w4HJ8GRfRoqUr/w400-h303/039.png" width="400" /></a></div><p><br /></p><p>次の表示は、何もせずに「<span style="color: red;">次へ</span>」ボタンをクリックしていいです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgdAKHt79Vg6vSJgRbgixKMFaWYOkfCZEcwZzjRT2BhDaRq6gE1SaWanSjyh3jNR1FN_hJk8Xm6GI3r7xv-F3_L2Ubh7PWoYhabkFhDGt6wfBbZoqDjN_AMWUyiheBCkAQ4Lip5eByPyvq9kfwvD5yuZpg2JJUohZlzyrsp-ae3Kx3o1T2fAxpimmQGmN/s1334/040.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Renesas RA C/C++ Project」ダイアログ - 4" border="0" data-original-height="1009" data-original-width="1334" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgdAKHt79Vg6vSJgRbgixKMFaWYOkfCZEcwZzjRT2BhDaRq6gE1SaWanSjyh3jNR1FN_hJk8Xm6GI3r7xv-F3_L2Ubh7PWoYhabkFhDGt6wfBbZoqDjN_AMWUyiheBCkAQ4Lip5eByPyvq9kfwvD5yuZpg2JJUohZlzyrsp-ae3Kx3o1T2fAxpimmQGmN/w400-h303/040.png" width="400" /></a></div><p><br /></p><p>次の表示も、何もせずに「<span style="color: red;">終了</span>」ボタンをクリック!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZGcYE1Uj7sL1LBAlqtDkozaufXeQxPzTzwV0PmeEhCzWHayVLR3DdSSH-cduf8ek2swafRpMVGO1tYYW0dHkCRCqdcw3owTdxoS8RjzTlTvF74N5RKEJIRb8p2eFIt6JjKFoh5E_gIV7VmZWcO_0Twx2-wUnBiXYv8uZmAJFzW5qx64ppULJRW1SmKDpq/s1334/041.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Renesas RA C/C++ Project」ダイアログ - 5" border="0" data-original-height="1009" data-original-width="1334" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZGcYE1Uj7sL1LBAlqtDkozaufXeQxPzTzwV0PmeEhCzWHayVLR3DdSSH-cduf8ek2swafRpMVGO1tYYW0dHkCRCqdcw3owTdxoS8RjzTlTvF74N5RKEJIRb8p2eFIt6JjKFoh5E_gIV7VmZWcO_0Twx2-wUnBiXYv8uZmAJFzW5qx64ppULJRW1SmKDpq/w400-h303/041.png" width="400" /></a></div><p><br /></p><p>次のポップアップが表示されますので「<span style="color: red;">パースペクティブを開く</span>」ボタンをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ7DmO7e6jhFXlZhnHjh3xOJORW_BxGZ6tbEZXwJDBZ866d2jOWYgj9IAi5poQ9n1LD76uFaiDtSYYH7tfdANCynpqK2MNFCHt4i6l15a0aL0D5MGV8Zx_6w6GXYDhNyyUNd1fjK9kf99QHPkSW596zI-GOcN6j7Zx_VhoBQ4Rdo5HH9FUM1xHEVbldJHT/s849/042.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ポップアップ" border="0" data-original-height="239" data-original-width="849" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ7DmO7e6jhFXlZhnHjh3xOJORW_BxGZ6tbEZXwJDBZ866d2jOWYgj9IAi5poQ9n1LD76uFaiDtSYYH7tfdANCynpqK2MNFCHt4i6l15a0aL0D5MGV8Zx_6w6GXYDhNyyUNd1fjK9kf99QHPkSW596zI-GOcN6j7Zx_VhoBQ4Rdo5HH9FUM1xHEVbldJHT/w400-h113/042.png" width="400" /></a></div><p><br /></p><p>これで雛形プロジェクトが作成されたはずなのですが「e2 studio」を起動したときと同じ表示のままです。</p><p>開いたはずのパースペクティブとやらは一体どこに?</p><p>実は、ちゃんと開かれているのです。</p><p>「ようこそ」ビューが邪魔しているんですね。</p><p>なので、これを除けてしまいましょう。</p><p>「e2 studio」の画面右上に「ようこそ」ビューの<span style="color: red;">最小化ボタン(アンダーバーみたいなやつ)</span>がありますので、これをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRrLEdTNhGuvi7wtChQ7ipSHwvu-IfL-KeY_jVdiPeVKC1Wl2nviNM0MP78oeQ_oii9-1G26nuc4Na25iqZxxEhs0K0yVmP146sbundeQ96y-OXsJ76-k0ua5xvqDSCF7Y6eYl1RWvDThkNABOqYz1iQOXchX8JZXTLaz814_iP405GI3hvO3xEjVAEFzh/s400/043.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 3" border="0" data-original-height="400" data-original-width="400" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRrLEdTNhGuvi7wtChQ7ipSHwvu-IfL-KeY_jVdiPeVKC1Wl2nviNM0MP78oeQ_oii9-1G26nuc4Na25iqZxxEhs0K0yVmP146sbundeQ96y-OXsJ76-k0ua5xvqDSCF7Y6eYl1RWvDThkNABOqYz1iQOXchX8JZXTLaz814_iP405GI3hvO3xEjVAEFzh/w320-h320/043.png" width="320" /></a></div><p><br /></p><p>すると、以下のような表示になります。</p><p>画面左側の「プロジェクト・エクスプローラー」のリストには、ちゃんと「<span style="color: red;">Hinagata</span>」プロジェクトが生成されていることが確認できますね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDIZHahwlSA0-j14qrb-7KhoBc6eKFrD1auRy3BMacM6hhmQmi2Jbiz1yTiMg0DG4wXe8JPL1Tdi4dvurtkrFgIWOR_PKpnVQPJ3vrrwII6NE4fIyyvGW2gBg6-t_KSBgtnCyZ4aDnPMF8cV68NKTMPEcjMxaI2bvmdqt2tlqQWJCfvsabVgo9ZwtH2ohy/s1920/044.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 4" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDIZHahwlSA0-j14qrb-7KhoBc6eKFrD1auRy3BMacM6hhmQmi2Jbiz1yTiMg0DG4wXe8JPL1Tdi4dvurtkrFgIWOR_PKpnVQPJ3vrrwII6NE4fIyyvGW2gBg6-t_KSBgtnCyZ4aDnPMF8cV68NKTMPEcjMxaI2bvmdqt2tlqQWJCfvsabVgo9ZwtH2ohy/w400-h235/044.png" width="400" /></a></div><p><br /></p><h2><u>マイコンのピンの設定</u></h2><p>中央の「Summary」と書いてある「<span style="color: red;">FSP Configuration</span>」タブに注目してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLJyZkIP02hla5ZdnWlte_UwaWmYG5iRK_qSM65ZI4cety7E1GgCEyy5Y7L6oy94P9W9fU4y_g1-QnqduhXu2wGKFaa1d-L6aqj6Gs2lBm86YAWY65p6Xk8rFlsuGHFodonMBSWqRJRPVmaJLFgQLft2eRkj2bYloN9Kp4jxQPn8reW2o9QXy5PpuC3ymR/s1920/065.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 5" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLJyZkIP02hla5ZdnWlte_UwaWmYG5iRK_qSM65ZI4cety7E1GgCEyy5Y7L6oy94P9W9fU4y_g1-QnqduhXu2wGKFaa1d-L6aqj6Gs2lBm86YAWY65p6Xk8rFlsuGHFodonMBSWqRJRPVmaJLFgQLft2eRkj2bYloN9Kp4jxQPn8reW2o9QXy5PpuC3ymR/w400-h235/065.png" width="400" /></a></div><p><br /></p><p>このタブの下部には、更に複数のタブが存在しますが、その中の「<span style="color: red;">Pins</span>」タブをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEFgVWawhITTH6wGgvZzXC1z67ekGWXadwu-AvRIn8bAvjtrWHB5lrMrpT7p3ZcVKNeeq-BWh8byy71ji9cKdgsb4PE2Jv4xgKH9ZDW_DOhVHS-hnS2oSrma8XLUfYkDl4ZIpEE6kayPvE2APswn9bUzMQD3D1GwJ0B5f8Zk-hAAi68wNee9LwAMk_VSah/s1920/045.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 6" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEFgVWawhITTH6wGgvZzXC1z67ekGWXadwu-AvRIn8bAvjtrWHB5lrMrpT7p3ZcVKNeeq-BWh8byy71ji9cKdgsb4PE2Jv4xgKH9ZDW_DOhVHS-hnS2oSrma8XLUfYkDl4ZIpEE6kayPvE2APswn9bUzMQD3D1GwJ0B5f8Zk-hAAi68wNee9LwAMk_VSah/w400-h235/045.png" width="400" /></a></div><p><br /></p><p>以下の表示に切り替わります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIPfu2WUrKwMnBiigrOE2bXpm5reDmjGW7oHsE0tfsMqEbyyiGMTp4Yl9pKYd2xLMMRmV75xRCOcN7ZaqGweRTeaZH_DEu0xujQHaN_FoxtmcfvPwXEiCQNdqxrePOsRosZsjEm6WKPb0Cv07-0i134GfbxcAPRWAOsnmW-NLSrb3Od-DS_-Afe5tcisAy/s1920/046.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 7" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIPfu2WUrKwMnBiigrOE2bXpm5reDmjGW7oHsE0tfsMqEbyyiGMTp4Yl9pKYd2xLMMRmV75xRCOcN7ZaqGweRTeaZH_DEu0xujQHaN_FoxtmcfvPwXEiCQNdqxrePOsRosZsjEm6WKPb0Cv07-0i134GfbxcAPRWAOsnmW-NLSrb3Od-DS_-Afe5tcisAy/w400-h235/046.png" width="400" /></a></div><p><br /></p><p>ここは何をする画面かっていうと、マイコンのピンの設定です。</p><p>例えば、このピンはGPIOに使う…とか、このピンはシリアル通信に使う…とか。</p><p>すなわち、今回のターゲットである「Arduino UNO R4」で使用されるマイコンのピンの機能を設定するための作業となります。</p><p>そのためには「Arduino UNO R4」の回路図が必要ですね。</p><p><a href="https://docs.arduino.cc/resources/schematics/ABX00080-schematics.pdf" target="_blank">ここ</a>から、ダウンロードをお願いします。</p><p>この回路図で注目したいのは、回路図左上の「HEADERS」の部分です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUOCxvSQA5m0RCEcdhUF_mPOsj5Rirfn3Jct_SrzLAHhLL2BuLRjHsqm1uJmP9qPPeDCjfOCcB8_CyBIcZUJMjWU0W48AAAAzR7A88NVVoAeJqfWJXh72druuOa5wfn4XW0NmL0zEIpcoiW6kc8Jl-wvx0czm4HJkE6SJPh0Vw1MqVTIVHuTzQQjzV2064/s950/047.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」の回路図 - 1" border="0" data-original-height="550" data-original-width="950" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUOCxvSQA5m0RCEcdhUF_mPOsj5Rirfn3Jct_SrzLAHhLL2BuLRjHsqm1uJmP9qPPeDCjfOCcB8_CyBIcZUJMjWU0W48AAAAzR7A88NVVoAeJqfWJXh72druuOa5wfn4XW0NmL0zEIpcoiW6kc8Jl-wvx0czm4HJkE6SJPh0Vw1MqVTIVHuTzQQjzV2064/w400-h231/047.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">黄色い四角</span>の左側「<span style="color: red;">JANALOG</span>」は、<span style="color: red;">以下の部分</span>に相当します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1IIMsHmtuSsddAUQmmjkRLaQV17Ceb4W97jY5ijPTiyTcaLovG1EjVDRwe5WsLOYqWvD9tEigD6awHcvqCFIMaQexYkejAt6E4oW4m4jyyJBT3FmAWE8VNFMlW_e5xK4ouLXwLGoTYKwkYmZTm9Eux1_n-Qki63m82kMp0tjBDiyA4Lgr0P1HKWZpa3pN/s960/DSC_0743.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」 - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1IIMsHmtuSsddAUQmmjkRLaQV17Ceb4W97jY5ijPTiyTcaLovG1EjVDRwe5WsLOYqWvD9tEigD6awHcvqCFIMaQexYkejAt6E4oW4m4jyyJBT3FmAWE8VNFMlW_e5xK4ouLXwLGoTYKwkYmZTm9Eux1_n-Qki63m82kMp0tjBDiyA4Lgr0P1HKWZpa3pN/w400-h300/DSC_0743.JPG" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">黄色い四角</span>の右側「<span style="color: red;">JDIGITAL</span>」は、<span style="color: red;">以下の部分</span>ですね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-XGzpLP5XzW7hu51KNDSJ8eLkMqAJ5b_FNats-D8nP5QT7ZLcw2h7GTQJ095EJF7UMYsxzd6WN18c_zuhFx-FoPf6LmLlsWstp6_0NbxJgMbuJXYpwQ_2qdFLzzxPm0d6yqlKyAf0d_coHoaCNzC4t9klPvjWgwTf0hysQ9y6xVcd0fhKTZ3Px7AdS00h/s960/DSC_0744.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」 - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-XGzpLP5XzW7hu51KNDSJ8eLkMqAJ5b_FNats-D8nP5QT7ZLcw2h7GTQJ095EJF7UMYsxzd6WN18c_zuhFx-FoPf6LmLlsWstp6_0NbxJgMbuJXYpwQ_2qdFLzzxPm0d6yqlKyAf0d_coHoaCNzC4t9klPvjWgwTf0hysQ9y6xVcd0fhKTZ3Px7AdS00h/w400-h300/DSC_0744.JPG" width="400" /></a></div><p><br /></p><p>例えば、今「e2studio」で開いている「Pin Configuration」で、シリアル通信「SCI2」のためのピン「<span style="color: red;">P302_SCI2_TXD</span>」と「<span style="color: red;">P301_SCI2_RXD</span>」を設定したい場合を考えます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj76Sj6dVucusPVuahQHCGiJsKE4Le8RIYFK3ClbltYXK8N0U_HlqTS8kZ7Wbp27MX-gLfCtBcK4KnPCO8FVq5rVkKIY3wbYvcgqooU2XVdrz6wSsqKwRcAYeWlejxBpZXLC8dk62OSjb4ZNO8iAWQSVBXqGOEVrsNFXZNTAWA44DY5NqoB2GrYWiP7fUvC/s500/048.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino UNO R4」の回路図 - 2" border="0" data-original-height="300" data-original-width="500" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj76Sj6dVucusPVuahQHCGiJsKE4Le8RIYFK3ClbltYXK8N0U_HlqTS8kZ7Wbp27MX-gLfCtBcK4KnPCO8FVq5rVkKIY3wbYvcgqooU2XVdrz6wSsqKwRcAYeWlejxBpZXLC8dk62OSjb4ZNO8iAWQSVBXqGOEVrsNFXZNTAWA44DY5NqoB2GrYWiP7fUvC/w400-h240/048.png" width="400" /></a></div><p><br /></p><p>その場合は「Pin Configuration」の中の左側「Pin Selection」リストの中から「<span style="color: red;">SCI2</span>」を選択します。</p><p>次に、新たに切り替わった左の「Pin Configuration」の「Operaring Mode」の行の「Disabled」という表記の左側の「<span style="color: red;">▼</span>」マークをクリックします。</p><p>これはコンボボックスになっていて、設定できる機能が展開されます。</p><p>この中から「<span style="color: red;">Asynchronous UART</span>」(つまり普通のシリアル通信)を選択します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgovScfvWDL24kJiqIXV0kDD8tlHcku2UuHh-ywInEVlntj6lSnUvrDJF73vFCW2dzHgUba23RSwoI_nYY5JKI4zJhoHpcWpWkto7fNkpHs22hcaGXRa8qbEj4TydfwQlW5qTdx9JooHEEUgQXPw78qII2HEc1stIAWdlTnh411kyBAAfMc6WcxwsN8KELI/s1128/049.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 8" border="0" data-original-height="1128" data-original-width="1000" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgovScfvWDL24kJiqIXV0kDD8tlHcku2UuHh-ywInEVlntj6lSnUvrDJF73vFCW2dzHgUba23RSwoI_nYY5JKI4zJhoHpcWpWkto7fNkpHs22hcaGXRa8qbEj4TydfwQlW5qTdx9JooHEEUgQXPw78qII2HEc1stIAWdlTnh411kyBAAfMc6WcxwsN8KELI/w355-h400/049.png" width="355" /></a></div><p><br /></p><p>すると、以下の表示に切り替わります。</p><p>「TXD_MOSI」が「P302」に、「RXD_MOSI」が「P301」に自動的に割り付けられたようです。</p><p>回路図では「<span style="color: #fcff01;">P302</span>_SCI2_TXD」と「<span style="color: #fcff01;">P301</span>_SCI2_RXD」という表記だったので、どうやらこれで正しいようですね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkpyssmUwrGD245J1X1C3QFSt5HizCkWtGEU1OFmbDT_9bmWEi5E75bsgQBWbavp_17sgO_PrxcPXuAzYTubsTfdU9dnAzl5XEYq4jmSf_Xyj1-oH4zpXTqjvLmeheNSHKJMCZrmZBgpzpj3ZS_MXh7fg3KQF25BPaqQQ-mdhl41VonkgBITViQk3wHYrM/s1128/050.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 9" border="0" data-original-height="1128" data-original-width="1000" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkpyssmUwrGD245J1X1C3QFSt5HizCkWtGEU1OFmbDT_9bmWEi5E75bsgQBWbavp_17sgO_PrxcPXuAzYTubsTfdU9dnAzl5XEYq4jmSf_Xyj1-oH4zpXTqjvLmeheNSHKJMCZrmZBgpzpj3ZS_MXh7fg3KQF25BPaqQQ-mdhl41VonkgBITViQk3wHYrM/w355-h400/050.png" width="355" /></a></div><p><br /></p><p>「FSP Configuration」タブの左側の「FSP Visualization」のマイコンの絵でも「<span style="color: red;">TXD_MOSI</span>」と「<span style="color: red;">RXD_MOSI</span>」が表示され、このピンが「SCI2」の通信用のピンとして割り当てられたことが確認できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXFdl7Rbmej_d9ldFqt2EIC-R0jLKRsm-M943I0mviBiMPD-LahOocDP0GVg1a1suVzU5lEYbLUZLBEF1FMVHoVi3EkhnGWvWeELLvAwVzV7GtTGo4rC94tlQCJMYFXh8EShi9aFPmgjBspF3k26hi46P6OBAfTSpDMkD0RIgAoNNCpyyWMfIXDn4w-Hqo/s1128/051.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 10" border="0" data-original-height="1128" data-original-width="800" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXFdl7Rbmej_d9ldFqt2EIC-R0jLKRsm-M943I0mviBiMPD-LahOocDP0GVg1a1suVzU5lEYbLUZLBEF1FMVHoVi3EkhnGWvWeELLvAwVzV7GtTGo4rC94tlQCJMYFXh8EShi9aFPmgjBspF3k26hi46P6OBAfTSpDMkD0RIgAoNNCpyyWMfIXDn4w-Hqo/w284-h400/051.png" width="284" /></a></div><p><br /></p><p>今回は「TXD_MOSI」が「P302」に、「RXD_MOSI」が「P301」に自動的に割り付けられましたが、これは偶然かもしれません。</p><p>もし、それぞれを違うピンに割り付けたい場合は「Pin Configuration」上でピン名の左側にある「<span style="color: red;">▼</span>」マークをクリックすることで、他のピンの候補を探して、設定することができます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHShTXww7bV_YtTBQ6SvXd7R_Ry2EyiCUxyviLncMRJ0y3Wp5Z-d0UmufBR-ifaw_Jv1o-oNX5RNDzbJZ8pFD9GIWVt7m46a-z8HD76PTam-YZEj1Gm5ypSFd0nb9HaKuO7Q0e_-y3DOVyIKR6WUFI28L_7NazOJUZqJ5CLAWxAOJa_ZidZehZQ07hPVoZ/s1128/052.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 11" border="0" data-original-height="1128" data-original-width="1000" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHShTXww7bV_YtTBQ6SvXd7R_Ry2EyiCUxyviLncMRJ0y3Wp5Z-d0UmufBR-ifaw_Jv1o-oNX5RNDzbJZ8pFD9GIWVt7m46a-z8HD76PTam-YZEj1Gm5ypSFd0nb9HaKuO7Q0e_-y3DOVyIKR6WUFI28L_7NazOJUZqJ5CLAWxAOJa_ZidZehZQ07hPVoZ/w355-h400/052.png" width="355" /></a></div><p><br /></p><p>さて、このような作業を使用するすべてのピンで行うことになります。</p><p>このピンはアナログ入力、このピンはI2C通信用、などなど。</p><p>でも…</p><p><br /></p><p><span style="color: #fcff01; font-size: large;">超ぉ~メンドクセエぇ!!</span></p><p><br /></p><p><span style="color: #01ffff;">…ごもっとも。</span></p><p>ですので、今回のTOPPERS/ASPを動作させるための最低限の設定済みファイルをアタクシめが用意しときましたぜっ、ダンナ!(誰だオマエ?)</p><p>…てなわけで、<a href="https://drive.google.com/file/d/1AXQBWGoSBNMF9lE7mL8_ULybNuYKmz7b/view?usp=drive_link">ここからダウンロード</a>してください。</p><p>「<span style="color: #fcff01;">arduino_uno_r4.pincfg</span>」というファイルがダウンロードできます。</p><p>これをインポートすれば、面倒な作業は一瞬で終わります!</p><p>ダウンロードが終わったら「Pin Configuration」の「<span style="color: red;">Manage configutrations...</span>」という表示をクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXzMpoR_xMmJ92nqojSdOkXVfZO_2yJ_WUqht_WRI99UBqI66G8KZ7l1lG9os1bEciFmhrJ6Md6a9UrO2lBi_mwvdI9jhlUz0d5NAqc7-O_bigMe14gBbwjiV4KnGnogkN-3XgC_-lrgBdjUdemGfcUeedvrwZsEid7qRZfRnztmE_GoG52hID71tK7fiX/s900/053.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 12" border="0" data-original-height="700" data-original-width="900" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXzMpoR_xMmJ92nqojSdOkXVfZO_2yJ_WUqht_WRI99UBqI66G8KZ7l1lG9os1bEciFmhrJ6Md6a9UrO2lBi_mwvdI9jhlUz0d5NAqc7-O_bigMe14gBbwjiV4KnGnogkN-3XgC_-lrgBdjUdemGfcUeedvrwZsEid7qRZfRnztmE_GoG52hID71tK7fiX/w400-h311/053.png" width="400" /></a></div><p><br /></p><p>以下の「Manage Pin Configrations」ダイアログが開いたら「<span style="color: red;">Import</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirfpXUyd-xSHe83qvloCVzUVsH-PY0GPRVBANqCWeEhsYcELhVFqd5sxVkAxNEs164k9fg4HsQr_5_qDC9wXkHYKKxJDlA7q0Fmzztg2HtQNs69VO9tNyo-i9ov57rJod7dCQeYrYEq3yk_Wh-91hZ7LQS18Mdk9pVc9ymp0cSBk6p9xFMqN8ydNbZMMrm/s770/054.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Manage Pin Configrations」ダイアログ - 1" border="0" data-original-height="725" data-original-width="770" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirfpXUyd-xSHe83qvloCVzUVsH-PY0GPRVBANqCWeEhsYcELhVFqd5sxVkAxNEs164k9fg4HsQr_5_qDC9wXkHYKKxJDlA7q0Fmzztg2HtQNs69VO9tNyo-i9ov57rJod7dCQeYrYEq3yk_Wh-91hZ7LQS18Mdk9pVc9ymp0cSBk6p9xFMqN8ydNbZMMrm/w400-h376/054.png" width="400" /></a></div><p><br /></p><p>続いて、以下の「Import Configration」ダイアログが開いたら「<span style="color: red;">Browse...</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZL-dQLuodEMGJ5HDlgk5Z9uSHvH5hZVHzY6yLu3QlTH0dGe7lSovg_PhOUPMN8jSPsuOr4D8zh6qdzXyvgOpKXJZhsz_m8Ud2kzfbaXovXHrd4GBju_ddbtug8BGGxgabp-E8Qo2v2IpS6rIY4-DEfLaySnK2P5TqlOXAZ5vs9oyg23f2NKqJ-9y0WeDc/s1112/054.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Import Configration」ダイアログ - 1" border="0" data-original-height="756" data-original-width="1112" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZL-dQLuodEMGJ5HDlgk5Z9uSHvH5hZVHzY6yLu3QlTH0dGe7lSovg_PhOUPMN8jSPsuOr4D8zh6qdzXyvgOpKXJZhsz_m8Ud2kzfbaXovXHrd4GBju_ddbtug8BGGxgabp-E8Qo2v2IpS6rIY4-DEfLaySnK2P5TqlOXAZ5vs9oyg23f2NKqJ-9y0WeDc/w400-h272/054.png" width="400" /></a></div><p><br /></p><p>ダウンロードした「arduino_uno_r4.pincfg」を選択すれば良いのですが…<span style="color: #fcff01;">どこにも無いじゃん!</span>って場合は、検索する拡張子を変更しましょう。</p><p>「<span style="color: red;">Altium Pin Configuration File(*.pincfg)</span>」を選択します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP_cn8f7OX5-iQvFej27cSYE5oholyJUo4soiVM2XwzH4T04VvgDz95zkWAXzokvT01kMDeJdn9zAnfRAgfWYKWbwEfqXx-VBc7IRB_9jCWBF_14RKiqc01qZTSQ_YoTsjgAG0Y6GkGX-FsiR2gSrddwjnGXN9tJu446pG_fhp2GuUL9ZUzyxox6HO2AKV/s993/055.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Import from pin configuration file」ダイアログ - 1" border="0" data-original-height="773" data-original-width="993" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP_cn8f7OX5-iQvFej27cSYE5oholyJUo4soiVM2XwzH4T04VvgDz95zkWAXzokvT01kMDeJdn9zAnfRAgfWYKWbwEfqXx-VBc7IRB_9jCWBF_14RKiqc01qZTSQ_YoTsjgAG0Y6GkGX-FsiR2gSrddwjnGXN9tJu446pG_fhp2GuUL9ZUzyxox6HO2AKV/w400-h311/055.png" width="400" /></a></div><p><br /></p><p>そうすると「<span style="color: red;">arduino_uno_r4.pincfg</span>」が表示されるはずです。</p><p>これを選択し、ダイアログ下部の「<span style="color: red;">開く</span>」ボタンをクリックです!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4f78PHgoHtaNedbhvKLl69QujTRDld7xvIucyJD2QsSxmnmdv35FcdUw8tLGYwAsXh1IHtguWRQJFpHKzETcycbSoKtWOpt3wXyUoQ0_AXmYDz0Zs0eSn2LJ3mqvMQRUWM2wsXyQjKoY97ihtd7_IWomQrHzscuSCiwR-epncT3yhHBUN_lYl-s_r7RDE/s942/056.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Import from pin configuration file」ダイアログ - 2" border="0" data-original-height="711" data-original-width="942" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4f78PHgoHtaNedbhvKLl69QujTRDld7xvIucyJD2QsSxmnmdv35FcdUw8tLGYwAsXh1IHtguWRQJFpHKzETcycbSoKtWOpt3wXyUoQ0_AXmYDz0Zs0eSn2LJ3mqvMQRUWM2wsXyQjKoY97ihtd7_IWomQrHzscuSCiwR-epncT3yhHBUN_lYl-s_r7RDE/w400-h303/056.png" width="400" /></a></div><p><br /></p><p>「Import Configration」ダイアログに戻ったら、追加された「<span style="color: red;">arduino_uno_r4</span>」のチェックボックスを有効にしてから、ダイアログ下部の「<span style="color: red;">終了</span>」ボタンをクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIjD6efzJMvXVeXgpa96SwYrjyDCrGz5UbDw3eylAdx_UX_86utVWfttE4ZmSV01EDNf3szErzfWAWx7fCvrJKCD37AGyj1GnvAVc6wYkyWNtGYjnLkYHwTtVWlNKfYOCSenzt_940XVg5ltmiVpvHdetd_UqaXoX7hDfUXJnFIaw4Vos2il67cdNdTDj9/s1112/057.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Import Configration」ダイアログ - 2" border="0" data-original-height="756" data-original-width="1112" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIjD6efzJMvXVeXgpa96SwYrjyDCrGz5UbDw3eylAdx_UX_86utVWfttE4ZmSV01EDNf3szErzfWAWx7fCvrJKCD37AGyj1GnvAVc6wYkyWNtGYjnLkYHwTtVWlNKfYOCSenzt_940XVg5ltmiVpvHdetd_UqaXoX7hDfUXJnFIaw4Vos2il67cdNdTDj9/w400-h272/057.png" width="400" /></a></div><br /><p>「Manage Pin Configrations」ダイアログ に戻ったら、左側のリストに「<span style="color: red;">arduino_uno_r4</span>」が追加されていることを確認してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGq-1d1HBFJsuMwkeDVAqYCpi-VhuefMDJj5XdiN7FTduzwQJz4GJSJAZWvuHVX5sOMO5Bu8Xl47pQv9fwmNjjO-Qq2blGQn0la4KLrlyROMb0YRrSlnb1WRR_eUwA6jM6m5dwd1skhU4j7-wkW2EHmeDJeHgt9sLjH5oXjEndg4rZHYXPZzlhcVQZUomg/s770/077.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Manage Pin Configrations」ダイアログ - 2" border="0" data-original-height="725" data-original-width="770" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGq-1d1HBFJsuMwkeDVAqYCpi-VhuefMDJj5XdiN7FTduzwQJz4GJSJAZWvuHVX5sOMO5Bu8Xl47pQv9fwmNjjO-Qq2blGQn0la4KLrlyROMb0YRrSlnb1WRR_eUwA6jM6m5dwd1skhU4j7-wkW2EHmeDJeHgt9sLjH5oXjEndg4rZHYXPZzlhcVQZUomg/w400-h376/077.png" width="400" /></a></div><p><br /></p><p>左側のリストに元々あった「R7FA4M1AB3CFM_pincfg」は、もういらないので削除しましょう。</p><p>ていうか、<span style="color: #fcff01;">残ってると後々問題になります。</span></p><p>「<span style="color: red;">R7FA4M1AB3CFM_pincfg (Current)</span>」を選択状態にしてから、右側の「<span style="color: red;">Remove</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOffp4SNmj-PLIcVLqLaUddnLfVC2WcHFn_-wejBazLQsOPpEPVevN8jMvzo_FVlvJ83krtxOPsRIU0aD2s67ii-Cs58I8PF6NfqYs2MhCODVFDoqwEoBY1qQ7giJELqNrNewymD0-RbJEN6eFC1eNItMnBg2Eb8a8vpKKVjtxQL_hiwhc2iAscu-oler7/s770/078.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Manage Pin Configrations」ダイアログ - 3" border="0" data-original-height="725" data-original-width="770" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOffp4SNmj-PLIcVLqLaUddnLfVC2WcHFn_-wejBazLQsOPpEPVevN8jMvzo_FVlvJ83krtxOPsRIU0aD2s67ii-Cs58I8PF6NfqYs2MhCODVFDoqwEoBY1qQ7giJELqNrNewymD0-RbJEN6eFC1eNItMnBg2Eb8a8vpKKVjtxQL_hiwhc2iAscu-oler7/w400-h376/078.png" width="400" /></a></div><br /><p>左側のリストで「R7FA4M1AB3CFM_pincfg (Current)」が削除されて「arduino_uno_r4 (Current)」だけが残っていることを確認して、ダイアログ下方の「<span style="color: red;">OK</span>」ボタンをクリックしてください。</p><p>ダイアログが消えて「Pin Configuration」に処理が戻ります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh79uU5EgW2kEY5eFy08aTGqTsP4147TCyUjsIkSySKN2ypivIXbkw5FMLauITaKAF7hcvpAlFI0kcudY4tq4LpoNUZSZFxg2aXXYuaDbxINA6xVKv8Dd4tJaVW710LYgkgvc5tg8nlRK_YHYxQTvVfPs4hwvqfarCLIRENhx103fv4HynHDCBhNTNRdKaD/s770/079.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Manage Pin Configrations」ダイアログ - 4" border="0" data-original-height="725" data-original-width="770" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh79uU5EgW2kEY5eFy08aTGqTsP4147TCyUjsIkSySKN2ypivIXbkw5FMLauITaKAF7hcvpAlFI0kcudY4tq4LpoNUZSZFxg2aXXYuaDbxINA6xVKv8Dd4tJaVW710LYgkgvc5tg8nlRK_YHYxQTvVfPs4hwvqfarCLIRENhx103fv4HynHDCBhNTNRdKaD/w400-h376/079.png" width="400" /></a></div><p><br /></p><p>するとどうでしょ?</p><p>ピンの設定が「arduino_uno_r4.pincfg」の内容に更新されていることが分かります。</p><p>「FSP Configuration」タブの左側の「FSP Visualization」のマイコンの絵も、設定を反映して、なにやら賑やかになってませんか?</p><p><br /></p><h2 id="clock" style="text-align: left;"><u>クロックの設定</u></h2><p>さて、お次は「Arduino UNO R4」のクロックの設定を行わなければなりません。</p><p>この雛形プロジェクトを作成した時点では、外部クロックのXTALを使用するように初期設定されているのですが、実際「Arduino UNO R4」には外部クロックのXTALが搭載されていません。</p><p>その代わりに、内部クロックを使用するように設定してあげなければいけません。</p><p>これを行うには「<span>FSP Configuration</span>」タブの下部の「<span style="color: red;">Clock</span>」タブをクリックして設定画面を開きます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix1np5Q4qt9I31msDFDbKZUswClS3sxpB8eaPPtgua9ZyHUrf1e_PZSta6IP6OU29zjVvazNS4M4RJkukDAdxC8c00jZt29xhPk-EGFHZQb1KwJFfm4LBw3iUM5LTSkTitoG2mJr6vifJz6fla82-Pc-ar1Ss1jfH3ame8k4BR4vMJRhk_mCA1rWv2hb4e/s1920/300.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 13" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix1np5Q4qt9I31msDFDbKZUswClS3sxpB8eaPPtgua9ZyHUrf1e_PZSta6IP6OU29zjVvazNS4M4RJkukDAdxC8c00jZt29xhPk-EGFHZQb1KwJFfm4LBw3iUM5LTSkTitoG2mJr6vifJz6fla82-Pc-ar1Ss1jfH3ame8k4BR4vMJRhk_mCA1rWv2hb4e/w400-h235/300.png" width="400" /></a></div><p><br /></p><p>クロックの設定画面が開いたら、以下のように外部クロックのXTALを使用する設定から、内部クロック(HOCO 48MHz)を使用する設定に切り替えます。</p><p>変更は<span style="color: red;">三箇所</span>!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI7JlGlPnnNoazw4x3obbAOwIG5jTimtLvp95qzQ9wzDOmMD6NkvModW-qI3ntP68DBa6FNzvh24N5cHUmveCo4CxxUiBGXbnColCkL2Iey6R-qDuXoAxE7VHr1dZ1N2PDizf3QP47_7rJstMf1PcIZY0IqMCEx9qfn2PW9bwX9ew62b23MqOn42NL9wlR/s1920/301.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 14" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI7JlGlPnnNoazw4x3obbAOwIG5jTimtLvp95qzQ9wzDOmMD6NkvModW-qI3ntP68DBa6FNzvh24N5cHUmveCo4CxxUiBGXbnColCkL2Iey6R-qDuXoAxE7VHr1dZ1N2PDizf3QP47_7rJstMf1PcIZY0IqMCEx9qfn2PW9bwX9ew62b23MqOn42NL9wlR/w400-h235/301.png" width="400" /></a></div><p><br /></p><h2 style="text-align: left;"><u>ソースコードの出力</u></h2><p><span style="color: #fcff01;">時は来た!</span></p><p>設定内容をソースコードとして出力します。</p><p>「FSP Configuration」タブにおいて「Pin Configuration」の右側に「<span style="color: red;">Generate Project Content</span>」という表示があります。</p><p>これの「<span style="color: red;">▶</span>」マークをクリックです!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSwT9NgjcUF0S0ZIVsCiCJ5Q-3KaGk0ODnoItmPGMMU-1X4wovDKyLPNYmq4hakEjJijCz43bi4QXF5aOdVE1CufTqne77aLJN7yNkJH90G8QNmJD4slgWx7CFVISrj9dzHnPZ0YOB7WZ_XZk29oABvfhB4OJCHMsGxAqTsfwRcOgPrzqkeAcatTls_hJ-/s1920/302.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 15" border="0" data-original-height="1128" data-original-width="1920" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSwT9NgjcUF0S0ZIVsCiCJ5Q-3KaGk0ODnoItmPGMMU-1X4wovDKyLPNYmq4hakEjJijCz43bi4QXF5aOdVE1CufTqne77aLJN7yNkJH90G8QNmJD4slgWx7CFVISrj9dzHnPZ0YOB7WZ_XZk29oABvfhB4OJCHMsGxAqTsfwRcOgPrzqkeAcatTls_hJ-/w400-h235/302.png" width="400" /></a></div><p><br /></p><p>以下のポップアップが表示されますので「<span style="color: red;">続行</span>」ボタンをクリックします。</p><p>これで、設定内容に沿ったソースコードが雛形プロジェクトに出力されたはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJuqeOTl6zbW0RmFp7NRPdW4SzEvAWfRzUJaM_bGte_J3QjSXfiQaeLBKBhL8dNudyj5TE2GfeDdIH_SW7-fQOHUKdbFUKHa4_7xB60YsvrNVFS3J-CJJKCKKoD3gqHCdTlug4cHIdHu6sbosDzb7tv3hoWIgeSKi4_iWYpvFXc70RtRVgJkuPL2JNyFO/s849/062.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Generate Project Content」ダイアログ" border="0" data-original-height="286" data-original-width="849" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKJuqeOTl6zbW0RmFp7NRPdW4SzEvAWfRzUJaM_bGte_J3QjSXfiQaeLBKBhL8dNudyj5TE2GfeDdIH_SW7-fQOHUKdbFUKHa4_7xB60YsvrNVFS3J-CJJKCKKoD3gqHCdTlug4cHIdHu6sbosDzb7tv3hoWIgeSKi4_iWYpvFXc70RtRVgJkuPL2JNyFO/w400-h135/062.png" width="400" /></a></div><p><br /></p><p>どんなふうに出力されたのかな?…って気になりませんか?</p><p>確認してみましょう。</p><p>「e2studio」を現在の「FSP Configuration」モードから「C/C++」モードに切り替えましょう。</p><p>この切り替えは、画面右上の「<span style="color: red;">C/C++</span>」ボタンで行います。</p><p>クリックしてみましょう。</p><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU65qJSLvUHYGdpObOS31t9d2MUqaVtYdYqf0JsG16cU9BOJlyE4WtgQRc1YIj30Sl6wSTV4Fk0SrRVqHRJc0SBeBO_5H4d-4OrByHSREy2gvihcfl0a2wLfk7FWgvPD6Jlut86ATn88Bf-STLUslinEtaBKizCF9G3yS2GJWiJS213myWeA5LaLhve_O5/s400/063.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 16" border="0" data-original-height="300" data-original-width="400" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU65qJSLvUHYGdpObOS31t9d2MUqaVtYdYqf0JsG16cU9BOJlyE4WtgQRc1YIj30Sl6wSTV4Fk0SrRVqHRJc0SBeBO_5H4d-4OrByHSREy2gvihcfl0a2wLfk7FWgvPD6Jlut86ATn88Bf-STLUslinEtaBKizCF9G3yS2GJWiJS213myWeA5LaLhve_O5/w400-h300/063.png" width="400" /></a></div><div><p><br /></p><p>画面左側の「プロジェクト・エクスプローラー」のリストから「Hinagata」、「ra_gen」の順に展開し「<span style="color: red;">pin_data.c</span>」をダブルクリックします。</p><p>すると、画面中央にソースコードが表示されます。</p><p>これが、今まで作業してきたピンの設定が出力されたものです。</p><p>ちょっと複雑ですが、定義名などの内容から「それっぽい」内容になっていることは分かりますね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkzp-Enz6768MmcBTmcdBA9ldcSzWdFSsVmkTgtUbpSFgjfJK0NXe835iDnX-LOqxL7pxBH6ypsX08AdrSJMtTtBcJTBEZG5cLIqczC8oXXeGTj_U_c1uQ6xJXkS8mTQBGmVddMrTEqygR2ENrmLzeYS4gg1i__36JVPfYn9oyCYyvKvDVaBwO805SqlhF/s1500/064.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」 - 17" border="0" data-original-height="900" data-original-width="1500" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkzp-Enz6768MmcBTmcdBA9ldcSzWdFSsVmkTgtUbpSFgjfJK0NXe835iDnX-LOqxL7pxBH6ypsX08AdrSJMtTtBcJTBEZG5cLIqczC8oXXeGTj_U_c1uQ6xJXkS8mTQBGmVddMrTEqygR2ENrmLzeYS4gg1i__36JVPfYn9oyCYyvKvDVaBwO805SqlhF/w400-h240/064.png" width="400" /></a></div><p><br /></p><p>以上で、マイコンのピンの設定は完了です。</p><p><br /></p><p>さて、今回は「TOPPERS/ASP Arduino UNO R4版」を動かす上で足りないソースコードを出力するための雛形プロジェクトを作りました。</p><p>また、その雛形プロジェクトで「Arduino UNO R4」に搭載されているマイコンのピン設定を行い、それを反映したソースコードも出力しました。</p><p>次のステップは「TOPPERS/ASP Arduino UNO R4版」のソースコードをダウンロードし、雛形プロジェクトで得られたソースコードをそこにコピーします。</p><p>その上で「TOPPERS/ASP Arduino UNO R4版」をターミナル(コマンドライン)でビルドするところまでを行っていきましょう。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/12/toppersasp-arduino-uno-r4_15.html"><続く></a></p></div></div>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-53000337674251047652023-11-21T19:21:00.000-08:002023-12-08T16:19:12.826-08:00「pcDuino3」でYocto Project その3<p><a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project_7.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>Ubuntuのダウンロード</u></h2><p>前回インストールした「VMware Workstation Player」で仮想のパソコンを作成し、そこにLinuxをインストールしようと思います。</p><p>一口にLinuxと言っても、それこそ星の数ほど多くのディストリビューションがあります。</p><p>しかし「Yocto Project」の公式リファレンスマニュアルのページ「<a href="https://docs.yoctoproject.org/ref-manual/system-requirements.html#supported-linux-distributions" target="_blank">1 System Requirements</a>」によると、サポートされているディストリビューションは、以下の通りです。</p><p><br /></p><p><span style="color: #01ffff;">●Fedora</span></p><p><span style="color: #01ffff;">●openSUSE</span></p><p><span style="color: #01ffff;">●CentOS</span></p><p><span style="color: #01ffff;">●Debian</span></p><p><span style="color: #01ffff;">●Ubuntu</span></p><p><br /></p><p>そのうちのどれを選択するか?</p><p>今回は、現在最もシェアが高い「<a href="https://ja.wikipedia.org/wiki/Ubuntu" target="_blank">Ubuntu</a>」というディストリビューションを選びます。</p><p>シェアが高いディストリビューションということは、インターネット上の情報が最も豊富ということです。</p><p>このことは、必然的に「Ubuntu」で「Yocto Project」を使用している人が多く、トラブルに遭った場合に解決するための情報も得やすいことを意味します。</p><p>これは大きなメリットです!</p><p>早速、この「Ubuntu」を手に入れましょう!</p><p>以下のページにアクセスしてください。</p><p><br /></p><p><a href="https://jp.ubuntu.com/" target="_blank">https://jp.ubuntu.com/</a></p><p><br /></p><p>ページ上部の「<span style="color: red;">ダウンロード</span>」の表示をクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga6WWN2UVzEq8sS47oGRp25BROL3ohnlW0y7s5VsyfC9Q2ue5PyHENxCv_UybYCzyM4Fj2SBGhPAlGuwBf-KZH077IElaKl1Pw0_34GclMEE8UQcmc1xJdK8UmSjC4Hq742PPoswu4JkToiEuCl7wP7b7AtRHvKus0GSZ3pp6chyKhe0Ig5BMPlhs_m4mJ/s1920/19.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」ダウンロードページ - 1" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga6WWN2UVzEq8sS47oGRp25BROL3ohnlW0y7s5VsyfC9Q2ue5PyHENxCv_UybYCzyM4Fj2SBGhPAlGuwBf-KZH077IElaKl1Pw0_34GclMEE8UQcmc1xJdK8UmSjC4Hq742PPoswu4JkToiEuCl7wP7b7AtRHvKus0GSZ3pp6chyKhe0Ig5BMPlhs_m4mJ/w400-h215/19.png" width="400" /></a></div><p><br /></p><p>ページが切り替わったら、少し下の方にスクロールしてもらって…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhycIfhXux2ILkdJb40QUmzflF3vACTJsM2LvdPmeZeXn5jpM_QPcezUohDGpliumIjJi5HHjsxnp6JuYFmfA972GPtBRf-pC1shqfH2kG4GR69PrmYa1dI-nyCik2S5KZV1jd6ZD9q3P2_Y4fE6rn-F191KFzLg7eAXcFWeQKIYQM7fQmr17ut1vMdfpTY/s1920/20.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」ダウンロードページ - 2" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhycIfhXux2ILkdJb40QUmzflF3vACTJsM2LvdPmeZeXn5jpM_QPcezUohDGpliumIjJi5HHjsxnp6JuYFmfA972GPtBRf-pC1shqfH2kG4GR69PrmYa1dI-nyCik2S5KZV1jd6ZD9q3P2_Y4fE6rn-F191KFzLg7eAXcFWeQKIYQM7fQmr17ut1vMdfpTY/w400-h215/20.png" width="400" /></a></div><p><br /></p><p>以下の通り「<span style="color: red;">ダウンロード</span>」の表示をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Uwl4KMc9SlVZButW1GoUm2cgwsAKcR03ivr7UWPHC0dWBHfdcVXsJEzgBDkBlQS5_ZF1lyOAhC8TsvuiYQ78nlPUSiTsjA3WcdchlR9RTLmL-t97FIWxFgnXY8QwvCKDtKUdnnKzQp8ZD0ITN2pChvhFoaw1Ue1egyxcLcupZdybsKGNBnwvzgsmfzdA/s1920/21.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」ダウンロードページ - 3" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Uwl4KMc9SlVZButW1GoUm2cgwsAKcR03ivr7UWPHC0dWBHfdcVXsJEzgBDkBlQS5_ZF1lyOAhC8TsvuiYQ78nlPUSiTsjA3WcdchlR9RTLmL-t97FIWxFgnXY8QwvCKDtKUdnnKzQp8ZD0ITN2pChvhFoaw1Ue1egyxcLcupZdybsKGNBnwvzgsmfzdA/w400-h215/21.png" width="400" /></a></div><p><br /></p><p>ダウンロードが開始されるはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib4P3spndUaZbNSr3r7BH6GQ6mpsdTJwpTsKXcvsSx_q9xVnveWIO_MrptyqVlyaJrbzdC_SdrPW3XNU4TzcFuNL7juHYOgTSnd8CtDD6bTBwQw4Jk2bAnfsHA7ai_u32nU8JyoCY-WED39Z-C_wzQ0Wu8lKzS5_Yf47cDaY4B-R7KsdOwwEpvlsPf1fGC/s1920/22.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Ubuntu」ダウンロードページ - 4" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib4P3spndUaZbNSr3r7BH6GQ6mpsdTJwpTsKXcvsSx_q9xVnveWIO_MrptyqVlyaJrbzdC_SdrPW3XNU4TzcFuNL7juHYOgTSnd8CtDD6bTBwQw4Jk2bAnfsHA7ai_u32nU8JyoCY-WED39Z-C_wzQ0Wu8lKzS5_Yf47cDaY4B-R7KsdOwwEpvlsPf1fGC/w400-h215/22.png" width="400" /></a></div><p><br /></p><p>ダウンロードが完了したら、早速そのファイルを見てみましょう。</p><p>「<span style="color: #fcff01;">ubuntu-xx.xx.x-desktop-amd64.iso</span>」みたいなファイル名だと思います。</p><p>拡張子が必ず「<span style="color: #fcff01;">.iso</span>」であることを確認してください。</p><p>これで「Ubuntu」のインストールディスク・イメージのダウンロードは完了です。</p><p><br /></p><h2 style="text-align: left;"><u>「VMware Workstation Player」の仮想マシンの作成</u></h2><p>さて「VMware Workstation Player」を起動させましょう。</p><p>以下の画面から「<span style="color: red;">新規仮想マシンの作成</span>」の表示をクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdFo88dFKT1ntxZmljL92tnYR8jKeSp6jLQ5CJjZk2g0U7dYcP0LtuQcXWLffNpqxAbhRIM08jyYs06M276yb-S5lekr8zHmselp_et-cUk3NI72uoHPwjN_IZXZEV-yU3Rh3SOHiWc_tRx4b2YGiD0XL65uWfuScOxrbvD0-MTtsskPXXE8Jz90d9UC3Y/s842/23.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 1" border="0" data-original-height="648" data-original-width="842" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdFo88dFKT1ntxZmljL92tnYR8jKeSp6jLQ5CJjZk2g0U7dYcP0LtuQcXWLffNpqxAbhRIM08jyYs06M276yb-S5lekr8zHmselp_et-cUk3NI72uoHPwjN_IZXZEV-yU3Rh3SOHiWc_tRx4b2YGiD0XL65uWfuScOxrbvD0-MTtsskPXXE8Jz90d9UC3Y/w400-h308/23.png" width="400" /></a></div><p><br /></p><p>以下のダイアログが現れたら「インストール元:」のラジオボタンを「<span style="color: red;">インストーラ ディスク イメージ ファイル</span>」に設定します。</p><p>更に右側の「<span style="color: red;">参照</span>」ボタンをクリックして、先程ダウンロードした「ubuntu-xx.xx.x-desktop-amd64.iso」という名前のインストールディスク・イメージを指定します。</p><p>インストールディスク・イメージが認識されると、パスを表示しているテキストボックスの下に「<span style="color: red;">Ubuntu 64 ビット xx.xx.xが検出されました…</span>」という表示が出てきます。</p><p>それを確認してから、ダイアログ下方の「<span style="color: red;">次へ</span>」ボタンをクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixR4de_vx9S8AddjMLEHLnJg1CFaf5jVvMqcRbYJcCnruE7TFUvHd99tKQDWGayJjGdzKTNp7R1KSBKuIrprhn0CIAOU82sDcraOLB2gvsQX76Izxzx7J_uc8w5HCvB9H5Ekyn1fQx5vrKI_qJRUAlFcusYoW2j7FohrXqWh2aCMZUw1vY6f0zuXxo6WoJ/s499/24.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 2" border="0" data-original-height="438" data-original-width="499" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixR4de_vx9S8AddjMLEHLnJg1CFaf5jVvMqcRbYJcCnruE7TFUvHd99tKQDWGayJjGdzKTNp7R1KSBKuIrprhn0CIAOU82sDcraOLB2gvsQX76Izxzx7J_uc8w5HCvB9H5Ekyn1fQx5vrKI_qJRUAlFcusYoW2j7FohrXqWh2aCMZUw1vY6f0zuXxo6WoJ/w400-h351/24.png" width="400" /></a></div><p><br /></p><p>続いて、以下のような表示が出てきます。</p><p>ここは<strike>面倒なんで</strike><span style="color: red;">4箇所全部「yocto」</span>にしました。</p><p>もっと丁寧に設定したい方は、任意でどうぞ。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3Ofx2slL6ZNWnhcO2tQZA5CQhnWfqYMXFBULOE33aG7Zxkup9UMC6oUIyV6sAXKOGs17SlZVRHZ5NWbhTIS6JvEPSsCjArg_GcVEaR7MxL-gkC7o3ntWOCj-Hzbkih9QHJoQ_iGEbzHY3-JFRbqD0IUwo2F1iFHjedavutlmZRZOZ47OuSJMFcfTyWmQJ/s499/25.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 3" border="0" data-original-height="438" data-original-width="499" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3Ofx2slL6ZNWnhcO2tQZA5CQhnWfqYMXFBULOE33aG7Zxkup9UMC6oUIyV6sAXKOGs17SlZVRHZ5NWbhTIS6JvEPSsCjArg_GcVEaR7MxL-gkC7o3ntWOCj-Hzbkih9QHJoQ_iGEbzHY3-JFRbqD0IUwo2F1iFHjedavutlmZRZOZ47OuSJMFcfTyWmQJ/w400-h351/25.png" width="400" /></a></div><p><br /></p><p>次の表示も、丁寧な方は任意で設定してください。</p><p>デフォルトでも構わない方は、そのまま「<span style="color: red;">次へ</span>」ボタンをクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5ET4tFzRp7vOcG98lpaJZx40EDbgjm7Lpjv2yyzGmRv9forifPO9YUhqLEzZ2l48_Brr53Vl8_EM6ADP6BVP59N7W1O0c5rmlQYTY8OAlXBdFqGz5-lUXPflUVVQVql2bYd086jry5E7-HIDAlW7kVcObH3Kx-Ocs_xYk6PcHZjjhJfYIaG2U2EyUhus/s499/26.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 4" border="0" data-original-height="438" data-original-width="499" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN5ET4tFzRp7vOcG98lpaJZx40EDbgjm7Lpjv2yyzGmRv9forifPO9YUhqLEzZ2l48_Brr53Vl8_EM6ADP6BVP59N7W1O0c5rmlQYTY8OAlXBdFqGz5-lUXPflUVVQVql2bYd086jry5E7-HIDAlW7kVcObH3Kx-Ocs_xYk6PcHZjjhJfYIaG2U2EyUhus/w400-h351/26.png" width="400" /></a></div><p><br /></p><p>次はちょっと悩みどころ…。</p><p>今作ろうとしている可能マシンに振り分ける仮想ハードディスクのサイズの設定です。</p><p>ハードディスクの容量は、一般的に「Yocto Project」を使うとなると100GB以上が必要と言われています。</p><p>これは、今この「VMware Workstation Player」を動かしているパソコンのハードディスクから割り当てることになるため、どれだけのサイズを設定するかは、パソコンの残りの空き容量次第となります。</p><p>サイズは大きい方が後々面倒がなくて良いので、ここでは余裕を持って「<span style="color: red;">256GB</span>」と設定します。</p><p>(パソコンのハードディスクの空き容量がそんなに無い方は「128GB」でも行けるかな?)</p><p>設定が終わったら「<span style="color: red;">次へ</span>」ボタンをクリック。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZDzo1oQMkTEmznJiZyzESlPng7yb0S392jkVDN0EvxEQRZQP90tpfzwjgNDglC7W4hCTWTJjjl70oMHV5TaZWd53ARqyJiqHDd4gMwmlsN3QCzZWBdDwGiZEYg94DAAcxosPNank6n_El-OY47w1iS-p4T9FaRzsz8vmnOf6qtSjnMfmDeriydB393_oo/s499/27.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 5" border="0" data-original-height="438" data-original-width="499" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZDzo1oQMkTEmznJiZyzESlPng7yb0S392jkVDN0EvxEQRZQP90tpfzwjgNDglC7W4hCTWTJjjl70oMHV5TaZWd53ARqyJiqHDd4gMwmlsN3QCzZWBdDwGiZEYg94DAAcxosPNank6n_El-OY47w1iS-p4T9FaRzsz8vmnOf6qtSjnMfmDeriydB393_oo/w400-h351/27.png" width="400" /></a></div><p><br /></p><p>次の表示では「<span style="color: red;">ハードウェアをカスタマイズ</span>」ボタンをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrTUAlYVOroBjg-WAr5HHTSd_vC_lg6fRHx3BKE3OqQ_tA0XtBW6Rh5LRB3uIvqKqsejGCwbWcuYwYeZTg8PiL8I1zaND7YgoahzJXIjEWKe8c5abU1treoy-ZROx4oU8AL0TxDy205izCFpOWFNlpSNfhyZueMuQHouxPhjLQUnZ2_1zB3yxysdxTX4QF/s499/28.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 6" border="0" data-original-height="438" data-original-width="499" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrTUAlYVOroBjg-WAr5HHTSd_vC_lg6fRHx3BKE3OqQ_tA0XtBW6Rh5LRB3uIvqKqsejGCwbWcuYwYeZTg8PiL8I1zaND7YgoahzJXIjEWKe8c5abU1treoy-ZROx4oU8AL0TxDy205izCFpOWFNlpSNfhyZueMuQHouxPhjLQUnZ2_1zB3yxysdxTX4QF/w400-h351/28.png" width="400" /></a></div><p><br /></p><p>ここが最後の思案のしどころ…。</p><p>仮想ハードディスクの割当に続いて、今作ろうとしている可能マシンに振り分けるメモリのサイズの設定です。</p><p>「VMware Workstation Player」は、ホストマシンの上で仮想マシンを動かします。</p><p>すなわち、Windowsが動いている上で同時にLinuxを動かすことになります。</p><p>この時、Windowsのためのメモリを増やしてLinuxのためのメモリを減らすと、Windowsのアプリケーションの動作が速くなり、Linuxのアプリケーションの動作が遅くなります。</p><p>逆もまた然り。</p><p>しかし<span style="color: #fcff01;">「Yocto Project」は、非常に重いフレームワークです。</span></p><p>ソースコードのダウンロードやコンパイル、多くのファイルのコピーを何百回何千回と繰り返します。</p><p>一つのディストリビューションを作るのに、大変な時間がかかります。</p><p>そのため、Linuxを動作させる仮想マシンのメモリは、やはり多いほど処理速度が向上し、作業時間は短縮されます。</p><p>そこで、以下のように「<span style="color: red;">推奨最大メモリ</span>」の印で示される容量を設定しました。</p><p>(下の画像の例では「13.4GB」ですね。)</p><p>ちなみに、メモリと同様に、プロセッサ・コア数もこの画面で設定可能です。</p><p>こちらもメモリの場合と同様の理屈で多いほど有利ですが、お使いのCPUの半分ほどを振り分ければ良いと思います。</p><p>上記は、パソコンのCPUが4コア持っているので、そのうちの半分の2コアを仮想マシンに割り当てた例です。</p><p>この画面で可能な設定は非常に悩みますが、<span style="color: #fcff01;">後から設定変更も可能</span>ですので、それほど気を揉まないでくださいね。</p><p>設定が終わったら「<span style="color: red;">次へ</span>」ボタンをクリックしましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfl-Hcrnk_2RoqUmdngLQcDZhM1xTNcIy2vpsNo6zHVdnUfYT6jq0CHJ-eczy2PFIoZllM6T3M_Mxmw_wEE98WWOvOSXQqUkj-HEN6Hdk9YK-8aARufw_5kloSOfWLVPc85DWyuU8No0tuK9jVOggR01ziqmIx0fRUy71A7Q0Thr4vobTdJZBkfRW-e_tc/s819/29.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 7" border="0" data-original-height="779" data-original-width="819" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfl-Hcrnk_2RoqUmdngLQcDZhM1xTNcIy2vpsNo6zHVdnUfYT6jq0CHJ-eczy2PFIoZllM6T3M_Mxmw_wEE98WWOvOSXQqUkj-HEN6Hdk9YK-8aARufw_5kloSOfWLVPc85DWyuU8No0tuK9jVOggR01ziqmIx0fRUy71A7Q0Thr4vobTdJZBkfRW-e_tc/w400-h380/29.png" width="400" /></a></div><p><br /></p><p>以下の表示に切り替わったら「<span style="color: red;">完了</span>」ボタンをクリックして、仮想マシン、いよいよ起動です!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLGwaeQ54ENefHF-t-18c_moK3AckcF1KiBA4y-FZ9RHL0HafYiwm7JYK1OcDMzfLWh5w-TyOrgKxZI-kNtWiLmIN0vEY8KqlmKV5vrFpe3K14Y-BOJGx72gk2UV6t72j_liFasSUts4BiXSuT9A25O0BLah0l-xgUtageqElwxZelB4aQld0o4KxtCnJQ/s499/30.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」 - 8" border="0" data-original-height="438" data-original-width="499" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLGwaeQ54ENefHF-t-18c_moK3AckcF1KiBA4y-FZ9RHL0HafYiwm7JYK1OcDMzfLWh5w-TyOrgKxZI-kNtWiLmIN0vEY8KqlmKV5vrFpe3K14Y-BOJGx72gk2UV6t72j_liFasSUts4BiXSuT9A25O0BLah0l-xgUtageqElwxZelB4aQld0o4KxtCnJQ/w400-h351/30.png" width="400" /></a></div><p><br /></p><h2><u>仮想マシンへのUbuntuのインストール</u></h2><p>仮想マシンが起動する冒頭、以下の表示が出てきますが、これは「<span style="color: red;">OK</span>」ボタンをクリックしてください。</p><p>大したことじゃないです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlk1frHcjNWoiYhl0Y5ubvqlVeb5tfVV4H1Flzdu70Klb0K85arEoq7UImt-be1VBoMUGfKlBmGqESmBt1gRJ44bdaNDvnPt6QeGB4dROesm09nfTtz8A5SPVPpO61qS-gqqE35szvT2DfZnWwB1LsnCEvRdt1dqdvkiHxEnhuixT7GnxPX1wLXdYxTHWB/s373/31.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 1" border="0" data-original-height="253" data-original-width="373" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlk1frHcjNWoiYhl0Y5ubvqlVeb5tfVV4H1Flzdu70Klb0K85arEoq7UImt-be1VBoMUGfKlBmGqESmBt1gRJ44bdaNDvnPt6QeGB4dROesm09nfTtz8A5SPVPpO61qS-gqqE35szvT2DfZnWwB1LsnCEvRdt1dqdvkiHxEnhuixT7GnxPX1wLXdYxTHWB/w400-h271/31.png" width="400" /></a></div><p><br /></p><p>しばらくすると、仮想マシン上で「Ubuntu」のインストールディスク・イメージが実行されます。</p><p>Linux起動中…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigutb0iR1GKpL6Fo08pRU-lxizbAZPlA8i4qG_qXdGwBfWTyfudXCcvPQ2Q_HrfKvoW2ifz0HU2724mxwLD-LJJU4p1w6NXA_KmYWVTBBLCpVZpPoGTuUypATEW0UbnIWpcztfNKabTyb_JmMGLniJhyphenhyphenCTXV3NpT1uYjy-CanC4Yj1rWcv2t6DNCa2UgY4/s1282/32.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 2" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigutb0iR1GKpL6Fo08pRU-lxizbAZPlA8i4qG_qXdGwBfWTyfudXCcvPQ2Q_HrfKvoW2ifz0HU2724mxwLD-LJJU4p1w6NXA_KmYWVTBBLCpVZpPoGTuUypATEW0UbnIWpcztfNKabTyb_JmMGLniJhyphenhyphenCTXV3NpT1uYjy-CanC4Yj1rWcv2t6DNCa2UgY4/w400-h285/32.png" width="400" /></a></div><p><br /></p><p>クリスタルなクラゲ!?</p><p>なかなかにアーティスティックな壁紙!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjW2giOa4tAHWCHaXsFmNRJWoVR8k_FyZVCm42qB-G8ln1TI_xUfbLwWT0J_o53q1CEFM6ODDbKM6WCid3PjCdxwIBlyHrYa2aAncidZtzvEIawGPTtJnFHleqU4YnSilK0Lzmdnu8-xBGZtKI-Zpk_x7lMMKqG0ivAdN6e2yfbeSh5oBch5V4t8Tq8DRk/s1282/33.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 3" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjW2giOa4tAHWCHaXsFmNRJWoVR8k_FyZVCm42qB-G8ln1TI_xUfbLwWT0J_o53q1CEFM6ODDbKM6WCid3PjCdxwIBlyHrYa2aAncidZtzvEIawGPTtJnFHleqU4YnSilK0Lzmdnu8-xBGZtKI-Zpk_x7lMMKqG0ivAdN6e2yfbeSh5oBch5V4t8Tq8DRk/w400-h285/33.png" width="400" /></a></div><p><br /></p><p>さて、いよいよ「Ubuntu」のインストーラが開始されます。</p><p>まずはキーボードの設定です。</p><p><span style="color: red;">お使いの環境に合わせて設定</span>し「<span style="color: red;">Continue</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrDnn1dmhRsY4esVA20Psjl0BCmskp6-0hrszG4EOv-0abI4-qMyftVXgBdG4uZfgZi2y8dzeuBUo9lY_ufSllu6JoA9tWFEmXAVCbyIBDWVexNscPFv-uOpnPu5BpOxstbDiUJhGjOQgDlkO3_iau9iQnV-UGRc5-UU2cobiZ1IF8L2fd7vQkG5x8twL/s1282/34.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 4" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWrDnn1dmhRsY4esVA20Psjl0BCmskp6-0hrszG4EOv-0abI4-qMyftVXgBdG4uZfgZi2y8dzeuBUo9lY_ufSllu6JoA9tWFEmXAVCbyIBDWVexNscPFv-uOpnPu5BpOxstbDiUJhGjOQgDlkO3_iau9iQnV-UGRc5-UU2cobiZ1IF8L2fd7vQkG5x8twL/w400-h285/34.png" width="400" /></a></div><p><br /></p><p>この後は、しばらく「<span style="color: red;">Continue</span>」ボタンを連打で良いです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNxtNauISle8Yww1maqTwudDBMm78h6AbWhAKv9WwwhLtfxcrmut7GXjkcyQdq0CCj4Qz-T9VFEYPQqroduBh_G5KcHlmNCCXR5oWQmSLhyphenhyphenGkmBBWu0xkwXmSYKSG8G9fuWua7Ph2BuGPR9SUz9TjwdpXHdZnkhzSVQAStQ5EYfuOzT0Ohur70rO4RKrRS/s1282/35.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 5" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNxtNauISle8Yww1maqTwudDBMm78h6AbWhAKv9WwwhLtfxcrmut7GXjkcyQdq0CCj4Qz-T9VFEYPQqroduBh_G5KcHlmNCCXR5oWQmSLhyphenhyphenGkmBBWu0xkwXmSYKSG8G9fuWua7Ph2BuGPR9SUz9TjwdpXHdZnkhzSVQAStQ5EYfuOzT0Ohur70rO4RKrRS/w400-h285/35.png" width="400" /></a></div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmGeffpRRDWK1uNcGFSfgjIxeTBKDkjl_8-rM-GGNV56Afa-luDyKoHmXKbiVTkcByQXmfsZKrWhrokFrF6eXMJ8CZI9Vl7hpR_RKEUlq4EKbLg1Wdb1G3iL5V-hg7IYA56kWAXl-NrgXifeHqNG1UpJQrvQk8BMenO0p4GqgEUnUNpOT55y7wZ43ScM9p/s1282/36.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 6" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmGeffpRRDWK1uNcGFSfgjIxeTBKDkjl_8-rM-GGNV56Afa-luDyKoHmXKbiVTkcByQXmfsZKrWhrokFrF6eXMJ8CZI9Vl7hpR_RKEUlq4EKbLg1Wdb1G3iL5V-hg7IYA56kWAXl-NrgXifeHqNG1UpJQrvQk8BMenO0p4GqgEUnUNpOT55y7wZ43ScM9p/w400-h285/36.png" width="400" /></a></div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6tAOqPKCjhvbMF2mwF0G7i9DohVtdz17LA4t-NYoXZjWsGBjelNmIPygRGm9_0FZQg_5ry822mwHSMvyeN9Ob0RLGQQhxokoCU0kBx-wuzVz1Mwxi2wxzITb1vXz-zaP6qSKj37yQ6qGEVo6-6tx7jRGEY7dTp9lss21YSNWH83Enr8qY6YWMlZC-jFxk/s1282/37.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 7" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6tAOqPKCjhvbMF2mwF0G7i9DohVtdz17LA4t-NYoXZjWsGBjelNmIPygRGm9_0FZQg_5ry822mwHSMvyeN9Ob0RLGQQhxokoCU0kBx-wuzVz1Mwxi2wxzITb1vXz-zaP6qSKj37yQ6qGEVo6-6tx7jRGEY7dTp9lss21YSNWH83Enr8qY6YWMlZC-jFxk/w400-h285/37.png" width="400" /></a></div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtN_WPvnHoBjewzNzcb-KzEekb3_xlxX75dCOwCD1qDJP3Ph441HA8v6lKgrsoi-uIsIYvkG7S_A60ivyvPPMsOXV04ZohyJ-exlUquyV_Y9nF71fqVmSaMS2Qe9Gk7f2Jql7XNbCJTQRiR-Ukv9XKC_mvawAdV0N7udZ0br3WU-wxPYrPnEz527rV_wJI/s1282/38.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 8" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtN_WPvnHoBjewzNzcb-KzEekb3_xlxX75dCOwCD1qDJP3Ph441HA8v6lKgrsoi-uIsIYvkG7S_A60ivyvPPMsOXV04ZohyJ-exlUquyV_Y9nF71fqVmSaMS2Qe9Gk7f2Jql7XNbCJTQRiR-Ukv9XKC_mvawAdV0N7udZ0br3WU-wxPYrPnEz527rV_wJI/w400-h285/38.png" width="400" /></a></div><p><br /></p><p>以下の画面になったら、手入力が必要です。</p><p>ここも横着して全部「<span style="color: red;">yocto</span>」と入力しました。</p><p>この「Ubuntu」は「Yocto Project」のための一時的な環境で、なにもサーバーを構築するわけでもないのだから、あまり神経質にならなくて良いと思いますよ。</p><p>入力が終わったら「<span style="color: red;">Continue</span>」ボタンをクリック。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKpvqHoWvd4pVX5NLJZjQoymBcHoKpwbOJsfV8z9PD6LrKNOkOQ_VpSx9ToOuq9WFjCb6kd1WbKIICCZTyTfmGLNBt_n-oA28Kz4PtDbV6L2ao-s7d4Hdva2Lk0ZsRJA82H0J0sIb7rdbd-Q6bp-donDftOj7cmKsWZFE57tXoNUQpHRx1uZxtZXill6V_/s1282/39.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 9" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKpvqHoWvd4pVX5NLJZjQoymBcHoKpwbOJsfV8z9PD6LrKNOkOQ_VpSx9ToOuq9WFjCb6kd1WbKIICCZTyTfmGLNBt_n-oA28Kz4PtDbV6L2ao-s7d4Hdva2Lk0ZsRJA82H0J0sIb7rdbd-Q6bp-donDftOj7cmKsWZFE57tXoNUQpHRx1uZxtZXill6V_/w400-h285/39.png" width="400" /></a></div><p><br /></p><p>ふぅ…ようやくインストールが始まりました。</p><p>インストールが終了するまで、ある程度の時間がかかります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1H7fVDhSO3c8KoCYRNiJl7feoGl3HLJT7LFu7wq8rtFqwBsXuGzcafA6_YNKjgI3FhWQbZHE8kojMK8EzKdtFlufgtMCqEzMHx-DPxr4b0Ex0lRu6Mo0DUdUpfWw3XoYuYk8hv1KpCibB_ksjsNjPLYB_ik7VhN1kMDkuXIe98z0p5gXUJ-tydKzjD5Pn/s1282/40.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 10" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1H7fVDhSO3c8KoCYRNiJl7feoGl3HLJT7LFu7wq8rtFqwBsXuGzcafA6_YNKjgI3FhWQbZHE8kojMK8EzKdtFlufgtMCqEzMHx-DPxr4b0Ex0lRu6Mo0DUdUpfWw3XoYuYk8hv1KpCibB_ksjsNjPLYB_ik7VhN1kMDkuXIe98z0p5gXUJ-tydKzjD5Pn/w400-h285/40.png" width="400" /></a></div><p><br /></p><p>インストールが完了すると、ひっそりと味気なく…以下のポップアップが表示されます。</p><p>「再起動していいですか?」…</p><p>「良いですよ!」ってなわけで「<span style="color: red;">Restart Now</span>」ボタンをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm8qtjQYCueKhFiaFv-3y7g8ewuSnpFj69BdeQb_j_Njqn_bJ2Yg94YtUAyf7g2NoWd6yLlplTKTqpa3FqxtzL7HaeLVfVPxqJAPC-ezKEA61X3Kkh8YjBmZ9F_jgsIg3gAXgjl_LsQCgXNtrr-_D5xSVJDh9Xas6eDNvcdiQFBH5XkOvtywFUlUtBbNFi/s1282/41.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 11" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm8qtjQYCueKhFiaFv-3y7g8ewuSnpFj69BdeQb_j_Njqn_bJ2Yg94YtUAyf7g2NoWd6yLlplTKTqpa3FqxtzL7HaeLVfVPxqJAPC-ezKEA61X3Kkh8YjBmZ9F_jgsIg3gAXgjl_LsQCgXNtrr-_D5xSVJDh9Xas6eDNvcdiQFBH5XkOvtywFUlUtBbNFi/w400-h285/41.png" width="400" /></a></div><p><br /></p><p>仮想マシンが再起動すると、以下のようにログイン画面が表示されます。</p><p><span style="color: red;">「yocto」というユーザー名</span>が表示されていますね?</p><p>こちらをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgROQwM6Ulw03fM6hgamgWqtO5ZEoGE7bCuSYZRLRnBoj7nXaVcZQPXdRFKb2sg7ikfWRuLZAt2Um2oaSY8tRCemoTQQgWBmTvNdWJ9hLegMzs65CHNOi_0iBAM-RuAzn9ZksESwx6kx88sxJ1uxDHpGGlYxioS69kqY9rGNQ-nhHwM6_5plTF5URqfazTE/s1282/42.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 12" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgROQwM6Ulw03fM6hgamgWqtO5ZEoGE7bCuSYZRLRnBoj7nXaVcZQPXdRFKb2sg7ikfWRuLZAt2Um2oaSY8tRCemoTQQgWBmTvNdWJ9hLegMzs65CHNOi_0iBAM-RuAzn9ZksESwx6kx88sxJ1uxDHpGGlYxioS69kqY9rGNQ-nhHwM6_5plTF5URqfazTE/w400-h285/42.png" width="400" /></a></div><p><br /></p><p><span style="color: red;">パスワード入力のためのテキストボックス</span>が現れますので、パスワードを入力しましょう。</p><p>今回の場合、私が横着したのでここも「<span style="color: red;">yocto</span>」と…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY7UMPMWgquQwZTLJ-Yn6pFPiuG5Bsa2RQSu-GNYnhrVaGh8AkpOyxITOvzn0cgp3J0GvZoodYZa_2LvXc8a49C_niOvaOn8SZYW5ZW6mJaXylSa4DIxXk-cxOTBos3VyyKuWu0Lzvrus64Y5zY24UaLip2Tg2DsdSsnQ5vJorIZ8MEXD9195kRs4yF0Xy/s1282/43.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 13" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY7UMPMWgquQwZTLJ-Yn6pFPiuG5Bsa2RQSu-GNYnhrVaGh8AkpOyxITOvzn0cgp3J0GvZoodYZa_2LvXc8a49C_niOvaOn8SZYW5ZW6mJaXylSa4DIxXk-cxOTBos3VyyKuWu0Lzvrus64Y5zY24UaLip2Tg2DsdSsnQ5vJorIZ8MEXD9195kRs4yF0Xy/w400-h285/43.png" width="400" /></a></div><p><br /></p><p>すると、以下の通り「Ubuntu」のデスクトップが表示されます。</p><p>クリスタル・クラゲに再会!</p><p>本当に最近のLinuxは、WinodwsやMacOSに劣らないくらいデスクトップの完成度が高くなっていますね。</p><p>これで仮想マシンへの「Ubuntu」のインストールは無事終了です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEc7ne7fSHz77QMr7Re89-TGtkx3t2e53VXK1YE6m59h4iPms-74X60U75_g-8ftN_sLe0rLHqjcBsR-IBsCqc7TymA7Y0_jC-bN97KIVplpHsMq1KaehS7-eSFxMhZIOyoghYWovm8JJ4XX_Vq8p0q6VOksZQE_NMJSrJ1sQh87yfT0NbWMGu1Z3lEs4/s1282/44.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 14" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEc7ne7fSHz77QMr7Re89-TGtkx3t2e53VXK1YE6m59h4iPms-74X60U75_g-8ftN_sLe0rLHqjcBsR-IBsCqc7TymA7Y0_jC-bN97KIVplpHsMq1KaehS7-eSFxMhZIOyoghYWovm8JJ4XX_Vq8p0q6VOksZQE_NMJSrJ1sQh87yfT0NbWMGu1Z3lEs4/w400-h285/44.png" width="400" /></a></div><p><br /></p><p>さて、起動させたものは、いつかは終了させなきゃいけない…というわけで「Ubuntu」の終了の仕方を確認しておきましょう。</p><p>Linuxの正しい礼儀作法として、これはターミナル(コマンドプロンプト)で行います。</p><p>現在のデスクトップからターミナルを開くには、GUIのメニューから選択しても良いのですが、もっと楽な方法があります。</p><p>キーボードの<span style="color: #fcff01;">「Ctrl」+「Alt」+「T」</span>を同時に押してください。</p><p>以下のようにターミナルが開けましたか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisi03ZGCdM-YjUDudAj2AfONxBWeN5ZSo6iE2h7EM1NgeZSGOOU5pBjPaHTG7_VW9F-aRXGRUjom1ESP3kCBR7QXzkoljPPre6Gu4njXzSqDfO1XnBwZOSWuKu9LMVww5Z4y77acQP4-KjIQU75lRIhsjXHRBUUO1WwRCZSi_oi-VWkOYaRrZ-QW_V5f3C/s1282/45.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 15" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisi03ZGCdM-YjUDudAj2AfONxBWeN5ZSo6iE2h7EM1NgeZSGOOU5pBjPaHTG7_VW9F-aRXGRUjom1ESP3kCBR7QXzkoljPPre6Gu4njXzSqDfO1XnBwZOSWuKu9LMVww5Z4y77acQP4-KjIQU75lRIhsjXHRBUUO1WwRCZSi_oi-VWkOYaRrZ-QW_V5f3C/w400-h285/45.png" width="400" /></a></div><p><br /></p><p>「Ubuntu」を正しく終了させるには、開いたターミナルで以下のコマンドを入力します。</p><p><br /></p><p><span style="color: #01ffff;">$ sudo shutdown -h now</span></p><p><br /></p><p>このコマンドは、<span style="color: #fcff01;">管理者権限で</span><span style="color: #01ffff;">(sudo)</span><span style="color: #fcff01;">、シャットダウンせよ</span><span style="color: #01ffff;">(shoutdown)</span><span style="color: #fcff01;">、電源断(Halt)で</span><span style="color: #01ffff;">(-h)、</span><span style="color: #fcff01;">今すぐに!</span><span style="color: #01ffff;">(now)</span>…という意味です。</p><p>すると、以下のようにパスワードの入力を求められます。</p><p>これは、コマンドの頭に「sudo」を付けたからです。</p><p>サーバーなどの用途に用いられるLinuxでは、シャットダウンは特別な操作です。</p><p>ログインしている誰でも彼でもシャットダウンできてしまっては困ります。</p><p>なので、大抵の場合「shutdown」コマンドは管理者権限で実行されなければなりません。</p><p>したがって、そのためのパスワードが必要というわけになります。</p><p>では、パスワード(今回の場合「yocto」ですね)を入力して、リターンキーを押します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirrS0ntSkcfTn2plnKlWO9Xsyjb1PZ4xEOrb2GS6_g-9FRx4MhnK7_BsnGZ8vGcvLG3pWw15LJJ_-Rei8tDrJDs-xTCddO9IkdaXnTvKW7GfvZzebzZnRrYEV8a34K3u-LpWCpQr9Rl57e9DglOcVilp3b8e-vSE7XOnswhvn3J0u5qfiL-DUekEktrA5z/s1282/46.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 16" border="0" data-original-height="915" data-original-width="1282" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirrS0ntSkcfTn2plnKlWO9Xsyjb1PZ4xEOrb2GS6_g-9FRx4MhnK7_BsnGZ8vGcvLG3pWw15LJJ_-Rei8tDrJDs-xTCddO9IkdaXnTvKW7GfvZzebzZnRrYEV8a34K3u-LpWCpQr9Rl57e9DglOcVilp3b8e-vSE7XOnswhvn3J0u5qfiL-DUekEktrA5z/w400-h285/46.png" width="400" /></a></div><p><br /></p><p>しばらくすると「Ubuntu」はシャットダウンされて、仮想マシンの画面も消え去ります。</p><p>これで「Ubuntu」が正しく終了できました。</p><p>再び「Ubuntu」を起動したいときは「VMware Workstation Player」の画面で、左のリストから「<span style="color: red;">Ubuntu 64 ビット</span>」を選択状態にして「<span style="color: red;">仮想マシンの再生</span>」をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhg9tEpvo2EUCq9De7LICUbUoyBEoNq7hpofeiE2kWJ1f3Z6IsVokqAGoQCtfPfxerCiboLzUP4STgjaZTh7qEwBLFCJuQ5Hcwu_nwsF1P9fRO1n2urjKhkHSq6JBj7P3GOneb3ZYyjLW3mBZqgrTB-4b_Y9oENNcqnistQ9x62hxpJ0N4416YUn-dSiCO/s842/47.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Ubuntuのインストール - 17" border="0" data-original-height="648" data-original-width="842" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhg9tEpvo2EUCq9De7LICUbUoyBEoNq7hpofeiE2kWJ1f3Z6IsVokqAGoQCtfPfxerCiboLzUP4STgjaZTh7qEwBLFCJuQ5Hcwu_nwsF1P9fRO1n2urjKhkHSq6JBj7P3GOneb3ZYyjLW3mBZqgrTB-4b_Y9oENNcqnistQ9x62hxpJ0N4416YUn-dSiCO/w400-h308/47.png" width="400" /></a></div><p><br /></p><p>すると、再び仮想マシンが起動し「Ubuntu」が立ち上がって、ログイン画面が表示されます。</p><p>これで「Ubuntu」の起動と終了は万全ですね!</p><p><br /></p><p>以上で「Yocto Project」を動作させる土台は整いました。</p><p>次回から、このフレームワークの構築に移りましょう。</p><p>…ここまででも、けっこう手間がかかりましたよね。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/12/pcduino3yocto-project.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-10106150725480784542023-11-14T16:10:00.000-08:002023-12-01T19:19:44.499-08:00TOPPERS/ASP - Arduino UNO R4版 その2<p><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-arduino-uno-r4.html">前回からの続き</a>です。</p><p><br /></p><h2 style="text-align: left;"><u>開発環境の構築</u></h2><p>「Arduino UNO R4」に搭載されている「<span style="color: #fcff01;">Renesas RA</span>」マイコン用のIDEのインストールを行います。</p><p>IDEは、ルネサスエレクトロニクス社純正の「<span style="color: #fcff01;">e2 studio</span>」というものを使用します。</p><p>以下のページでダウンロードします。</p><p><br /></p><p><a href="https://www.renesas.com/jp/ja/software-tool/e-studio" target="_blank">https://www.renesas.com/jp/ja/software-tool/e-studio</a></p><p><br /></p><p>開いたページをちょっと下へスクロールして…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiXtTSszlBdOb_QmPOSqBlJ9gN_pHXuDsYAWtmT7DmBmPWWLZ7Fa6PuHrb3It5vbJ_opgf0PwhFvIVopDNr2gaGUzmnG4U10L-LBdwAJvEnaAeC32cir5UXZFVSytG-dAJL7LevcW_RE4SmaKJJvhIWiQW6ev-5CNBp4x-zdYzSnDMdeSv9YhTKE87ukin/s1920/00.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」ダウンロードページ - 1" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiXtTSszlBdOb_QmPOSqBlJ9gN_pHXuDsYAWtmT7DmBmPWWLZ7Fa6PuHrb3It5vbJ_opgf0PwhFvIVopDNr2gaGUzmnG4U10L-LBdwAJvEnaAeC32cir5UXZFVSytG-dAJL7LevcW_RE4SmaKJJvhIWiQW6ev-5CNBp4x-zdYzSnDMdeSv9YhTKE87ukin/w400-h215/00.png" width="400" /></a></div><p><br /></p><p>ここですね。</p><p>「<span style="color: red;">統合開発環境 e2 studio 2023-10 Windows用インストーラ</span>」という項目をクリックすると…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeAuU8WXTEZaSFnmQSSxenozDX-yWy_Dk8ygYBxUMX6hwGJe1GaedMO_76CCYktGw1dzX9C1uneoo28Gfsqwj34dBr5lZZxfO5iP_AWIpIiPQY28rNsvVPbH55JmgnCTqSgNr-2tB143YkEXmiT-hzx59_hzKndgxWW5ArqMOSl1TOer7gkzpXkBGYv_yZ/s1920/01.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」ダウンロードページ - 2" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeAuU8WXTEZaSFnmQSSxenozDX-yWy_Dk8ygYBxUMX6hwGJe1GaedMO_76CCYktGw1dzX9C1uneoo28Gfsqwj34dBr5lZZxfO5iP_AWIpIiPQY28rNsvVPbH55JmgnCTqSgNr-2tB143YkEXmiT-hzx59_hzKndgxWW5ArqMOSl1TOer7gkzpXkBGYv_yZ/w400-h215/01.png" width="400" /></a></div><p><br /></p><p>以下のようなポップアップが表示されます。</p><p>ここでは難しく考えずに「<span style="color: red;">Confirm</span>」をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKYz0qrqc02JmqnaGc1wi4a31YDYcKdCYySnJpL6TWHac_VkfU8R3EIH0tPp9IXaKjRE6LZnd3zGziaKTT9GuvyqZkqOHbHKX09DfLwTA6f9-FYIPHJsfGltStpNS7JW2Qo3DFuixEUrSIoEzGjG8ctW_WPz50imb9uKYnw3mTawgIbrDihCHpjuvBH3dj/s1920/02.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」ダウンロードページ - 3" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKYz0qrqc02JmqnaGc1wi4a31YDYcKdCYySnJpL6TWHac_VkfU8R3EIH0tPp9IXaKjRE6LZnd3zGziaKTT9GuvyqZkqOHbHKX09DfLwTA6f9-FYIPHJsfGltStpNS7JW2Qo3DFuixEUrSIoEzGjG8ctW_WPz50imb9uKYnw3mTawgIbrDihCHpjuvBH3dj/w400-h215/02.png" width="400" /></a></div><p><br /></p><p>すると以下のページが開きます。</p><p>「e2 studio」をダウンロードするためには、<span style="color: #fcff01;">ユーザー登録が必要</span><span>とのこと。</span></p><p>面倒ですが、登録しないと先に進めませんので「<span style="color: red;">登録</span>」をクリックして、アカウントの作成とログインをお願いします。</p><p>登録したからと言って、セールスのメールがバンバン来たりとか、そういう害はありませんのでご安心を!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKBLpvrvp8GCkAYnPIk9Sm-IHxf_4qepX-rthOkDKKbPGjCE0G_0Xv01Tc1YpisjwzRZIupyKpyA33d-4_tIi2JzJ1sEaGyM3RQUMLkam_0z5CPiNfSmMkHR1HgAloYsd9mFox0Q11dClAEXfzDK3mqeziWm4EZ9dck6hfQw94KKMwHf4j54leQSzNWUvE/s1920/03.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」ダウンロードページ - 4" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKBLpvrvp8GCkAYnPIk9Sm-IHxf_4qepX-rthOkDKKbPGjCE0G_0Xv01Tc1YpisjwzRZIupyKpyA33d-4_tIi2JzJ1sEaGyM3RQUMLkam_0z5CPiNfSmMkHR1HgAloYsd9mFox0Q11dClAEXfzDK3mqeziWm4EZ9dck6hfQw94KKMwHf4j54leQSzNWUvE/w400-h215/03.png" width="400" /></a></div><p><br /></p><p>登録が終わって、一度ログインしてしまえばダウンロードできます。</p><p>トップページに戻って、再度「<span style="color: red;">統合開発環境 e2 studio 2023-10 Windows用インストーラ</span>」という項目をクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXGHa5ZJpPRMC8H7O-uXLJokAIoY0eYk3qQpsa62daMAZZPlzM9vd0XhJh5iFJ7WdTCtYNMCZvoTxUO9d2rHTW5mNi3D9DmHI-ARQAMra0zCJhP9haUHnl6NNG5uGuUQnOV15CIfY3GMKMjPi9oaXPGNj05KeGBU93-9XxHjR3e9K4JqcOGMFIsMzRgh6u/s1920/01.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」ダウンロードページ - 5" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXGHa5ZJpPRMC8H7O-uXLJokAIoY0eYk3qQpsa62daMAZZPlzM9vd0XhJh5iFJ7WdTCtYNMCZvoTxUO9d2rHTW5mNi3D9DmHI-ARQAMra0zCJhP9haUHnl6NNG5uGuUQnOV15CIfY3GMKMjPi9oaXPGNj05KeGBU93-9XxHjR3e9K4JqcOGMFIsMzRgh6u/w400-h215/01.png" width="400" /></a></div><p><br /></p><p>以下のようなページが表示されますので「<span style="color: red;">同意します</span>」をクリック。</p><p>ダウンロードが始まります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS9_hUAqJJC5whVinhe1KzHbZjff6_6beaZizWX6oAuTWTInYukKC7h2ztCtiPynFp7PxgTGo1_6Az1CZCpJQ-VIyHwc2he0vzvoAr9cXGX89fwX2G5f3Tw9-3lUGpXmd9tORmkeSukP74XVWuRVyU5M0wA29OpXVCIyXAXw5r2L-Bktl7dCQd5BRvOVat/s1920/04.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」ダウンロードページ - 6" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS9_hUAqJJC5whVinhe1KzHbZjff6_6beaZizWX6oAuTWTInYukKC7h2ztCtiPynFp7PxgTGo1_6Az1CZCpJQ-VIyHwc2he0vzvoAr9cXGX89fwX2G5f3Tw9-3lUGpXmd9tORmkeSukP74XVWuRVyU5M0wA29OpXVCIyXAXw5r2L-Bktl7dCQd5BRvOVat/w400-h215/04.png" width="400" /></a></div><p><br /></p><p>ダウンロードが完了すると「<span style="color: #fcff01;">setup_e2_studio_20xx-xx.zip</span>」というファイルが生成されますので、これを解凍します。</p><p>解凍されて生成された「<span style="color: #fcff01;">setup_e2_studio_20xx-xx.exe</span>」というファイル、これがインストーラー本体ですので、ダブルクリック!</p><div><p>すぐに以下のポップアップが表示されますので、「<span style="color: red;">All Users</span>」をクリックします。</p></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxC2IagDU2c8EV8h3NDHYbHqEmJwNai2DZ84AQ0My8KjQVyiv4_UiCR4CHE6164Uinm28VejkHgW9QyymUdPYDagdzRNdgAv0TxNyCJzIxfjme2TKlCKpUSBoC7oY335smShZBQjjC1mhExTPcz-GH9XlKrgxPMF7BBJ8dqNx44CqpeOPUGAfZzwGH7oJ0/s387/05.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 1" border="0" data-original-height="288" data-original-width="387" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxC2IagDU2c8EV8h3NDHYbHqEmJwNai2DZ84AQ0My8KjQVyiv4_UiCR4CHE6164Uinm28VejkHgW9QyymUdPYDagdzRNdgAv0TxNyCJzIxfjme2TKlCKpUSBoC7oY335smShZBQjjC1mhExTPcz-GH9XlKrgxPMF7BBJ8dqNx44CqpeOPUGAfZzwGH7oJ0/w400-h297/05.png" width="400" /></a></div><p><br /></p><p>なにやら、準備中の様ですよ~。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8A53TrKIqs138GiiQCoBH3KlKs25HubjIDiQuRm5F5phJqFUlbLLHjPA_aTwQdu9-enG7ErjWBBh-u2UcYa5HFRNVFixR3duACVTyDFptF40Pe5HK-QswPrpwPLHT_P76N1cvx_MAqatYq7u74r1CRtdsKS6tj8fI4ripFYQutXjX3EZ3O5E7vJKGWvoV/s432/06.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 2" border="0" data-original-height="208" data-original-width="432" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8A53TrKIqs138GiiQCoBH3KlKs25HubjIDiQuRm5F5phJqFUlbLLHjPA_aTwQdu9-enG7ErjWBBh-u2UcYa5HFRNVFixR3duACVTyDFptF40Pe5HK-QswPrpwPLHT_P76N1cvx_MAqatYq7u74r1CRtdsKS6tj8fI4ripFYQutXjX3EZ3O5E7vJKGWvoV/w400-h193/06.png" width="400" /></a></div><p><br /></p><p>以下の画面が現れます。</p><p>ここではインストールの方法の種類を問われます。</p><p>ここでは「<span style="color: red;">Lite Install</span>」を選択して(「Recommended=オススメ」って書いてあるし…)、画面下方の「<span style="color: red;">Next></span>」ボタンをクリックしましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_CyAzsKloCpdhNfSYuhdGiuNFWegadIbGZ2d4DAXYkIKu5q9VzlOqm7kSjFaHY4hskYQeU4X8jiiXgz8HJtrYofMqlZ8aKoOKe3c49UJBEDETtfVEvt-PWXBcabJ5HGlJaniqxVLXGQFOT1uaUeHp8i5W0JdYKqFP7OahGVnOTSyv7SuXD49DXJvm8xt-/s731/07.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 3" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_CyAzsKloCpdhNfSYuhdGiuNFWegadIbGZ2d4DAXYkIKu5q9VzlOqm7kSjFaHY4hskYQeU4X8jiiXgz8HJtrYofMqlZ8aKoOKe3c49UJBEDETtfVEvt-PWXBcabJ5HGlJaniqxVLXGQFOT1uaUeHp8i5W0JdYKqFP7OahGVnOTSyv7SuXD49DXJvm8xt-/w395-h400/07.png" width="395" /></a></div><p><br /></p><p>続いて表示された以下の画面では「<span style="color: red;">Next></span>」ボタンをクリック!</p><p>「<span style="color: red;">Next></span>」ボタンが有効化されるまで、ちょっと時間がかかるかもです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtLm8kxM4csXhBcMlDECMa4C0gbAfOMUtvKa6RWgLeMkPw-c8Wi9dEZsX4E5Nuo-uvTQREakrNIwS_FTVlms98no1WKjR-7DamKJuPiE352n95UnXSALA0Vdl22g2x5MNGjzFSmIGyiNhLDmUQ1OiDx8JghLWK7NXAvL_Y2UacGKuMkzVZX43zKYiWoPqu/s731/08.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 4" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtLm8kxM4csXhBcMlDECMa4C0gbAfOMUtvKa6RWgLeMkPw-c8Wi9dEZsX4E5Nuo-uvTQREakrNIwS_FTVlms98no1WKjR-7DamKJuPiE352n95UnXSALA0Vdl22g2x5MNGjzFSmIGyiNhLDmUQ1OiDx8JghLWK7NXAvL_Y2UacGKuMkzVZX43zKYiWoPqu/w395-h400/08.png" width="395" /></a></div><p><br /></p><p>次の表示ではお目当ての「<span style="color: red;">RA</span>」のみにチェックを入れて「<span style="color: red;">Next></span>」をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWgVr_w7L94B6UbzNmdQDk-oKJAihGeP1x3jkcxrjB3MiKTFpAa6ybEpy4Vh6GyhlHyMt_PkEcV1HTTVA8_CqXL4k8GAZtiFjUxiC-y03YO5obmC02nqHK_dqHeKtKLpiDzgWEygEprUhYA2C0t4hq_vksgJ5mCnnNmld4ly8M-3K_YJwOCV-cCOrTJ3W/s731/09.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 5" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWgVr_w7L94B6UbzNmdQDk-oKJAihGeP1x3jkcxrjB3MiKTFpAa6ybEpy4Vh6GyhlHyMt_PkEcV1HTTVA8_CqXL4k8GAZtiFjUxiC-y03YO5obmC02nqHK_dqHeKtKLpiDzgWEygEprUhYA2C0t4hq_vksgJ5mCnnNmld4ly8M-3K_YJwOCV-cCOrTJ3W/w395-h400/09.png" width="395" /></a></div><p><br /></p><p>以下の表示…ゴチャゴチャしてますが、とりあえず「<span style="color: red;">Next></span>」ボタンをクリック。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8LHKziIr4-n8NIfhrRInA68l_vTdO3sl6692cpBwajrt8_LBdtaFbeqT7_c4jAJXkpWHM3hKNJmujxRsmJCOagb9RPEasbNIMqfkEE2p5TwrOem0ufdeaWKqjOFVtMnZtuUpNWDGSPH0SrYJop-unwRRXuG5lq2NEyzHrfnDDhgCKk_iBle3kT05i-UEQ/s731/10.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 6" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8LHKziIr4-n8NIfhrRInA68l_vTdO3sl6692cpBwajrt8_LBdtaFbeqT7_c4jAJXkpWHM3hKNJmujxRsmJCOagb9RPEasbNIMqfkEE2p5TwrOem0ufdeaWKqjOFVtMnZtuUpNWDGSPH0SrYJop-unwRRXuG5lq2NEyzHrfnDDhgCKk_iBle3kT05i-UEQ/w395-h400/10.png" width="395" /></a></div><p><br /></p><p>お約束の画面。</p><p>「<span style="color: red;">ソフトウェア契約の条件に同意します。</span>」のチェックボックスを有効にしてから「<span style="color: red;">Next></span>」ボタンをクリックしましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLPzQ51BXQFZyGEZse9QK3hbbg_Zx5Xenf1Owvch50NMMn-ISbCwQ_21_nuOR1oLIvuHwb36njln90w3CJ6YxO1BCzh4EAFt_jjJV8hK0MozWgxcNw-0nXiq5smInnhYdeEg6c3RkQEnhSnsAsKZBmjr9Bk9pnPhaD-1JfXSvLjViOZVN2blRx50SSA-La/s731/11.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 7" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLPzQ51BXQFZyGEZse9QK3hbbg_Zx5Xenf1Owvch50NMMn-ISbCwQ_21_nuOR1oLIvuHwb36njln90w3CJ6YxO1BCzh4EAFt_jjJV8hK0MozWgxcNw-0nXiq5smInnhYdeEg6c3RkQEnhSnsAsKZBmjr9Bk9pnPhaD-1JfXSvLjViOZVN2blRx50SSA-La/w395-h400/11.png" width="395" /></a></div><p><br /></p><p>ここも特に変更する必要はないですね。</p><p>「<span style="color: red;">Next></span>」ボタンをクリックして先に進みましょう!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEika_LMJhcwoFCjPORPHcDyBcvK6xzO0gz57cAh7iSc6oG6A1FyktSgi7RiDIhyphenhyphenvRUAHKyw4HPvJXuSH9H9JkpN3RHi4vssOmI0LI_-SNe0HXG-bvIsdqy9AwO-a_A-s0yHFPd4JzoUeihCUA69MFmkx8Sw9HcS020W03M9QGIm_a6TQazjeaGNQtqlFoL-/s731/12.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 8" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEika_LMJhcwoFCjPORPHcDyBcvK6xzO0gz57cAh7iSc6oG6A1FyktSgi7RiDIhyphenhyphenvRUAHKyw4HPvJXuSH9H9JkpN3RHi4vssOmI0LI_-SNe0HXG-bvIsdqy9AwO-a_A-s0yHFPd4JzoUeihCUA69MFmkx8Sw9HcS020W03M9QGIm_a6TQazjeaGNQtqlFoL-/w395-h400/12.png" width="395" /></a></div><p><br /></p><p>事情聴取はこれで最後かな?</p><p>「<span style="color: red;">インストール</span>」ボタンをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPn5cW5dreEhULRFuafcPhw5MzxxFTMW6K6BBDoVP3VkZZBIqL424ihFfQolq0fpVi_sLJDpQDhQ1E9m-7xuFLgBe4scQiUsdJuUgui9Itt2iEt8M0Bg3EV09dN0YmLU82iIvJBsFsP6jB2AoYeCEOU2Wt7AenIHW4uOtGBVL8DNZ8zfzNk6RKlkiruExb/s731/13.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 9" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPn5cW5dreEhULRFuafcPhw5MzxxFTMW6K6BBDoVP3VkZZBIqL424ihFfQolq0fpVi_sLJDpQDhQ1E9m-7xuFLgBe4scQiUsdJuUgui9Itt2iEt8M0Bg3EV09dN0YmLU82iIvJBsFsP6jB2AoYeCEOU2Wt7AenIHW4uOtGBVL8DNZ8zfzNk6RKlkiruExb/w395-h400/13.png" width="395" /></a></div><p><br /></p><p>インストールが始まった様ですが…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Zd6UK4PfFhPdaikVcq2cgbne6iH5t9xIj51Ic9jFs_kS3mep-tVdQtAXL_SNNEIB0SidgnzPlADwTbfrNfn3N8AjVFWtIFeEt08sKP9P51FTwV1Se4RXHU0tLoK13IfzemNxTvbzLG6H9v5Yu5GWMAqrMJ4yWBRMhWtL1kJyuTw7KDHAugXpd2eneo2U/s731/14.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 10" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3Zd6UK4PfFhPdaikVcq2cgbne6iH5t9xIj51Ic9jFs_kS3mep-tVdQtAXL_SNNEIB0SidgnzPlADwTbfrNfn3N8AjVFWtIFeEt08sKP9P51FTwV1Se4RXHU0tLoK13IfzemNxTvbzLG6H9v5Yu5GWMAqrMJ4yWBRMhWtL1kJyuTw7KDHAugXpd2eneo2U/w395-h400/14.png" width="395" /></a></div><p><br /></p><p>…間髪入れずVisual C++のランタイムのインストールが開始されます。</p><p>(しかも「x86 - 32bit」用と「x64 - 64bit」用の2発連続!)</p><p>これは、放っておけば勝手に終わります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSVayFd_vlV2HeZvtw2HOdvJk8FcL3KZe6ZNnKkh0BCfod3BrJYG2ZlrlktyUSFQef0WsMYEzyAidliWTMFzE4ht1VR_IDLmraL3ih-tr6phUpc56yUlFGo3gFutN1sV3AEGFW2UKKBNO5Kq9PX1OkKEdZUcEzht11IoA-fqWItPn2GVjbg2oMQ9o1nELN/s481/15.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 11" border="0" data-original-height="298" data-original-width="481" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSVayFd_vlV2HeZvtw2HOdvJk8FcL3KZe6ZNnKkh0BCfod3BrJYG2ZlrlktyUSFQef0WsMYEzyAidliWTMFzE4ht1VR_IDLmraL3ih-tr6phUpc56yUlFGo3gFutN1sV3AEGFW2UKKBNO5Kq9PX1OkKEdZUcEzht11IoA-fqWItPn2GVjbg2oMQ9o1nELN/w400-h248/15.png" width="400" /></a></div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqERODvQXJV6jwMJ9Vd2HgNku63Ioxr-juxeJ-hwzoddJrup2jyNsJmWgbYbp-au2YWpf2qq-FDjytbyhijc0-6ckkCDVLXF9IX2NcqbSLV6fknWUmlZqbAUtVoZ0DgKku9fc58RfOHfKOUo2KHlKcZ86faOenLYRKbpntNgc05lAEEhZ8wHLoecvP9TSr/s481/16.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 12" border="0" data-original-height="298" data-original-width="481" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqERODvQXJV6jwMJ9Vd2HgNku63Ioxr-juxeJ-hwzoddJrup2jyNsJmWgbYbp-au2YWpf2qq-FDjytbyhijc0-6ckkCDVLXF9IX2NcqbSLV6fknWUmlZqbAUtVoZ0DgKku9fc58RfOHfKOUo2KHlKcZ86faOenLYRKbpntNgc05lAEEhZ8wHLoecvP9TSr/w400-h248/16.png" width="400" /></a></div><p><br /></p><p>この後はしばらく時間がかかりますので、しばらくお待ちを。</p><p>でも、席を外さないでください。</p><p>なぜなら…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcqZrFo2cf36r_9xZCg00q6v42TuSEr-fpAewLaPW1C20QZ2ojCghtPebVe48Arm4fNknw1tReB46uxaOqevtkGttpCw1xYaaJQ-OCmpBOjaVqDSQ7mJxjXJ8EFuZp_6yCI46hoEs0zIbnpayefaPBAjxi5xu_tvoTK43gy92aW-71W1-lhZZ4unSNqaKd/s731/17.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 13" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcqZrFo2cf36r_9xZCg00q6v42TuSEr-fpAewLaPW1C20QZ2ojCghtPebVe48Arm4fNknw1tReB46uxaOqevtkGttpCw1xYaaJQ-OCmpBOjaVqDSQ7mJxjXJ8EFuZp_6yCI46hoEs0zIbnpayefaPBAjxi5xu_tvoTK43gy92aW-71W1-lhZZ4unSNqaKd/w395-h400/17.png" width="395" /></a></div><p><br /></p><p>途中で以下ようなポップアップ表示されて、インストール作業が中断されてしまいますので…。</p><p>これはデバッガーのデバイスドライバのインストール許可なので、共に「<span style="color: red;">インストール</span>」ボタンをクリックしてインストールしましょう。</p><p>このポップアップはインストール中に計2~4回ほど表示されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRUQM560nqzoJkbSZY1TlK-8H_hdwcpj1eDX_xrVdEE4LPm-8Bv-9r_UgHEoA_bY5yhYpaGuTUfn7aQjNFMgCtWgnFmMho_jfrMqU4qdYIVQJ0bj0KFYKl_VER-Q1R2qV7M2X3-Hdk-ey_7DDNe_zXAjUQDo8bD9LDGeLfemgncvVN2s_y-hejTFPuh3ty/s619/18.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 14" border="0" data-original-height="244" data-original-width="619" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRUQM560nqzoJkbSZY1TlK-8H_hdwcpj1eDX_xrVdEE4LPm-8Bv-9r_UgHEoA_bY5yhYpaGuTUfn7aQjNFMgCtWgnFmMho_jfrMqU4qdYIVQJ0bj0KFYKl_VER-Q1R2qV7M2X3-Hdk-ey_7DDNe_zXAjUQDo8bD9LDGeLfemgncvVN2s_y-hejTFPuh3ty/w400-h158/18.png" width="400" /></a></div><p><br /></p><p>さて、これでインストールが終わるまで離席を…と思いますが、まだまだです。</p><p>唐突に以下のダイアログが表示されます。</p><p>とにかく「<span style="color: red;">OK</span>」ボタンをクリックすると…</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG_FyVjopoL3TgmyEy6gG55xirmwGiDV-FnFqfLLIaGdkIWNLRtJryYldjCiw-navP4QK2D70ko2ZBWrXGFSrIofwMdNbgaO_CJJrkummm2vJgkUmql9m0PgwMY1s-VizzaFesBeKsywcnTyQjYKTsHHaV9NEyAyhJ75xW2ch-ueabg0ZR2KNu12SVQumx/s290/19.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 1" border="0" data-original-height="155" data-original-width="290" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG_FyVjopoL3TgmyEy6gG55xirmwGiDV-FnFqfLLIaGdkIWNLRtJryYldjCiw-navP4QK2D70ko2ZBWrXGFSrIofwMdNbgaO_CJJrkummm2vJgkUmql9m0PgwMY1s-VizzaFesBeKsywcnTyQjYKTsHHaV9NEyAyhJ75xW2ch-ueabg0ZR2KNu12SVQumx/w400-h214/19.png" width="400" /></a></div><p><br /></p><p>以下のようにツールチェーン(コンパイラなど)のインストーラが起動します。</p><p>「<span style="color: red;">次へ</span>」ボタンをクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHFkjS29VkBg2VIV80ASeWOhebjecSrXRJfsKhXnzdrG1wpD3qB3Kkl4-yddAc71bB3ibJMYHk4va-9GH_DORGpg5mG9rlOvOETWBsQ6IK5aizP54b9aMxQzbaZHV9nyGZ-0tYfwrAwVG10R4bJxiV_d1NTg_CNKmUQK4OhO_kIW3kpaKi9A5qhxQFWhLe/s581/20.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 2" border="0" data-original-height="360" data-original-width="581" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHFkjS29VkBg2VIV80ASeWOhebjecSrXRJfsKhXnzdrG1wpD3qB3Kkl4-yddAc71bB3ibJMYHk4va-9GH_DORGpg5mG9rlOvOETWBsQ6IK5aizP54b9aMxQzbaZHV9nyGZ-0tYfwrAwVG10R4bJxiV_d1NTg_CNKmUQK4OhO_kIW3kpaKi9A5qhxQFWhLe/w400-h248/20.png" width="400" /></a></div><p><br /></p><p>同意しましょう!</p><p>「<span style="color: red;">同意する</span>」ボタンをクリック。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy9nno7Q5hXyTNvHirQnJ-pB68McWSlzS3SIuFpeqFsrZLXqpwf0GF3O1jzgKAfPdEtLNebeXkXR3uqJYBnoRrwqS_63qGYWzGMC_A2Z0eWjLwlzKoQ8Pu-o4H8ighki_rXLt60VB_v90wlyQ1nirxUcM0W02gEvfc-C2Yv41pKJJi2qbsh7iafGnwcYNv/s581/21.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 3" border="0" data-original-height="360" data-original-width="581" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy9nno7Q5hXyTNvHirQnJ-pB68McWSlzS3SIuFpeqFsrZLXqpwf0GF3O1jzgKAfPdEtLNebeXkXR3uqJYBnoRrwqS_63qGYWzGMC_A2Z0eWjLwlzKoQ8Pu-o4H8ighki_rXLt60VB_v90wlyQ1nirxUcM0W02gEvfc-C2Yv41pKJJi2qbsh7iafGnwcYNv/w400-h248/21.png" width="400" /></a></div><p><br /></p><p>インストール先に特別な拘りがなければ、そのまま「<span style="color: red;">インストール</span>」ボタンをクリックしましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFQ1s_sQZGo6nDlIyTUyxWiUmia1ThmMLIC7RvYKAkjfkSuVxceAEY4kSMubU-ghNrHyPYjcTu84_6BNEbLUwMqjp2pej_AZdOcGxQtKvp_4XLqgy2ZMaRM6f14bl7S4zF-sRyXaZ4Kwhyphenhyphen3sE12XgiJqEmIBCi2RBr8RsdKtaVIscJgDV3mzTQtyQbF-rc/s581/22.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 4" border="0" data-original-height="360" data-original-width="581" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFQ1s_sQZGo6nDlIyTUyxWiUmia1ThmMLIC7RvYKAkjfkSuVxceAEY4kSMubU-ghNrHyPYjcTu84_6BNEbLUwMqjp2pej_AZdOcGxQtKvp_4XLqgy2ZMaRM6f14bl7S4zF-sRyXaZ4Kwhyphenhyphen3sE12XgiJqEmIBCi2RBr8RsdKtaVIscJgDV3mzTQtyQbF-rc/w400-h248/22.png" width="400" /></a></div><p><br /></p><p>インストール作業が開始されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF1fGTVhh1fx7y2ayejQf2OMI8FWswPddbz0eOlAUJs74BZ8eZe8WnOpcTrZLnx62ifRgR2lGUSbtek50CsoVsgrzW0NZFnVOPWu13WxhaA20gaKPaJDIPPdp-BsDpfcKs4S91GFxwtqyRSkbTfJL8ppcXjRszWYrLDuo8P5Ki4gQdteNqZIfOFGGgUJBv/s581/23.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 5" border="0" data-original-height="360" data-original-width="581" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF1fGTVhh1fx7y2ayejQf2OMI8FWswPddbz0eOlAUJs74BZ8eZe8WnOpcTrZLnx62ifRgR2lGUSbtek50CsoVsgrzW0NZFnVOPWu13WxhaA20gaKPaJDIPPdp-BsDpfcKs4S91GFxwtqyRSkbTfJL8ppcXjRszWYrLDuo8P5Ki4gQdteNqZIfOFGGgUJBv/w400-h248/23.png" width="400" /></a></div><p><br /></p><p>インストール作業が終了すると、以下の表示となります。</p><p>「<span style="color: red;">インストール</span>」ボタンをクリックして、ツールチェーンのインストーラを終了させましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWbZ5RB1EwMd9jNhYBKGPrGXucrBtIzwCcAif2gvrOEfM-YpmR79uC7zlCo_HIkvsRQa49fCtORctBhIZthiDpll3RV0bYmr0dGw3FZwkDmuqTMXRb2ROk4lsCOAAKZwxDgovc1lAgY2nzcZwVVX8oMQ7WVsc2x-xoFNcwEakAotW7xJVtrySqtRSN-LE7/s581/24.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 6" border="0" data-original-height="360" data-original-width="581" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWbZ5RB1EwMd9jNhYBKGPrGXucrBtIzwCcAif2gvrOEfM-YpmR79uC7zlCo_HIkvsRQa49fCtORctBhIZthiDpll3RV0bYmr0dGw3FZwkDmuqTMXRb2ROk4lsCOAAKZwxDgovc1lAgY2nzcZwVVX8oMQ7WVsc2x-xoFNcwEakAotW7xJVtrySqtRSN-LE7/w400-h248/24.png" width="400" /></a></div><p><br /></p><p>今回の「e2 studio」のインストールでは、デフォルトで以下の2つのバージョンのツールチェーンがインストールされるようです。</p><p><br /></p><p><span style="color: #01ffff;">●ARM GNU Toolchain </span><span style="color: #fcff01;">12.2_m pacbti-rel1</span></p><p><span style="color: #01ffff;">●ARM GNU Toolchain </span><span style="color: #fcff01;">10.3-2021.10</span></p><p><br /></p><p>今インストールが終わったのは「~<span style="color: #fcff01;">12.2_m pacbti-rel1</span>」の方です。</p><p>なので、引き続き「~<span style="color: #fcff01;">10.3-2021.10</span>」のインストーラが起動します。</p><p>作業としては、前回と一緒です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRDDX2G3VNIt_k45YhDwQtdfb_hk73cZ8ntYT_BRoVR7HPLDxufta01l9upPt7j-q8IEBWBIi6b9fLTF5gnxcXMC2CrqhYa58prLtqiqqDJLPnNmrRrHCIM0K77TDjbuBNxFU7mGmSC1jH2wJrVP8ErwnFHqZs9itEbv7VWxJrl9a0b8yhheM7ZRRPAiZf/s581/25.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ARM GNUツールチェーンのインストーラ - 7" border="0" data-original-height="360" data-original-width="581" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRDDX2G3VNIt_k45YhDwQtdfb_hk73cZ8ntYT_BRoVR7HPLDxufta01l9upPt7j-q8IEBWBIi6b9fLTF5gnxcXMC2CrqhYa58prLtqiqqDJLPnNmrRrHCIM0K77TDjbuBNxFU7mGmSC1jH2wJrVP8ErwnFHqZs9itEbv7VWxJrl9a0b8yhheM7ZRRPAiZf/w400-h248/25.png" width="400" /></a></div><p><br /></p><p>さて、あれやこれやと付きっきりで手間をかけて、ようやく「e2 studio」のインストールが終了します。</p><p>「<span style="color: red;">OK</span>」ボタンをクリックして、インストーラを終了させましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbzOL67w2hyphenhyphenouCaRfCokiC7tf34NUfP5rLUyjggVacfumKVFBL0zGXixTCKm9DzoBYl29qgI-6zhIk6SeIGsWIPQM8BkiG_tKeSzg65K9YrBa2787AufynaLJgnOc4rxdr5mPswoGWBI9otovUPKMKkjQOmTFl-4ckWf-G-l5AVJIdJJApnpA5XxIaP_ac/s731/26.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」インストーラー - 15" border="0" data-original-height="731" data-original-width="722" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbzOL67w2hyphenhyphenouCaRfCokiC7tf34NUfP5rLUyjggVacfumKVFBL0zGXixTCKm9DzoBYl29qgI-6zhIk6SeIGsWIPQM8BkiG_tKeSzg65K9YrBa2787AufynaLJgnOc4rxdr5mPswoGWBI9otovUPKMKkjQOmTFl-4ckWf-G-l5AVJIdJJApnpA5XxIaP_ac/w395-h400/26.png" width="395" /></a></div><p><br /></p><p>次に、今回使う「Renesas RA」マイコン用のツールチェーンの環境変数の設定を行います。</p><p>ツールチェーンは2つのバージョンをインストールしましたよね?</p><p>さて、どちらを使いましょうか?</p><p>「~12.2_m pacbti-rel1」の方が新しいようですが、ツールチェーンに限らずソフトウェアは<span style="color: #fcff01;">最新のものが最良とは限らない</span>世界。</p><p>ましてや、信頼性が命の組み込み分野…。</p><p><span style="color: #fcff01;">ここは十分に枯れていると思われる「~10.3-2021.10」を選択したと仮定して説明します。</span></p><p>(多分、「~12.2_m pacbti-rel1」でも特段大きな問題はないと思いますので、新しいもの好きの方はどうぞ。)</p><p>ツールチェーンは、「e2 studio」のインストールにより既に以下のディレクトリにセットアップされているはずです。</p><p><br /></p><p><span style="color: #01ffff;">C:\Program Files (x86)\GNU Arm Embedded Toolchain\10.2021.10\bin</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDpJhaKv7OKEWqKGFxZeGpBtCp-7lrUZ-RHxLBMGe1qC157XYsvHObu_cY1WD8ZFa1QTYkS1Qz4GzzPTXIaEI2oZLtW8vu0ZxFqEis2hoZOAwI72zkFXCtnFAdG96PXrA2Ib8JGRkh0uDPJH4JaGDQIxT5lxgqjwbKwGtVoxfT3h6L35JkaWeRtpw74NRJ/s1042/28.png" style="margin-left: 1em; margin-right: 1em;"><img alt="GNUツールチェーンのディレクトリ" border="0" data-original-height="593" data-original-width="1042" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDpJhaKv7OKEWqKGFxZeGpBtCp-7lrUZ-RHxLBMGe1qC157XYsvHObu_cY1WD8ZFa1QTYkS1Qz4GzzPTXIaEI2oZLtW8vu0ZxFqEis2hoZOAwI72zkFXCtnFAdG96PXrA2Ib8JGRkh0uDPJH4JaGDQIxT5lxgqjwbKwGtVoxfT3h6L35JkaWeRtpw74NRJ/w400-h228/28.png" width="400" /></a></div><p></p><p><span style="color: #01ffff;"><br /></span></p><p>環境変数の設定方法は、このページ(<a href="https://www.madogiwakoubou.com/p/toppersaspgnu.html">TOPPERS/ASPのビルドからデバッグまで~GNUツールチェーンの導入</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersaspgnu.html#path">環境変数の設定</a>」の項目を御覧ください。</p><p>ただし、パスは…</p><p><br /></p><p><span style="color: #01ffff;">C:\Program Files (x86)\GNU Tools ARM Embedded\7 2017-q4-major\bin</span></p><p><br /></p><p>…となっているところを…</p><p><br /></p><p><span style="color: #01ffff;">C:\Program Files (x86)\GNU Arm Embedded Toolchain\10.2021.10\bin</span></p><p><br /></p><p>に置き換えてください。</p><p>こんな感じ…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqzD48TD7iUHC9J9QGddEQ8MKaQ10OPBAsKn1rU6_YDxM_zaHyvuFFJsJklBwwsKQiHveBIAjDKXTU3YVzYoctBSxSHW5yhYIjnpjcC6RfQ4UVdYwIqzXG7RACDv24FqS6WG5aNRcNEwW1-hnLtKcZMtEAKam3i9lxXjgJAupyH_yzDHpYzKx_tCQBAMrJ/s527/29.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「環境変数名の編集」ダイアログ" border="0" data-original-height="501" data-original-width="527" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqzD48TD7iUHC9J9QGddEQ8MKaQ10OPBAsKn1rU6_YDxM_zaHyvuFFJsJklBwwsKQiHveBIAjDKXTU3YVzYoctBSxSHW5yhYIjnpjcC6RfQ4UVdYwIqzXG7RACDv24FqS6WG5aNRcNEwW1-hnLtKcZMtEAKam3i9lxXjgJAupyH_yzDHpYzKx_tCQBAMrJ/w400-h380/29.png" width="400" /></a></div><p><br /></p><p>ツールチェーンのインストールと環境変数の設定が正しく行われているかを確認します。</p><p>コマンドプロンプトを起動し、以下のコマンドを入力します。</p><p><br /></p><p><span style="color: #01ffff;">> arm-none-eabi-gcc --version</span></p><p><br /></p><p>以下のような表示が出力されたら、GNUツールチェーンのインストールと環境変数の設定が正しく行われていることが確認できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbGQ7Et0rqYHDtpZGArKhH4TR4q_g3TAY0iuI_fcwwCQvFVnNCsQJywWU7Wv_VJ8XSHh6B9DV5FI47lKLySGNDWkfZSBKVB3m3tslTr6bJHYRgtPS_vahJdpJknEgFw6NlRV3hyphenhyphenjhst9_KrqgDlZnwiDt1Yy9WxFVs8YqFE9lKh1-vNG37nVoT1iJaykl_/s708/30.png" style="margin-left: 1em; margin-right: 1em;"><img alt="コマンドプロンプト" border="0" data-original-height="249" data-original-width="708" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbGQ7Et0rqYHDtpZGArKhH4TR4q_g3TAY0iuI_fcwwCQvFVnNCsQJywWU7Wv_VJ8XSHh6B9DV5FI47lKLySGNDWkfZSBKVB3m3tslTr6bJHYRgtPS_vahJdpJknEgFw6NlRV3hyphenhyphenjhst9_KrqgDlZnwiDt1Yy9WxFVs8YqFE9lKh1-vNG37nVoT1iJaykl_/w400-h141/30.png" width="400" /></a></div><div><br /></div><div><p><span style="color: #fcff01;">これで準備ヨシ!</span></p><p>試しに、いよいよ「e2 studio」を起動させてみましょう!</p></div><div><p>Windowsメニューから「e2 studio」をクリックします。</p></div><div><p>以下のようなスプラッシュスクリーンが表示されます。</p><p>初回起動には、相当な時間がかかりますのでお覚悟を。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifaKQeW_mtE5LBZquFqbYWo-SsGz6sMqb4QJQveOmgTu2qEgAus7YVgcga2OiENB_Pymy2A1VnYy_ZEe_kqJQ4bPv9jbJDkDq_IP_HLYYXDcrqDrfxZF486IAQSZmSfmcbeqSEUQNQnxJ69w5Smi9O07iZX1pvjVWtkZwyRsw37BEOqoiD1pg0WlC19peG/s600/31.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」のスプラッシュスクリーン" border="0" data-original-height="400" data-original-width="600" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifaKQeW_mtE5LBZquFqbYWo-SsGz6sMqb4QJQveOmgTu2qEgAus7YVgcga2OiENB_Pymy2A1VnYy_ZEe_kqJQ4bPv9jbJDkDq_IP_HLYYXDcrqDrfxZF486IAQSZmSfmcbeqSEUQNQnxJ69w5Smi9O07iZX1pvjVWtkZwyRsw37BEOqoiD1pg0WlC19peG/w400-h266/31.png" width="400" /></a></div><p><br /></p></div><div><p>以下の表示が現れます。</p><p>特に理由がなければ、ここは、デフォルトのワークスペースの場所で「<span style="color: red;">起動</span>」をクリックしましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7QhWI8foyL8B2E24WTE_j2XtNBlo0Um9U8L5QinkrOiFQg8ajO9XD8dza0BMlJzByjP_-qisNALECFeoaKZET7yV0exOpwm-qsZdXxiNmB1Xpt6lj3WhHt-ZOEIhl5zLzUI8SJMQPCAuDhFSOH8gqQVXUNARot9-sMJMZPGa8aFoO_ExWeoFa5GENws5p/s516/32.png" style="margin-left: 1em; margin-right: 1em;"><img alt="e2 studioランチャー" border="0" data-original-height="274" data-original-width="516" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7QhWI8foyL8B2E24WTE_j2XtNBlo0Um9U8L5QinkrOiFQg8ajO9XD8dza0BMlJzByjP_-qisNALECFeoaKZET7yV0exOpwm-qsZdXxiNmB1Xpt6lj3WhHt-ZOEIhl5zLzUI8SJMQPCAuDhFSOH8gqQVXUNARot9-sMJMZPGa8aFoO_ExWeoFa5GENws5p/w400-h213/32.png" width="400" /></a></div><p><br /></p><p>やがて、以下の画面が表示されます。</p><p>これが「e2 studio」です!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVtltSfpeYHJkRNB753rHcBSvcEoDAvvLWoFoFBmoZMvgJz2EvbLkg3bEsQiTZoiheS72wTpxnFUDDi5AfNZht2oz9nwbbZlHKz4jwohTBRqRCJU4c9kWk8sPqVT0fLlavSpi_RIPYnZOWGaeO49k8p8cJxHS4eR_F6JXSOPrpD2V_PKx8Vqxf21MpwThl/s1280/33.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「e2 studio」" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVtltSfpeYHJkRNB753rHcBSvcEoDAvvLWoFoFBmoZMvgJz2EvbLkg3bEsQiTZoiheS72wTpxnFUDDi5AfNZht2oz9nwbbZlHKz4jwohTBRqRCJU4c9kWk8sPqVT0fLlavSpi_RIPYnZOWGaeO49k8p8cJxHS4eR_F6JXSOPrpD2V_PKx8Vqxf21MpwThl/w400-h308/33.png" width="400" /></a></div><p><br /></p><p>以上で開発環境の構築は完了です。</p><p>次回は、実際にこの「e2 studio」を使っていきましょう!</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/12/toppersasp-arduino-uno-r4.html"><続く></a></p></div>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-52574654072308415772023-11-10T19:06:00.000-08:002023-12-24T19:16:40.772-08:00TOPPERS/ASP - PIC32MX版 その10<p><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-pic32mx_17.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>サンプルプロジェクトの説明</u></h2><p>このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_16.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトで遊ぼう</a>)を参照してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm8D_Mealk8W-RF2wh3coLtP3re-N5mmwXv4fbNxILLoAFnXst6ZSwmc6-jUbsTJ9b6UQk-pcefOTsW8MiDckbOYUyL-q7Ez2B75kCuPH3FOnIzGfJDgrXOBro1VekwqiFfB4ZBG0c-JNaiyfC8tDr5Xt-nYC-kTHxqo3KvFEKpQjQTZAE5lrJ8knVVVrE/s960/DSC_0611.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="PIC32MX" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm8D_Mealk8W-RF2wh3coLtP3re-N5mmwXv4fbNxILLoAFnXst6ZSwmc6-jUbsTJ9b6UQk-pcefOTsW8MiDckbOYUyL-q7Ez2B75kCuPH3FOnIzGfJDgrXOBro1VekwqiFfB4ZBG0c-JNaiyfC8tDr5Xt-nYC-kTHxqo3KvFEKpQjQTZAE5lrJ8knVVVrE/w400-h300/DSC_0611.JPG" width="400" /></a></div><p><br /></p><h2 style="text-align: left;"><u>PIC32MX版カーネルについて</u></h2><p>以下、このカーネルにおける備考です。</p><p><br /></p><h3 style="text-align: left;">●割り込み優先度</h3><p>このカーネルでは、<span style="color: #fcff01;">-1(優先度最低)</span>から<span style="color: #fcff01;">-7(優先度最高)</span>の7段階の優先度設定が可能です。</p><p>PIC32MXは、実は64段階までの割り込み優先度をサポートしています。</p><p>でも…<span style="color: #fcff01;">そんなに要らんでしょ?</span></p><p>ということで、私の実装では7段階までに抑えています。</p><p>7段階の根拠は、元祖TOPPERS/ASPの「m68k」版と合わせただけで深い意味はありません。</p><p>実用レベルでは十分かと…。</p><p><br /></p><h3>●割り込み番号の指定方法</h3><div><p>このマイコンは、<span style="color: #fcff01;">割り込み番号と、割り込みベクタ番号が一致しない</span>タイプです。</p><p>ちょっと小さいので、クリックしてご覧いただきたいのですが、以下は、データシートからの一覧表です。</p><p>割り込み番号を意味する「<span style="color: red;">IRQ#</span>」と、割り込みベクタ番号を意味する「<span style="color: red;">Vector#</span>」の不一致がお分かりいただけるかと。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXOwf6ZQbpc-qpKhw9bWYOSSP-Oz0YBLHXtac-sAoIb73iUBne1ZopuiAUmDJBsLfjTr6fCeF_kL1ylhSz0rzH3Oktg2MMkqDdDf71-8qY8YGAMrQ0ud-rxjs2dVVNiyeM4M8mWsHSJRXq8yPAsVIAMot_TNFgYe483dntSJhLblGVX8__JPCQlEoO9ygX/s1727/127.png" style="margin-left: 1em; margin-right: 1em;"><img alt="割り込み番号/割り込みベクター番号" border="0" data-original-height="1727" data-original-width="714" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXOwf6ZQbpc-qpKhw9bWYOSSP-Oz0YBLHXtac-sAoIb73iUBne1ZopuiAUmDJBsLfjTr6fCeF_kL1ylhSz0rzH3Oktg2MMkqDdDf71-8qY8YGAMrQ0ud-rxjs2dVVNiyeM4M8mWsHSJRXq8yPAsVIAMot_TNFgYe483dntSJhLblGVX8__JPCQlEoO9ygX/w265-h640/127.png" width="265" /></a></div><div><p><br /></p><p>例えば、デバッグシリアルの割り込み設定例を見てみましょう。</p><p>「..\target\1_2_5_starterlit_gcc\target_serial.h」において、以下のように定義しています。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">...</li>
<li style="background-color: #111188;"><font style="color: lime; font-style: italic;">/*</font></li>
<li style="background-color: #111166;"><font style="color: lime; font-style: italic;"> * SIOの割込み番号,優先度,属性の定義</font></li>
<li style="background-color: #111188;"><font style="color: lime; font-style: italic;"> */</font></li>
<li style="background-color: #111166;">#define INTNO_SIO_RX INT_SOURCE_USART_1_RECEIVE</li>
<li style="background-color: #111188;">#define INTNO_SIO_TX INT_SOURCE_USART_1_TRANSMIT</li>
<li style="background-color: #111166;">#define INHNO_SIO _UART_1_VECTOR</li>
<li style="background-color: #111188;">#define INTPRI_SIO -6 <font style="color: lime; font-style: italic;">/* 割込み優先度 */</font></li>
<li style="background-color: #111166;">#define INTATR_SIO TA_NULL <font style="color: lime; font-style: italic;">/* 割込み属性 */</font></li>
<li style="background-color: #111188;">...</li>
</ol></code></div>
<p><br /></p></div><div><p>この定義において、シリアル通信の受信割り込みの割り込み番号が「<span style="color: #fcff01;">INT_SOURCE_USART_1_RECEIVE</span>」、送信割り込みの割り込み番号が「<span style="color: #fcff01;">INT_SOURCE_USART_1_TRANSMIT</span>」、更に両方の割り込みのベクタ番号は「<span style="color: #fcff01;">_UART_1_VECTOR</span>」と設定されていることが分かります。</p><p>この設定は「make depend」実行時に「..\target\1_2_5_starterlit_gcc\target_serial.cfg」によってコンフィグレータに渡されます。</p><p>では「INT_SOURCE_USART_1_RECEIVE」や「INT_SOURCE_USART_1_TRANSMIT」の実際の<span style="color: #fcff01;">割り込み番号</span>の値がどこに定義されているのか?</p><p>分かりにくい場所にあるのですが、今回の評価ボード「PIC32MX1/2/5 Starter Kit」に搭載されているマイコンの型番が「<span style="color: #fcff01;">PIC32MX570F512L</span>」ですので、「..\arch\pic32mx_gcc\framework\peripheral\int\processor\int_<span style="color: #fcff01;">p32mx570f512l</span>.h」の中の以下の記述にあります。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">...</li>
<li style="background-color: #111188;">typedef enum {</li>
<li style="background-color: #111166;"> INT_SOURCE_TIMER_CORE = 0,</li>
<li style="background-color: #111188;"> INT_SOURCE_SOFTWARE_0 = 1,</li>
<li style="background-color: #111166;"> INT_SOURCE_SOFTWARE_1 = 2,</li>
<li style="background-color: #111188;"> INT_SOURCE_EXTERNAL_0 = 3,</li>
<li style="background-color: #111166;"> INT_SOURCE_TIMER_1 = 4,</li>
<li style="background-color: #111188;"> INT_SOURCE_INPUT_CAPTURE_1_ERROR = 5,</li>
<li style="background-color: #111166;"> INT_SOURCE_INPUT_CAPTURE_1 = 6,</li>
<li style="background-color: #111188;"> INT_SOURCE_OUTPUT_COMPARE_1 = 7,</li>
<li style="background-color: #111166;"> INT_SOURCE_EXTERNAL_1 = 8,</li>
<li style="background-color: #111188;"> INT_SOURCE_TIMER_2 = 9,</li>
<li style="background-color: #111166;"> INT_SOURCE_INPUT_CAPTURE_2_ERROR = 10,</li>
<li style="background-color: #111188;"> INT_SOURCE_INPUT_CAPTURE_2 = 11,</li>
<li style="background-color: #111166;"> INT_SOURCE_OUTPUT_COMPARE_2 = 12,</li>
<li style="background-color: #111188;"> INT_SOURCE_EXTERNAL_2 = 13,</li>
<li style="background-color: #111166;"> INT_SOURCE_TIMER_3 = 14,</li>
<li style="background-color: #111188;"> INT_SOURCE_INPUT_CAPTURE_3_ERROR = 15,</li>
<li style="background-color: #111166;"> INT_SOURCE_INPUT_CAPTURE_3 = 16,</li>
<li style="background-color: #111188;"> INT_SOURCE_OUTPUT_COMPARE_3 = 17,</li>
<li style="background-color: #111166;"> INT_SOURCE_EXTERNAL_3 = 18,</li>
<li style="background-color: #111188;"> INT_SOURCE_TIMER_4 = 19,</li>
<li style="background-color: #111166;"> INT_SOURCE_INPUT_CAPTURE_4_ERROR = 20,</li>
<li style="background-color: #111188;"> INT_SOURCE_INPUT_CAPTURE_4 = 21,</li>
<li style="background-color: #111166;"> INT_SOURCE_OUTPUT_COMPARE_4 = 22,</li>
<li style="background-color: #111188;"> INT_SOURCE_EXTERNAL_4 = 23,</li>
<li style="background-color: #111166;"> INT_SOURCE_TIMER_5 = 24,</li>
<li style="background-color: #111188;"> INT_SOURCE_INPUT_CAPTURE_5_ERROR = 25,</li>
<li style="background-color: #111166;"> INT_SOURCE_INPUT_CAPTURE_5 = 26,</li>
<li style="background-color: #111188;"> INT_SOURCE_OUTPUT_COMPARE_5 = 27,</li>
<li style="background-color: #111166;"> INT_SOURCE_ADC_1 = 28,</li>
<li style="background-color: #111188;"> INT_SOURCE_SPI_1_ERROR = 35,</li>
<li style="background-color: #111166;"> INT_SOURCE_SPI_1_RECEIVE = 36,</li>
<li style="background-color: #111188;"> INT_SOURCE_SPI_1_TRANSMIT = 37,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_1_ERROR = 38,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_1_RECEIVE = 39,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_1_TRANSMIT = 40,</li>
<li style="background-color: #111188;"> INT_SOURCE_I2C_1_BUS = 41,</li>
<li style="background-color: #111166;"> INT_SOURCE_I2C_1_ERROR = 41,</li>
<li style="background-color: #111188;"> INT_SOURCE_I2C_1_SLAVE = 42,</li>
<li style="background-color: #111166;"> INT_SOURCE_I2C_1_MASTER = 43,</li>
<li style="background-color: #111188;"> INT_SOURCE_CHANGE_NOTICE_A = 44,</li>
<li style="background-color: #111166;"> INT_SOURCE_CHANGE_NOTICE_B = 45,</li>
<li style="background-color: #111188;"> INT_SOURCE_CHANGE_NOTICE_C = 46,</li>
<li style="background-color: #111166;"> INT_SOURCE_CHANGE_NOTICE_D = 47,</li>
<li style="background-color: #111188;"> INT_SOURCE_CHANGE_NOTICE_E = 48,</li>
<li style="background-color: #111166;"> INT_SOURCE_CHANGE_NOTICE_F = 49,</li>
<li style="background-color: #111188;"> INT_SOURCE_CHANGE_NOTICE_G = 50,</li>
<li style="background-color: #111166;"> INT_SOURCE_PARALLEL_PORT = 51,</li>
<li style="background-color: #111188;"> INT_SOURCE_PARALLEL_PORT_ERROR = 52,</li>
<li style="background-color: #111166;"> INT_SOURCE_COMPARATOR_1 = 32,</li>
<li style="background-color: #111188;"> INT_SOURCE_COMPARATOR_2 = 33,</li>
<li style="background-color: #111166;"> INT_SOURCE_USB_1 = 34,</li>
<li style="background-color: #111188;"> INT_SOURCE_DMA_0 = 72,</li>
<li style="background-color: #111166;"> INT_SOURCE_DMA_1 = 73,</li>
<li style="background-color: #111188;"> INT_SOURCE_DMA_2 = 74,</li>
<li style="background-color: #111166;"> INT_SOURCE_DMA_3 = 75,</li>
<li style="background-color: #111188;"> INT_SOURCE_SPI_2_ERROR = 53,</li>
<li style="background-color: #111166;"> INT_SOURCE_SPI_2_RECEIVE = 54,</li>
<li style="background-color: #111188;"> INT_SOURCE_SPI_2_TRANSMIT = 55,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_2_ERROR = 56,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_2_RECEIVE = 57,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_2_TRANSMIT = 58,</li>
<li style="background-color: #111188;"> INT_SOURCE_I2C_2_BUS = 59,</li>
<li style="background-color: #111166;"> INT_SOURCE_I2C_2_ERROR = 59,</li>
<li style="background-color: #111188;"> INT_SOURCE_I2C_2_SLAVE = 60,</li>
<li style="background-color: #111166;"> INT_SOURCE_I2C_2_MASTER = 61,</li>
<li style="background-color: #111188;"> INT_SOURCE_CAN_1 = 77,</li>
<li style="background-color: #111166;"> INT_SOURCE_SPI_3_ERROR = 78,</li>
<li style="background-color: #111188;"> INT_SOURCE_SPI_3_RECEIVE = 79,</li>
<li style="background-color: #111166;"> INT_SOURCE_SPI_3_TRANSMIT = 80,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_3_ERROR = 62,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_3_RECEIVE = 63,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_3_TRANSMIT = 64,</li>
<li style="background-color: #111166;"> INT_SOURCE_SPI_4_ERROR = 81,</li>
<li style="background-color: #111188;"> INT_SOURCE_SPI_4_RECEIVE = 82,</li>
<li style="background-color: #111166;"> INT_SOURCE_SPI_4_TRANSMIT = 83,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_4_ERROR = 65,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_4_RECEIVE = 66,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_4_TRANSMIT = 67,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_5_ERROR = 68,</li>
<li style="background-color: #111188;"> INT_SOURCE_USART_5_RECEIVE = 69,</li>
<li style="background-color: #111166;"> INT_SOURCE_USART_5_TRANSMIT = 70,</li>
<li style="background-color: #111188;"> INT_SOURCE_CLOCK_MONITOR = 29,</li>
<li style="background-color: #111166;"> INT_SOURCE_RTCC = 30,</li>
<li style="background-color: #111188;"> INT_SOURCE_FLASH_CONTROL = 31,</li>
<li style="background-color: #111166;"> INT_SOURCE_COMPARATOR_3 = 76,</li>
<li style="background-color: #111188;"> INT_SOURCE_CTMU = 71</li>
<li style="background-color: #111166;">} INT_SOURCE;</li>
<li style="background-color: #111188;">...</li>
</ol></code></div></div></div><div><p><br /></p><p>これによると「<span style="color: #fcff01;">INT_SOURCE_USART_1_RECEIVE</span>」は「<span style="color: #fcff01;">39</span>」、「<span style="color: #fcff01;">INT_SOURCE_USART_1_TRANSMIT</span>」は「<span style="color: #fcff01;">40</span>」となっています。</p><p>上記のデータシートからの表と照らし合わせてください。</p><p>一致しますよね?</p><p>次に、<span style="color: #fcff01;">割り込みのベクタ番号</span>についてですが、割り込み番号と同様、「..\arch\pic32mx_gcc\framework\peripheral\int\processor\int_<span>p32mx570f512l</span>.h」の中の以下の記述にあります。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">...</li>
<li style="background-color: #111188;">typedef enum {</li>
<li style="background-color: #111166;"> INT_VECTOR_CT = _CORE_TIMER_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CS0 = _CORE_SOFTWARE_0_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CS1 = _CORE_SOFTWARE_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_INT0 = _EXTERNAL_0_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_T1 = _TIMER_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_IC1 = _INPUT_CAPTURE_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_IC1_ERROR = _INPUT_CAPTURE_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_OC1 = _OUTPUT_COMPARE_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_INT1 = _EXTERNAL_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_T2 = _TIMER_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_IC2 = _INPUT_CAPTURE_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_IC2_ERROR = _INPUT_CAPTURE_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_OC2 = _OUTPUT_COMPARE_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_INT2 = _EXTERNAL_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_T3 = _TIMER_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_IC3 = _INPUT_CAPTURE_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_IC3_ERROR = _INPUT_CAPTURE_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_OC3 = _OUTPUT_COMPARE_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_INT3 = _EXTERNAL_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_T4 = _TIMER_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_IC4 = _INPUT_CAPTURE_4_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_IC4_ERROR = _INPUT_CAPTURE_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_OC4 = _OUTPUT_COMPARE_4_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_INT4 = _EXTERNAL_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_T5 = _TIMER_5_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_IC5 = _INPUT_CAPTURE_5_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_IC5_ERROR = _INPUT_CAPTURE_5_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_OC5 = _OUTPUT_COMPARE_5_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI1_FAULT = _SPI_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI1_RX = _SPI_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI1_TX = _SPI_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART1_FAULT = _UART_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART1_RX = _UART_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART1_TX = _UART_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_I2C1_BUS = _I2C_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_I2C1_SLAVE = _I2C_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_I2C1_MASTER = _I2C_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI2_FAULT = _SPI_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI2_RX = _SPI_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI2_TX = _SPI_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART2_FAULT = _UART_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART2_RX = _UART_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART2_TX = _UART_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_I2C2_BUS = _I2C_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_I2C2_SLAVE = _I2C_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_I2C2_MASTER = _I2C_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI3_FAULT = _SPI_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI3_RX = _SPI_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI3_TX = _SPI_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART3_FAULT = _UART_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART3_RX = _UART_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART3_TX = _UART_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI4_FAULT = _SPI_4_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI4_RX = _SPI_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_SPI4_TX = _SPI_4_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART4_FAULT = _UART_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART4_RX = _UART_4_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART4_TX = _UART_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART5_FAULT = _UART_5_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART5_RX = _UART_5_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART5_TX = _UART_5_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CHANGE_NOTICE_A = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CHANGE_NOTICE_B = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CHANGE_NOTICE_C = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CHANGE_NOTICE_D = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CHANGE_NOTICE_E = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CHANGE_NOTICE_F = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CHANGE_NOTICE_G = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_PMP = _PMP_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_PMP_ERROR = _PMP_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_USB1 = _USB_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_RTCC = _RTCC_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_FLASH = _FCE_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI1 = _SPI_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART1 = _UART_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI3 = _SPI_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_I2C1 = _I2C_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CN = _CHANGE_NOTICE_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_AD1 = _ADC_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CMP1 = _COMPARATOR_1_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CMP2 = _COMPARATOR_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_CMP3 = _COMPARATOR_3_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART3 = _UART_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI2 = _SPI_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART2 = _UART_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_SPI4 = _SPI_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_I2C2 = _I2C_2_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_FSCM = _FAIL_SAFE_MONITOR_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CTMU = _CTMU_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_DMA0 = _DMA_0_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_DMA1 = _DMA_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_DMA2 = _DMA_2_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_DMA3 = _DMA_3_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_FCE = _FCE_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_CAN1 = _CAN_1_VECTOR,</li>
<li style="background-color: #111188;"> INT_VECTOR_UART4 = _UART_4_VECTOR,</li>
<li style="background-color: #111166;"> INT_VECTOR_UART5 = _UART_5_VECTOR</li>
<li style="background-color: #111188;">} INT_VECTOR;</li>
<li style="background-color: #111166;">...</li>
</ol></code></div></div><div><p><br /></p><p>これによると「INT_VECTOR_UART1_RX」や「INT_VECTOR_UART1_TX」は共に「_UART_1_VECTOR」という同じ値の割り込みベクタ番号に定義されています。</p><p>今回の場合、「..\target\1_2_5_starterlit_gcc\target_serial.h」において、割り込みベクタ番号を「INT_VECTOR_UART1_RX」や「INT_VECTOR_UART1_TX」とは書かずに「_UART_1_VECTOR」と直に記述しましたが、どちらでも結果は同じです。</p><p>ちなみに「_UART_1_VECTOR」の実際の割り込みベクタ番号の値は、これまた分かりにくい場所に…。</p><p>このブログの記述通り開発環境を作っていただいた場合は、</p><p>「C:\Program Files\Microchip\xc32\v4.30\pic32mx\include\proc\PIC32MX\<span style="color: #fcff01;">p32mx570f512l</span>.h」の中の以下の記述にあります。</p><p>ここはもう、ツールチェーンのディレクトリですよね。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">...</li>
<li style="background-color: #111188;"><font style="color: lime; font-style: italic;">/* Vector Numbers */</font></li>
<li style="background-color: #111166;">#define _CORE_TIMER_VECTOR 0</li>
<li style="background-color: #111188;">#define _CORE_SOFTWARE_0_VECTOR 1</li>
<li style="background-color: #111166;">#define _CORE_SOFTWARE_1_VECTOR 2</li>
<li style="background-color: #111188;">#define _EXTERNAL_0_VECTOR 3</li>
<li style="background-color: #111166;">#define _TIMER_1_VECTOR 4</li>
<li style="background-color: #111188;">#define _INPUT_CAPTURE_1_VECTOR 5</li>
<li style="background-color: #111166;">#define _OUTPUT_COMPARE_1_VECTOR 6</li>
<li style="background-color: #111188;">#define _EXTERNAL_1_VECTOR 7</li>
<li style="background-color: #111166;">#define _TIMER_2_VECTOR 8</li>
<li style="background-color: #111188;">#define _INPUT_CAPTURE_2_VECTOR 9</li>
<li style="background-color: #111166;">#define _OUTPUT_COMPARE_2_VECTOR 10</li>
<li style="background-color: #111188;">#define _EXTERNAL_2_VECTOR 11</li>
<li style="background-color: #111166;">#define _TIMER_3_VECTOR 12</li>
<li style="background-color: #111188;">#define _INPUT_CAPTURE_3_VECTOR 13</li>
<li style="background-color: #111166;">#define _OUTPUT_COMPARE_3_VECTOR 14</li>
<li style="background-color: #111188;">#define _EXTERNAL_3_VECTOR 15</li>
<li style="background-color: #111166;">#define _TIMER_4_VECTOR 16</li>
<li style="background-color: #111188;">#define _INPUT_CAPTURE_4_VECTOR 17</li>
<li style="background-color: #111166;">#define _OUTPUT_COMPARE_4_VECTOR 18</li>
<li style="background-color: #111188;">#define _EXTERNAL_4_VECTOR 19</li>
<li style="background-color: #111166;">#define _TIMER_5_VECTOR 20</li>
<li style="background-color: #111188;">#define _INPUT_CAPTURE_5_VECTOR 21</li>
<li style="background-color: #111166;">#define _OUTPUT_COMPARE_5_VECTOR 22</li>
<li style="background-color: #111188;">#define _ADC_VECTOR 23</li>
<li style="background-color: #111166;">#define _FAIL_SAFE_MONITOR_VECTOR 24</li>
<li style="background-color: #111188;">#define _RTCC_VECTOR 25</li>
<li style="background-color: #111166;">#define _FCE_VECTOR 26</li>
<li style="background-color: #111188;">#define _COMPARATOR_1_VECTOR 27</li>
<li style="background-color: #111166;">#define _COMPARATOR_2_VECTOR 28</li>
<li style="background-color: #111188;">#define _USB_1_VECTOR 29</li>
<li style="background-color: #111166;">#define _SPI_1_VECTOR 30</li>
<li style="background-color: #111188;">#define _UART_1_VECTOR 31</li>
<li style="background-color: #111166;">#define _I2C_1_VECTOR 32</li>
<li style="background-color: #111188;">#define _CHANGE_NOTICE_VECTOR 33</li>
<li style="background-color: #111166;">#define _PMP_VECTOR 34</li>
<li style="background-color: #111188;">#define _SPI_2_VECTOR 35</li>
<li style="background-color: #111166;">#define _UART_2_VECTOR 36</li>
<li style="background-color: #111188;">#define _I2C_2_VECTOR 37</li>
<li style="background-color: #111166;">#define _UART_3_VECTOR 38</li>
<li style="background-color: #111188;">#define _UART_4_VECTOR 39</li>
<li style="background-color: #111166;">#define _UART_5_VECTOR 40</li>
<li style="background-color: #111188;">#define _CTMU_VECTOR 41</li>
<li style="background-color: #111166;">#define _DMA_0_VECTOR 42</li>
<li style="background-color: #111188;">#define _DMA_1_VECTOR 43</li>
<li style="background-color: #111166;">#define _DMA_2_VECTOR 44</li>
<li style="background-color: #111188;">#define _DMA_3_VECTOR 45</li>
<li style="background-color: #111166;">#define _COMPARATOR_3_VECTOR 46</li>
<li style="background-color: #111188;">#define _CAN_1_VECTOR 47</li>
<li style="background-color: #111166;">#define _SPI_3_VECTOR 48</li>
<li style="background-color: #111188;">#define _SPI_4_VECTOR 49</li>
<li style="background-color: #111166;">...</li>
</ol></code></div>
<p><br /></p><p>これによると「<span style="color: #fcff01;">_UART_1_VECTOR</span>」は「<span style="color: #fcff01;">31</span>」となっています。</p><p>こちらも、上記のデータシートからの表と一致しますね!</p><p>このように、もし新たな割り込みを実装する場合には、割り込みの設定は割り込み番号と割り込みベクタ番号をそれぞれ調べて設定するようにしてください。</p><p>面倒だけども…。</p><p><br /></p></div><h3 style="text-align: left;">●例外ハンドラ</h3><p>例外ハンドラは、以下の表のものが使用できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjajDevWYhP-ftvOAWI1Ci0JglrR54rSKc2q-dCm-7zKTEpSrPP_i_GpI2i83Em33RCrHEzUA2dZN41eEojHnLwxORFGtjQmjitU-xDWO_asM62PvhldLKrRtXDcpXgY8tom_Z7or8INbuMu4-ERB7bLhXkA-l8PDlilFCRq0bJZ53dVQXfaoBMSKVY421_/s1069/table2-10.png" style="margin-left: 1em; margin-right: 1em;"><img alt="例外ハンドラ一覧表" border="0" data-original-height="655" data-original-width="1069" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjajDevWYhP-ftvOAWI1Ci0JglrR54rSKc2q-dCm-7zKTEpSrPP_i_GpI2i83Em33RCrHEzUA2dZN41eEojHnLwxORFGtjQmjitU-xDWO_asM62PvhldLKrRtXDcpXgY8tom_Z7or8INbuMu4-ERB7bLhXkA-l8PDlilFCRq0bJZ53dVQXfaoBMSKVY421_/w400-h245/table2-10.png" width="400" /></a></div><p><br /></p><p>今回のサンプルプロジェクトでターミナルから「z」や「Z」を入力して起こる例外は、<span style="color: #fcff01;">13番</span>の「<span style="color: #fcff01;">Trap exception</span>」例外です。</p><p>この設定は「..\arch\pic32mx_gcc\prc_test.h」の以下の記述で設定されています。</p>
<div style="background-color: #111166; overflow: scroll; padding: 0px; width: 100%;"><code>
<ol style="background-color: #111166; color: #ffff77; in-left: 0; list-style: outside decimal-leading-zero; margin: 0px; padding-left: 36px; white-space: nowrap;">
<li style="background-color: #111166;">...</li>
<li style="background-color: #111188;">#define CPUEXC1 13 <font style="color: lime; font-style: italic;">/* ゼロ除算例外 */</font></li>
<li style="background-color: #111166;">#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, <font style="color: #aaaaff;">"zerodiv = %d"</font>, 10 / 0)</li>
<li style="background-color: #111188;">...</li>
</ol></code></div>
<p><br /></p><p>ご覧の通り「Trap exception」は、ゼロ除算を行った結果引き起こされるものです。</p><p>小文字の「z」と大文字の「Z」の違いは、CPU例外が小文字の場合はカーネル管轄内で、大文字の場合はカーネル管轄外でそれぞれ実行されるということだけです。</p><p>各CPU例外の詳細については、PIC32MXのデータシートを熟読していただく必要がありますが、これらが引き起こされた時点で致命的な状況が多く、デバッグでの用途以外、あまり使い道はないでしょう。</p><p><br /></p><h3 style="text-align: left;">●一部サービスコールは未対応</h3><p>性能評価用システム時刻取得のための「<span style="color: #fcff01;">get_utm()</span>」サービスコールは未実装です。</p><p><br /></p><h2 style="text-align: left;"><u>ライセンスについて</u></h2><p>このカーネルは「<a href="https://www.toppers.jp/license.html" target="_blank">TOPPERSライセンス</a>」で配布しております。</p><p>無償ですが、使用に関しては自己責任です。</p><p>万が一、このカーネルを商用利用する方は、このリンク先の条項に従ってください。</p><p><br /></p><p>さて、今回はPIC32MXを取り上げてみました。</p><p>「PIC32」と呼べるものは、今回の「<span style="color: #fcff01;">M</span>X」他にも「<span style="color: #fcff01;">M</span>M」、「<span style="color: #fcff01;">M</span>C」、「<span style="color: #fcff01;">M</span>K」や「<span style="color: #fcff01;">M</span>Z」などがラインナップされています。</p><p>これらの「<span style="color: #fcff01;">M系</span>」は、全て<span style="color: #fcff01;"><a href="https://ja.wikipedia.org/wiki/MIPS%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3" target="_blank">MIPSアーキテクチャ</a></span>です。</p><p>しかし、先ごろ「<span style="color: #fcff01;">C系</span>」のPIC32が発表されました。</p><p>「<span style="color: #fcff01;">C</span>M」、「<span style="color: #fcff01;">C</span>X」や「<span style="color: #fcff01;">C</span>Z」などです。</p><p><br /></p><p><a href="https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/32-bit-mcus">https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/32-bit-mcus</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP8n6dKrQ-7ScVPlZEUqMjWagYfjHM3Ud_aNp8D2dDtJNdJO6imX8LKWr7MrhGxoYPr0W0u1Zvx5s5UhFZCvhj2xVogQTXj_CnGgLSOzxWHpqHVVH0xV5kpPQ9ws-GnrRoT-UnVgNvwUKhzsOYRmcdMoZhyphenhyphenND5Vdpd9JRN075fpimweslhS6JL9L1PATuP/s1024/background-v8.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="PIC32ラインナップ" border="0" data-original-height="627" data-original-width="1024" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP8n6dKrQ-7ScVPlZEUqMjWagYfjHM3Ud_aNp8D2dDtJNdJO6imX8LKWr7MrhGxoYPr0W0u1Zvx5s5UhFZCvhj2xVogQTXj_CnGgLSOzxWHpqHVVH0xV5kpPQ9ws-GnrRoT-UnVgNvwUKhzsOYRmcdMoZhyphenhyphenND5Vdpd9JRN075fpimweslhS6JL9L1PATuP/w400-h245/background-v8.jpg" width="400" /></a></div><p><br /></p><p><span style="color: #01ffff;">重要なことは、これらの「C系」PIC32が、遂に</span><span style="color: #fcff01;">ARMアーキテクチャ</span><span style="color: #01ffff;">になってしまったことです!</span></p><p><br /></p><p>う~ん、ARM化の波が遂にここまでも。</p><p>世の中何でもかんでもARM一辺倒になって、ホントにいいんでしょうかね?</p><p>まあ、プログラマーとしては仕事の面では楽になりますが、趣味の面では退屈だし、寂しく思うのです…。</p><p>だいたい、同じARMアーキテクチャで各社しのぎを削っても、横一線で尖った特徴もなくなるので、製品のウリをアピールするのが難しくなると思うのですが。</p><p>私は、<a href="https://www.madogiwakoubou.com/2023/10/tilaunchxl-f280049cc2000.html">こういうピーキーなマイコン</a>の方が好きだなぁ…。</p><p><br /></p><p>そのARMも、いずれは今ホットな「<a href="https://ja.wikipedia.org/wiki/RISC-V" target="_blank">RISC-V</a>」に置き換わってしまうのか?</p><p>諸行無常、盛者必衰…。</p><p>注目して見ていきましょう!</p><p><br /></p><p><終わり></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-14810785338439176352023-11-07T19:00:00.000-08:002023-12-27T17:42:22.220-08:00「pcDuino3」でYocto Project その2<p><a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project.html">前回からの続き</a>です。</p><p><br /></p><h2 style="text-align: left;"><u>「VMware Workstation Player」のインストール</u></h2><p>さて「Yocto Project」で「pcDuino3」のための最新のディストリビューションを作るのはいいとして、まずはLinuxが動作する環境が必要です。</p><p>「Yocto Project」は、Linux上で動くフレームワークだからです。</p><p><span style="color: #fcff01;">LinuxはLinuxで作らなければなりません。</span></p><p>もし、余ったパソコンをお持ちなら、そこにLinuxをインストールしましょう。</p><p>この場合、今回の記事に書かれている内容は飛ばしてしまって構いません。</p><p>とはいえ「Yocto Project」を動作させるためには、相当なスペックのパソコンが必要です。</p><p>なにせ「Yocto Project」で一つのLinuxディストリビューションを作成する過程で、物凄く多くのソフトウェアのダウンロード、ビルド、コピーを繰り返し行いますので、すべて終わるまでには膨大な時間がかかります。</p><p>(場合によっては、丸一日とか…。)</p><p>したがって、パソコンが速いほど作業効率は上がります。</p><p>しかし、そんなにスペックの高いパソコンって、そうそう余ってませんよね。</p><p>懐も寂しいですし…。</p><p>そこで、今、Windowsでお使いのパソコン上でLinux環境を再現するために「<span style="color: #fcff01;">VMware Workstation Player</span>」を使いましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1G0fR2LHFFsJwRIgHM2C_F3y5o84HBQlnL2ZVoU-2mRbCUV2k3c1nlBeKGZPFEOsDNGtfptXdy1_sUxX3Xu74xk25IY2MhyphenhyphenkFbNAbPutom-hAfVzHhcI8zzbALn56T2cwYDqo_NtnGpG7SMhTfFiyaKQQ-PzA8dZAWkT41oZWc8YNpukzZnOttZrAOBo0/s502/04.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」スプラッシュスクリーン" border="0" data-original-height="357" data-original-width="502" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1G0fR2LHFFsJwRIgHM2C_F3y5o84HBQlnL2ZVoU-2mRbCUV2k3c1nlBeKGZPFEOsDNGtfptXdy1_sUxX3Xu74xk25IY2MhyphenhyphenkFbNAbPutom-hAfVzHhcI8zzbALn56T2cwYDqo_NtnGpG7SMhTfFiyaKQQ-PzA8dZAWkT41oZWc8YNpukzZnOttZrAOBo0/w400-h285/04.png" width="400" /></a></div><p><br /></p><p>この「VMware Workstation Player」は、Windowsの中に仮想のパソコンを作ってくれるアプリケーションです。</p><p>そうして作られた仮想のパソコンの中にLinuxをインストールして「Yocto Project」を動かそう…という目論見です。</p><p>まずは、ダウンロードから。</p><p>以下のWebページにアクセスしてください。</p><p>そして、以下の通り「<span style="color: red;">VWware Workstation Player</span>」というリンクをクリックします。</p><div><br /></div><p><a href="https://www.vmware.com/jp/products/workstation-player/workstation-player-evaluation.html" target="_blank">https://www.vmware.com/jp/products/workstation-player/workstation-player-evaluation.html</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7inqv9Cd64RO-BE25uZAlKgl1ZmPSSZJHlMCjjKFHjXF595VMAB-IfAKwUXvHJJQYTH76VDALd0vB8MyFrCwkwEGmM-y5I7K4-S8VrCqXQxgNTXUyBpoFN8bq7n1fSycqUeU2EGIf9K7Y9oZPWHMmJKCEIc4-kMzjoZV_xGpfMSKj72ZzjGq1FPQQ1XYo/s1920/00.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のダウンロードページ - 1" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7inqv9Cd64RO-BE25uZAlKgl1ZmPSSZJHlMCjjKFHjXF595VMAB-IfAKwUXvHJJQYTH76VDALd0vB8MyFrCwkwEGmM-y5I7K4-S8VrCqXQxgNTXUyBpoFN8bq7n1fSycqUeU2EGIf9K7Y9oZPWHMmJKCEIc4-kMzjoZV_xGpfMSKj72ZzjGq1FPQQ1XYo/w400-h215/00.png" width="400" /></a></div><br /><p><br /></p><p>ちなみに「VMware Workstation <span style="color: #fcff01;">Player</span>」は、<span style="color: #fcff01;">非商用利用であれば無償</span>です。</p><p>商用利用であれば有償であり、その場合は「VMware Workstation <span style="color: #fcff01;">Pro</span>」という製品名になります。</p><p>今回は、無償の「VMware Workstation <span style="color: #fcff01;">Player</span>」を使用する場合を説明しています。</p><p>新しく開いたページで「<span style="color: red;">無償ダウンロード</span>」というボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVErCutHyW7ZZsyx4Zpm2r015N80Cz7xlrcYMlnsxOAnJzrUDoiK-uCBmX0Ges8RYz1EusZlNPi-wJ1S0pFFDUXPnP9wA2rhEr7D5eu5I-cW5onOAYPRhMkVEwnWskHlTQ3DIrA7Zq8rZLCZrzeY512m5dzUDRXOjU9b29MXYB2mPRC_0PWBSRj1D9bgqb/s1920/01.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のダウンロードページ - 2" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVErCutHyW7ZZsyx4Zpm2r015N80Cz7xlrcYMlnsxOAnJzrUDoiK-uCBmX0Ges8RYz1EusZlNPi-wJ1S0pFFDUXPnP9wA2rhEr7D5eu5I-cW5onOAYPRhMkVEwnWskHlTQ3DIrA7Zq8rZLCZrzeY512m5dzUDRXOjU9b29MXYB2mPRC_0PWBSRj1D9bgqb/w400-h215/01.png" width="400" /></a></div><p><br /></p><p>次に、新しく開いたページで「<span style="color: red;">GO TO DOWNLOADS</span>」という表示をクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjahUv0_VRd9DkXoYiuv5ISJH0hGEptBpP7zguC0n2nR-uaZ4Sbei8prgLG7ZBNb5Ll6CvDRiXB-Y_os4cqINVWpIaiSxhW2Hf-WF0m8hZObDHzHMB8dNEtPlSiJ4GHiezjQdTleW2_99ZMYucd031z53tIc1-i2PA3wP6JLjoJ_kYrZXQKbIF0JiDA6WH5/s1920/02.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のダウンロードページ - 3" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjahUv0_VRd9DkXoYiuv5ISJH0hGEptBpP7zguC0n2nR-uaZ4Sbei8prgLG7ZBNb5Ll6CvDRiXB-Y_os4cqINVWpIaiSxhW2Hf-WF0m8hZObDHzHMB8dNEtPlSiJ4GHiezjQdTleW2_99ZMYucd031z53tIc1-i2PA3wP6JLjoJ_kYrZXQKbIF0JiDA6WH5/w400-h215/02.png" width="400" /></a></div><p><br /></p><p>更に、新しく開いたページで「VMware Workstation 17.x.x Player for <span style="color: #fcff01;">Windows 64-bit Operating Systems</span>」の欄の右側、「<span style="color: red;">DOWNLOAD NOW</span>」というボタンをクリックします。</p><p>やっとこさ、ダウンロードが開始されるはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4P4zBVFGLTY8ukK2uyGU1FcxDpbUevKypT-dazPsSIjKctdPhx9zQOxWjhYX9iIYwEoib0cTc0LHOFD9f207HwEQNhSwBMw0pi45Cgp2Rbn0DrrH3diDVBkwDmeNzSBuHJ99l1FAsa49-BF9yRcBD4O-J98F_-J1dfuaW6UAQl4UdeljZIUpa_uN6RQAL/s1920/03.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のダウンロードページ - 4" border="0" data-original-height="1032" data-original-width="1920" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4P4zBVFGLTY8ukK2uyGU1FcxDpbUevKypT-dazPsSIjKctdPhx9zQOxWjhYX9iIYwEoib0cTc0LHOFD9f207HwEQNhSwBMw0pi45Cgp2Rbn0DrrH3diDVBkwDmeNzSBuHJ99l1FAsa49-BF9yRcBD4O-J98F_-J1dfuaW6UAQl4UdeljZIUpa_uN6RQAL/w400-h215/03.png" width="400" /></a></div><p><br /></p><p>「<span style="color: #fcff01;">VMware-player-full-17.x.x-xxxxxxxx.exe</span>」みたいな名前のファイルのダウンロードが終了したら、これをダブルクリックします。</p><p>インストーラーが起動します…が!、以下のような表示が現れることがあるかもしれません。</p><p>なにやら分からぬが…ここは従っておいたほうが無難でしょう。</p><p>この表示が出た場合は「<span style="color: red;">はい</span>」ボタンをクリックして、パソコンを再起動しましょう。</p><p>これだからWindowsは…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2KLi-WQC6uQ5ljRyZNL0ho4UUQuIvMuBruiNtMcUa2VK8Hdx4dtQMH4YWBLywQr3ph-kPUGL8djhn5MANN7Mnzjyjc0ApZFNTNSb6w25pFd7Gt0uLmibdV2tiQESXSpnqx2BC5FTuSgTC4V4buCMsrWC9tXa_Gk9NeGCZrQliXVaNFzbt9RmlT3d2_ljy/s352/05.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 1" border="0" data-original-height="208" data-original-width="352" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2KLi-WQC6uQ5ljRyZNL0ho4UUQuIvMuBruiNtMcUa2VK8Hdx4dtQMH4YWBLywQr3ph-kPUGL8djhn5MANN7Mnzjyjc0ApZFNTNSb6w25pFd7Gt0uLmibdV2tiQESXSpnqx2BC5FTuSgTC4V4buCMsrWC9tXa_Gk9NeGCZrQliXVaNFzbt9RmlT3d2_ljy/w400-h236/05.png" width="400" /></a></div><p><br /></p><p>パソコンの再起動後は、再度「VMware-player-full-17.x.x-xxxxxxxx.exe」をダブルクリックして、インストールを再開しましょう。</p><p>インストーラーが立ち上がります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGEVj8kCiQFXdvBZqrXO7__6udzPS7ekuPwlpYTEypCuWMsMnKyOjHJuTSV3pKlXb9Ez7amFUKUxj53DY16Smks2Mwjxnsrv3cHmWrBDroprjevoIY7HP2RvBJtdXSTwCm7JzU8D7vc3Mg9zbcUsaakxwd7U2a7X8fpPUF2nFXvN6zPp3igFg4H664M1zD/s495/06.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 2" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGEVj8kCiQFXdvBZqrXO7__6udzPS7ekuPwlpYTEypCuWMsMnKyOjHJuTSV3pKlXb9Ez7amFUKUxj53DY16Smks2Mwjxnsrv3cHmWrBDroprjevoIY7HP2RvBJtdXSTwCm7JzU8D7vc3Mg9zbcUsaakxwd7U2a7X8fpPUF2nFXvN6zPp3igFg4H664M1zD/w400-h316/06.png" width="400" /></a></div><p><br /></p><p>以下の表示に切り替わったら準備完了。</p><p>ここは「<span style="color: red;">次へ</span>」ボタンをクリックです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRobE_ha8CS09m4wLjVpHzM3uJUm9z8TUSOPunmtIIky-U8okM7CF6P-JgGviCLuXMq4cgeFYvDUN_zyo3BZBJoPWsAL0rb74eR0O0UXsewH7HwgTFfmhwLzVJDfe9iyp-SC8aaSxGYOzZEW8w6hq19z2xQF7r4P7w_k8eU7Mr-3xOIxsy7yJ82_haMa4B/s495/07.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 3" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRobE_ha8CS09m4wLjVpHzM3uJUm9z8TUSOPunmtIIky-U8okM7CF6P-JgGviCLuXMq4cgeFYvDUN_zyo3BZBJoPWsAL0rb74eR0O0UXsewH7HwgTFfmhwLzVJDfe9iyp-SC8aaSxGYOzZEW8w6hq19z2xQF7r4P7w_k8eU7Mr-3xOIxsy7yJ82_haMa4B/w400-h316/07.png" width="400" /></a></div><p><br /></p><p>はいはい同意同意…って、適当に受け流してはダメですね。</p><p>しっかり確認して「<span style="color: red;">使用許諾契約書に同意します</span>」のチェックボックスを有効にしてから「<span style="color: red;">次へ</span>」ボタンをクリック。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUIYHJkfyVcIeVQwL1wpHTlmyxmmXooKI0_Hasx60R9nB3AoQzXDjLq0bq_nIr6JgvyClvmfDF6C4_-VfTMOvHXQ8BkJp01qGGYZqgLNgNmZ7xk90-gPTyS0q9vBwTDFzB9xNWSm-fDxXD19PLhjWfVp0wCbCH4DW-CYfLS4FqeQi-MxmKjVpG0WQbJ4Ej/s495/08.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 4" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUIYHJkfyVcIeVQwL1wpHTlmyxmmXooKI0_Hasx60R9nB3AoQzXDjLq0bq_nIr6JgvyClvmfDF6C4_-VfTMOvHXQ8BkJp01qGGYZqgLNgNmZ7xk90-gPTyS0q9vBwTDFzB9xNWSm-fDxXD19PLhjWfVp0wCbCH4DW-CYfLS4FqeQi-MxmKjVpG0WQbJ4Ej/w400-h316/08.png" width="400" /></a></div><p><br /></p><p>以下のような表示が出た場合は、迷わず「<span style="color: red;">Windows Hypervisor Platform(WHP)の自動インストール</span>」のチェックを有効にしましょう。</p><p>説明文中にある「<a href="https://ja.wikipedia.org/wiki/Hyper-V" target="_blank">Hyper-V</a>」というのは、今インストールしようとしている「VMware Workstation Player」と同じく、Windowsの中に仮想のパソコンを作ってくれる機能で、ある時期からWindowsに標準で実装されるようになりました。</p><p>ですが、そのままだと「VMware Workstation Player」とケンカになります。</p><p>ですので「Hyper-V」と「VMware Workstation Player」との仲介をするWHPというソフトウェア(ていうかAPI)を自動的にインストールしますか?…というのがこの説明文の大雑把な内容です。</p><p>チェックボックスを有効にしてから「<span style="color: red;">次へ</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj2-5V0A95lsiBERWeClZv04erzcgZaFypkbyjCyT47iJiF3CfS4G1lx0E1-d7jBv7wiGjAOA6CnnTuGgcmHhEJLXnQABPSq2dQdTQ2yHLG_fAAFTBWzNuIh2s40HYSCYbz6x_nqaZH_CVbI2U7uz_om9BY9-O5HVi8G_HEHKdq12-Ge1WCfGTYhvvVQRD/s495/09.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 5" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj2-5V0A95lsiBERWeClZv04erzcgZaFypkbyjCyT47iJiF3CfS4G1lx0E1-d7jBv7wiGjAOA6CnnTuGgcmHhEJLXnQABPSq2dQdTQ2yHLG_fAAFTBWzNuIh2s40HYSCYbz6x_nqaZH_CVbI2U7uz_om9BY9-O5HVi8G_HEHKdq12-Ge1WCfGTYhvvVQRD/w400-h316/09.png" width="400" /></a></div><p><br /></p><p>これ以降は、しばらく「<span style="color: red;">次へ</span>」ボタンを連打~!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihXj5M6seSCom9juhBYV57TT-hw1Wuy3S5Cb2Np-u693xRt6kSTd8t-k0won1Lvme0dT0ru6bNGbVXSH-UpBcAhhTzn5rfiw3xsdy1rDqdOlPB9SBZd7eidxsX-944jy4xdA6y4Au3lYu_P2gL25JBXJvrHGDlmse0QT9trbShBC6OjnrH1sV3sQHxB-7-/s495/10.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 6" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihXj5M6seSCom9juhBYV57TT-hw1Wuy3S5Cb2Np-u693xRt6kSTd8t-k0won1Lvme0dT0ru6bNGbVXSH-UpBcAhhTzn5rfiw3xsdy1rDqdOlPB9SBZd7eidxsX-944jy4xdA6y4Au3lYu_P2gL25JBXJvrHGDlmse0QT9trbShBC6OjnrH1sV3sQHxB-7-/w400-h316/10.png" width="400" /></a></div><p><br /></p><p>個人的には、タダで使わせてもらっているのだから、せめて協力くらいは~と思います。</p><p>個人の判断で良いと思います。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ4BRPrELQQyM66fVH5XXIFDFlVcYeabQxT6jON0gCS8U0PP_MsSWyiBZcwQSC7tCBWhpSt5TdMwoShVhSyCh4GmHNWmSEFJKwOOSiiuiV9zPe08ET5RxQOXkpbLBHT8Ie9oj_vo8C8GTQXeTXtzdO47ZPF5E7bzJsx7Yfsn5FPLEX4tgNsKVgmCaM5l8Q/s495/11.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 7" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ4BRPrELQQyM66fVH5XXIFDFlVcYeabQxT6jON0gCS8U0PP_MsSWyiBZcwQSC7tCBWhpSt5TdMwoShVhSyCh4GmHNWmSEFJKwOOSiiuiV9zPe08ET5RxQOXkpbLBHT8Ie9oj_vo8C8GTQXeTXtzdO47ZPF5E7bzJsx7Yfsn5FPLEX4tgNsKVgmCaM5l8Q/w400-h316/11.png" width="400" /></a></div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzUR40MSdiEqI_XtCWyOoxU42bL47yPuf4s_ExWpAcvSZzUAR-iRTwpwHDJ67Zh1KBS8B1qGi8XcSe6jibPZrHrb8mulO_yKd0-AY93RlvUaqUiq2sZemdBm2bxWaYW8Y8AtMRme2Jd_Tcnbuzl6wcN92P0yZiGBMw6vLrk2bd8GGokMV0aXybvtqihT0l/s495/12.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 8" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzUR40MSdiEqI_XtCWyOoxU42bL47yPuf4s_ExWpAcvSZzUAR-iRTwpwHDJ67Zh1KBS8B1qGi8XcSe6jibPZrHrb8mulO_yKd0-AY93RlvUaqUiq2sZemdBm2bxWaYW8Y8AtMRme2Jd_Tcnbuzl6wcN92P0yZiGBMw6vLrk2bd8GGokMV0aXybvtqihT0l/w400-h316/12.png" width="400" /></a></div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsKoozBOdiuDejZOecJOreCgemxKOtKkO1u0F7lLTZmK1vP60lmqjCisnpbAGhn_Mwd_VG4V7ci3daOYmYiHeONoKiNwS6At3G2S0__KvQAayNBQYF2k0vyrpib1nEEx0KBDMv6QZXzg-C74xVJcKGRVT-xQQ9OEwceKNcLnlMUpCWhpGPMi_rYS-YuCnA/s495/13.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 9" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsKoozBOdiuDejZOecJOreCgemxKOtKkO1u0F7lLTZmK1vP60lmqjCisnpbAGhn_Mwd_VG4V7ci3daOYmYiHeONoKiNwS6At3G2S0__KvQAayNBQYF2k0vyrpib1nEEx0KBDMv6QZXzg-C74xVJcKGRVT-xQQ9OEwceKNcLnlMUpCWhpGPMi_rYS-YuCnA/w400-h316/13.png" width="400" /></a></div><p><br /></p><p>ようやくインストールが始まります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimglvv-pDAFSTrX4p921jFQ8jNKTBvtFBchgc9kENfhfE5cId89nDNpsRDhWM-FW8LAO6I2t-pwRVXrQwVrDXupJn77QnJTOKdsl0VXdkXbwWoCuQGYu7WoOWiswrFcIGJQLI55BfiL2Sa_RkvOSdLhpjPvj9_TiRP7mjAvkP8G3QVUhCVWTchoO31fXvT/s495/14.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 10" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimglvv-pDAFSTrX4p921jFQ8jNKTBvtFBchgc9kENfhfE5cId89nDNpsRDhWM-FW8LAO6I2t-pwRVXrQwVrDXupJn77QnJTOKdsl0VXdkXbwWoCuQGYu7WoOWiswrFcIGJQLI55BfiL2Sa_RkvOSdLhpjPvj9_TiRP7mjAvkP8G3QVUhCVWTchoO31fXvT/w400-h316/14.png" width="400" /></a></div><p><br /></p><p>結構時間はかかりますが、以下の表示が出ればインストールは終了です。</p><p>「<span style="color: red;">完了</span>」ボタンをクリックしてインストーラーを閉じましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyFOtA29mVRsA45-urCD4c1p8YZNwQIZdISK0_lL6I8gbK6IP216VWE3lkJOEDG-aoztFuHRQEYOxKyALCeQRmpJRwGzmnc7J7BzaSD1x0zNNfd_ec49QDKiGmJ6j4p8htPeInBeqRtoPPUOv7RAZvfmzTTtV9j0uz2zgxTPFn1kwuvZZDACvfj3JBTYZp/s495/15.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」のインストーラー - 11" border="0" data-original-height="392" data-original-width="495" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyFOtA29mVRsA45-urCD4c1p8YZNwQIZdISK0_lL6I8gbK6IP216VWE3lkJOEDG-aoztFuHRQEYOxKyALCeQRmpJRwGzmnc7J7BzaSD1x0zNNfd_ec49QDKiGmJ6j4p8htPeInBeqRtoPPUOv7RAZvfmzTTtV9j0uz2zgxTPFn1kwuvZZDACvfj3JBTYZp/w400-h316/15.png" width="400" /></a></div><p><br /></p><p>さて、インストールされた「VMware Workstation Player」を試しに起動させてみましょう。</p><p>デスクトップに追加されたアイコンをダブルクリックすると、まずは以下のようなダイアログが…。</p><p>無償で使います、サーセン…ってなわけで「<span style="color: red;">続行</span>」ボタンをクリック。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4YIfofYGqe-qHsbg-VnsRudjEi1XVneZHJQDUqQ40Z9j_Vn1ZDwtBFz1u3Nf7DWq-sLS_M83CXNm2VxWuD_b8gZJLUQ6pfxV5t5TuEwejZ5oY_4X6hH0KPAyqF-VpY8krRB9OXbHdGLoba8Yy4Fuup15dPQfw8Uvzsa24EpfdFboLB3cqbsCoUxuYu8dt/s373/16.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」の起動 - 1" border="0" data-original-height="324" data-original-width="373" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4YIfofYGqe-qHsbg-VnsRudjEi1XVneZHJQDUqQ40Z9j_Vn1ZDwtBFz1u3Nf7DWq-sLS_M83CXNm2VxWuD_b8gZJLUQ6pfxV5t5TuEwejZ5oY_4X6hH0KPAyqF-VpY8krRB9OXbHdGLoba8Yy4Fuup15dPQfw8Uvzsa24EpfdFboLB3cqbsCoUxuYu8dt/w400-h348/16.png" width="400" /></a></div><p><br /></p><p>「<span style="color: red;">完了</span>」ボタンをクリックしましょう。</p><p>お世話になります!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM29_h9y3gmPPdXLO3vNqwOlGrTeEKGimsxSTXgIRgDkS4gmxAcqFOAWBNy8jmW3c7zGiPTPoVFmImObAwZxn0vWv3pQhcW3kbFfpQB6wMxi5xnJ95i0KGL9T5HTx2dQcO80umu_vJCJ0j3LPqe8h73WWMnPYjz5mGjoACbqfWObSTtE-NCC9dWHtseoBR/s373/17.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」の起動 - 2" border="0" data-original-height="324" data-original-width="373" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM29_h9y3gmPPdXLO3vNqwOlGrTeEKGimsxSTXgIRgDkS4gmxAcqFOAWBNy8jmW3c7zGiPTPoVFmImObAwZxn0vWv3pQhcW3kbFfpQB6wMxi5xnJ95i0KGL9T5HTx2dQcO80umu_vJCJ0j3LPqe8h73WWMnPYjz5mGjoACbqfWObSTtE-NCC9dWHtseoBR/w400-h348/17.png" width="400" /></a></div><p><br /></p><p>以下のような表示が出たら「VMware Workstation Player」のインストールと起動は成功です。</p><p><span style="color: #fcff01;">お疲れ様でした~。</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVWal8BfauQ_Wuhh96qXDk5bu14ke4qFi-4LnzJSlmcSFEmPpDsUD6WdDg31cvourXxoYjvy36imDB5mpuUq4WrK6FDa8FyBzkOdbhIlTuz8JK8ygwj8q-hegezJxz7ZkAszovaiLFyvVk-nPmSxYs6aSA-L2c4poqI6gYuFzwDiIufOd6qn0fBiYVDVot/s842/18.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「VMware Workstation Player」の起動 - 3" border="0" data-original-height="648" data-original-width="842" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVWal8BfauQ_Wuhh96qXDk5bu14ke4qFi-4LnzJSlmcSFEmPpDsUD6WdDg31cvourXxoYjvy36imDB5mpuUq4WrK6FDa8FyBzkOdbhIlTuz8JK8ygwj8q-hegezJxz7ZkAszovaiLFyvVk-nPmSxYs6aSA-L2c4poqI6gYuFzwDiIufOd6qn0fBiYVDVot/w400-h308/18.png" width="400" /></a></div><p><br /></p><p>さて、今日はここまで。</p><p>次回は、この「VMware Workstation Player」で仮想のパソコンを作り、そこにLinuxをインストールするまでやっていきましょうか。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project_21.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-39411620440731334722023-11-03T20:18:00.006-07:002023-12-27T17:40:57.892-08:00「pcDuino3」でYocto Project その1<h2 style="text-align: left;"><u>組み込みLinuxの学習</u></h2><p><span style="color: #fcff01;">突然ですが、長年勤めた現職を今年いっぱいで退職し、転職することになりました!</span></p><p>転職先はIoT関連のメーカーで、今までと同様、組み込みエンジニアとしてお仕事をさせていただくことになりました。</p><p>お話を伺っていると、新しい職場では、RTOSを使用したベアメタルな機器に加え、<a href="https://ja.wikipedia.org/wiki/%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BFLinux" target="_blank">組み込みLinux</a>のお仕事も多いとのこと。</p><p>私自身、今まで、このブログで取り上げているようなRTOSを使用した機器の開発がメインでしたが、実は組み込みLinuxを使用した機器の開発経験もあります。</p><p>ただし、数年のブランクが空いています。</p><p>人間、使わない知識はどんどん忘れていきますし(歳のせいとも言う)、時間の流れが速いLinuxなどのオープンソースの世界においては、<span style="color: #fcff01;">この数年のブランクが命取り!</span></p><p>転職後に即戦力となれるように、今一度(現在の)組み込みLinuxを学習してみたいと思いました。</p><p><br /></p><h2 style="text-align: left;"><u>「pcDuino3」とは?</u></h2><p>米国<a href="https://www.linksprite.com/" target="_blank">LinkSprite</a>社の「<span style="color: #fcff01;">pcDuino3</span>」というARMのシングルボード・コンピュータです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjueSCKX2l4S2wsatCvAJ0ls0YKvsmVD_j1egcsjHOF0SMQnJhpffl_AKeCI6kots0hZFb5dwBUV0mRCZi4-3xntFXjAiglkqhFuS6b9ylAm0V5YEyWQ9xFKi-Okp5Z9G4rIaopkUoVajPO8arnzULg-Y_y91-gb6Dr_hqQoBqhmr76vCBjPwCG056KQ5io/s640/M-08059.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="pcDuino3" border="0" data-original-height="480" data-original-width="640" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjueSCKX2l4S2wsatCvAJ0ls0YKvsmVD_j1egcsjHOF0SMQnJhpffl_AKeCI6kots0hZFb5dwBUV0mRCZi4-3xntFXjAiglkqhFuS6b9ylAm0V5YEyWQ9xFKi-Okp5Z9G4rIaopkUoVajPO8arnzULg-Y_y91-gb6Dr_hqQoBqhmr76vCBjPwCG056KQ5io/w400-h300/M-08059.jpg" width="400" /></a></div><p><br /></p><p>組み込みLinuxを学ぶ(…というより思い出す)ためには、ターゲットを弄りながら進めていくのが一番。</p><p>というわけで、かつて組み込みLinuxでの開発を行っていた時に買ったまま放置していたコイツを引っ張り出してきました。</p><p>秋月電子商会さんでは、<a href="https://akizukidenshi.com/catalog/g/gM-08059/" target="_blank">まだ取り扱っています。</a></p><p>ディスコン(製造中止)ですが、在庫は潤沢のようです。</p><p>発売は2014年とのことで、もう10年近く昔の製品です。</p><p>しかし、1GHzで動作する「ARM Cortex-A7」のデュアルコアというスペックは、組み込み機器として考えた場合は、まだまだ十分使える性能です。</p><p>ちなみに、CPUは中国製の激安SoC「<a href="https://ja.wikipedia.org/wiki/Allwinner" target="_blank">Allwinner</a> A20」です。</p><p>一時期は、民生の格安タブレットなどで相当数使われていたとか…。</p><p>この手のLinuxが動作するようなシングルボード・コンピュータでは、なんといっても「<a href="https://ja.wikipedia.org/wiki/Raspberry_Pi" target="_blank">Raspberry Pi</a>」シリーズが有名ですよね。</p><p>一方で、この「pcDuino」シリーズの最大の特徴は、有名な学習用マイコンボードである「<a href="https://ja.wikipedia.org/wiki/Arduino" target="_blank">Arduino</a>」と同じピン配のピンソケットを実装していることでしょう。</p><p>ハードウェアも作るような人は、この「Arduino」用のユニバーサルボードや、ピンソケットの入手性が良いので、オリジナルのシールドが作りやすく、電子工作好きの方々からは好評だったようです。</p><p>私も仕事で試作品を作るときには「Arduino」をよく使いますし、オリジナルのシールドを作るために、こういったパーツは使い慣れています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ7x5f7sNg1H33s9IW7la6BSar-Ju2hCoJUmmjhbrxRW9Ln9LHLyTfVM-7jcNviK3NQVrj3t15iy_0h3dXcvX84gdCH7xP8YJTZ4ti_RXr4rzOqdx7wY58i-D0hFaOtCH-4Ed4wq4CZ1ZOt9SP4WgGXxyOvsDwPyBAADMODwnj2pUYruaItXesdLdXmNE7/s960/DSC_0603.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「Arduino」用のユニバーサルボードとピンソケット" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ7x5f7sNg1H33s9IW7la6BSar-Ju2hCoJUmmjhbrxRW9Ln9LHLyTfVM-7jcNviK3NQVrj3t15iy_0h3dXcvX84gdCH7xP8YJTZ4ti_RXr4rzOqdx7wY58i-D0hFaOtCH-4Ed4wq4CZ1ZOt9SP4WgGXxyOvsDwPyBAADMODwnj2pUYruaItXesdLdXmNE7/w400-h300/DSC_0603.JPG" width="400" /></a></div><p><br /></p><p>ただし、既存の「Arduino」用のシールドがそのまま使えるか?というと、そこまでの互換性はないようです。</p><p>第一、電源が違います(「pcDuino」は3.3Vのみ)ので、<span style="color: #fcff01;">既存のシールドは接続しないように注意してください。</span></p><p>さて、この「pcDuino3」を使用して「<a href="https://ja.wikipedia.org/wiki/Node.js" target="_blank">Node.js</a>」をインストールして「<a href="https://ja.wikipedia.org/wiki/TypeScript" target="_blank">TypeScript</a>」などを使って、IoTゲートウェイのようなものを作ろうと思いました。</p><p>いわゆる今風の<span style="color: #fcff01;">ナウい</span>組み込みLinuxの使い方ですよね~。</p><p>そこで、気になるのはデフォルトでインストールされているLinuxのバージョンです。</p><p>前述のように、10年近く昔の製品。</p><p>あまり古いバージョンの<a href="https://ja.wikipedia.org/wiki/Linux%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3" target="_blank">Linuxディストリビューション</a>だと、最新のアプリケーションが動きません。</p><p>確認のために、数年ぶりに「pcDuino3」に電源を投入しました。</p><p>HDMIコネクタをLCDに繋いで、操作のためのキーボードやマウスをUSBのAコネクタに接続します。</p><p>(USBのAコネクタは一つしかありませんから、キーボードとマウスを同時に使用する場合は、USBハブを使いましょう。)</p><p>最後に、USBのMicro-Bコネクタから電源を供給してあげれば準備完了です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYDHub_ny2x1GeCm1e6P53AJiYtE7MkNL62cv8-yg-CJrnqslJkeyJzINgt-MPMqhJo6irpCFaNiXYZgcCiC4Kx1o2aMjtL6RsuKhRFh2PLmCbtPxSjyxRpWW8O5ICMZJhkQ-lgp7LB3kQmL2zoZ1GqFtQdDyHA4Fs4x4wwOPUwRnDuwj2qkhdy6emdXrQ/s960/DSC_0599.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「pcDuino3」に電源を投入" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYDHub_ny2x1GeCm1e6P53AJiYtE7MkNL62cv8-yg-CJrnqslJkeyJzINgt-MPMqhJo6irpCFaNiXYZgcCiC4Kx1o2aMjtL6RsuKhRFh2PLmCbtPxSjyxRpWW8O5ICMZJhkQ-lgp7LB3kQmL2zoZ1GqFtQdDyHA4Fs4x4wwOPUwRnDuwj2qkhdy6emdXrQ/w400-h300/DSC_0599.JPG" width="400" /></a></div><p><br /></p><p>しばらくすると、デスクトップが立ち上がります。</p><p>「pcDuino3」には、マイクロSDカードのスロットを搭載しています。</p><p>しかし、今はこのスロットにはマイクロSDカードが入っていませんので、OSは内蔵のNANDフラッシュから起動しています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBs0_yOx7NkbJv3vlTlYBOXCOvEkFT6Ab3UnTTg6nUZb_G3Nh5O0o-IaOdrkK2W2yx1m5B7DAJxR3nmKZoVWwFMvshitTjDGIkpDSyFjPpLO10cMJO-CHgJEA0fnj5wVIrFb20wKpB0XgmHAYvGrpsMLNUmk_z2VZm2byIhK5mhPK_sWLrY-k6DtMwvuwz/s960/DSC_0597.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="デスクトップの表示" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBs0_yOx7NkbJv3vlTlYBOXCOvEkFT6Ab3UnTTg6nUZb_G3Nh5O0o-IaOdrkK2W2yx1m5B7DAJxR3nmKZoVWwFMvshitTjDGIkpDSyFjPpLO10cMJO-CHgJEA0fnj5wVIrFb20wKpB0XgmHAYvGrpsMLNUmk_z2VZm2byIhK5mhPK_sWLrY-k6DtMwvuwz/w400-h300/DSC_0597.JPG" width="400" /></a></div><p><br /></p><p>アプリケーションは、最小限ですが「<a href="https://ja.wikipedia.org/wiki/Chromium" target="_blank">Chromium</a>」を搭載しているのはスゴい。</p><p>そうそう、こんな感じだったなぁ…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr4eFwWx_btldCvR6m0AxhyphenhyphenoYNeI5SuuJNPkv9uu0OQV_oWjQMNCsO_vH_StKJAuZ_SGRBAI63OrxidWR3GZWqmgx1aGxPUqS6t7Q6pKEYtaezMPCLAW0MC65IK-MbhMkeRdQFqcbZwVoS9PN_2NWo6Q52QdixSUtWkApIX8LTg2JLwVjydK9Om-4xvSa5/s960/DSC_0598.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="インストールされているアプリケーション" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr4eFwWx_btldCvR6m0AxhyphenhyphenoYNeI5SuuJNPkv9uu0OQV_oWjQMNCsO_vH_StKJAuZ_SGRBAI63OrxidWR3GZWqmgx1aGxPUqS6t7Q6pKEYtaezMPCLAW0MC65IK-MbhMkeRdQFqcbZwVoS9PN_2NWo6Q52QdixSUtWkApIX8LTg2JLwVjydK9Om-4xvSa5/w400-h300/DSC_0598.JPG" width="400" /></a></div><p><br /></p><p>ターミナルを開いて各種バーションを確認します。</p><p>以下のように入力します。</p><p><br /></p><p><span style="color: #01ffff;">$ uname -a</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlUuT_HJIe72KLoraMeVRjEc85R2qnbCj0LpyQmPIfmzQkSZkAp0DiSrvYIs20JUp9ZgpUSQfLfsTSAna6Gr0Q_geaJTOFoO7tCZFuLqd79hBXDQRMX9ntBPV3EwbQZAIXyGzF3K1D8MN4SCUzreWhSyFbe73eK0kHIpwOgwWL92BYeEEL8XW3zo_atTgU/s960/DSC_0595.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="カーネルのバージョン確認" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlUuT_HJIe72KLoraMeVRjEc85R2qnbCj0LpyQmPIfmzQkSZkAp0DiSrvYIs20JUp9ZgpUSQfLfsTSAna6Gr0Q_geaJTOFoO7tCZFuLqd79hBXDQRMX9ntBPV3EwbQZAIXyGzF3K1D8MN4SCUzreWhSyFbe73eK0kHIpwOgwWL92BYeEEL8XW3zo_atTgU/w400-h300/DSC_0595.JPG" width="400" /></a></div><p><span style="color: #fcff01;"><br /></span></p><p><span style="color: #fcff01;">カーネルは「3.4.79」!</span></p><p>やはり相当古い…。</p><p>今や「6.x.x」とかの時代ですから。</p><p>ディストリビューションは「<a href="https://ja.wikipedia.org/wiki/Ubuntu" target="_blank">Ubuntu</a>」ですか。</p><p>念のため、ディストリビューションの詳細を確認します。</p><p>以下のように入力してみます。</p><p><br /></p><p><span style="color: #01ffff;">$ lsb_release -a</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXhCXHE5MAEg6evOqFt0cdMO7KqpKkMmU5q5WExn6FBAcJ6c-3ewyj2YueOK2kDLaXCj_I3je0hG5XEYPDY_PlhF2WPag0jNihZRblEj1L9-Jyi5SLCgHkw1FaaSE5On3nLIKHmNk-yaEd6_FBNBOTjjH_7rdxsu5yoo-2v13zQEh_m_e9iGwei2-MXE4t/s960/DSC_0596.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="ディストリビューションのバージョン確認" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXhCXHE5MAEg6evOqFt0cdMO7KqpKkMmU5q5WExn6FBAcJ6c-3ewyj2YueOK2kDLaXCj_I3je0hG5XEYPDY_PlhF2WPag0jNihZRblEj1L9-Jyi5SLCgHkw1FaaSE5On3nLIKHmNk-yaEd6_FBNBOTjjH_7rdxsu5yoo-2v13zQEh_m_e9iGwei2-MXE4t/w400-h300/DSC_0596.JPG" width="400" /></a></div><p><br /></p><p><a href="https://en.wikipedia.org/wiki/Linaro" target="_blank">Linaro</a>による「12.07」ですか。</p><p>Ubuntuなので「apt install」コマンドでアプリケーションの追加は可能ですが、カーネルもディストリビューションも古いですね。</p><p>これでは、最新の開発環境を使った開発は難しいかもしれません。</p><p>さて、どうしたものか…。</p><p><span style="color: #fcff01;">そこで「Yocto Project」です!!</span></p><p><br /></p><h2 style="text-align: left;"><u>「Yocto Project」とは?</u></h2><p>詳しくは、<a href="https://ja.wikipedia.org/wiki/Yocto_Project" target="_blank">こちら</a>を参照してください。</p><p>要するに、<span style="color: #fcff01;">カスタムのLinuxディストリビューションを作れてしまうフレームワーク</span>です。</p><p>Linuxディストリビューションを作るには、Linuxの3種の神器「ブートローダ」、「カーネル」、「rootファイルシステム」が必要です。</p><p>昔は、これらのそれぞれソースコードを入手して、コンパイラを準備して、ビルドして…という作業が必要でした。</p><p>特に「rootファイルシステム」なんかは、ソフトウェアの数が膨大なので、大変な労力を要します。</p><p>しかも、それぞれを関連付けるための設定ファイルの作成やら、変更やらで、やっと終わったと思ったらカーネルパニックを起こして起動しなかったりで、もう…<span style="color: #fcff01;">やってられるかっ!!</span>…の繰り返しです。</p><p>二度とやりたくないです。</p><p>そのような煩雑な作業すべてを簡単にやってくれるツールとして「Yocto Project」が登場しました。</p><p>他にも、同様の思想のフレームワークには「<a href="https://en.wikipedia.org/wiki/Buildroot" target="_blank">Buildroot</a>」というものが存在します。</p><p>この手のフレームワークでは「Yocto Project」と「Buildroot」が、二大勢力ですが…</p><p><br /></p><p><span style="color: #01ffff;">●細かいカスタマイズが可能だが、使うのが難しい「</span><span style="color: #fcff01;">Yocto Project</span><span style="color: #01ffff;">」</span></p><p><span style="color: #01ffff;">●使うのが簡単だけど、細かいカスタマイズが難しい「</span><span style="color: #fcff01;">Buildroot</span><span style="color: #01ffff;">」</span></p><p><br /></p><p>という、アベコベの関係にあります。</p><p>しかしながら、紆余曲折あって現在は「Yocto Project」がスタンダードです。</p><p>組み込みエンジニアにとって、今や「Yocto Project」を扱うことは必須であるといっても過言ではありません。</p><p>この「Yocto Project」を使って「pcDuino3」用の最新のカーネルを含むディストリビューションを作ろう!と思います。</p><p>IoTゲートウェイを作ろうとしているので、最悪GUIは要りませんが、最低限のセキュリティの担保と、最新の開発環境が使えるだけのディストリビューションを目指したいと思います。</p><p><br /></p><p>次回から、早速「Yocto Project」による開発環境を揃えていきます。</p><p><続く>…といいですけどね、ボードも古いし、色々忘れちゃってるから…。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/11/pcduino3yocto-project_7.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-48244477325454099852023-10-24T20:22:00.002-07:002023-12-27T17:39:26.217-08:00TOPPERS/ASP - Arduino UNO R4版 その1<h2 style="text-align: left;"><u>TOPPERS/ASP - Arduino UNO R4版 概要</u></h2><p>皆様おなじみの「<span style="color: #fcff01;">Arduino</span>」。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjAGPgtVCv9eynbC3T1RJdSOBB0vJeELeJudHpsyfBpckR6OANv2x8hTOE-3aWcAG3VrHBov255RlMyG1k-UkfWSi0TYNDhWl7Ez77vvO-QOdbeyKVwdRkIXFGeVquDPsiWT23M49Pvk893wJhcYx5ABIZiLc77Or4OB2sIgbK_kT68j0cpjUiiYShY0qd/s500/22633-_02.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino UNO R4 - 1" border="0" data-original-height="500" data-original-width="500" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjAGPgtVCv9eynbC3T1RJdSOBB0vJeELeJudHpsyfBpckR6OANv2x8hTOE-3aWcAG3VrHBov255RlMyG1k-UkfWSi0TYNDhWl7Ez77vvO-QOdbeyKVwdRkIXFGeVquDPsiWT23M49Pvk893wJhcYx5ABIZiLc77Or4OB2sIgbK_kT68j0cpjUiiYShY0qd/w400-h400/22633-_02.jpg" width="400" /></a></div><p><br /></p><p>お財布に優しく、比較的入手がしやすいマイコンボードとして大人気です。</p><p>さて、この「Arduino」はローエンドのものからハイエンドのものまで多くのバリエーションがあります。</p><p>以前、<a href="https://www.madogiwakoubou.com/2022/09/toppersasp-arduino-mega-2560.html">コチラの記事</a>でご紹介した「Arduino Mega2560」は比較的ハイエンドの型番でした。</p><p>しかし、一般的に「Arduino」といえば「Arduino UNO」を指すことが多いです。</p><p>最もスタンダードな型番と言えるでしょう。</p><p>更にこの「Arduino UNO」にも新旧いくつかのバリエーションが存在します。</p><p>そして、2023年に入ってから、長らく販売されていた「Arduino UNO <span>R3</span>」に代わり、その次世代モデル「Arduino UNO <span style="color: #fcff01;">R4</span>」が発表されました。</p><p>では、この「<span>R3</span>」と「<span style="color: #fcff01;">R4</span>」では、どのような違いがあるのでしょうか?</p><p>以下の表にまとめてみました。</p>
<style>
.r4{
color: yellow;
}
</style>
<center>
<table border="2">
<tbody><tr>
<th bgcolor="dodgerblue">Arduino UNO</th>
<th bgcolor="dodgerblue">R3</th>
<th bgcolor="dodgerblue"><span class="r4">R4</span></th>
</tr>
<tr>
<th bgcolor="darkorange">CPU</th>
<td>Microchip(AVR) ATmega328P </td>
<td><span class="r4">Renesas RA4M1 Arm cortex-M4</span></td>
</tr>
<tr>
<th bgcolor="darkorange">ビット数</th>
<td>8bit</td>
<td><span class="r4">32bit</span></td>
</tr>
<tr>
<th bgcolor="darkorange">動作クロック</th>
<td>16MHz</td>
<td><span class="r4">48MHz</span></td>
</tr>
<tr>
<th bgcolor="darkorange">ROM</th>
<td>32kB</td>
<td><span class="r4">256kB</span></td>
</tr>
<tr>
<th bgcolor="darkorange">RAM</th>
<td>2kB</td>
<td><span class="r4">32kB</span></td>
</tr>
</tbody></table>
</center>
<p><br /></p><p>このように、全ての面で「<span style="color: #fcff01;">R4</span>」が「<span>R3</span>」を大幅に上回るスペックへアップグレードされ、もはや別物と言っても過言ではありません。</p><p>もっとも大きな違いは、CPUのアーキテクチャが変更されたことです。</p><p>Microchip社の「AVR」独自アーキテクチャから、遂に「ARM」アーキテクチャへの進化を果たしました。</p><p>これによって、従来の8ビットから32ビットのCPUに強化されたため、数値上の動作クロックは3倍でも、それ以上の処理速度の向上が期待できます。</p><p>それでいて、お値段はそのまま!</p><p>これは、かなり魅力的なマイコンボードと言えそうです。</p><p>RAMも32kBへ大幅に増量され、RTOSを十分搭載可能な容量となりました。</p><p>そこで今回は、この「<span style="color: #fcff01;">Arduino UNO <span>R4</span></span>」に「μITRON4.0」準拠のRTOS(リアルタイムOS)である<span><a href="https://www.toppers.jp/asp-kernel.html" target="_blank">TOPPERS/ASP</a></span>を移植してみました。</p><p>移植といっても、今回はいつもみたいにディスパッチャなどをアセンブラでガリガリ書いたりはしていません。</p><p>今回扱うマイコンはARMアーキテクチャですから、公式のARM版を「Renesas RA4M1」マイコン用にモディファイしただけです。</p><p>だから、とても品質が良いでしょう!</p><p><span style="color: #fcff01;">私が書いたのと比べて…。</span></p><p><br /></p><h2 style="text-align: left;"><u>TOPPERS/ASP - Arduino UNO R4版の注意事項</u></h2><p>このカーネルを使った時点で、ArduinoはArduinoでなくなります。</p><p>当然、便利なArduinoIDEや、それに付随する豊富なライブラリは使用できなくなります。</p><p>そのような向きには、TOPPERS/ASPカーネルで動作しながらArduinoのライブラリを使えるような「<a href="http://dev.toppers.jp/trac_user/contrib/wiki/rtos_arduino" target="_blank">TOPPERS/R2CA</a>」(凄い!)という実装も存在します。</p><p>この場合はターゲットが「Arduino UNO R4」ではなく、同じくARMコアの「Arduino M0」になりますが、極めて有意義な実装です。</p><p>一方、このブログでご紹介する「TOPPERS/ASP Arduino UNO R4版」は、Arduinoの枠にとらわれず、単純に「Arduino UNO R4」を安価なマイコンボードとして使用したい方を対象としています。</p><p><span style="color: #fcff01;">ハードウェアだけ便利に使わせてもらおう!</span>…という目的ですね。</p><p><br /></p><h2><u>必要なもの</u></h2><p>まずは、今回のターゲットとなる「Arduino UNO R4」です。</p><p><a href="https://akizukidenshi.com/catalog/g/gM-18114/" target="_blank">秋月電子商会さんでも販売しています。</a></p><p><span style="color: #fcff01;">お値段、3,000円ちょっと!</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLSGUNDZGKNbREqvvOJpo9XqtkEWfFJw3szMSrQtHZjqvH5uVm8sh_rHnrpaL3xw8WRH9XWY2Q0sqMNWWT2kOkmCCfziMiYOYGrKNWhuhmlXdoiiqJs33A7sqUPb1SH4DW6XPt2d1zCnvjE4RudIgzaRyTveyaoLMFRRe9B52mgrWmtWvVkqUSO4Evw_yH/s640/M-18114.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino UNO R4 - 2" border="0" data-original-height="480" data-original-width="640" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLSGUNDZGKNbREqvvOJpo9XqtkEWfFJw3szMSrQtHZjqvH5uVm8sh_rHnrpaL3xw8WRH9XWY2Q0sqMNWWT2kOkmCCfziMiYOYGrKNWhuhmlXdoiiqJs33A7sqUPb1SH4DW6XPt2d1zCnvjE4RudIgzaRyTveyaoLMFRRe9B52mgrWmtWvVkqUSO4Evw_yH/w400-h300/M-18114.jpg" width="400" /></a></div><p><br /></p><p>次に、デバッガです。</p><p>今回は「<span style="color: #fcff01;">E2 emulator Lite</span>」というRenesas製のデバッガを使用しました。</p><p>というのも「Arduino UNO R4」には、Renesas製のARMマイコンが搭載されているので、一番スマートかなぁ…と思って。</p><p>同じく<a href="https://akizukidenshi.com/catalog/g/gM-10459/" target="_blank">秋月電子商会さんで買う</a>と、<span style="color: #fcff01;">10,000円</span><span>でお釣りが出ちゃう</span>くらいですね。</p><p>これでなくても、ローエンドのARMマイコンで標準的なデバッグインターフェースである「<span style="color: #fcff01;">SWD</span>」に対応しているものなら、もっと安価なものでも使用できるかもしれません。</p><p>このブログでは「E2 emulator Lite」を使用した例を説明します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ8zyZHEhc5t_FmDISuQLstJegN2bozTqEjGb9fo0_xnMCLdb0rbK_HeYmtx0I1mwfspzpJtbsEr56So9LEOu4ax-iOOu6Kf9xkh3KCSoy6kjJDoVdu7PkQGOIsCzXqs8kwphwz_oZZAdTwFyLsSW6AhBN8ldeO7u2EVXrUdVVXi3C8Vhib3PBmN4djg/s640/M-10459.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="「E2 emulator Lite」デバッガ" border="0" data-original-height="480" data-original-width="640" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ8zyZHEhc5t_FmDISuQLstJegN2bozTqEjGb9fo0_xnMCLdb0rbK_HeYmtx0I1mwfspzpJtbsEr56So9LEOu4ax-iOOu6Kf9xkh3KCSoy6kjJDoVdu7PkQGOIsCzXqs8kwphwz_oZZAdTwFyLsSW6AhBN8ldeO7u2EVXrUdVVXi3C8Vhib3PBmN4djg/w400-h300/M-10459.jpg" width="400" /></a></div><div><p><br /></p></div><h2><u>ダウンロード/GitHub</u></h2><div><p>ソースコードの入手は、<a href="https://www.madogiwakoubou.com/p/github.html">こちら</a>からどうぞ。</p><p>とは言っても、このソースコードをダウンロード、もしくは「git clone」しても、<span style="color: #fcff01;">絶対にビルドが通りません。</span></p><p>このソースコードは未完成です。</p><p>なぜなら、Renesas社のドライバを後から付け加える必要があるんです。</p><p>そのRenesas社のドライバのライセンスの条項が理解に難しく、公開、および再配布しない方が無難と判断したためです。</p><p>ですので、今後この記事では、それらのソースコードの入手方法やコピーする場所などを事細かに書いていくつもりです。</p><p>ちょっとだけ面倒です。</p><p>ごめんなさい…。</p><p><span style="color: #fcff01;">ビルドは、まだしないでくださいね~。</span></p><p>(あと、動かしながら記事書いてる過程でバグなんかが見つかるかもしれないので、ダウンロードは後の方が良いかも…。)</p><p><br /></p><p>さて、次回から開発環境の構築をやっていきましょう。</p></div><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/11/toppersasp-arduino-uno-r4.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-51068696780830028442023-10-17T20:01:00.002-07:002023-12-24T17:13:15.009-08:00TOPPERS/ASP - PIC32MX版 その9<p><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-pic32mx.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>シリアル通信用の配線の引き出し</u></h2><p>さて、いよいよパソコンと「<span>PIC32MX1/2/5 Starter Kit</span>」評価ボードを接続します。</p><p>接続した結果は以下のような感じになりますが…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju-NpEY9vT5jNwuRxR0Lp1MP2XvF0__ysufQVyiXDVN8suIY5Dr9GxoRHfFLMpG5PpGaRX4vnf5lEqYcnvwoMmH0eyFbARn7R8KZ640X9t2RcquIXnAdlIwMiZStdxKMgCxcieOT63ey5mMksZb5st_hGHFintG_LuSvCQMDKb6tRYbVdKXNqt5jQN0KWr/s960/DSC_0556.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="パソコンと「PIC32MX1/2/5 Starter Kit」評価ボードの接続" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju-NpEY9vT5jNwuRxR0Lp1MP2XvF0__ysufQVyiXDVN8suIY5Dr9GxoRHfFLMpG5PpGaRX4vnf5lEqYcnvwoMmH0eyFbARn7R8KZ640X9t2RcquIXnAdlIwMiZStdxKMgCxcieOT63ey5mMksZb5st_hGHFintG_LuSvCQMDKb6tRYbVdKXNqt5jQN0KWr/w400-h300/DSC_0556.JPG" width="400" /></a></div><p><br /></p><p>まず、USBの方はデバッガと接続するためのものですが、問題はそれ以外の電線。</p><p>これらは「TOPPERS/ASP PIC32MX版」のサンプルプログラムで使用するデバッグメッセージ用のシリアル通信線です。</p><p>しかし「<span>PIC32MX1/2/5 Starter Kit</span>」評価ボードには、既に最初からD-SUBコネクタが実装されていますよね。</p><p>実は、これはシリアル通信のためのものではなく、<a href="https://ja.wikipedia.org/wiki/Controller_Area_Network" target="_blank">CAN</a>のためのD-SUBコネクタなのです。</p><p>では、シリアル通信のためのコネクタが何処にあるかというと、実は、この評価ボードでは用意されていないのです。</p><p>そのため、<span style="color: #fcff01;">シリアル通信を使用するには必要な信号線を評価ボードから引き出してあげる必要がある</span>のです。</p><p>さて、どこから引き出しましょうか?</p><p>以下の「<span>PIC32MX1/2/5 Starter Kit</span>」評価ボードの回路図を御覧ください。</p><p>74ピンの「<span style="color: red;">SOSC0/T1CK/RC14</span>」と73ピンの「<span style="color: red;">SOSC1/RC13</span>」に注目してください。</p><p>これらのピンは「<span style="color: red;">Y2</span>」というクリスタルに接続されていますね?</p><p>しかしながら「DNP」とあるように、どうやらこのクリスタルは実装されていないようです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK3AVtlaqgYxzWAdFl60ZwDVOlFHLzRzWSwyXg7ytCcYObMuiMKBnFJ3dbQ8SwfmTHBRaIBTIvS25NjsE2PvmAU4qoWU-VAQx7nmbDw6zYtsuNBM9TH_O2VUXHWA9tEs-4GH98GJ1slJZ1ZS28djDV3fyiZaNMir4tYfSZQqk1PvLRrRcqnoHNJ8FgpiDi/s1000/116.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「PIC32MX1/2/5 Starter Kit」評価ボードの回路図" border="0" data-original-height="800" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK3AVtlaqgYxzWAdFl60ZwDVOlFHLzRzWSwyXg7ytCcYObMuiMKBnFJ3dbQ8SwfmTHBRaIBTIvS25NjsE2PvmAU4qoWU-VAQx7nmbDw6zYtsuNBM9TH_O2VUXHWA9tEs-4GH98GJ1slJZ1ZS28djDV3fyiZaNMir4tYfSZQqk1PvLRrRcqnoHNJ8FgpiDi/w400-h320/116.png" width="400" /></a></div><p><br /></p><p>そして、74ピンの「SOSC0/T1CK/RC14」と73ピンの「SOSC1/RC13」は、レジスタの設定により、それぞれシリアル通信の受信(RXD)と送信(TXD)端子として使用することができるようです。</p><p><span>では早速、そのレジスタの設定をしなくちゃ!</span></p><p><span>…って、<span style="color: #fcff01;">実はもう設定できているんです</span></span><span style="color: #fcff01;">。</span></p><p>思い出してください。</p><p>「<a href="https://www.madogiwakoubou.com/2023/09/toppersasp-pic32mx.html">TOPPERS/ASP - PIC32MX版 その6</a>」の投稿の下の方で既にやっています。</p><p>こんな感じで雛形プロジェクトで設定しましたよね?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKQ6_3lLmFWRxgWrSY471gZXxu0eIiIXNgJ5Hj_rzdm4HTUUPwZFoGLuNNexARZY_4BLyIs7-1NZeb5daZFP962LHtHg81wEfdTnVq8are0xscoWf5ikcE-6eEx7f8NOOKdVIzoDp78UPfWUSoXER2eRNypR9Al1Hvu7JIclVbyaIBNHjhVxN96DypsST9/s700/71.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ピンの設定" border="0" data-original-height="700" data-original-width="700" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKQ6_3lLmFWRxgWrSY471gZXxu0eIiIXNgJ5Hj_rzdm4HTUUPwZFoGLuNNexARZY_4BLyIs7-1NZeb5daZFP962LHtHg81wEfdTnVq8are0xscoWf5ikcE-6eEx7f8NOOKdVIzoDp78UPfWUSoXER2eRNypR9Al1Hvu7JIclVbyaIBNHjhVxN96DypsST9/w400-h400/71.png" width="400" /></a></div><p><br /></p><p>この設定により、<span style="color: #fcff01;">74ピンの「SOSC0/T1CK/RC14」と73ピンの「SOSC1/RC13」は、それぞれシリアル通信の受信(RXD)と送信(TXD)端子として使用する</span>ことになります。</p><p>そして、この雛形プロジェクトから吐き出されたソースコードを前回「TOPPERS/ASP PIC32MX版の」ソースツリーにコピーしたため、これから動かすサンプルプログラムは、この設定通りに動くことになるのです。</p><p>では、シリアル通信に必要な信号線を評価ボードから引き出しましょう。</p><p>必要な信号線は、受信(RXD)、送信(TXD)、そしてGNDの計3本ですね。</p><p>受信(RXD)、送信(TXD)は、基板下方の未実装の<span style="color: red;">「Y2」クリスタルのホール</span>(穴のことね)をそのまま使いましょうか。</p><p>GNDは、基板上方に<span style="color: red;">パッド</span>があります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1AO99gNR7uoHzqZ71cxUe3-a1bp7wjf9SMTlt7lV0usSsg_e9gx_81d1x1X0RLev3GaRo8V77XXivkeLnFCB3dURVPdlD4q3IzG4MlJ9v4onMel0_v4OLbp3mu0yXaYXapAdvClp9BJUkAIkVcFjVKQbs8l82STYsSoKaspfT0lV-gIFwuJErb7mfDgay/s577/117.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「PIC32MX1/2/5 Starter Kit」評価ボード" border="0" data-original-height="415" data-original-width="577" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1AO99gNR7uoHzqZ71cxUe3-a1bp7wjf9SMTlt7lV0usSsg_e9gx_81d1x1X0RLev3GaRo8V77XXivkeLnFCB3dURVPdlD4q3IzG4MlJ9v4onMel0_v4OLbp3mu0yXaYXapAdvClp9BJUkAIkVcFjVKQbs8l82STYsSoKaspfT0lV-gIFwuJErb7mfDgay/w400-h288/117.png" width="400" /></a></div><p><br /></p><p>未実装の「Y2」クリスタルのホールから受信(<span style="color: #01ffff;">RXD</span>)と送信(<span style="color: #ff00fe;">TXD</span>)を引き出しましょう。</p><p>こんな感じ。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl3yRhMkLu4QncmaZdBtsxOyxDq_sTNHBcBiwn5LxGNvZ9D5dd6-qyQlSAIY4muv7C3J7cDuxXgGkZjKJFKoIKgbjRQCXTjXUQKVM8sPHXiA8cX7GdpjJ1KSqHWz0JTBZksyzDqq4PUgiQYGxrBCRaIqTkpqGR5r5s-6SPWD70tix6ymZXVRqw_qt4VFGZ/s960/DSC_0559.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="受信(RXD)と送信(TXD)の引き出し" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl3yRhMkLu4QncmaZdBtsxOyxDq_sTNHBcBiwn5LxGNvZ9D5dd6-qyQlSAIY4muv7C3J7cDuxXgGkZjKJFKoIKgbjRQCXTjXUQKVM8sPHXiA8cX7GdpjJ1KSqHWz0JTBZksyzDqq4PUgiQYGxrBCRaIqTkpqGR5r5s-6SPWD70tix6ymZXVRqw_qt4VFGZ/w400-h300/DSC_0559.JPG" width="400" /></a></div><p><br /></p><p>続いて、<span style="color: #999999;">GND</span>も引き出します。</p><p>こんな感じ。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit-kfU7dfzRkvckSj--0RxLc8nEP5L2Y_9nMC4nUjbQfMJfNDD17mjvPC-zRJi6olI7JfVzxzSRSLVgQHPfFRcVX1qvrWE-cqxL01ZCqRgvW0ic8dNefQML6mkgFBNpSaKQApMcQ1O_K0OqsMjyk7PatebqGOrBUQ50yL6DEk4pNoBzdkSs2f09gBkqMPU/s960/DSC_0560.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="GNDの引き出し" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit-kfU7dfzRkvckSj--0RxLc8nEP5L2Y_9nMC4nUjbQfMJfNDD17mjvPC-zRJi6olI7JfVzxzSRSLVgQHPfFRcVX1qvrWE-cqxL01ZCqRgvW0ic8dNefQML6mkgFBNpSaKQApMcQ1O_K0OqsMjyk7PatebqGOrBUQ50yL6DEk4pNoBzdkSs2f09gBkqMPU/w400-h300/DSC_0560.JPG" width="400" /></a></div><p><br /></p><p>これで、必要な信号線の引き出しは完了です。</p><p><br /></p><h2 style="text-align: left;"><u>プログラムの転送とデバッグ</u></h2><p>引き出した線は、パソコンのシリアルポートに接続します。</p><p>しかしながら、今どきシリアルポートが備えられているパソコンは稀でしょう。</p><p>そこで、以下のような市販のUSB/シリアル通信変換ケーブルを用意します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF9kVxeSOY6ODGl7xtLuYiVVKJXX3TInHqjhZENmRO4Db8v62bbR-u0npk9UZ7yH5IX5UTlC4uTxwAk4zFZpKx0p1oubFiaE1ttHvdUHNefMQtHdA4gfWUb-1uvUwZ08vMY8ymTcomIbn6z3A1q2oRFnlYp5eXaI0fYbqWltQY9-R5t5-xFpAHtGQ0ahjx/s640/cable.jpg" style="margin-left: 1em; margin-right: 1em;"><img alt="市販のUSB/シリアル通信変換ケーブル" border="0" data-original-height="480" data-original-width="640" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF9kVxeSOY6ODGl7xtLuYiVVKJXX3TInHqjhZENmRO4Db8v62bbR-u0npk9UZ7yH5IX5UTlC4uTxwAk4zFZpKx0p1oubFiaE1ttHvdUHNefMQtHdA4gfWUb-1uvUwZ08vMY8ymTcomIbn6z3A1q2oRFnlYp5eXaI0fYbqWltQY9-R5t5-xFpAHtGQ0ahjx/w400-h300/cable.jpg" width="400" /></a></div><p><br /></p><p>USB/シリアル通信変換ケーブルのコネクタの形状によりますが、引き出した信号線は圧着端子などで加工する必要があるかもしれません。</p><p>USB/シリアル通信変換ケーブル側の配線は、上から<span style="color: #ff00fe;">TXD</span>、<span style="color: #01ffff;">RXD</span>、<span style="color: #999999;">GND</span>の順番でこんな感じ。</p><p>これでシリアルポートが使えるようになりました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzfKn9yE9fyo97sRDfOEo1e294IwAJFMarPHpPLr5VxM1-nqhc7Enp_QoCl8_Zf5-FWWjMzaXWvow5oek82DL0KsZSwyQLQc_wW71rHeREy4fLEAUfwsvPukcJSPgrOeNBu0qkieSCbxwTI3UNtxsKxPMVCUwk9Fpv1SonoC80tif2WAQnNUdzp3FXdgA0/s960/DSC_0331.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="USB/シリアル通信変換ケーブル側の配線" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzfKn9yE9fyo97sRDfOEo1e294IwAJFMarPHpPLr5VxM1-nqhc7Enp_QoCl8_Zf5-FWWjMzaXWvow5oek82DL0KsZSwyQLQc_wW71rHeREy4fLEAUfwsvPukcJSPgrOeNBu0qkieSCbxwTI3UNtxsKxPMVCUwk9Fpv1SonoC80tif2WAQnNUdzp3FXdgA0/w400-h300/DSC_0331.JPG" width="400" /></a></div><p><br /></p><p>続いて、このUSB/シリアル通信変換ケーブルをパソコンに繋いでみましょう。</p><p>パソコン上でデバイスマネージャーを開きます。</p><p>ポート(COMとLPT)のサブカテゴリーとして「USB Serial Port」というポートが追加されているはずです。</p><p>(私のパソコンでは、「COM15」として認識されていますね。)</p><p>このポート番号、覚えておいて下さい。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu_vH8XrmWO1IYGk8GNtvbQEVRmMF5E930KGimwm_Bui1AF6ClWrZWv4dnHF6qHKOlV14ItbskF7PnBEM1Ksp0k1KypYm4XyXGJdttkGXjk2t-DwvrV0IVXGDFRT_IeSaRgpcZf9wc_C3AA_zx1JD6stGTcSoQeONaZxed2aBz3LQ2URSJ9F5X2HznTJlF/s781/118.png" style="margin-left: 1em; margin-right: 1em;"><img alt="デバイスマネージャー" border="0" data-original-height="572" data-original-width="781" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu_vH8XrmWO1IYGk8GNtvbQEVRmMF5E930KGimwm_Bui1AF6ClWrZWv4dnHF6qHKOlV14ItbskF7PnBEM1Ksp0k1KypYm4XyXGJdttkGXjk2t-DwvrV0IVXGDFRT_IeSaRgpcZf9wc_C3AA_zx1JD6stGTcSoQeONaZxed2aBz3LQ2URSJ9F5X2HznTJlF/w400-h293/118.png" width="400" /></a></div><p><br /></p><p>ここで、ターゲットとパソコンもUSBケーブルで繋げちゃいましょ。</p><p>ご覧の通り、通電します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLbv44_ez-EAJCJX2JMCZ1N3Bnbrwr19hhMuAG6p0bg70iBzgV5nT3Hhzh6T3JZ2LQg0FsvRyrAHtBEThQND_qEwqhNQTsIQFuPTUEGsrdfg4S44kUQ1Nqr8bAiYl7GZsMWXFVDSytFx5k9I6etLs5j0O1NAOQp9E-YHFT5xZiWyEqK9jDWqlT7xZKON26/s960/DSC_0561.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="ターゲットとパソコンの接続" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLbv44_ez-EAJCJX2JMCZ1N3Bnbrwr19hhMuAG6p0bg70iBzgV5nT3Hhzh6T3JZ2LQg0FsvRyrAHtBEThQND_qEwqhNQTsIQFuPTUEGsrdfg4S44kUQ1Nqr8bAiYl7GZsMWXFVDSytFx5k9I6etLs5j0O1NAOQp9E-YHFT5xZiWyEqK9jDWqlT7xZKON26/w400-h300/DSC_0561.JPG" width="400" /></a></div><p><br /></p><p>次に「<span style="color: #fcff01;">TeraTerm</span>」をご用意ください。</p><p>インストールしていない方は、このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#teraterm">TeraTermの導入</a>」の項目を参考にしてください。</p><p>もちろん、シリアル通信のターミナルであれば、他のものもお使いいただけます。</p><p>今回のTOPPERS/ASPのサンプルプログラムは、シリアル通信のメッセージを出力しますので、先程「<span style="color: #fcff01;">USB Serial Port</span>」として認識されたシリアルポート番号でターミナルを立ち上げておきましょう。</p><p>設定は、こんな感じです。</p><p>ボーレートは「9600」です。</p><p>(私のパソコンは、USB/シリアル通信変換ケーブルをCOM15として認識していました。)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-_FPHefX5f6J3vG4E2Mri05PPLSu3qeG2Yo9Vv_CcTll7zHHhIvaumXrL8R_jmNTZKrFF5Ab001s2fCvFSavYB6XgN0-n_GuqyLKP2VW95N_J8Mfht4en08AR-xBHwkfY1b1k0cFix3vQIEyrNYrXWpAx1yY51znICm2MVtjZLkiSk1vUs57BWRce6c_L/s529/119.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TeraTerm - シリアルポートの設定" border="0" data-original-height="455" data-original-width="529" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-_FPHefX5f6J3vG4E2Mri05PPLSu3qeG2Yo9Vv_CcTll7zHHhIvaumXrL8R_jmNTZKrFF5Ab001s2fCvFSavYB6XgN0-n_GuqyLKP2VW95N_J8Mfht4en08AR-xBHwkfY1b1k0cFix3vQIEyrNYrXWpAx1yY51znICm2MVtjZLkiSk1vUs57BWRce6c_L/w400-h344/119.png" width="400" /></a></div><div><p><br /></p><p>さて、「MPLAB X IDE」に戻りましょう。</p><p>「MPLAB X IDE」でプロジェクトを作成した状況から始めます。</p><p>画面左上の「Projects」リストにおいて「<span style="color: red;">OBJ</span>」プロジェクトが選択されていることを確認してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTq_VB6fHaosZe_8fsgJT8eYrj9APlkRD58AE32hEe_MeuncCC7n9DuRGO5ZcDcx9g4SQpuBSYMCk98cGIMp0xxWuYuYlHy3Rq5_1Jdf3_XBabCtl8myGZ2l8ZVipjtWckMnG68vnaN7gAt4auuDF7W96l9CZPdlf0IXxGzc9qZ4r_0CC6_wpwivOIxfxe/s600/112.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 1" border="0" data-original-height="500" data-original-width="600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTq_VB6fHaosZe_8fsgJT8eYrj9APlkRD58AE32hEe_MeuncCC7n9DuRGO5ZcDcx9g4SQpuBSYMCk98cGIMp0xxWuYuYlHy3Rq5_1Jdf3_XBabCtl8myGZ2l8ZVipjtWckMnG68vnaN7gAt4auuDF7W96l9CZPdlf0IXxGzc9qZ4r_0CC6_wpwivOIxfxe/w400-h334/112.png" width="400" /></a></div><p><br /></p><p>次に、プログラムの実行を行います。</p><p>画面上部の<span style="color: red;">デバッグボタン</span>をクリックします。</p></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_-iYjHqdnyMXHXtriK7rTzrLiJ36C21iLP2NNfLQMUCvcrguswmFdfuWEnWyANw2SEZB37sXxAW5n-NrvKZ8XLnBlaBF1MRe0GC6ePprIXEUoR8hFdW1XlXnReYNhiqV42uouukQNE33Z13b-mp5mjhbIJviY-QroTpiReAdJ0RS_ER5jYFl2-j6L22TQ/s600/120.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 2" border="0" data-original-height="300" data-original-width="600" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_-iYjHqdnyMXHXtriK7rTzrLiJ36C21iLP2NNfLQMUCvcrguswmFdfuWEnWyANw2SEZB37sXxAW5n-NrvKZ8XLnBlaBF1MRe0GC6ePprIXEUoR8hFdW1XlXnReYNhiqV42uouukQNE33Z13b-mp5mjhbIJviY-QroTpiReAdJ0RS_ER5jYFl2-j6L22TQ/w400-h200/120.png" width="400" /></a></div><p><br /></p><p>デバッガの起動には、意外と時間がかかります。</p><p>もしこの時、以下のようなエラーが表示されてしまったら、それはサンプルプログラムがビルドされていない証拠です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg10kz0IJ_tzgHgjRiOJ0PicWEg7A7_v4mHDgrtmPi3WF1cpvsRg4TnVOztQOaTEzRb8RH_GC7cF8enwvRMamXEim1TsnGGt3z_Xs7IUSjfre7TqE9k05u3QrbVtWdwyMJLsP5WdRYhKJNbzqm7jv6BCQdoAbnkkPHWvKhqolGqgR1Ia166prs2kD1TqKsl/s800/121.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 3" border="0" data-original-height="500" data-original-width="800" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg10kz0IJ_tzgHgjRiOJ0PicWEg7A7_v4mHDgrtmPi3WF1cpvsRg4TnVOztQOaTEzRb8RH_GC7cF8enwvRMamXEim1TsnGGt3z_Xs7IUSjfre7TqE9k05u3QrbVtWdwyMJLsP5WdRYhKJNbzqm7jv6BCQdoAbnkkPHWvKhqolGqgR1Ia166prs2kD1TqKsl/w400-h250/121.png" width="400" /></a></div><p><br /></p><p>「Eclipse」の方で「Makeターゲット」タブから「<span style="color: red;">depend</span>」、「<span style="color: red;">all</span>」の順にダブルクリックして、ビルドを終わらせましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLRvFU_5UORaCBBxxJGnGaka32MYfzliowQRw37E0ezJSK5im4Yzqh2k5MuiQ7MxHm18sq2gMU2FXWnyaD-vv6SF010UqLE8geJ0guHec9Iyq5UrnumZPW13Mot8XlQVoX25gEr3G0TjPELriD8KnRX-PtergzpD7rChYQgKpeexJOp-2ET4G52pjOkTT4/s700/122.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Eclipse」" border="0" data-original-height="700" data-original-width="400" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLRvFU_5UORaCBBxxJGnGaka32MYfzliowQRw37E0ezJSK5im4Yzqh2k5MuiQ7MxHm18sq2gMU2FXWnyaD-vv6SF010UqLE8geJ0guHec9Iyq5UrnumZPW13Mot8XlQVoX25gEr3G0TjPELriD8KnRX-PtergzpD7rChYQgKpeexJOp-2ET4G52pjOkTT4/w229-h400/122.png" width="229" /></a></div><p><br /></p><p>無事にデバッガが起動すると、立ち上げておいたターミナルに以下のような表示が出ていると思います。</p><p>TOPPERS/ASPカーネルとそのサンプルプログラムの転送と実行に成功です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaOmn4ZFmv1bbpernl4iGEPn8g8xX0bvdO04l0MAXUx3kihZRmog_RS6zq2YqHExE1QFcfc0dcqz1F3g8klHFzm-ZukhJK_223c57JiAN35lV9Wf52HPc5GOqkQHZAhifhGI3QxaYRIwPkR7ngwjCLk5HwNUOvAVZUBGfm7N1V3mlHEYWIlqxvDh2_INxX/s659/93.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TeraTermの表示" border="0" data-original-height="486" data-original-width="659" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaOmn4ZFmv1bbpernl4iGEPn8g8xX0bvdO04l0MAXUx3kihZRmog_RS6zq2YqHExE1QFcfc0dcqz1F3g8klHFzm-ZukhJK_223c57JiAN35lV9Wf52HPc5GOqkQHZAhifhGI3QxaYRIwPkR7ngwjCLk5HwNUOvAVZUBGfm7N1V3mlHEYWIlqxvDh2_INxX/w400-h295/93.png" width="400" /></a></div><p><br /></p><p>ブレークポイントを試してみましょう。</p><p>動作中のプログラムを停止します。</p><p>画面上部の「<span style="color: red;">■</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVcS9O1IZk33pKEgUSM9eKGr__cnAx13qAcYp4xksVfqTVnuvdrCHZzS-LfoXa5sUuHqoeqbhjPgKPCeIJnN56oasuHjBHgUXma13Ba5igBXhxF3q22s6B5UVpeus_4xGZsEzrs8mjIzg06KUlP7kx05w1TbVjqWCrpzXFzO9H3zwz3vZqLDQ6ydPX7CbA/s600/124.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 4" border="0" data-original-height="300" data-original-width="600" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVcS9O1IZk33pKEgUSM9eKGr__cnAx13qAcYp4xksVfqTVnuvdrCHZzS-LfoXa5sUuHqoeqbhjPgKPCeIJnN56oasuHjBHgUXma13Ba5igBXhxF3q22s6B5UVpeus_4xGZsEzrs8mjIzg06KUlP7kx05w1TbVjqWCrpzXFzO9H3zwz3vZqLDQ6ydPX7CbA/w400-h200/124.png" width="400" /></a></div><p><br /></p><p>ブレークポイントを仕掛けましょう。</p><p>エクスプローラーで「TOPPERS/ASP PIC32MX版」のソースツリーの「OBJ」ディレクトリの中にある「<span style="color: red;">sample1.c</span>」をドラッグし「MPLAB X IDE」にドロップして、ソースコードを表示します。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggecimMwoI_mOBBZj2bYmCkoLhjtnB6hQXFxbWLX3cECHt8IJMFpBkXeQKfWU0U5G4SokqbCg_g2Bw_r4k2Dy-CTDL7ZVA58Uc4aNRPWIXsyacLl-KjQdm9jr4fr0nquad3_p3GqPd2Bp--HactaK6UnUbhQSria9dGYlXJVkY6Tj_YoixbP1M_puoOiqa/s1280/114.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 5" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggecimMwoI_mOBBZj2bYmCkoLhjtnB6hQXFxbWLX3cECHt8IJMFpBkXeQKfWU0U5G4SokqbCg_g2Bw_r4k2Dy-CTDL7ZVA58Uc4aNRPWIXsyacLl-KjQdm9jr4fr0nquad3_p3GqPd2Bp--HactaK6UnUbhQSria9dGYlXJVkY6Tj_YoixbP1M_puoOiqa/w400-h308/114.png" width="400" /></a></div><p><br /></p><p>このソースコードの丁度中盤くらい、メインタスクの始めに仕掛けましょうか。</p><p>ブレークポイントは、ソースコードビューの左端をクリックすると<span style="color: red;">■</span>が表示され、セットされていることを表します。</p><p>仮に、これを再びクリックするとブレークポイントが解除され<span style="color: red;">■</span>も消えます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFn2q2gsA6A0gVUsEHksAwaL7E71vX9ZaX0NLNeNo3fgWoOcgfhpFc-jj5cSMNylqe95Du7aDo9tgB9lbN57KaqADY82BS5LEOCBw5DQsuoQu7s7j3PE4ktLDZaAuF7mZIFHDz8NQkep1TgpDTTKHg6hBxNZdr7HcRkrcxqCa79453BwjxCDw2oiNeqVi/s1280/125.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 6" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFn2q2gsA6A0gVUsEHksAwaL7E71vX9ZaX0NLNeNo3fgWoOcgfhpFc-jj5cSMNylqe95Du7aDo9tgB9lbN57KaqADY82BS5LEOCBw5DQsuoQu7s7j3PE4ktLDZaAuF7mZIFHDz8NQkep1TgpDTTKHg6hBxNZdr7HcRkrcxqCa79453BwjxCDw2oiNeqVi/w400-h308/125.png" width="400" /></a></div><p><br /></p><p>では、ブレークポイントを仕掛けた状態で、プログラムを再び実行してみます。</p><p>上手く引っかかってくれるでしょうか…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5H_He8GGWiCjbpaDIAJanhOrsEGznf-UW73nZxyg8ynntk-_lpmcwnUALa4JW-Iue8p1UMUr2U26NfQSxHHRaRDCHazihKxJ8cDXNdsSNFo01NqXXdUdmW81Tbj0rb8vi53MjALfcrFcYALYc0XGrKcpsfzRLM8j0UsMxhChFcV5oTa7vXQ88wuYgHz8U/s600/120.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 7" border="0" data-original-height="300" data-original-width="600" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5H_He8GGWiCjbpaDIAJanhOrsEGznf-UW73nZxyg8ynntk-_lpmcwnUALa4JW-Iue8p1UMUr2U26NfQSxHHRaRDCHazihKxJ8cDXNdsSNFo01NqXXdUdmW81Tbj0rb8vi53MjALfcrFcYALYc0XGrKcpsfzRLM8j0UsMxhChFcV5oTa7vXQ88wuYgHz8U/w400-h200/120.png" width="400" /></a></div><p><br /></p><p>以下のようにプログラムが停止すれば成功です!</p><p>ここからは、「F8」キーでステップオーバー、「F7」キーでステップインなど、おなじみの操作が使用できます。</p><p>因みに、ステップオーバーやステップインなどを行っている時に命令が飛んでしまったり前後したりする場合は、最適化のせいです。</p><p>デバッグ時は、このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#debug">サンプルプログラムのデバッグ</a>」の項目を参考に最適化を解除しましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirchXuC_pH1l06_f8jAHNaVsvcNFIKiDtzNioFQWfvb1mP6CV4eEjfSYSYnzEs-vl47tObt5XYAqWG3IhGRzuNtmFdtRkKVnH74jhkFFz6rfs6OLcAvzeGAVWPEayFJPnJyPvwIiSmdQzi6TyMKcyeFxodVhOuWtRmIG5FJqs3TnG0-mkVDTRkbQSdey1n/s1280/126.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB X IDE」 - 8" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirchXuC_pH1l06_f8jAHNaVsvcNFIKiDtzNioFQWfvb1mP6CV4eEjfSYSYnzEs-vl47tObt5XYAqWG3IhGRzuNtmFdtRkKVnH74jhkFFz6rfs6OLcAvzeGAVWPEayFJPnJyPvwIiSmdQzi6TyMKcyeFxodVhOuWtRmIG5FJqs3TnG0-mkVDTRkbQSdey1n/w400-h308/126.png" width="400" /></a></div><p><br /></p><p>今回の「TOPPERS/ASP PIC32MX版」は、やることが多くて大変でした~。</p><p><span style="color: #fcff01;">お疲れ様でした!!</span></p><p>次回はいよいよ最終回。</p><p>サンプルプログラムの動きの説明や、PIC32MX版カーネルの詳細な情報や注意事項などを書いていきます。</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/11/toppersasp-pic32mx.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-67646798883895966542023-10-13T20:38:00.000-07:002023-11-13T19:19:05.909-08:00TI「LAUNCHXL-F280049C」C2000リアルタイム・マイコン評価ボード<p>またまた、新しいオモチャを買ってしまいました。</p><p>最近は遊ぶ時間もないのにぃ~。</p><p>TI社のリアルタイム・マイコン「C2000」シリーズの評価ボード「LAUNCHXL-F280049C」です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuQL-jF8-GAD-L7sZpqz20UAP21pWqJLBZi0Yy-4flEC2oV87tUO8pqjSpOAyN1ieNEgkpFTPzAnN1lE9A24ioOKV8awzemGmI3lqodAMEGSKcBjewmzWu1zAhQejbPVL-OUD22QlcIEh21fLseEgwDBRUN0lL44qNjN7U6CvTbErvj8CS9pIO4lAH3j70/s960/DSC_0554.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「LAUNCHXL-F280049C」評価ボード - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuQL-jF8-GAD-L7sZpqz20UAP21pWqJLBZi0Yy-4flEC2oV87tUO8pqjSpOAyN1ieNEgkpFTPzAnN1lE9A24ioOKV8awzemGmI3lqodAMEGSKcBjewmzWu1zAhQejbPVL-OUD22QlcIEh21fLseEgwDBRUN0lL44qNjN7U6CvTbErvj8CS9pIO4lAH3j70/w400-h300/DSC_0554.JPG" width="400" /></a></div><p><br /></p><p>この「C2000」シリーズって、あまりメジャーなマイコンではないですよね。</p><p>メーカーの説明は<a href="https://www.ti.com/ja-jp/microcontrollers-mcus-processors/c2000-real-time-control-mcus/overview.html" target="_blank">コチラ</a>からどうぞ。</p><p>この「LAUNCHXL-F280049C」評価ボードには「<span style="color: #fcff01;">TMS320</span>F280049C」という型番のマイコンが積まれているようです。</p><p>ん?「<span style="color: #fcff01;">TMS320</span>」だって!?</p><p>ベテランさんの中には、この型番には聞き覚えがある人も多いのでは?</p><p>そう、「TMS320」はTI社の名作シグナルプロセッサ、すなわち<span style="color: #fcff01;">DSP(digital signal processor)</span>ですね。</p><p>DSPに関する詳細としましては、<a href="https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%B7%E3%82%B0%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5" target="_blank">コチラ</a>をご覧いただくとして、簡単に言ってしまえば、デジタル信号処理に特化したマイクロプロセッサのことです。</p><p>それに対して、普通のマイコンは汎用マイクロプロセッサと呼んだりします。</p><p>DSPとは、数値演算を非常に高速に処理すること<span style="color: #fcff01;">のみ</span>を得意とする風変わりなCPU…という解釈で良いと思います。</p><p>例えば、掛け算。</p><p>人間が手計算でやっても単純な足し算や引き算よりも時間がかかりますよね?</p><p>普通のマイコン、すなわち汎用マイクロプロセッサにとってもそれは同じです。</p><p>例えば「<span style="color: #fcff01;">3✕6=</span>」を普通のマイコンにやらせると、3を6回足し算するという処理になります。</p><p>これをアセンブラで書くと、何ステップにもなります。</p><p>すなわち、処理に時間がかかるということです。</p><p>一方のDSPでは「<span style="color: #fcff01;">3✕6=</span>」をたった1ステップで行う命令がハードウェア的に用意されています。</p><p>つまり、時間がかからず処理が速いということです。</p><div><span style="color: #fcff01;">すげー、だったら普通のマイコンは捨てちゃって、処理の速い全部DSPに置き換えればいいじゃん!</span>って思いますよね?</div><p>しかし元来、DSPは数値演算以外のことは苦手です。</p><p>たとえば、条件分岐や様々なタイプのジャンプなど、普通のマイコンが普通にできることが難しかったりするのです。</p><p>これをもって「<span style="color: #fcff01;">DSPは汎用性がない</span>」と言ったりします。</p><p>したがって、普通のマイコンとDSPは、長い間、各々の得意の分野によって使い分けられてきました。</p><p><br /></p><p>ですが…。</p><p><br /></p><p><span style="color: #01ffff;">やはり、DSPの高速演算処理は魅力的!</span></p><p><span style="color: #01ffff;">なんとか普通のマイコンの汎用性とDSPの性能のイイトコドリはできないだろうか!?</span></p><p><br /></p><p>という思想のもとに、2つの系譜が出来上がりました。</p><p>一つ目は、普通のマイコンにDSPの機能を加えたものです。</p><p>これには、ARMのCortex-M4やCortex-M7、<a href="https://ja.wikipedia.org/wiki/Blackfin" target="_blank">Blackfin</a>など他多数が該当します。</p><p>二つ目は、DSPに汎用性を付加して普通のマイコンのように使えるようにしたものです。</p><p>「C2000」シリーズは、まさにこの系譜のものでしょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmSbIwbrhJq8cI-IkMBaw6pO5b8f028Fjbyecc10WSh5sucwp9GmioAVZI_fYCstuWxhn7e_d8_b2_BNtmGw_Q9LrBjG5iGtYzs_qvGNTq_BKMY6orfswBhxB7RqwZn2375WrIqdn5xv3Lr9rS44PWwYaU9D0pPyNCMorz3HEjPQK0DQC0gove5RnMvGRT/s960/DSC_0555.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「LAUNCHXL-F280049C」評価ボード - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmSbIwbrhJq8cI-IkMBaw6pO5b8f028Fjbyecc10WSh5sucwp9GmioAVZI_fYCstuWxhn7e_d8_b2_BNtmGw_Q9LrBjG5iGtYzs_qvGNTq_BKMY6orfswBhxB7RqwZn2375WrIqdn5xv3Lr9rS44PWwYaU9D0pPyNCMorz3HEjPQK0DQC0gove5RnMvGRT/w400-h300/DSC_0555.JPG" width="400" /></a></div><p><br /></p><p>この「C2000」シリーズは、RTOSとしては、FreeRTOSとTI社独自のTI-RTOSが用意されていますので、DSPの性能を活かした色々な工作ができそうです。</p><p>デジタル電源や、ギターのエフェクターやフィルターとか…。</p><p>要は、リアルタイムに多くの数値演算が必要になるアプリケーションにウッテツケです。</p><p>残念ながら、私の使い慣れている「TOPPERS/ASP」は移植されていないので、そこから作っていくのも楽しいかもしれませんね。</p><p>なんとか時間を作ってチャレンジしてみます。</p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-37030960310798431142023-10-06T20:26:00.001-07:002023-12-24T17:10:30.506-08:00TOPPERS/ASP - PIC32MX版 その8<p><a href="https://www.madogiwakoubou.com/2023/09/toppersasp-pic32mx_22.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>プロジェクトの作成(Eclipse編)</u></h2><p>前回までの作業で、開発環境をインストールし、PIC32MX版TOPPERS/ASPのソースコードをダウンロードし、それをコマンドラインでビルドするまでを行いました。</p><p>このままずっとコマンドラインで作業するのもシンドいので、Eclipse上でビルドが行えるようにプロジェクトを作成しましょう。</p><p>このページ(<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html">TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ</a>)の「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#create">プロジェクトの作成</a>」および「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#clean_build">プロジェクトのクリーンとビルド</a>」の項目を参考にプロジェクトを作成してください。</p><p>「<a href="https://www.madogiwakoubou.com/p/toppersasp_21.html#registration">デバッガの登録</a>」の項目は読み飛ばしてください。</p><p>今回はデバッグ作業をこのEclipse上で行わず、次にプロジェクトを作成する「MPLAB X IDE」上で行う方針なので、この作業は必要ありません。</p><p>Eclipseの画面右側に以下のようなアイコンが表示されて、これらをダブルクリックすることによりビルドができるまでを確認してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFBTQL1-fFA13beLNbpDE00B6S-4gZzWzJvd0x9alHt5of5Rs7yeDXuv0-hOejf0klPMixSQc1VtVstUVDZsMMqkf6ClCq568aGdMhOZw3D98O8zjfdrhdB1sOjFYkpToxD38xenjoZQD-_FK5wufHIKkKblFxMmlorvH5N0ZpSLuS34P1Vn4VzTPIC0de/s600/107.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Eclipse" border="0" data-original-height="600" data-original-width="500" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFBTQL1-fFA13beLNbpDE00B6S-4gZzWzJvd0x9alHt5of5Rs7yeDXuv0-hOejf0klPMixSQc1VtVstUVDZsMMqkf6ClCq568aGdMhOZw3D98O8zjfdrhdB1sOjFYkpToxD38xenjoZQD-_FK5wufHIKkKblFxMmlorvH5N0ZpSLuS34P1Vn4VzTPIC0de/w334-h400/107.png" width="334" /></a></div><p><br /></p><h2 style="text-align: left;"><u>プロジェクトの作成(MPLAB X IDE編)</u></h2><p>さて、もう一方のIDEである「MPLAB X IDE」用のプロジェクトも作りましょう。</p><p>とはいえ、既にこのプロジェクトは「TOPPERS/ASP PIC32MX版」のソースツリーのディレクトリの中に既に用意してあります。</p><p>「<span style="color: red;">OBJ.X</span>」というディレクトリがそれです。</p><p>(<span style="color: #fcff01;">「asp_pic32mx_gcc」や「asp_pic32mx_gcc_master」を「asp_1.9.2」に改名した場合。</span>)</p><p><br /></p><p><span style="color: #01ffff;">C:\cygwin64\home\<ユーザー名>\asp_1.9.2</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-c-L-7Yp9HB9vQeRqW4hNkLSGp_X8S2EaeqyxIOqWXBgCMnaBAE593QWtSMqVbitCmhu3t8FZadj_LPuzoVHNUdUj5sHw_s_Yli8TpNQlmOATT1ZOI9-nOP7vfH29VY6s0Bx6rhIZofDrrO71Grd4O0XrynUlI7FEo0bY3y19mGI25_yOYiMoz1UbokzY/s665/108.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「OBJ.X」ディレクトリ" border="0" data-original-height="378" data-original-width="665" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-c-L-7Yp9HB9vQeRqW4hNkLSGp_X8S2EaeqyxIOqWXBgCMnaBAE593QWtSMqVbitCmhu3t8FZadj_LPuzoVHNUdUj5sHw_s_Yli8TpNQlmOATT1ZOI9-nOP7vfH29VY6s0Bx6rhIZofDrrO71Grd4O0XrynUlI7FEo0bY3y19mGI25_yOYiMoz1UbokzY/w400-h228/108.png" width="400" /></a></div><p><br /></p><p>それでは「MPLAB X IDE」を起動させましょう!</p><p>起動させた場合、画面左上の「Projects」タブには、以前作成した雛形プロジェクトを示す「<span style="color: red;">Hinagata</span>」のみが登録されていることを確認してください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEk25fj_Wx40xdMq7h47AUZvZx0G2NU647zS_KB_oN9WYTwtaSuhlecvLuB96F1cC5FIpUk_8PFhBDuzKR3aiXvOCuXZFagZvl6Jn2AmFzGDSqTXi_IyZhpt816bR70y0tUj-uITPAjxkQU1eMho8rlZ2uyqmWViieR1yufII_pMcALBSzj1S8qwVsC1bQ/s1280/109.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB IDE」 - 1" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEk25fj_Wx40xdMq7h47AUZvZx0G2NU647zS_KB_oN9WYTwtaSuhlecvLuB96F1cC5FIpUk_8PFhBDuzKR3aiXvOCuXZFagZvl6Jn2AmFzGDSqTXi_IyZhpt816bR70y0tUj-uITPAjxkQU1eMho8rlZ2uyqmWViieR1yufII_pMcALBSzj1S8qwVsC1bQ/w400-h308/109.png" width="400" /></a></div><p><br /></p><p>件の「OBJ.X」プロジェクトをここに登録したいと思います。</p><p>画面左上の「File」メニューから「<span style="color: red;">Open Project...</span>」項目をクリックしてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ZXJsU-XA3LNUxbxG0s8RCVpCfPZ81CK9bAivTSxq76xkZtcGMoSxxl38wU19cHjfa8N5yRpp6xDbQONWCQCemUNo6f0KmPm_B3CAFcAHX18sw7HNHOW4MhQi_iMsvvot-nrUhZTbOTkYKGvADlS3NOXD3r6o-iiVfcJg1ze7p4LpmrbTDqFHn8ToclLY/s700/110.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB IDE」 - 2" border="0" data-original-height="600" data-original-width="700" height="343" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ZXJsU-XA3LNUxbxG0s8RCVpCfPZ81CK9bAivTSxq76xkZtcGMoSxxl38wU19cHjfa8N5yRpp6xDbQONWCQCemUNo6f0KmPm_B3CAFcAHX18sw7HNHOW4MhQi_iMsvvot-nrUhZTbOTkYKGvADlS3NOXD3r6o-iiVfcJg1ze7p4LpmrbTDqFHn8ToclLY/w400-h343/110.png" width="400" /></a></div><p><br /></p><p>以下のようなダイアログが表示されますので「<span style="color: red;">OBJ.X</span>」のディレクトリを選択してやってから「<span style="color: red;">Open Project</span>」ボタンをクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9mvZ05gEsTKAJWp66G2z9ANINmssolRbOQWmVEQgSkiihPFYf_V-6hns6wto8EBxhwomt1doy4UYk-Yu2uVckgi6TGDGF_gfm-oxGCBH9kPOZvBuT5hhRPPjbg3E7iFhS5AP6e0kPN5nTZ7G_FKDhArqsP8PJBJ1X21zWLGU9X0Mj1f57wuaCjhkAuUPj/s765/111.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「Open Project」ダイアログ" border="0" data-original-height="397" data-original-width="765" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9mvZ05gEsTKAJWp66G2z9ANINmssolRbOQWmVEQgSkiihPFYf_V-6hns6wto8EBxhwomt1doy4UYk-Yu2uVckgi6TGDGF_gfm-oxGCBH9kPOZvBuT5hhRPPjbg3E7iFhS5AP6e0kPN5nTZ7G_FKDhArqsP8PJBJ1X21zWLGU9X0Mj1f57wuaCjhkAuUPj/w400-h208/111.png" width="400" /></a></div><p><br /></p><p>すると、画面左上の「Projects」タブには、新たに「<span style="color: red;">OBJ</span>」というディレクトリが追加されていることが確認できるはずです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSVJnQo-XIyANnrFjXiGq4_8nTiJuLmV6mrE8op-00P7hDO9TEuER4Ayw-G6KB4_BmQ1lXWQoIbfSTHoYSwrgrlGPxmxDOL1z4vNEXLoSkj0jYs90JjEKKNhA1PF3VKKWH8BjYpOjpZGMiFRsRanjsr53amQHGwdnzeHU_X9z-stqFWa7-oMdoaFHKsSm1/s600/112.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB IDE」 - 3" border="0" data-original-height="500" data-original-width="600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSVJnQo-XIyANnrFjXiGq4_8nTiJuLmV6mrE8op-00P7hDO9TEuER4Ayw-G6KB4_BmQ1lXWQoIbfSTHoYSwrgrlGPxmxDOL1z4vNEXLoSkj0jYs90JjEKKNhA1PF3VKKWH8BjYpOjpZGMiFRsRanjsr53amQHGwdnzeHU_X9z-stqFWa7-oMdoaFHKsSm1/w400-h334/112.png" width="400" /></a></div><p><br /></p><p>ここで注意していただきたいことがあります。</p><p><span style="color: #fcff01;">このプロジェクトのビルド対象は「OBJ.X」ではなく、同じディレクトリにある「OBJ」ディレクトリ以下のソースコードです。</span></p><p>なので、以下のように「<span style="color: red;">Source Files</span>」をクリックすると「OBJ」ディレクトリ以下のソースコードのリストが展開されると思うでしょう?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRTfEVAuux8s4FdHLpDX0NU35boYS77n7LApE1iNztWPgzrsnRZNTNrozrrM3t6DG1V8xsMayRJuJrdWGVbR3TgN70qUkcddNY3GuvUddZ6UfEjMLGaC4HfQkLG0GOdE-uCQQW6O6E2qtw5LCFgOYxP12v-hyB5_kIKdortWHRapdAUi_NJ7wSnWUZTQBY/s600/113.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB IDE」 - 4" border="0" data-original-height="500" data-original-width="600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRTfEVAuux8s4FdHLpDX0NU35boYS77n7LApE1iNztWPgzrsnRZNTNrozrrM3t6DG1V8xsMayRJuJrdWGVbR3TgN70qUkcddNY3GuvUddZ6UfEjMLGaC4HfQkLG0GOdE-uCQQW6O6E2qtw5LCFgOYxP12v-hyB5_kIKdortWHRapdAUi_NJ7wSnWUZTQBY/w400-h334/113.png" width="400" /></a></div><p><br /></p><p>しかしながら、今回用いた方法ではそのようにはなりません。</p><p><span style="color: #fcff01;">「Source Files」をクリックしても何も起こりません。</span></p><p>その上の「Header Files」も同様です。</p><p>その理由は、今回の方法は、雛形プロジェクトの時とは異なり「MPLAB X IDE」にとっては通常のプロジェクト作成手順ではないためです。</p><p>今回の場合「MPLAB X IDE」を使うのは、単にデバッガを操作するためであり、ソースコードの編集などはEclipseの方で行う方針なので、ソースコードの閲覧はEclipseの方で行ってください。</p><p>でも、デバッガのみを使う場合でも、ブレークポイントを仕掛ける際にソースコードを表示しなければなりませんよね。</p><p>では、どうするか?</p><p>その場合は、以下の方法が簡単です。</p><p>たとえば、サンプルプログラムのメインのソースコードである「<span style="color: red;">sample.c</span>」を「MPLAB IDE」で表示したい場合、以下のように「OBJ」ディレクトリの中にある「<span style="color: red;">sample.c</span>」をドラッグして「Start Page」タブにドロップしてみてください。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ9HmCKPXU29nfdIg6C4tTHKa55LqPmrEGeobvNua8Rx2ZZqsNTPRx-pis1_pjPEFa1qRmHLLg3mZ5YziNLM9dH8W4Ktmk2Cg9Lv0Fd3BQjQ8oHPL4RMG420lOM3O7IguKyctuqG9m_KNqUK9XoS5TQ8VJyTb5cYpBgML1Y0-9nOlJNMBHu6yr3GxzI6e2/s1280/114.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB IDE」 - 5" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ9HmCKPXU29nfdIg6C4tTHKa55LqPmrEGeobvNua8Rx2ZZqsNTPRx-pis1_pjPEFa1qRmHLLg3mZ5YziNLM9dH8W4Ktmk2Cg9Lv0Fd3BQjQ8oHPL4RMG420lOM3O7IguKyctuqG9m_KNqUK9XoS5TQ8VJyTb5cYpBgML1Y0-9nOlJNMBHu6yr3GxzI6e2/w400-h308/114.png" width="400" /></a></div><p><br /></p><p>すると、新たに「sample.c」タブが作成され、「sample.c」の内容が表示されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs6ISGiQoawP4EjTydk7ALUu_pgGQO0ifox0ddr9H2aaHWyhdafEoChFbd4ng-itld2E5IRWTL872WwB90gpDTTxgfoZMLKyhC_gdgRauRjuExqSGhsWa1HZFBbiXzrDK8M2U5k8tnnrSZhIJ3i67Rj9yV2uAsdImLhmdotYV2a_WsLncwsEE3A3owfpkB/s1280/115.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB IDE」 - 6" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs6ISGiQoawP4EjTydk7ALUu_pgGQO0ifox0ddr9H2aaHWyhdafEoChFbd4ng-itld2E5IRWTL872WwB90gpDTTxgfoZMLKyhC_gdgRauRjuExqSGhsWa1HZFBbiXzrDK8M2U5k8tnnrSZhIJ3i67Rj9yV2uAsdImLhmdotYV2a_WsLncwsEE3A3owfpkB/w400-h308/115.png" width="400" /></a></div><p><br /></p><p>この方法で「OBJ」ディレクトリ内のソースコードを閲覧することも出来ますし、ソースコードの中の任意の行にブレークポイントを仕掛けることもできます。</p><p>同じ操作を繰り返せば、複数のソースコードの表示も可能です。</p><p>ちょっと不便かもしれませんけど…。</p><p><span style="color: #fcff01;">申し訳ないです。</span></p><p><br /></p><p>ともあれ、これで「MPLAB X IDE」の方のプロジェクトも準備ができました。</p><p>あとは、ビルドしたプログラムを実機に転送して実行させて、デバッグの方法を確認するだけです。</p><p>次回は、いよいよそれを行っていきましょう!</p><p><br /></p><p><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-pic32mx_17.html"><続く></a></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-10003718702320298292023-09-29T20:37:00.000-07:002023-12-13T19:22:37.405-08:00「MSX0 Stack」がやってきた!<p>ついに我が家にも「<span style="color: #fcff01;">MSX0 Stack</span>」が到着しました!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPpvahbmCKB0imJA6qs36xzZEVLsKS98pnQ4s-CSQEcBx5r63Uj6mF4fOYBshFAy1skb_TZoUGTDAF5N3ZK5Hc07w7Lwr0CkJoG3SGwWSCxh1uN9ZjL1dLBVtr-jRZVErY0tcAjBfSDZZBKVsssO8HeYiE5uHE8g8596_HhFYC5cUVj90XILwzrIBszlP/s960/DSC_0572.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「MSX0 Stack」 - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPpvahbmCKB0imJA6qs36xzZEVLsKS98pnQ4s-CSQEcBx5r63Uj6mF4fOYBshFAy1skb_TZoUGTDAF5N3ZK5Hc07w7Lwr0CkJoG3SGwWSCxh1uN9ZjL1dLBVtr-jRZVErY0tcAjBfSDZZBKVsssO8HeYiE5uHE8g8596_HhFYC5cUVj90XILwzrIBszlP/w400-h300/DSC_0572.JPG" width="400" /></a></div><p><br /></p><p>「MSX」とは何ぞや?…という方は、<a href="https://www.madogiwakoubou.com/2022/08/msx-devcon-1-tokyo.html">コチラ</a>を参考にしてください。</p><p>入手方法は<a href="https://camp-fire.jp/projects/view/648742" target="_blank">クラウドファンディング</a>で、すでに受付は終了し新たに入手することはできませんが、そのうちAmazonなどでも気軽に買えるようになるかもしれません。</p><p>入手し損ねた方は、期待して待ちましょう!</p><p>早速、届いたダンボールを開封。</p><p>丁寧に梱包されています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaPIbf46UACshDMVjhsXmEnRO6H1DkU1fL8GVe4Tv0ZrFJCoUWd80ssgRjwt7JxhjXyj9BtaRhu_Wom1dkUJKRPA0MEiNb3MgWVZ3Z4b-S5OCvtiBJPDmwvZxrY2dCZrkyYgnc0q-ynOkoSV8621ZecO5Irb8L6icUU3vDWaEzP3Un0c8SDWHZM_zN7sVW/s960/DSC_0562.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="ダンボール開封" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaPIbf46UACshDMVjhsXmEnRO6H1DkU1fL8GVe4Tv0ZrFJCoUWd80ssgRjwt7JxhjXyj9BtaRhu_Wom1dkUJKRPA0MEiNb3MgWVZ3Z4b-S5OCvtiBJPDmwvZxrY2dCZrkyYgnc0q-ynOkoSV8621ZecO5Irb8L6icUU3vDWaEzP3Un0c8SDWHZM_zN7sVW/w400-h300/DSC_0562.JPG" width="400" /></a></div><p><br /></p><p>私がオーダーしたのは、最もスタンダードな「<span style="color: #fcff01;">PLAN A</span>」というもの。</p><p>2つのパッケージが出てきました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJAVhdA3I-H0Z0UB9M0OXHHBiBGF-QXIPOJa_7PKv6fmoaABzlhhDlFm1LCwPchu_3OtnxzA4sVSDQFPc2kH5TxC8X3X8nkjsWUF0p0yA2_W484_JN3TBAKRIGmvNI2vGXHADWnZPnaVskJRtyROwFKUq3_9SbDzq_qcTeZzn6nCTHMDVas_1jnKppY-Cy/s960/DSC_0563.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="2つのパッケージ" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJAVhdA3I-H0Z0UB9M0OXHHBiBGF-QXIPOJa_7PKv6fmoaABzlhhDlFm1LCwPchu_3OtnxzA4sVSDQFPc2kH5TxC8X3X8nkjsWUF0p0yA2_W484_JN3TBAKRIGmvNI2vGXHADWnZPnaVskJRtyROwFKUq3_9SbDzq_qcTeZzn6nCTHMDVas_1jnKppY-Cy/w400-h300/DSC_0563.JPG" width="400" /></a></div><p><br /></p><p>このうち「<span style="color: #fcff01;">BOTTOM2</span>」というのは拡張バッテリーのようです。</p><p>本体は「<span style="color: #01ffff;">F</span><span style="color: red;">A</span><span style="color: #fcff01;">C</span><span style="color: #04ff00;">E</span><span style="color: #ff00fe;">S</span>」と書いてあるプラスチックの箱の中に入っているみたいです。</p><p>では、プラスチックの箱を開けてみましょう。</p><p><span style="color: #fcff01;">こういう瞬間が楽しいのです!</span></p><p>ご丁寧に、アダプタ付きのSDカードとUSB Cのケーブルが見えますね。</p><p>ここでも発泡スチロールで厳重に梱包されています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1P5mzoXl9K5H3b0hx-INny08X1dlD0QIn-Id-VhWKmnqKeq1AXVlOHjjo_2Qrw-GEoEKOx8VUiOBM7gcb7Dr-NOhfIsk0JJ5rTQQx_euuB7bEeLoiCR7TJUX3NPwGZzrjtK7t9i9QlPFHvJcL5jmCQS1uStGxC3dZ-LfLJ2Fplz3KVvzmhaaiDXPo3Ps/s960/DSC_0564.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="開封 - 1" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1P5mzoXl9K5H3b0hx-INny08X1dlD0QIn-Id-VhWKmnqKeq1AXVlOHjjo_2Qrw-GEoEKOx8VUiOBM7gcb7Dr-NOhfIsk0JJ5rTQQx_euuB7bEeLoiCR7TJUX3NPwGZzrjtK7t9i9QlPFHvJcL5jmCQS1uStGxC3dZ-LfLJ2Fplz3KVvzmhaaiDXPo3Ps/w400-h300/DSC_0564.JPG" width="400" /></a></div><p><br /></p><p>では、一番上に被さっている発泡スチロールを除けてみましょう。</p><p><span style="color: #fcff01;">ついに本体と対面です!</span></p><p><span style="color: #fcff01;">コンゴトモヨロシク!</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9R9W8QpuJS2bEYspS9guSEJgR6xfKejtkZnjdZW-jQHH_cwiO7sCDZaVjV3e0QV-YfZRadBYfP9CmhFPnMtd8GI8uYyq5B2OnjiKtAaXCkvlqJtxJ0pb0GRxNe2pHS2Y6RY8nT2i6EFD2ROmWJzNyXjFGn8_6G2R9WtbZKspqWfM5BBUN-do-2Y23Y1QR/s960/DSC_0565.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="開封 - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9R9W8QpuJS2bEYspS9guSEJgR6xfKejtkZnjdZW-jQHH_cwiO7sCDZaVjV3e0QV-YfZRadBYfP9CmhFPnMtd8GI8uYyq5B2OnjiKtAaXCkvlqJtxJ0pb0GRxNe2pHS2Y6RY8nT2i6EFD2ROmWJzNyXjFGn8_6G2R9WtbZKspqWfM5BBUN-do-2Y23Y1QR/w400-h300/DSC_0565.JPG" width="400" /></a></div><p><br /></p><p>今回届いたものを全て展開すると以下のようになります。</p><p>ゲーム用のパッドや、簡単な工具、ステッカーなども入っていますね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJgps0xBlHgm6dHZD6wq2KGoP6yp4qcfeimB8ilYOMIgzwnBKRny3ou94bQZtKRht3rMQAds6-UuCf84NkDLiNBJ1ZURisbHWHmU9I1MwE7r0Cc3IMWoYXt8MRy_4OjzqU9UmN6Oh4SMX_r9H5LTzB7E4ucwaHE2i9E2VvDeQBKSWf1rFpABiJjDCiC-Yr/s960/DSC_0566.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="内容物全て" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJgps0xBlHgm6dHZD6wq2KGoP6yp4qcfeimB8ilYOMIgzwnBKRny3ou94bQZtKRht3rMQAds6-UuCf84NkDLiNBJ1ZURisbHWHmU9I1MwE7r0Cc3IMWoYXt8MRy_4OjzqU9UmN6Oh4SMX_r9H5LTzB7E4ucwaHE2i9E2VvDeQBKSWf1rFpABiJjDCiC-Yr/w400-h300/DSC_0566.JPG" width="400" /></a></div><p><br /></p><p>何はともあれ動作チェックです。</p><p>工場出荷時の設定では、充電池の保護のために給電がオープンになっていますので、本体背面のスイッチを「<span style="color: red;">0</span>」から「<span style="color: red;">1</span>」に切り替える必要があります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcJuuVxIWK6vUYa7X3OLpARRjGedcfTjYiic2whJbi2s5hCEUu2eXDJ1vsTHbnpMmJg2Gn9oDg7_OzPhNfXcAP97DoYomw9iQUDulsVhIEmS4O4g6zvsVdEB9OtF_jjXsMz1EaURZSCPdmZoHU54RtYgrghFaOrhVoGNFHmpycxpQydLtOEqyz9W06tQ0/s960/DSC_0570.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「MSX0 Stack」 - 2" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcJuuVxIWK6vUYa7X3OLpARRjGedcfTjYiic2whJbi2s5hCEUu2eXDJ1vsTHbnpMmJg2Gn9oDg7_OzPhNfXcAP97DoYomw9iQUDulsVhIEmS4O4g6zvsVdEB9OtF_jjXsMz1EaURZSCPdmZoHU54RtYgrghFaOrhVoGNFHmpycxpQydLtOEqyz9W06tQ0/w400-h300/DSC_0570.JPG" width="400" /></a></div><p><br /></p><p>これ以降は、本体右側の電源スイッチでON/OFFができるようになります。</p><p>ONはワンプッシュ</p><p>OFFは長押しですね。</p><p>さて、通電しているはずなので、画面を観てみましょう!</p><p><span style="color: #fcff01;">ノスタルジックな「MSX」ロゴが表示されましたよ~!!</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv9pxW2wyTDjsN_fekX31FYGhT-gZvWiABzsBHxLiJNUARbVtSKZSm0WkLMQ07cNyM2Vf2F7g9dqGFmlRsgASeQVfkcoDRSypj_NyNbTGlyrUoHNH9-g_CPRkGpghexIz6iStiF4Kx4G_EcHRkd77gBD5ECvveuoTbBW-vpJSESlSoz-V8BD8i79GT_EvH/s960/DSC_0568.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「MSX0 Stack」 - 3" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv9pxW2wyTDjsN_fekX31FYGhT-gZvWiABzsBHxLiJNUARbVtSKZSm0WkLMQ07cNyM2Vf2F7g9dqGFmlRsgASeQVfkcoDRSypj_NyNbTGlyrUoHNH9-g_CPRkGpghexIz6iStiF4Kx4G_EcHRkd77gBD5ECvveuoTbBW-vpJSESlSoz-V8BD8i79GT_EvH/w400-h300/DSC_0568.JPG" width="400" /></a></div><p><br /></p><p>「MSX」ロゴが消えると、すぐにROMベーシックが立ち上がります。</p><p>流石に、文字が小さいです。</p><p>「MSX」で遊んだ世代の中では私は若輩者の方だと思うのですが、老眼が始まっているのか結構キツい…。</p><p><span style="color: #fcff01;">みんな大丈夫なの!?</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiskgl4MmUbNLdQ___ekTbYeK3zOyf6J5vD10zneMM7ExYasBDBJJ5iX3Lw-hAcr4mi7TYXjvp7oOxhPVnxIKuminr7I76IpwusP4B8mOsTjvkPNIxK32Q7Ljv40FilHYrGxqlmJdOwOi_wVnmK-cKGusZ5G5XwbKt0-jWAKf_OHobmJJUHzEWH0oH6ZqUD/s960/DSC_0569.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「MSX0 Stack」 - 4" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiskgl4MmUbNLdQ___ekTbYeK3zOyf6J5vD10zneMM7ExYasBDBJJ5iX3Lw-hAcr4mi7TYXjvp7oOxhPVnxIKuminr7I76IpwusP4B8mOsTjvkPNIxK32Q7Ljv40FilHYrGxqlmJdOwOi_wVnmK-cKGusZ5G5XwbKt0-jWAKf_OHobmJJUHzEWH0oH6ZqUD/w400-h300/DSC_0569.JPG" width="400" /></a></div><p><br /></p><p>動作チェック完了!</p><p>マニュアルやソフトウェアは、付属のSDカードの中に記録されています。</p><p>ソフトウェアは、以下のものが収録されているようです。</p><p><br /></p><p><span style="color: #01ffff;">●Windows版リモートコントロールパネル</span></p><p><span style="color: #01ffff;">●MSX0システムメニュープログラム</span></p><p><span style="color: #01ffff;">●MSX-DOS TOOLS</span></p><p><span style="color: #01ffff;">●MSX-S BUG(デバッガ)</span></p><p><span style="color: #01ffff;">●MSX-DOS2(英語)</span></p><p><span style="color: #01ffff;">●MSX-DOS2(日本語)</span></p><p><span style="color: #01ffff;">●MSX-DOS2 TOOLS</span></p><p><span style="color: #01ffff;">●MSX-S BUG2(デバッガ)</span></p><p><span style="color: #01ffff;">●MSX-C(Cコンパイラ)</span></p><p><span style="color: #01ffff;">●MSX-C Library</span></p><p><span style="color: #01ffff;">●IoT BASIC サンプルプログラム</span></p><p><br /></p><p>これだけあれば、色々なプログラムを作って遊べそうですね!</p><p><span style="color: #fcff01;">特に、Cコンパイラはありがたい!</span></p><p>当時は高嶺の花でしたからね~。</p><p>…と言っても2万円くらいでしたが、子供にとっては…ねぇ。</p><p>最後に「MSX0 Stack」と<a href="https://www.madogiwakoubou.com/2022/11/1chipmsx.html">以前ご紹介した</a>「1chip MSX」の2ショットです。</p><p><span style="color: #01ffff;">クリアブルー</span>の筐体が、妙な統一感を醸し出していて素敵です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfd0KKz2hTBDlIg7nX8o2WK3Xqk48m2FfmLKYlydbwRFulMjpQWEdBihw_hIbcnom18LLyhMNGXomPAdmBT-NsmxAx8p5MNNjCepwK0015_cUVXciZwqnGdkzYm5qA6bfHlOM8yj3lQhM9zN1K_-d9F08BHj-1dRS3S-w_9pyTNtJr6SyPJxHAUbgxYa81/s960/DSC_0571.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="「MSX0 Stack」と「1chip MSX」" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfd0KKz2hTBDlIg7nX8o2WK3Xqk48m2FfmLKYlydbwRFulMjpQWEdBihw_hIbcnom18LLyhMNGXomPAdmBT-NsmxAx8p5MNNjCepwK0015_cUVXciZwqnGdkzYm5qA6bfHlOM8yj3lQhM9zN1K_-d9F08BHj-1dRS3S-w_9pyTNtJr6SyPJxHAUbgxYa81/w400-h300/DSC_0571.JPG" width="400" /></a></div><p><br /></p><p>さて、しばらくは付属のSDカードの中のマニュアル類を読み漁って暇(<span style="color: #fcff01;">暇じゃない!</span>)を潰すのも良し。</p><p>いきなりプログラムを書き始めるのも良し。</p><p><br /></p><p><span style="color: #01ffff;">何をしようか考える前に、何ができるかを考える…。</span></p><p><span style="color: #01ffff;">何ができるかを考える前に、何をしようか考える…。</span></p><p><span style="color: #01ffff;"><br /></span></p><p><span style="color: #fcff01;">仕事なら前者、趣味なら後者でもOKでしょ!</span></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-7816102184860467092023-09-22T20:09:00.002-07:002023-12-24T17:08:05.263-08:00TOPPERS/ASP - PIC32MX版 その7<p><a href="https://www.madogiwakoubou.com/2023/09/toppersasp-pic32mx.html">前回からの続き</a>です。</p><p>このテーマを最初からご覧になる場合は<a href="https://www.madogiwakoubou.com/2023/07/toppersasp-pic32mx.html">こちら</a>からどうぞ。</p><p><br /></p><h2 style="text-align: left;"><u>Harmony Frameworkのコピー</u></h2><p>既にインストール済みの「MPLAB Harmony」のディレクトリと、「TOPPERS/ASP PIC32MX版」のソースツリーのディレクトリを同時に2つエクスプローラーで開いておきましょう。</p><p>記事通りに作業すると、「MPLAB Harmony」は以下のディレクトリに保存されているはずです。</p><p><br /></p><p><span style="color: #01ffff;">C:\microchip\harmony</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWedz9s1adhnIFardgrJk1MPr3lsiRaZS2jjw28u830ax2i5zAKDcHIAwJ4wiuv6eOO4hJtmgUmeEikDDRk7nDSnEMto2M48Cgff63ENF1hMMRniybbZ8QUujyanvSybrPiXOfcQIfMV5X73PspXwdqcdOnwkiT_BxNwp_4dGnwvlvg_VlfGnln_a5Qgl/s677/77.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB Harmony」のディレクトリ - 1" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwWedz9s1adhnIFardgrJk1MPr3lsiRaZS2jjw28u830ax2i5zAKDcHIAwJ4wiuv6eOO4hJtmgUmeEikDDRk7nDSnEMto2M48Cgff63ENF1hMMRniybbZ8QUujyanvSybrPiXOfcQIfMV5X73PspXwdqcdOnwkiT_BxNwp_4dGnwvlvg_VlfGnln_a5Qgl/w400-h234/77.png" width="400" /></a></div><p><br /></p><p>同じく、TOPPERS/ASPのソースツリーは以下のディレクトリに保存されているはずです。</p><p>(<span style="color: #fcff01;">「asp_pic32mx_gcc」や「asp_pic32mx_gcc_master」を「asp_1.9.2」に改名した場合。</span>)</p><p><br /></p><p><span style="color: #01ffff;">C:\cygwin64\home\<ユーザー名>\asp_1.9.2</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhssdmGbRLGKwtYl-mpt_v3LTI_Pp0U0nxnDUrTts5HkdG2cZaHUwYq-uVr6jQy7o3-IOR-EFb_-nX8_doM0x-QlX1xI_OEs2oF8L_mQaZ1Qsa9_EIyf4Z33IAWHHND_Oirr_egOkKRtAA3YSVQ9Pk3r1cqJdjsvOHnDLgOgtCQ0Lgza4N0uPPZJUEWQct_/s677/78.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TOPPERS/ASPソースツリーのディレクトリ - 1" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhssdmGbRLGKwtYl-mpt_v3LTI_Pp0U0nxnDUrTts5HkdG2cZaHUwYq-uVr6jQy7o3-IOR-EFb_-nX8_doM0x-QlX1xI_OEs2oF8L_mQaZ1Qsa9_EIyf4Z33IAWHHND_Oirr_egOkKRtAA3YSVQ9Pk3r1cqJdjsvOHnDLgOgtCQ0Lgza4N0uPPZJUEWQct_/w400-h234/78.png" width="400" /></a></div><p><br /></p><p>さて、2つ開いたエクスプローラーでそれぞれ以下の場所を表示するようにします。</p><p>まず、<span style="color: #fcff01;">「MPLAB Harmony」の方</span>は、以下のディレクトリへ移動させます。</p><p><br /></p><p><span style="color: #01ffff;">C:\microchip\harmony\v2_06</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR4fnFYXcocn95J2zBvDXceFhIAZsYCWRn5aIsfGInNYO6dVFibdnLQ_Oij_K6EQojVhkmikPNfogZPb5k8v9DJyw45TB1XY7m6Nz6XAvKQv3TRIrzPQaDlR69iznjkQ3l0V3OI149e0FEtwl2EFKO2GPTHq8n4UZTdLHElISqFRf05wfn86pIs3OXY7he/s677/79.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB Harmony」のディレクトリ - 2" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR4fnFYXcocn95J2zBvDXceFhIAZsYCWRn5aIsfGInNYO6dVFibdnLQ_Oij_K6EQojVhkmikPNfogZPb5k8v9DJyw45TB1XY7m6Nz6XAvKQv3TRIrzPQaDlR69iznjkQ3l0V3OI149e0FEtwl2EFKO2GPTHq8n4UZTdLHElISqFRf05wfn86pIs3OXY7he/w400-h234/79.png" width="400" /></a></div><span style="color: #01ffff;"><br /></span><p></p><p>次に、<span style="color: #fcff01;">TOPPERS/ASPのソースツリーの方</span>は、以下のディレクトリへ移動させます。</p><p><br /></p><p><span style="color: #01ffff;">C:\cygwin64\home\<ユーザー名>\asp_1.9.2\arch\pic32mx_gcc</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6etKFfGBvzUbHhlCIBUPrr_3mnaYXsRjaEA_8TRlTNixuaE2nQQc5M41qjauuOEPxoAiz2K-f7c5W_O7GAtajrtVB7hLIHhHY27euASQzYVrL4mL2ZKVZFQUBIF23wt8zRBSSCUSGREwguM4-mPIVJCy8chp4mnhlEzeSzl7xWVTjjsf0jxGSVMwhen5R/s677/80.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TOPPERS/ASPソースツリーのディレクトリ - 2" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6etKFfGBvzUbHhlCIBUPrr_3mnaYXsRjaEA_8TRlTNixuaE2nQQc5M41qjauuOEPxoAiz2K-f7c5W_O7GAtajrtVB7hLIHhHY27euASQzYVrL4mL2ZKVZFQUBIF23wt8zRBSSCUSGREwguM4-mPIVJCy8chp4mnhlEzeSzl7xWVTjjsf0jxGSVMwhen5R/w400-h234/80.png" width="400" /></a></div><p><br /></p><div><div><span style="color: #fcff01;">「MPLAB Harmony」</span><span style="color: #fcff01;">の方</span>のディレクトリに注目!</div><div>以下のディレクトリを確認して下さい。</div></div><p><br /></p><p><span style="color: #01ffff;">●framework</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDoBNJU_U3DjrFMc-nIz2GYsov8p9tf_qP__Yc0CPOt8X1vBSO7Gjrkb4KkBM3s4AukPdvAzyLKcetNVDJFzIl-1kFGpFtdIFVKrrFVEGnzLjZvUY2LLfXOfVkaI-iaaoNZD7Nfu_k6g5VPQux1yTvMmlj6cnK6aSdGWalzABW7UjUl2dsQCODQR-Udw-L/s677/81.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB Harmony」のディレクトリ - 3" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDoBNJU_U3DjrFMc-nIz2GYsov8p9tf_qP__Yc0CPOt8X1vBSO7Gjrkb4KkBM3s4AukPdvAzyLKcetNVDJFzIl-1kFGpFtdIFVKrrFVEGnzLjZvUY2LLfXOfVkaI-iaaoNZD7Nfu_k6g5VPQux1yTvMmlj6cnK6aSdGWalzABW7UjUl2dsQCODQR-Udw-L/w400-h234/81.png" width="400" /></a></div><p><br /></p><p>この「<span style="color: red;">framework</span>」ディレクトリの中には「MPLAB Harmony」で使用できる様々な周辺機器のデバイスドライバのソースコードやヘッダーファイルが大量に入っています。</p><p>「TOPPERS/ASP PIC32MX版」で使用するタイマーやシリアル通信のデバイスドライバもこの中に含まれています。</p><p>この「<span style="color: red;">framework</span>」ディレクトリを開いてあるもう一方のエクスプローラー、<span style="color: #fcff01;">TOPPERS/ASPのソースツリーの方</span>にコピーします。</p><p>結果、<span style="color: #fcff01;">TOPPERS/ASPのソースツリーの方</span>は、以下のようになりましたか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcS4x0qWenBihLLCr2MWPSkvwom7h4sSN3It6lfGwerdeb47i8JwZPJuOryFPlYFYI8YVWF2P4uOWXO-FijYHmDnRNnb-nEgxAR9hWT6-A9RkQEBQM5mVgXlVkE-EP8VnDfHtOmAZbhJHLMslXhtknrb3E18rO93ohnq3P3ycM4SHW0EDBL8Zbvm_CiE_n/s677/82.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TOPPERS/ASPソースツリーのディレクトリ - 3" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcS4x0qWenBihLLCr2MWPSkvwom7h4sSN3It6lfGwerdeb47i8JwZPJuOryFPlYFYI8YVWF2P4uOWXO-FijYHmDnRNnb-nEgxAR9hWT6-A9RkQEBQM5mVgXlVkE-EP8VnDfHtOmAZbhJHLMslXhtknrb3E18rO93ohnq3P3ycM4SHW0EDBL8Zbvm_CiE_n/w400-h234/82.png" width="400" /></a></div><p><br /></p><p>これで、HarmonyのFrameworkのソースコードの回収は完了です。</p><p><br /></p><h2 style="text-align: left;"><u>雛形プロジェクトで生成したソースコードのコピー</u></h2><p>現在、2つ開いているエクスプローラーでそれぞれ以下の場所を表示するようにします。</p><p><span style="color: #fcff01;">「MPLAB Harmony」の方</span>は、以下のディレクトリへ移動させます。</p><p>ここは、既に作成した雛形プロジェクトのソースが格納されている場所です。</p><p><br /></p><p><span style="color: #01ffff;">C:\microchip\harmony\v2_06\apps\Hinagata\firmware\src</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZhZ-ctsJKzVOhGCNW2VNZ3iDmA5RpXXZvXY5q39fAH6kUrF5syBHhruQ_D0Tw6zzrk28FDsvqrvrkcTI0RW8Lwgomiyz9Il9mmSP0In2enzoGHIAl2gqziq8tvjeGCDLXYwRjn-UmwHKmvgu2NAgudSJvLL3Z_TtLQuQYUk1EdvUd9iKXf68zlx0HSZDU/s677/84.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB Harmony」のディレクトリ - 4" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZhZ-ctsJKzVOhGCNW2VNZ3iDmA5RpXXZvXY5q39fAH6kUrF5syBHhruQ_D0Tw6zzrk28FDsvqrvrkcTI0RW8Lwgomiyz9Il9mmSP0In2enzoGHIAl2gqziq8tvjeGCDLXYwRjn-UmwHKmvgu2NAgudSJvLL3Z_TtLQuQYUk1EdvUd9iKXf68zlx0HSZDU/w400-h234/84.png" width="400" /></a></div><p></p><p><br /></p><p>次に、<span style="color: #fcff01;">TOPPERS/ASPのソースツリーの方</span>は、以下のディレクトリへ移動させます。</p><p><br /></p><p><span style="color: #01ffff;">C:\cygwin64\home\<ユーザー名>\asp_1.9.2\target\1_2_5_starterkit_gcc</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhxVkSxJnVZf7g5uhLNer14nPUsD9D4fE-PNfGEp9zFMWjqAfswCdZWMuYvHzPyFtjm3Fw_B52ghYdyhLAjiJBPa4edCbT9WB-fTOhLoAek_wPHMgIKgRuMtgBIcpRhcdI9YiSuKSs4NyHcBEnCx6k1lJlu_0gYSfhu27bPSWIyBN39y7w_hykSHtQIV_L/s677/85.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TOPPERS/ASPソースツリーのディレクトリ - 4" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhxVkSxJnVZf7g5uhLNer14nPUsD9D4fE-PNfGEp9zFMWjqAfswCdZWMuYvHzPyFtjm3Fw_B52ghYdyhLAjiJBPa4edCbT9WB-fTOhLoAek_wPHMgIKgRuMtgBIcpRhcdI9YiSuKSs4NyHcBEnCx6k1lJlu_0gYSfhu27bPSWIyBN39y7w_hykSHtQIV_L/w400-h234/85.png" width="400" /></a></div><p></p><p><span style="color: #fcff01;"><br /></span></p><p><span style="color: #fcff01;">「MPLAB Harmony」の方</span><span style="color: #fcff01;">(ていうか、雛形プロジェクトの方)</span>のディレクトリに注目!</p><p></p><p>以下の3つのディレクトリとソース/ヘッダーファイルを確認して下さい。</p><p><br /></p><p><span style="color: #01ffff;">●system_config</span></p><p><span style="color: #01ffff;">●app.c</span></p><p><span style="color: #01ffff;">●app.h</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8cs_1-0GQvZ5CNkGH3Tl3m37xwEcgsLpuTrAAzquSCa2JASz2wDiWeAw2F-u1TzDfbSNC0bi5DNFdD_LnZtrp4Z-NT3_LJqMi7A4Q588qsNOiFzneyQqtt_HFTiXdvSf7z5mZQRh11O-TcX_1N_VIfsLSJyq-YMJnk7WSZP5E3ruNpZSrVCDuxaIYIAqP/s677/86.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「MPLAB Harmony」のディレクトリ - 5" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8cs_1-0GQvZ5CNkGH3Tl3m37xwEcgsLpuTrAAzquSCa2JASz2wDiWeAw2F-u1TzDfbSNC0bi5DNFdD_LnZtrp4Z-NT3_LJqMi7A4Q588qsNOiFzneyQqtt_HFTiXdvSf7z5mZQRh11O-TcX_1N_VIfsLSJyq-YMJnk7WSZP5E3ruNpZSrVCDuxaIYIAqP/w400-h234/86.png" width="400" /></a></div><p><br /></p><p>雛型プロジェクトは、今回使用する「<span>PIC32MX1/2/5 Starter Kit</span>」評価ボードで動作する基本的な設定や定義を行うソースコードを生成させるために作成しました。</p><p>これらのディレクトリやファイルは、まさにその生成されたソースコードというわけです。</p><p>この3つを開いてあるもう一方のエクスプローラー、<span style="color: #fcff01;">TOPPERS/ASPのソースツリーの方</span>にコピーします。</p><p>結果、<span style="color: #fcff01;">TOPPERS/ASPのソースツリーの方</span>は、以下のようになりましたか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY2i2K9-pFj5-P_IML8YgLugqqDpbxDF7Xqyff3Xuhm7zT3i33QbXZO62ZKGCE5Zkex6DDTKi-SopjavFCnM12xlOZOU3Cjc7pafxO3dR596l2VFd1ESgh4jXJsgewBcdyLPCAX3fceALtCyQPQTzqqoM7o4MxYe0K7ej4tcvx-OMY2do_WgMHzm2_NTZ7/s677/87.png" style="margin-left: 1em; margin-right: 1em;"><img alt="TOPPERS/ASPソースツリーのディレクトリ - 5" border="0" data-original-height="395" data-original-width="677" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY2i2K9-pFj5-P_IML8YgLugqqDpbxDF7Xqyff3Xuhm7zT3i33QbXZO62ZKGCE5Zkex6DDTKi-SopjavFCnM12xlOZOU3Cjc7pafxO3dR596l2VFd1ESgh4jXJsgewBcdyLPCAX3fceALtCyQPQTzqqoM7o4MxYe0K7ej4tcvx-OMY2do_WgMHzm2_NTZ7/w400-h234/87.png" width="400" /></a></div><p><br /></p><p>これで、雛形プロジェクトによって生成されたソースコードの回収は完了です。</p><p><br /></p><h2 style="text-align: left;"><u>コマンドラインでのビルド</u></h2><p>さて、これで全ての準備は整いました。</p><p>早速ビルドしてみましょう。</p><p><span style="color: #fcff01;">ここまで長かったですね!</span></p><p><span style="color: #fcff01;">お疲れ様です。</span></p><p>Cygwinを開いて、TOPPERS/ASPソースツリーの場所まで移動しましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd asp_1.9.2/</span></p><p><br /></p><p>次にその直下の「OBJ」ディレクトリに移動します。</p><p><br /></p><p><span style="color: #01ffff;">$ cd OBJ/</span></p><p><br /></p><p>コンフィギュレーターのパーミッションを実行可能に設定します。</p><p><br /></p><p><span style="color: #01ffff;">$ chmod 755 ../cfg/cfg/cfg.exe</span></p><p><br /></p><p>ここまで、大丈夫ですか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_AO5868YVN88PgZrLaViklYE1rRnq0VQsyOXx1h7MnUQRVrth33NYr-gBU_RXQZy9sKr3DyIyZnWYw8OL_tAo2t2fUFJfyzc0c95jHZudTs10d1M98Io0DKE_Ot9x9HpqlOSFQf_ql_MQTodPsxdjlYy2d5QnAYNP9_gZ5ijNBM47XTMg-8sqkMVGW2P/s581/104.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 1" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD_AO5868YVN88PgZrLaViklYE1rRnq0VQsyOXx1h7MnUQRVrth33NYr-gBU_RXQZy9sKr3DyIyZnWYw8OL_tAo2t2fUFJfyzc0c95jHZudTs10d1M98Io0DKE_Ot9x9HpqlOSFQf_ql_MQTodPsxdjlYy2d5QnAYNP9_gZ5ijNBM47XTMg-8sqkMVGW2P/w400-h255/104.png" width="400" /></a></div><p><br /></p><p>そうしたら、プロジェクトのコンフィグファイル(sample1.cfg)の情報を元に、OSに必要な定義を記したソースコード(「kernel_cfg.c」と「kernel_cfg.h」)を生成します。</p><p><br /></p><p><span style="color: #01ffff;">$ make depend</span></p><p><br /></p><p>以下のような表示にならずエラーが出力される場合は、残念ながらこれまでの作業に誤りがあります。</p><p>お手数ですが、最初からご確認を!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK6NUMGfjxINZsvJHT-QWaXs6_h910_iZKciuOIrML2tlPYbIw3L1OxW9nr6zArVPYtpqeBHereSPPjRgubU1qvcogeMuOmyoXt6EAp70Egk0PXp5F3SH7zibwmmkt56g2sTo9W3GwBK2RSpkVyIPnZdcVUrYCWGcPy3kEVUNImz3Ib-6NlOMRP_z9HHcB/s581/105.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 2" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK6NUMGfjxINZsvJHT-QWaXs6_h910_iZKciuOIrML2tlPYbIw3L1OxW9nr6zArVPYtpqeBHereSPPjRgubU1qvcogeMuOmyoXt6EAp70Egk0PXp5F3SH7zibwmmkt56g2sTo9W3GwBK2RSpkVyIPnZdcVUrYCWGcPy3kEVUNImz3Ib-6NlOMRP_z9HHcB/w400-h255/105.png" width="400" /></a></div><p><br /></p><p>ここまで上手くいったら、本番のビルド。</p><p>以下のコマンドを実行します。</p><p><br /></p><p><span style="color: #01ffff;">$ make all</span></p><p><br /></p><p>以下のように無事にビルドが通ったでしょうか?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM2ooVA8_MVHCrAqBJF97N51jDy7lbLna4AjhDyVX0uqgrrHtCDDtIm8H7xj_Xo0V8D3lKDRvdg7HKTxmDphi-H_mHAx0gndKtXTmB0yO88vq_mVf7LP4-bJ-zAywoD9zURMCUPLAAVgP08vWAWN1JlJwa3vBNmKc6nhl3voeJIOQ20JWhZIWfO7RdMNA9/s581/106.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 3" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM2ooVA8_MVHCrAqBJF97N51jDy7lbLna4AjhDyVX0uqgrrHtCDDtIm8H7xj_Xo0V8D3lKDRvdg7HKTxmDphi-H_mHAx0gndKtXTmB0yO88vq_mVf7LP4-bJ-zAywoD9zURMCUPLAAVgP08vWAWN1JlJwa3vBNmKc6nhl3voeJIOQ20JWhZIWfO7RdMNA9/w400-h255/106.png" width="400" /></a></div><p><br /></p><p>今回はここまで!</p><p>長々と面倒な作業でしたが、お疲れ様でした。</p><p>ここまで付いてきてくれた方がいたら、本当にありがとうございました。</p><p><br /></p><p>コマンドラインではビルドが通るようになりましたので、次回はIDE(統合開発環境)で開発できるようにプロジェクトを作りましょう。</p><p>今回は、デバッガを使うための純正IDEである「MPLAB X IDE」とコーディングとビルドを行うための「Eclipse」、2つのプロジェクトを作らなければなりません。</p><p>またまた面倒ですが、どうかお付き合いを!</p><p><br /></p><div><a href="https://www.madogiwakoubou.com/2023/10/toppersasp-pic32mx.html"><続く></a></div>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0tag:blogger.com,1999:blog-8901647654425483096.post-2346018354936576632023-09-15T20:34:00.004-07:002023-12-24T20:14:02.350-08:00DIYレトロゲーム機「Nibble」の開発環境構築 その3<p><a href="https://www.madogiwakoubou.com/2023/09/diynibble.html">前回からの続き</a>です。</p><p><br /></p><h2 style="text-align: left;"><u>各ゲームのソースコードのダウンロードとビルド</u></h2><p>クラウドファンディングサイト「<a href="https://www.makuake.com/" target="_blank">Makuake</a>」でオーダーした、DIYレトロゲーム機「<span style="color: #fcff01;">Nibble(ニブル)</span>」。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirouTyZBRUExZcYA3eYbRc-iYYOIu1GfBlq7naqhjMVsnFiYA6WuPHxrSYOGMXAltcciDOhm4kofDgO3rxfTLvDAo2oW7IvU9u2_5QKdvaunQMpXjmHSXGdyhU011wbVmzbnh3MGd2bo9WfN9CNYoTWyIvoSrcdCEcq11QdoFZMv41v3tEpq2NLfC7MLz3/s960/DSC_0552.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Nibble" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirouTyZBRUExZcYA3eYbRc-iYYOIu1GfBlq7naqhjMVsnFiYA6WuPHxrSYOGMXAltcciDOhm4kofDgO3rxfTLvDAo2oW7IvU9u2_5QKdvaunQMpXjmHSXGdyhU011wbVmzbnh3MGd2bo9WfN9CNYoTWyIvoSrcdCEcq11QdoFZMv41v3tEpq2NLfC7MLz3/w400-h300/DSC_0552.JPG" width="400" /></a></div><p><br /></p><p>前回まで工場出荷時の状態に戻す方法を探ってきました。</p><p>そうしないと、怖くて色々実験できませんからね!</p><p>「Nibble-Launcher」というのが工場出荷時の状態でインストールされているソースコードだと思い、GitHubからダウンロードして「Arduino IDE」でビルドをしたのですが、失敗。</p><p>エラーコードの内容は、ソースコードが足りないとのこと。</p><p>調べてみると、各ゲームのソースコードは「Nibble-Launcher」には含まれず、各々GitHubからダウンロードする必要がある…というのが前回までのあらすじ。</p><p>では、その作業を行っていきましょう!</p><p>まず「Cygwin」ターミナルを開いて、以下のディレクトリへ移動しましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ cd /cygdrive/c/Users/<ユーザー名>/Documents/Arduino/Nibble-Launcher/src/Games</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGd7CtR0kkdtyLmfsvnXbRjFBG7Yo5SNhfFZkioTP9c3Dhngkmobo6Wd_tLS19aI9lBb6vhiYC_mAsW6HuwXt9g9shw7pKUqlfGYCo2fJ1a6yBRsLmUdyedgYrf4JO436QvXUEMCCV9tsu0TIDmJ935CkOq5E0fINRnbtqVpZUoZRf6gtZ1893ZaEq199o/s581/43.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 1" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGd7CtR0kkdtyLmfsvnXbRjFBG7Yo5SNhfFZkioTP9c3Dhngkmobo6Wd_tLS19aI9lBb6vhiYC_mAsW6HuwXt9g9shw7pKUqlfGYCo2fJ1a6yBRsLmUdyedgYrf4JO436QvXUEMCCV9tsu0TIDmJ935CkOq5E0fINRnbtqVpZUoZRf6gtZ1893ZaEq199o/w400-h255/43.png" width="400" /></a></div><p><br /></p><p>まずは、原始的なテニスゲーム「<span style="color: #fcff01;">BonK</span>」のソースコードのダウンロードです。</p><p>CircuitMess社のGitHubから「Nibble」用のものを探しましょう。</p><p><br /></p><p><a href="https://github.com/CircuitMess" target="_blank">https://github.com/CircuitMess</a></p><p><br /></p><p><span style="color: red;">あった!</span></p><p>コレですね。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDaRc_gltpqX8peyjqGUpLzae8SzoA_cep1wf9YBIudg_tgLQfB5JqddXD72aNrc_HUaOyXH67m7AyQ819_vwzdzlPyM-HeR8n1Dy0auXiT_EeL1HfMF-7yLaOr5KP6Zhqhqeum9jR7zqOzqZsmxiiNUCgZWXNu8u_tcSlfG-q3bxzC0b7z4US2sT3-K1K/s1280/44.png" style="margin-left: 1em; margin-right: 1em;"><img alt="GitHub - 1" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDaRc_gltpqX8peyjqGUpLzae8SzoA_cep1wf9YBIudg_tgLQfB5JqddXD72aNrc_HUaOyXH67m7AyQ819_vwzdzlPyM-HeR8n1Dy0auXiT_EeL1HfMF-7yLaOr5KP6Zhqhqeum9jR7zqOzqZsmxiiNUCgZWXNu8u_tcSlfG-q3bxzC0b7z4US2sT3-K1K/w400-h308/44.png" width="400" /></a></div><p><br /></p><p>「Cygwin」ターミナルで以下のコマンドを打ち込んでダウンロードしましょう。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone https://gitbub.com/CircuitMess/BonK-Nibble.git</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWdY9vH6-_CWS5sSSczKDjSCWgYTYvSL-JxQdFZCZnf-BxYqltv_A6Zkj0WvnTNhJKQ0BlXBH54bFU2obXiZQGLLca18TPHeDPbEWufigS7zUThQ48IJ3hSuKpGMUJ9D4eoEi0Bn_BIbVawbZHApU2Mip4LWHHL8bji89KDRLdHmWEtUP1VwEYgPvr9BLm/s581/45.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 2" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWdY9vH6-_CWS5sSSczKDjSCWgYTYvSL-JxQdFZCZnf-BxYqltv_A6Zkj0WvnTNhJKQ0BlXBH54bFU2obXiZQGLLca18TPHeDPbEWufigS7zUThQ48IJ3hSuKpGMUJ9D4eoEi0Bn_BIbVawbZHApU2Mip4LWHHL8bji89KDRLdHmWEtUP1VwEYgPvr9BLm/w400-h255/45.png" width="400" /></a></div><p><br /></p><p>無事ダウンロードができましたか?</p><p>Windowsのエクスプローラーで上記のパス、つまり…</p><p><br /></p><p><span style="color: #01ffff;">c:\Users\<ユーザー名>\Documents\Arduino\Nibble-Launcher\src\Games</span></p><p><br /></p><p>…を見てみると、以下のように今回ダウンロードした「<span style="color: red;">BonK-Nibble</span>」が追加されていることが分かります。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgixcr52tXQ_m-kPSHboA31WFwu8QCprE5Jc15nAhG7jognOyZg1i6Cn4ZhuwI9x3LgbbNnc7UgAMlIo6-yWVzT7mEMTwZp0fVwmmAAeWnv03LJUwpP-JOIKlaJifMPK-E98tTADJxRq3tdM-4QMpQYGsc7iBEHpJ_UCZ6n8G_Ibt1nzIRmqGT1rUlDbStZ/s668/46.png" style="margin-left: 1em; margin-right: 1em;"><img alt="「BonK-Nibble」が追加されたディレクトリ" border="0" data-original-height="420" data-original-width="668" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgixcr52tXQ_m-kPSHboA31WFwu8QCprE5Jc15nAhG7jognOyZg1i6Cn4ZhuwI9x3LgbbNnc7UgAMlIo6-yWVzT7mEMTwZp0fVwmmAAeWnv03LJUwpP-JOIKlaJifMPK-E98tTADJxRq3tdM-4QMpQYGsc7iBEHpJ_UCZ6n8G_Ibt1nzIRmqGT1rUlDbStZ/w400-h251/46.png" width="400" /></a></div><p><br /></p><p>これを見ると、元々あった「BonK」(中身は空)と新たな「BonK-Nibble」の2つが存在していることが分かります。</p><p>ビルドで必要なのは「BonK」という名前のディレクトリでしょう。</p><p>なので、<span style="color: #fcff01;">元々あった「BonK」を一旦削除してから、新たな「BonK-Nibble」を「BonK」に名前を付け替える</span>という作業を行います。</p><p>それには「Cygwin」ターミナルで以下のコマンドを使います。</p><p><br /></p><p><span style="color: #01ffff;">$ rm -rf ./BonK</span></p><p><span style="color: #01ffff;">$ mv ./BonK-Nibble/ ./BonK/</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5MtuuzE38a-Z7QcT1KJMS8bZg78xAXE9yals5KX-j9Ek890cIXn512X7zeEkzlJzDUlZvNi_pUw55b2FA4N6ySZp-AYkpt6WbmHBhipzH6PIelvABNlND4OtgmitJgGJS-0etqW7W2W5NZu_MKOwUMi5U8DxxrRVRmNCmShJ9CT0lgN-4FoTaM5rTNPMq/s581/47.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 3" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5MtuuzE38a-Z7QcT1KJMS8bZg78xAXE9yals5KX-j9Ek890cIXn512X7zeEkzlJzDUlZvNi_pUw55b2FA4N6ySZp-AYkpt6WbmHBhipzH6PIelvABNlND4OtgmitJgGJS-0etqW7W2W5NZu_MKOwUMi5U8DxxrRVRmNCmShJ9CT0lgN-4FoTaM5rTNPMq/w400-h255/47.png" width="400" /></a></div><p><br /></p><p>次は、隕石をひたすら破壊するシューティングゲーム「<span style="color: #fcff01;">SpaceRocks</span>」のソースコードのダウンロードです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeVBNPAMCbST23MnfokVy_jQXwqXc8P7XXvKieaJT-_OuFRVwnClfyTpAprZ09CIvYU2pty43jWG_ztsSO5yFf9B9Hnk6HRCqnnV8rBV5Tu0qNHDLeviGhT_0r5bu1b1NYn1_V_4oJKVJFn9QB_2bg9aGjsuO5fjRBMMSUYRjqtc9GTO4GvZbArzJSyuXf/s1280/48.png" style="margin-left: 1em; margin-right: 1em;"><img alt="GitHub - 2" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeVBNPAMCbST23MnfokVy_jQXwqXc8P7XXvKieaJT-_OuFRVwnClfyTpAprZ09CIvYU2pty43jWG_ztsSO5yFf9B9Hnk6HRCqnnV8rBV5Tu0qNHDLeviGhT_0r5bu1b1NYn1_V_4oJKVJFn9QB_2bg9aGjsuO5fjRBMMSUYRjqtc9GTO4GvZbArzJSyuXf/w400-h308/48.png" width="400" /></a></div><p><br /></p><p>「BonK」の時と同じ要領です。</p><p>ダウンロード→「SpaceRocks」ディレクトリの削除→「SpaceRocks-Nibble」を「SpaceRocks」ディレクトリに名称変更…ですね。</p><p><br /></p><p><span style="color: #01ffff;">$ git clone https://gitbub.com/CircuitMess/SpaceRocks-Nibble.git</span></p><div><p><span style="color: #01ffff;">$ rm -rf ./</span><span style="color: #01ffff;">SpaceRocks</span></p><p><span style="color: #01ffff;">$ mv ./</span><span style="color: #01ffff;">SpaceRocks</span><span style="color: #01ffff;">-Nibble/ ./</span><span style="color: #01ffff;">SpaceRocks</span><span style="color: #01ffff;">/</span></p></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjks_Pf3AbcaYwBvAX12lkm2gIul0r3pDkNPaCPVXO6gYncWWUFHvTu2sJJ6lt2Tkh_i2XWa4CBIje9CiXmhWwV8zMi68mIfeUZIggH_kieR7YspKkuUcCgW09_xJkBxXLwKZgz1Im2Qz6v-XIBVPqzoy3djXqOdRSB-OAO5tKarudecF_2HhoZPckX8zni/s581/49.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 4" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjks_Pf3AbcaYwBvAX12lkm2gIul0r3pDkNPaCPVXO6gYncWWUFHvTu2sJJ6lt2Tkh_i2XWa4CBIje9CiXmhWwV8zMi68mIfeUZIggH_kieR7YspKkuUcCgW09_xJkBxXLwKZgz1Im2Qz6v-XIBVPqzoy3djXqOdRSB-OAO5tKarudecF_2HhoZPckX8zni/w400-h255/49.png" width="400" /></a></div><br /><span style="color: #01ffff;"><br /></span></div><p>さてさてお次は、ヘビを操ってエサを食いまくるゲーム「<span style="color: #fcff01;">Snake</span>」のソースコードのダウンロードです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyvdABCrMxcUR9gvCHMvEGK6gYuvK2-VKLgFtlTjq1ADU77htnsppUCWV3LoMyDLMaZ5UaXvjcBWaDxtXYNQ816I5yoaeITsqBJEvYZQsEPi8a6yXddbb4zrwgjbWNaiJuR0CAVK9qm__SDP0jF8HDPN0HkUVt7zUzzY1-R5VSa8hDzdq948mKGA6xnViY/s1280/50.png" style="margin-left: 1em; margin-right: 1em;"><img alt="GitHub - 3" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyvdABCrMxcUR9gvCHMvEGK6gYuvK2-VKLgFtlTjq1ADU77htnsppUCWV3LoMyDLMaZ5UaXvjcBWaDxtXYNQ816I5yoaeITsqBJEvYZQsEPi8a6yXddbb4zrwgjbWNaiJuR0CAVK9qm__SDP0jF8HDPN0HkUVt7zUzzY1-R5VSa8hDzdq948mKGA6xnViY/w400-h308/50.png" width="400" /></a></div><p><br /></p><p>今までと同じ要領でお願いします。</p><p><br /></p><div><p><span style="color: #01ffff;">$ git clone https://gitbub.com/CircuitMess/Snake-Nibble.git</span></p><div><p><span style="color: #01ffff;">$ rm -rf ./</span><span style="color: #01ffff;">Snake</span></p><p><span style="color: #01ffff;">$ mv ./</span><span style="color: #01ffff;">Snake-Nibble/ ./</span><span style="color: #01ffff;">Snake/</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Vni2E5g8-rr_-BG0sNGI-Hi3P40MPW7p0k7-Q-5LHbw7zpGrw9_bXuAiBQXs6vGjxhzJutjBbSdSZ49IPy1Jb_G6KENOTT9xzqcF9979Fu79p8nMJDE1J2lox1zS4I51kMq9xbrmEH1J9BEE2IwAi7UPRp0iFVBwV9ovY1cPEf19jJ785ZMZtLVFXjrf/s581/51.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 5" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Vni2E5g8-rr_-BG0sNGI-Hi3P40MPW7p0k7-Q-5LHbw7zpGrw9_bXuAiBQXs6vGjxhzJutjBbSdSZ49IPy1Jb_G6KENOTT9xzqcF9979Fu79p8nMJDE1J2lox1zS4I51kMq9xbrmEH1J9BEE2IwAi7UPRp0iFVBwV9ovY1cPEf19jJ785ZMZtLVFXjrf/w400-h255/51.png" width="400" /></a></div><p></p></div></div><p><br /></p><p>最後に、工場出荷時にはインストールされていなかったゲーム「<span style="color: #fcff01;">Invaderz</span>」のソースコードのダウンロードです。</p><p>どんなゲームでしょうね?って名前からして、<a href="https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%82%A4%E3%83%B3%E3%83%99%E3%83%BC%E3%83%80%E3%83%BC" target="_blank">ああいう</a>のでしょうけど…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipWTm0ed7qRsi-Iy1BinbWVyK1B1cT8P4-wMRLFwlspFZaZuExnk0tBq4w0dI2HqHQhSJUVuSksEb_wyGRA-ATs-vuVJCMSPR3FDpM1SxFQhBasgbyzKcdiQHRiOjMktb401rg2u9WhQ9kYX3yI4PKRRy00_wBou021aZ5Oidm_2cKZjXJ2Gs9QGZBbb3C/s1280/52.png" style="margin-left: 1em; margin-right: 1em;"><img alt="GitHub - 4" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipWTm0ed7qRsi-Iy1BinbWVyK1B1cT8P4-wMRLFwlspFZaZuExnk0tBq4w0dI2HqHQhSJUVuSksEb_wyGRA-ATs-vuVJCMSPR3FDpM1SxFQhBasgbyzKcdiQHRiOjMktb401rg2u9WhQ9kYX3yI4PKRRy00_wBou021aZ5Oidm_2cKZjXJ2Gs9QGZBbb3C/w400-h308/52.png" width="400" /></a></div><p><br /></p><div>こちらも、今までと同じ要領で。</div><div><br /></div><p><span style="color: #01ffff;">$ git clone https://gitbub.com/CircuitMess/Invaderz-Nibble.git</span></p><div><p><span style="color: #01ffff;">$ rm -rf ./</span><span style="color: #01ffff;">Invaderz</span></p><p><span style="color: #01ffff;">$ mv ./</span><span style="color: #01ffff;">Invaderz-Nibble/ ./</span><span style="color: #01ffff;">Invaderz/</span></p><p></p></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhCr6YNDT4mYVgX6zpJ5d5uLLqmxXhdQpmzNpJwCzFYQiO0ncEt7DGuy3ojS-qnqPjXhokZY2_TtVxsZrSPHE9Qb171n4PsS20vyAz9wuDcczgXE8SyK_2tidIoGPb11yCXG2wHF8D7sUzPubUUi7VwaVG9mLVMmzgzKuChbdfWpytgnNWCRmlDuNdUWfM/s581/53.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Cygwinターミナル - 6" border="0" data-original-height="370" data-original-width="581" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhCr6YNDT4mYVgX6zpJ5d5uLLqmxXhdQpmzNpJwCzFYQiO0ncEt7DGuy3ojS-qnqPjXhokZY2_TtVxsZrSPHE9Qb171n4PsS20vyAz9wuDcczgXE8SyK_2tidIoGPb11yCXG2wHF8D7sUzPubUUi7VwaVG9mLVMmzgzKuChbdfWpytgnNWCRmlDuNdUWfM/w400-h255/53.png" width="400" /></a></div><p><br /></p><p>これで準備は整いました!</p><p><span style="color: #fcff01;">いざビルド!!</span></p><p>「Arduino IDE」で「Nibble-Launcher」のプロジェクトを開いて、画面左上の「<span style="color: red;">V</span>」マークをクリック!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg1CUmQpwiXLXv1fkepMdnmHSYEiFTgAD2r0yWynnM6r2-pd-mwPoyHP3lTIipmC9T7H1ECVzhooP7xnZWjpU58BJ6-zkdbOqQc_U4gxfjjQlplzPzQEFaoH81PzKgxhogj7_CgR2o2RwBGCoEKfR4wHw5Dtd1tWThDE5bG5iA0nOpLekHNz_fQ6tiiGAP/s839/54.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino IDE - 1" border="0" data-original-height="676" data-original-width="839" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg1CUmQpwiXLXv1fkepMdnmHSYEiFTgAD2r0yWynnM6r2-pd-mwPoyHP3lTIipmC9T7H1ECVzhooP7xnZWjpU58BJ6-zkdbOqQc_U4gxfjjQlplzPzQEFaoH81PzKgxhogj7_CgR2o2RwBGCoEKfR4wHw5Dtd1tWThDE5bG5iA0nOpLekHNz_fQ6tiiGAP/w400-h323/54.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">よし!!</span></p><p>無事ビルドが通ったみたいですよ~。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgADIBcMJtwO_W7Wv_XtuwVYoy6qTyzYYGoJMtnyejkUXoZv-DUHzJwgEDw2RS5jAVa0wvm7B1Wo3qkLpj2Y9SBVdmgf0JVmdyD9kL8MMEvajJ5a5OFH7qr6Elx8eKGKo9qxD7sk7uVRIHFMKsOxNA0OjYyeyAqBr_HXWWcQxXV7CfnbQw8NA_fBYUyqFti/s839/55.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino IDE - 2" border="0" data-original-height="676" data-original-width="839" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgADIBcMJtwO_W7Wv_XtuwVYoy6qTyzYYGoJMtnyejkUXoZv-DUHzJwgEDw2RS5jAVa0wvm7B1Wo3qkLpj2Y9SBVdmgf0JVmdyD9kL8MMEvajJ5a5OFH7qr6Elx8eKGKo9qxD7sk7uVRIHFMKsOxNA0OjYyeyAqBr_HXWWcQxXV7CfnbQw8NA_fBYUyqFti/w400-h323/55.png" width="400" /></a></div><p><br /></p><h2 style="text-align: left;"><u>プログラムを「Nibble」へ転送</u></h2><p>ビルドしたプログラムを「Nibble」へ転送して動かしてみましょう。</p><p>まず「Nibble」と開発用のパソコンをUSBケーブルで接続します。</p><p>そして<span style="color: #fcff01;">必ず「Nibble」のスイッチをONにしてください。</span></p><p>そうしないと、パソコンに認識されません。</p><p>このとき、デバイスマネージャを確認してみてください。</p><p>もし「Nibble」とパソコンを接続したのに、以下のように「<span style="color: red;">ほかのデバイス</span>」以下「<span style="color: red;">USB Serial</span>」と表示されている場合は、デバイスドライバのインストールが必要です。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj67G2oZJnGw6c7Xa4WdgAGGU25k0Fds4T4Z98BLHFyoRDKfQvKHe3tn8WOV2GPnqYqGc1hliNpINDUIJXSQqCcSmhgpx9nN-fF-1K-S3BFbMXrTA7rq-yCriPpMq2rdFNvICxUAHRkA8sN7a5EjCfsUG04Y-IBlviHc_CCd8UkpV-nLXhw3F42PPziW_yP/s781/56.png" style="margin-left: 1em; margin-right: 1em;"><img alt="デバイスマネージャ - 1" border="0" data-original-height="572" data-original-width="781" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj67G2oZJnGw6c7Xa4WdgAGGU25k0Fds4T4Z98BLHFyoRDKfQvKHe3tn8WOV2GPnqYqGc1hliNpINDUIJXSQqCcSmhgpx9nN-fF-1K-S3BFbMXrTA7rq-yCriPpMq2rdFNvICxUAHRkA8sN7a5EjCfsUG04Y-IBlviHc_CCd8UkpV-nLXhw3F42PPziW_yP/w400-h293/56.png" width="400" /></a></div><p><br /></p><p>この「Nibble」にはUSB-Serial変換のICとして「CH340C」という石が使われているようです。</p><p>そのため、このIC用のデバイスドライバをパソコンにインストールしなければなりません。</p><p>ダウンロードは、メーカーのWCH社のページからダウンロードできます。</p><p>以下のページを開いて「<span style="color: red;">下載?</span>」(多分ダウンロードという意味)という部分をクリックします。</p><p><br /></p><p><a href="https://www.wch.cn/downloads/CH341SER_ZIP.html" target="_blank">https://www.wch.cn/downloads/CH341SER_ZIP.html</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvlBEOYA1qsSW8cRPlZ1Q9Ik3UovZHm8TZVuxKg-G4vJbsowbBHYYYeU11AJKsFU5QLnYXZD37VNCygJfWZK-e4LdoC-01M7vt9zVzoNh6ElS24WuStJpMYZvnsDlAIVf8guAaA0xzWvcHpZ2KjuV9UdQomJRagd9rOskldsv2usp75pwSgD0wKl5C3-lp/s1280/57.png" style="margin-left: 1em; margin-right: 1em;"><img alt="WCH社のダウンロードページ" border="0" data-original-height="984" data-original-width="1280" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvlBEOYA1qsSW8cRPlZ1Q9Ik3UovZHm8TZVuxKg-G4vJbsowbBHYYYeU11AJKsFU5QLnYXZD37VNCygJfWZK-e4LdoC-01M7vt9zVzoNh6ElS24WuStJpMYZvnsDlAIVf8guAaA0xzWvcHpZ2KjuV9UdQomJRagd9rOskldsv2usp75pwSgD0wKl5C3-lp/w400-h308/57.png" width="400" /></a></div><p><br /></p><p><span style="color: #fcff01;">中国の会社のWebページからソフトウェアをダウンロードしてインストールするのは怖いですよね!?</span></p><p><span style="color: #fcff01;">でも私の環境では、特に悪さをすることもなく正常に動いているので安心してください。</span></p><p>ダウンロードしたZIPファイルを展開して、勇気を出してその中の「<span style="color: red;">SETUP.EXE</span>」をダブルクリックします。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsUj2BhqEdyAsy4lBcaYwPD33U4zIrRcy3_fvvZE1LSO73MW0O42Qk3ETYwNQ0x_XCi_HM8-jJYipX3Jnb6_favjKGr5BD8iOLWiiiRef86oSngBfQW4LZjlpRlO6oOr3aXi_3_vUTijkbbiZ5YZt99L8cnFgocctzjhENGXGYxHT0RDMY7vYKkKoJMDg5/s668/58.png" style="margin-left: 1em; margin-right: 1em;"><img alt="ダウンロードしたZIPファイルを展開したディレクトリ" border="0" data-original-height="420" data-original-width="668" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsUj2BhqEdyAsy4lBcaYwPD33U4zIrRcy3_fvvZE1LSO73MW0O42Qk3ETYwNQ0x_XCi_HM8-jJYipX3Jnb6_favjKGr5BD8iOLWiiiRef86oSngBfQW4LZjlpRlO6oOr3aXi_3_vUTijkbbiZ5YZt99L8cnFgocctzjhENGXGYxHT0RDMY7vYKkKoJMDg5/w400-h251/58.png" width="400" /></a></div><p><br /></p><p>以下のように、インストーラが起動しますので「<span style="color: red;">INSTALL</span>」をクリック!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJLoRx1iTYd2tVOh0uRV-yLRv71axRAPbI1mcsM0gFXQ46I8Aji897emtK5733_5CV3HvqBndShOdPJy9B5zbtlrGjsPHcLh3-SSyUT6Av9zZy7DdUyFsABD4HOsm5Pi99Blcn-M4gJcKzU-SKPGj6i40YPDoNUwGc0munXT8pwJMCdO3BBIcs_a795ytS/s532/59.png" style="margin-left: 1em; margin-right: 1em;"><img alt="インストーラ" border="0" data-original-height="340" data-original-width="532" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJLoRx1iTYd2tVOh0uRV-yLRv71axRAPbI1mcsM0gFXQ46I8Aji897emtK5733_5CV3HvqBndShOdPJy9B5zbtlrGjsPHcLh3-SSyUT6Av9zZy7DdUyFsABD4HOsm5Pi99Blcn-M4gJcKzU-SKPGj6i40YPDoNUwGc0munXT8pwJMCdO3BBIcs_a795ytS/w400-h256/59.png" width="400" /></a></div><p><br /></p><p>インストールが完了すると以下のダイアログが表示されますので「<span style="color: red;">OK</span>」ボタンをクリックしてインストーラを終了させましょう。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij9BLVSxNJfOG3ybNvoRq_4leMMD_L9qXjLH-1t2tsblNBxsdcqTfIiM9WUK7Gu2RADTP3O5-gjVFuQ6G68B7trAhv_-YG9ER5KGYgLkTML3owSgNb24DZcvz0kKb901rfDcuJTZQvL--Ysn5NYBIL5XoXSm70F-W1iBjQUJ1Hnn_XNkuxv3vtWTqhenBw/s200/60.png" style="margin-left: 1em; margin-right: 1em;"><img alt="インストール終了ダイアログ" border="0" data-original-height="147" data-original-width="200" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij9BLVSxNJfOG3ybNvoRq_4leMMD_L9qXjLH-1t2tsblNBxsdcqTfIiM9WUK7Gu2RADTP3O5-gjVFuQ6G68B7trAhv_-YG9ER5KGYgLkTML3owSgNb24DZcvz0kKb901rfDcuJTZQvL--Ysn5NYBIL5XoXSm70F-W1iBjQUJ1Hnn_XNkuxv3vtWTqhenBw/w200-h147/60.png" width="200" /></a></div><p><br /></p><p>デバイスドライバが正常にインストールされると、デバイスマネージャは、以下のように変化するはずです。</p><p>ちゃんと「<span style="color: red;">ポート(COMとLPT)</span>」以下「<span style="color: red;">USB-SERIAL CH340</span>」と表示されており、私のパソコンの場合は、ポート番号は<span style="color: red;">4番</span>に振り分けられたようですね。</p><p>(ポート番号は、パソコンによって異なります。)</p><p>このような表示になっていれば、パソコンは「Nibble」を正常に認識しています。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgysWez_6YuH8EOuTfGht9KXqBndwC-8gkNMmepxjNY02Ym2ehE24f5RoSoAPa4Vhlba6ECskP3XNjPE0ONjPl9b5p8LxBW3aUTKMgXF5sVgUcngrnV2uMT8ZRl6fVEY-S1TfPnuK-MmeFe7fPE4fTF4q7Gqee8G5yYfIn-3sVObtYmFP9ttPnWJ7drg55r/s781/61.png" style="margin-left: 1em; margin-right: 1em;"><img alt="デバイスマネージャ - 2" border="0" data-original-height="572" data-original-width="781" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgysWez_6YuH8EOuTfGht9KXqBndwC-8gkNMmepxjNY02Ym2ehE24f5RoSoAPa4Vhlba6ECskP3XNjPE0ONjPl9b5p8LxBW3aUTKMgXF5sVgUcngrnV2uMT8ZRl6fVEY-S1TfPnuK-MmeFe7fPE4fTF4q7Gqee8G5yYfIn-3sVObtYmFP9ttPnWJ7drg55r/w400-h293/61.png" width="400" /></a></div><p><br /></p><p>それでは「Arduino IDE」に戻って、プログラムの転送を行いましょう。</p><p>「Arduino IDE」画面上部の「Tools」メニューから「Port」→「<span style="color: red;">COMx(デバイスマネージャで確認したポート番号)</span>」と各項目を順にクリックしていきます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYMOF2j-H3L2Zo17PjlcvdYCsnW6OKrdrf09bV5EyIXCLBEhHzc-4GZi9z785Gc7Gm4jVOe5D_XTZN-0z8UI59W1wjFcCQeaEjNsy7VfZuxgwK4BKntIzyUshq7ro3-dC-IVtolXBorDuDLTps7WZvjnZc1GBekXuI68OqAAaoET6VG7F7-zemiQuRND_x/s837/62.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino IDE - 3" border="0" data-original-height="674" data-original-width="837" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYMOF2j-H3L2Zo17PjlcvdYCsnW6OKrdrf09bV5EyIXCLBEhHzc-4GZi9z785Gc7Gm4jVOe5D_XTZN-0z8UI59W1wjFcCQeaEjNsy7VfZuxgwK4BKntIzyUshq7ro3-dC-IVtolXBorDuDLTps7WZvjnZc1GBekXuI68OqAAaoET6VG7F7-zemiQuRND_x/w400-h323/62.png" width="400" /></a></div><p><br /></p><p>そして、いよいよだ…いよいよプログラムの転送を行います!</p><p>「Arduino IDE」の画面左上の「<span style="color: red;">→</span>」マークをクリック!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNJ0KS8vuhVCQxcLy09WFPs1XSHu5MXJhkJ2_KtacCqvxSeZiz-8dK7piSSos6gCf3TiaYSTo3nZEYQjhVdtJ_9loE436zE5kKiXvUHhgEBO2toYi0oLRzmwCI3IxlcdOf8TSpr5XLxLqSATRdTzg4RbhFVXG1TTnU_1P4Si8As8VVorMdF7rjEcSUlmO8/s839/63.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino IDE - 4" border="0" data-original-height="676" data-original-width="839" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNJ0KS8vuhVCQxcLy09WFPs1XSHu5MXJhkJ2_KtacCqvxSeZiz-8dK7piSSos6gCf3TiaYSTo3nZEYQjhVdtJ_9loE436zE5kKiXvUHhgEBO2toYi0oLRzmwCI3IxlcdOf8TSpr5XLxLqSATRdTzg4RbhFVXG1TTnU_1P4Si8As8VVorMdF7rjEcSUlmO8/w400-h323/63.png" width="400" /></a></div><p><br /></p><p>緊張の時間は、結構長く感じます。</p><p>「Arduino IDE」の出力エリアに以下の表示出れば転送成功です!!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheeVPTZMyddZTyF9wsovhTnKSXxXpmNEV5gQD6yA_22Sme1UmXs2Z-jBqKGdf45gCzurRRdsSn-OuUX967m9OJiW_it2L1qubwtCckG3qWelJ3oeYByCaxUJAE4UHQ0Q7t5MkL22inIarEJJhW7inTEGiShXZENOFlH7Kp4P8xT_RWVoa6EG-2inPi40Xj/s839/64.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Arduino IDE - 5" border="0" data-original-height="676" data-original-width="839" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheeVPTZMyddZTyF9wsovhTnKSXxXpmNEV5gQD6yA_22Sme1UmXs2Z-jBqKGdf45gCzurRRdsSn-OuUX967m9OJiW_it2L1qubwtCckG3qWelJ3oeYByCaxUJAE4UHQ0Q7t5MkL22inIarEJJhW7inTEGiShXZENOFlH7Kp4P8xT_RWVoa6EG-2inPi40Xj/w400-h323/64.png" width="400" /></a></div><p><br /></p><p>転送後の「Nibble」の表示はどうなっているでしょう?</p><p>再起動の後に…。</p><p><span style="color: #fcff01;">映りました!</span></p><p>ああ!これは「Invaderz」というゲームのアイコンみたいですね!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAaJckvuiSLO996yYeTQa3cXcZOr9IMEs6sVjyeGWE8d5e4vlNok8MoNK6bREIZrB1lFWciy8r4zu9N3spJc5Ex3RZI-HUy51enCRrlRFCEpjX04h57A25539vdcusOZwNNWQmfhYnZffdrM5mqj_jjfgAGR80xSK5YxDigFeLhzgPxmpsA6ZbEtA2uE1p/s960/DSC_0549.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Invaderzアイコン" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAaJckvuiSLO996yYeTQa3cXcZOr9IMEs6sVjyeGWE8d5e4vlNok8MoNK6bREIZrB1lFWciy8r4zu9N3spJc5Ex3RZI-HUy51enCRrlRFCEpjX04h57A25539vdcusOZwNNWQmfhYnZffdrM5mqj_jjfgAGR80xSK5YxDigFeLhzgPxmpsA6ZbEtA2uE1p/w400-h300/DSC_0549.JPG" width="400" /></a></div><p><br /></p><p>この「Invaderz」というゲーム、まあ、まんまインベーダーですけど、他のゲームの中で一番面白いかも!</p><p><a href="https://dic.pixiv.net/a/%E5%90%8D%E5%8F%A4%E5%B1%8B%E6%92%83%E3%81%A1" target="_blank">名古屋打ち</a>ができるかどうかは試していませんが…。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBIIj43GWl9X0SVso6yTPy8iuwkBT4Qf7lcj9cJ-ksNCuaILfA0ikyat8PY8C_gU7a5LXzFsOzPy5k4L0K2wmGuNd4a1g2oshCG3E-E5tPTmmGf1ec2Avl0Q8pN7Ik77Gi5HMDAC60qmfU6-RAht7A8hxvaTemVuC4-boURNa-NhJ2R5ykpMzpu12HhQPi/s960/DSC_0550.JPG" style="margin-left: 1em; margin-right: 1em;"><img alt="Invaderzゲーム" border="0" data-original-height="720" data-original-width="960" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBIIj43GWl9X0SVso6yTPy8iuwkBT4Qf7lcj9cJ-ksNCuaILfA0ikyat8PY8C_gU7a5LXzFsOzPy5k4L0K2wmGuNd4a1g2oshCG3E-E5tPTmmGf1ec2Avl0Q8pN7Ik77Gi5HMDAC60qmfU6-RAht7A8hxvaTemVuC4-boURNa-NhJ2R5ykpMzpu12HhQPi/w400-h300/DSC_0550.JPG" width="400" /></a></div><p><br /></p><p>他のゲームも一通り動作確認しましたが、正常に工場出荷時の状態に戻せるようになったみたいです。</p><p>しかも「Invaderz」という新しいゲームも追加されました!</p><p>手間はかかりましたが、この一連の作業で開発環境の基本的な操作や仕組みは理解できたような気がしますね。</p><p><br /></p><p>さて、これでオリジナルのゲームが作れるようになりました。</p><p>ゲームのライブラリなどの使い方は、既存のゲームのソースコードを参考にすれば解析できるでしょう。</p><p>取っ掛かりとしては、一番シンプルそうな「BonK」のソースコードなんかがいいかも。</p><p>機会があれば、何か作ってこのブログで紹介できるといいですね~。</p><p>お付き合い、ありがとうございました。</p><p><br /></p><p><終わり></p>Ryutaro Moritahttp://www.blogger.com/profile/15793065654330157254noreply@blogger.com0