(1) MCU、SoC、プロセッサ MCUとSoC、そしてマイクロプロセッサ。昔は製品的にもビジネス的にも(そして半導体会社の中の部門的にも)大分違うところにいた気がします。この頃は境目が大分あやふや、技術的にもビジネス的にも。それでも本連載は、変わらぬシングルチップ・マイクロコントローラ、MCU愛で進めて行きたく存じます。
(2) Armにする、Armじゃない? Microchip Holtek NXP いつの頃からでしょう、MCUを語るのに、Armに触れないわけにいかなくなったのは?Arm、最初は単体CPU、ブレークしたのはSoC(そのころはシステムLSIと呼んでいたでしょう)でしたね。しかし、MCU商売でも本道中の本道。米、台、欧の有力3社をざっと経めぐってみます。
(3) Armのお供にレガシー8051説 Silicon Laboratories ArmコアのMCUの蔓延りぶりが目につきますが、その陰に、レガシーな8ビットマイコン8051が見え隠れする。そこで一説を唱えました。
(4) Cypressいつの間に Cypress社といえば、PSoCマイコン。コンフィギャラブル?なアナログ回路、デジタル回路を備えたユニークな製品です。そのMCU製品ラインの概要をながめてみます。
(5) Arm Cortex-Mのおさらい いまやArmにあらずんば32ビットMCUにあらず、という感じ。しかし、MCUに使われるArmコアにもいろいろある。
(6) Analog-Devices、一味違うレガシーコア アナデバと言えば、アナログ業界の大看板、「泣く子も黙る」かもしれない存在です。そんなアナデバ社もMCUをラインナップしております。流石、アナデバ、MCUコア、レガシーでも一味違う。
(7) Nuvoton Technology、益々快調Armのお供に8051説 台湾のヌーボートン社は、みずから8051コア大手を名乗っておられます。8051ファン?としてはまず真っ先にあげておかねばならない存在。なお、ヌーボーはボジョレーヌーボーのヌーボーで、トンは大唐帝国の唐らしいです。(なお、Nuvoton社が買収した話はこちら)
(9) Z8とZ8051 Littelfuse(IXYS( Zilog ))
(22) STMicroelectronics、正統派すぎる
(23) Maxim Integrated、セキュアとウエアラブル
(24) ABOV Semiconductor、メモリの国のMCUベンダ
(25) Panasonic セミコンダクターソリューションズ
(29) Mediatek MT2523、MCUそれともSoC
(31) Cybernetic Micro Systems P-51、マニアック
(32) 6502の家元? Western Design Center
(38) Digi, Rabbit, 独自進化の強力8ビット
(41) SiFive, RISC-V, MCUにもなりMCUではなく
(44) Arm Mbed その2、printf、OSのお陰
(47) Arm Mbed その5、OpenOCD+GDBでデバッグ
(48) Arm Mbed その6、make-gcc-armへイクスポート
(50) Arm Mbed その8、mbed-simulator
(53) PSoC Creator その2 回路図エントリにはまる
(54 ) PSoC Creator その3 システムタイマチック
(55) CY8CKIT-059 PSoC 5LP Prototyping Kit
(63) NXPマイコンににみる Mbed OS対応微妙な違い
(65) SW4STM32、Mbedからexportしてみる
(71) Kendryte K210、RISC-V搭載AIチップ
(73) 突然のNuvoton Technology Nuvoton(新唐)がPanasonic半導体を買う?気になったので、ちとNuvotonの年次報告書など読んでみた、と。
(74) VS Codeでマイコン・ソフト開発 Visual Studio Code、Visual Studioの名で騙されてましたね。よく知っているツールなんだと。使ってみると大違い。マイコン開発にも使える、それどころか新な地平を開く? 乗り換えている人が多いのもうなずけます。
(75) VS CodeでM5Stack、ちょっと設定 前回ズボラな設定のまま、M5Stackのコードを書いてしまいました。いくつか設定を加えれば、これでArduinoIDEと同等以上か?
(76) VS CodeでNucleo、PlatformIO超便利! 今回は、ターゲットボードをST社のSTM32マイコン(Armコア)Nucleoボードに変えてみます。OSはMbed。ここでもPlatformIOの便利さが際立ちます。
(77) VS CodeでMicro:bit、デバッガも使えます。 Micro:bitと言えば、ブロックエディタでお絵描きでプログラムする、というのが普通です。しかし、VS Code+PlatformIO使えば、C++で、ArmのMbed OS使ってプログラムすることが即できます。そのうえ、何の追加プローブも無しにデバッガも使えます。
(78) VS Code+PlatformIO、弱点もある 便利なPlatformIOですが、Mbedプラットフォーム環境をよく見てみると、細かな弱点もあることに気付きます。純正環境はやっぱり強いところがあるなあ、と。
(79) VS CodeでRaspberry Pi 今回はPlatformIOを使わず、VS CodeからSSH接続でラズパイに接続してみました。やってみたら超簡単。ほとんど何も考えずにラズパイ上のファイルをエディット、ターミナル開けば、RaspbianのBash.
(80) VS CodeでJetson Nano 前回にひきつづき、VS CodeからSSH接続を使ってみます。今回ターゲットはJetson Nano. 接続したならばPython拡張をRemoto接続先にインストールして、numpyとcupy(CUDA-GPU利用)混在のPythonスクリプトをデバッグしてみます。
(81) VS Code、Remote, MakeしてGdb 前回尻切れトンボに終わったJetson Nano上のcudaプログラムをビルド、返す刀で、同じショートカットをラズパイに適用し、cプログラムをビルド、そしてラズパイ上のgdbをVS Codeでリモートデバッグ。
(82) VS CodeでESP32 DevKitC 今回はクロス開発に戻ってEspressif社のESP32のDevKitCです。ただし、同じESP32搭載のM5Stackを既に試しています。同じArduino環境であれば超簡単にできる筈。
(83) VS CodeでESP32続、LCD 前回の構成に、I2C接続のLCDパネルを追加。これで自前のLCDが使える、M5Stackみたいに便利?
(84) VS CodeでESP-IDF このところESP32系つづいていますが、いずれもプラットフォームはArduinoでした。今回は「趣向」を変えて縁の下で働いてくれているFreeRTOSに直接触れるESP-IDF環境をば。
(85) Longan Nano、Arduino環境?? 勝手な目論見あり、RISC-V搭載マイコンのLongan Nanoを購入いたしました。お手頃価格で多機能。そしてArduino環境でお手軽開発、って、でも私のやりたいことはArduinoでは無理?ちゃんとやれっていうことですか?
(86) Longan Nano、GD32VF103-SDK どうもLongan NanoはSDKでプログラムする方がよっぽどやりやすい。でもね、ちゃんと回路図、データシート調べないと思ったようには動きませぬよ。
(87) Longan Nano、DAC ようやく回路図やマニュアルを確認し、DACとディスプレイが両立。マニュアル読んで、分かってくれば段々楽しくなってくる。
(88) Longan Nano、USARTでprintf お手製アダプタで信号を引き出し、printfデバッグ。原始的でも、何はともあれprintfだあ。
(89) Longan Nano、I2CでAQM1602 まあね、Longan nanoには背中のカラーLCDがあるから、わざわざ外付けのLCDの意味ないけど、まあね、I2Cのテストだから。。。
(90) Longan Nano、microSD カードからの読み取りはできるのじゃが、書き込みができんのじゃ、何故?
(91) Longan Nano、ADC単発変換 いろいろあるADCなので、とりあえずタイマーもDMAも割り込みも要らない単発変換をやってみました。シンプル。
(92)Longan Nano、外部割込み マニュアル良く読みもせず、Examplesのみを頼りに外部端子から割り込みOK。
(93) Longan Nano、アセンブラ関数を呼び出す YouTubeのビデオのお陰で、とりあえずアセンブラ関数の雛形はOK。
(94) Longan Nano、アセンブラその2 えーっとRISC-Vの命令は32ビット幅とどこかに書いてあったのだけれど、ディスアセンブルしてみたら16ビット幅だった。なぜ。読めば理由は簡単、しかし、文書に行きつくまでが回り道?
(95) Longan Nano、RISC-Vデバッガ ちょっと個人的な心配があったけれど、Sipeed社のデバッガインストールいたしました。案ずるより産むがやすし?
(96) GD32VF103VBT6 開発ボード Longan nanoとは出元が違う、端子も違う。しかし、同じ開発環境の設定で書き込めるのねえ。
(97) GD32開発ボードにRISC-Vデバッガ接続 ボードが違えど、開発環境を流用できるのだから、デバッガも接続できる筈。
(98) GD32VF103の素性? 今になってどんなコアの実装なんだか気になってCSRを少し読んでみました。泥縄。
(99) GD32でAT24C02、EEPROM Seeed社製のGD32VF103開発ボードに搭載されていたATMELのシリアルEEPROMを読み書き。
(100) GD32VF103、Standbyモード Seeed社のボードレベルですが、Standby時の消費電流を測ってみました。まあ、チップ単体の値はデータシートに書いてあるので。
(101) GD32VF103、タイマ PWM出力 ありがちな、きわめてありがちなPWM出力、こういうときにAnalog Discovery 2のアナログでないデジタルな機能が役に立つ。
(102) GD32VF103、タイマ、インプットキャプチャ 今度はPWM信号を入力。今回もAnalog Discovery 2活躍。SDKのお陰で周波数とデューティ比の測定もお手軽。
(103) GD32VF103、バッテリバックアップ バッテリつなげば記憶が保持されるところっと。ツマラナイところにハマってしまう。
(104) Nuvoton、NUC120 Lチカへの遠い道 まあ、不運続きもあり、これほどLチカにトラぶるとはね。でもトラブって分かることもありまさーね。今回は良かった気がいたします。
(105) Nuvoton、NUC120 Systickを使う Lチカが動いてしまえばね、後はなんとかなる?最初は、クロックとシステム・タイマチックだな。定石。
(106) Nuvoton、NUC120 UARTでFT232RL接続 低レベルのドライバ関数を使えば、無償評価版の容量制限内でもUARTにちゃんと出力できる、と。
(107) Tontek、タッチに生きる?4bit MCU 台湾の4ビットマイコンの会社、多分、詠人舞衣子氏はご存知かも。
(108) GD32VF103にKEYPAD4X3を接続 秋月通商の「キット」のお陰で何時もの醜い配線は無。しかし配線の長さは多分影響している「待ち時間」に。
(109) NUC120で28BYJ-48、2相励磁 Nuvoton NUC120でステッパモータ回すんですが、とりあえず2相励磁。でも自分で波形定義しているので、後はいろいろ変更可能な筈。
(110) Arduino, Wio, M5Stack、loop()の速さ ソフト的にはArduino互換のハードでもloop()関数の実行頻度はいろいろある。
(111) NUC120で28BYJ-48、1相、2相、1-2相? 正転、逆転ひととおりやって波形を取ってみました。ま、波形プログラムしたのは自分だけれど、またまたBUGもあり。
(112) NucleoでArduino、PWM編 遊休化?していたNucleo F072RBボードがArduino環境で復活? 「ま大体は」思った通りで使えるのだけれども、予想と違うところもチラホラ。
(113) M5Stack, M5ez、本当にイージー もっと早く使っておけば良かった。M5Stack用のGUIというか実行環境。お手軽、簡単、そして便利。
(114) RISC-VデバッガでESP32デバッグ? RISC-V-DEBUGGERといいつつ普通にJTAGインタフェースだから、実はESP32のデバッグにもつかえるんじゃね。
(115) 鳥なき里のマイコン屋(115) Arduino環境でUnit test、その1 EpoxyDuinoを使わせていただいて、Arduino用のソースコードをPC上でビルドして実行。これならばマイコンに書きこまずに単体テストできる。
(116) M5ATOM Lite到着、ビルド環境セットアップ M5Stack社の超小型デバイス、購入後のお試し。
(117) M5ATOM Lite、ブレッドボード接続のお供 組み込むときは刺せば良い、といってもジャンパ線飛ばすときは裏面からは見苦しい。。。
(118) M5ATOM Lite、UART、I2C接続 少ない端子だけれどとても効率的。
(119) M5Stack、FreeRTOS機能使って周波数カウンタ 裏で走っているRTOSにお願いするお気楽実装。
(120) RP2040搭載、Raspberry Pi Pico、到着予定 書いている間に宅急便着。
(121) nRF52833搭載、BBC micro:bit V2到着 こちらも入手できないでいたV2をゲット
(122) Raspberry Pi 4到着、ラズパイPicoの母艦化 ラズパイ4をクロス開発ツール化。手順どおりにやっているのに引っかかるところにゃ引っかかるのであります。
(123) M5StackとArduino Uno、CANバス接続 M5Stack GrayからArduino Unoへ、CAN通信成功。
(124) M5StackとUno間、CANフレームのラウンドトリップ 今回は一通でなくて往復。
(125) Nucleo+MCP2562でCANバスにフレーム送信 CANバスに「新メンバ」追加、Nucleo-F072RB、トランシーバはマイクロチップ製だけれども。
(126) ラズパイPico、遅ればせながらビルド&デバッグ環境整える その実態はデバッグ用のケーブル3本作って接続しただけだけれども。
(127) Firmataでラズパイのお供にArduino ラズパイ4の手足(手下)にArduinoを接続。これでロウレベルな仕事はArduinoに丸投げ?本当か。
(128) VS CodeでラズパイPico、プロジェクトファイル生成 プロジェクトディレクトリを作って必要なファイル類を揃えてくれるお手軽ツールがお楽。
(129) VS CodeでラズパイPico、SDKのTimerを使う PicoのC/C++ SDKは上から下までAPI充実?ってか。
(130) VS CodeでラズパイPico、GPIOで割り込み まずは基礎から。GPIOで割り込んで操作、ワンショットで時間を待ってまた操作。
(131) ラズパイPico、PWM、外部クロック、周波数カウンタ C/C++SDKをつかってPicoのクロック周りを実機で確認。
(132) ラズパイPico、何気に便利なpicotool 実機に書き込んだオブジェクトの情報を引きさせる、忘却力の友。
(133) ラズパイPico、C/C++SDKでマルチコアもお手軽 C/C++SDKではまだやってなかったのね。
(134) ラズパイPico、C/C++SDKでプログラマブルIO PIOもC/C++ではまだやってなかったのね。
(135) ラズパイPico、C/C++SDKでPIO、多ビット出力 CPUが指定する任意の値を端子にパラレル出力
(136) ラズパイPico、C/C++SDKでPIO、今度は入力 MSBとかLSBとか、左とか右とかよく見てね
(137) ラズパイPico、C/C++SDKでPIO、サイド出力 ノンブロッキングpullで固定タイミングで出力、ストローブ信号付き
(138) ラズパイPico、外付けDAC、MCP4725接続 PicoのハードI2CでI2Cクロック速度がネック
(139) ラズパイPico、内蔵ADCから外付けDACへ「スルー」 なんだな、1kHz以下くらいの波形なら再現できそうな感じがします。
(140) ラズパイPico、float計算でROMをよんでるよね ついでだけどRP2040のRAMは64KB x 4 bank + 8KB x 2 bank だったのね。
(141) ラズパイPico、ハードウエア割り算器の利用 コア毎に1個搭載しているなんてゴージャス。割り算避けてないで使えっていうこと?
(142) ラズパイPico、SDKでUart入出力 なんだ uart0 も uart1 も普通に使えるじゃん。ホントか?
(143) ラズパイPico、PlatformIOでArduino 何もしないのに自分のPC上でラズパイPico用のビルドができるようになってました。ボーッと生きていても大丈夫か?
(144) ラズパイPico、Arduino環境で外付けRTC接続 Arduino環境はやっぱりお楽、Python3のスクリプトを移植?して、外付けRTCからカレンダ時刻の読み取りOK。
(145) ラズパイPico、C/C++SDKでDMAを使ってみる やっぱりSDKのAPIでプログラムするのは楽です。何と比べて?
(146) ラズパイPico、C/C++SDK、マルチコアで割り込み1 外部割込みを両方のコアで受けてみました。割り込みはOKでも。。。
(147) ラズパイPico、C/C++SDK、マルチコアで割り込み2 前回の訂正版。ようやくまともに動いているみたい。
(148) SAMD21マイコン搭載、Seeeduino XIAO到着 Microchip社のSAMシリーズ、エントリ機種搭載。SAMD51で勉強した周辺を生かせる?
(149) K210、64bit RISC-V、MAiX-BiT到着 64ビット@400MHzデュアルコア、浮動小数点UNIT付。AIアクセラレータもついている。その上今ならMEMSマイクと、カメラとLCD付き!
(150) K210、MAiX-BiT、C/C++で恒例Lチカ いつものLチカをいつもどおりにできる、64ビットのRISC-V機上で。
(151) PlatformIOのunittest、使ってみた 組込マイコン実機用の単体テスト。テストランナー、フレームワークとしてだけでなく準備も含めてまとめて面倒みてくれる、と。
(152) 最強の8ビット?Z80の後裔?Rabbit走る 「うさちゃん印」のマイコンをGET!ちょっと古いけれど結構強力。EthernetIFも搭載してこのお値段、何か間違えてないか?
(153) ルネサスRX210マイコン、Lチカまでの手続きに心が折れる パスワード忘れた私が悪いのだけれど、今回は途中で止めたくなりました。ルネ様だけじゃないけれど。
(154) micro:bitでもGo!TinyGoで3機種目 手元のマイコンボードで続々Goです。Go対応でないと近代的マイコンとは言えんな?ホントか?
(155) RISC-VでもGo!TinyGoで4機種目 MaixBit 今回のTinyGoは64 bit RISC-VデュアルコアのAI向けマイコンKendryte K210。
(156) Wio TerminalでもGo!TinyGoで5機種目 今度はArm Cortex-M4Fコア搭載のATSAMD51P20機です。外部端子名がちとややこしい。
(157) M5StackでもGo!TinyGoで6機種目 今回はTensillica Xtensa LX6のESP32マイコンだ。
(158) Mbedオンライン環境からKeil Studio Cloud Webアプリからの直接操作がエラーになったのはST-LINKにリセットかければ解決、ホントか。
(159) Keil Studio Cloudへの移行、TIPS? 結局、最新のAPIを使えよってことですかい。ついでにWeb環境でデバッグもOK。
(160) Arduino IDE 2.0インストール、吉例Lチカ ようやくArduino IDEも文明開化。2.0便利なので1.xには戻れない?
(161) 新PCにPlatformIOインストール、STM32でLチカ Arduino IDE 2.0もいいですが、VScode + PlatformIOも捨てがたいデス。
(162) ラズパイPico、SDK、開発環境復活、でも全部じゃない OS更新で不在となっていたラズパイ4母艦のラズパイPico C/C++SDKを復活、でもまた同じところで止まって、前回より酷い対応。学ばない人。
(163) RISC-VコアESP32、Arduino2.0で吉例Lチカ 遅ればせながらESP32でもRISC-Vコア品を入手。吉例LチカはArduino IDE 2.0で。
(164) RISC-VコアESP32-C3に、フルカラーLCD装着 小さくてお手頃価格だけれどいい感じで表示できるんでないかい?
(165) 特価品(見切り品?)、GR-CITRUS入手、なんとかLチカ まだ間に合った?いつまで使えるか分からんが。
(166) Picoのビルドに見る、リンク後のファイル形式いくつか ついついツマラナイことに突っ込んでしまったな。下手の横好き、バイナリ。
(167) PIC16F18855、MPLAB IDEで吉例Lチカ ウン十年ぶりの8ビットPIC。
(168) PIC16F18855で吉例Hello World. これで「伝統のPrintf()デバッグ」は出来るっと。
(169) 復活! PICkit2 で読み書き出来たものの 先達の方のお陰でWindows11上で動作OK。でも?
(170) デモボード搭載マイコン、PIC16F1829に交換 マイコン差し替えれば動くんじゃね? 動いたデス。
(171) MCC MelodyとMCC Classicどっち?どっちにも利点欠点?どっちもどっち?
(172) ルネサスMCU、Arduino UNO R4で吉例Lチカ 面白そうなところが沢山あり。Arduino UNOもいろいろ近代化?
(173) 久しぶりのRISC-V、8ピンCH32V003で吉例Lチカ 超「お求めやすい」RISC-Vマイコン。先達のお陰で一撃。
(174) マイコンでLISP、吉例Lチカ、Wio Terminal 末尾再帰で無限ループ。LISPだあ。
(175) STM32、CubeIDEをインストールで吉例Lチカ ST社純正ツール Cube IDE復活。今度こそ真面目にやれよ、自分。