[マイコン] Apple SiliconでAVRマイコンにhexファイルを書き込む

[M1 Mac, Big Sur 11.6.8, avr-gcc 9.4.0, NO IDE]

AVRマイコンへの書き込みではWindows環境でMicrochip Studioを使うのが定石ですが、Apple Siliconでも可能です。

一時は2014年以前のMac購入を覚悟しましたが、有志の方々が作ったApple Silicon対応コンパイラのおかげで買わずに済みました。

以下のツール等が必要になります。

1.CrossPack-AVR : Makefile作成ツール
Apple Siliconの場合 : Homebrewからインストールする。

brew install --cask crosspack-avr

Intel Macの場合 : 公式サイトからダウンロードしてインストールする。

2.avrdude : ライター操作ツール
Homebrewからインストールする。

brew install avrdude

3.avr-gcc : AVRマイコン専用コンパイラ
/usr/local/CrossPack-AVR/bin/avr-gccは古いので使用不可(Mac mini 2014以前で使用可)。”Bad CPU type in executable”というエラーが表示される。
別途、Homebrew経由でGitHubから最新版をインストールする。

brew tap osx-cross/avr
brew install avr-gcc
不適合Macでのエラー表示

書き込み手順は以下の通りです。

1.以下コマンドでプロジェクトを作成し、firmwareディレクトリへ移動する。

avr-project [プロジェクト名]

2.Makefileを書き換える。ATtiny13Aの場合は過去のMakefileをそのまま使える。書き換え方法は参考サイトを参照。

3.main.cを作成する。

4.makeコマンドでコンパイルする。

make

5.自製書き込みボードにAVRマイコンを装着する。

6.マイコンと接続したライターをMacとUSB接続する。

7.電源3V(単3×2)を自製書き込みボードに接続する。ライターがオレンジ色に点滅する場合は、電源をプラマイ逆に接続し赤色にしてから、正しい電極にする。緑色になればOK。

8.make flashコマンドでAVRマイコンへ書き込む。

make flash

9.用意しておいたブレッドボードにマイコンを装着して動作確認する。

[マイコン] AVR ATtiny13でLED点滅 C++

[Windows11, Microchip Studio 7.0.2594]

久しぶりに電子工作の世界へ戻ってきました。

2016年8月にArduino UNOを購入して以来ちょくちょくいじってきましたが、あれからラズパイやJetson Nanoなどシングルボードコンピュータを経ての復帰です。

Arduinoは教育用ということでScketchというC言語風の簡易言語を使いますが、生意気にも購入当時はつぶしが効かないからと覚える気が全くなく、すぐに飽きてしまいました。

今はC/C++がそれなりに書けるようになり、アセンブリ言語の勉強にもなるので、Arduinoではなくマイコンを使ってみることにします。何に使うつもりだったのか覚えていませんが、たまたま8pinのATtiny13Aが手元にありました。

Arduinoマイコンの自製用にAVRISP mkIIという純正ライターを購入していたため(2016年9月)、すぐに取り掛かることができました。

とはいえ久しぶりのマイコンへの書き込みですから、大分手間取りました。今後のためにチェックシートを作成するつもりです。

それからIDEの名前がAtmel StudioからMicrochip Studioに変わっていました。UIはほとんど変わっていないと思います。

とりあえずC++でLEDを点滅させました。次はアセンブリ言語で書いてみたいです。

AVRISP mkIIによるATtiny13Aへの書き込み(USB, 電源接続前)
// ATtiny13A LED点滅
#define F_CPU 9600000UL

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	DDRB |= 0b00000001; //PB0を出力に設定
	while (1)
	{
		PORTB |= 0b00000001; //PB0をON
		_delay_ms(200); //200ms待機
		PORTB &= ~0b00000001; //PB0をOFF
		_delay_ms(200); //200ms待機
	}
}

中波ラジオの製作2 1石ラジオ TA7368アンプ

前の記事に書いたLA1600ラジオの仮組みが完了したので電源をつないだところ、聞こえるのは雑音のみで全く電波をつかみませんでした。3年前に組んだときの状況が再現され、予想通りの結果です。

その時は原因究明をする気にならず放置していましたが、今回はやや本気モードで取り組みます。

ラジオICの個体によって雑音の具合が違っており、今のところこれが一番怪しいとにらんでいます。

まずはラジオICを除いた主要部品で1石ラジオを作り、動作確認します。これでバリコン、OSCコイル、IFTコイル、バーアンテナなどの状態が把握できるかと思います。

足りない部品を取り寄せている間にアンプを本組みします。

PasSでアンプの部品配置図を作成しました。45mm正方形のユニバーサル基板図がなかったため、既存の基板図を少し加工して¥PasS¥parts¥Boardに入れ新規登録しています。

中波ラジオの製作1 LA1600 部品配置図

ラジオICのLA1600を使ったAMラジオを製作しています。

回路図からユニバーサル基板への落とし込みが面倒なので思案していたところ、PasSという部品配置図作成ソフトがあることを知り早速使ってみました。

使用感は概ね良好です。Windows版のみです。

電子工作趣味を復活させて5年が経ちますが、もっと早く知りたかったです。

もう一つGitHubに公開されているmarmeloという同種のソフトについてはダウンロード時になぜかWindows Defenderが反応するため導入を見送りました。

[LTspice] 02 トランジスタのSPICEモデル

アンプを机上でディスクリート化(個別部品化)するため、各種トランジスタのSPICEモデルが必要になりました。

調べてみると以下のサイトに古いstandard.bjtファイルがあったのでこれを使ってみます。

参考サイト

ただ東芝2SC1815のVAFが6V(正しくは100V)になっているなど間違いもあるようなので、慎重に取り扱うべきでしょう。

オーディオ信号発生器の製作4 アンプ回路図

アンプICのデータシートを参考に回路図を作成しました。

TA7368Pは東芝が開発したICです。今回は台湾ユニソニック社のセカンドソース品を使っています。

秋月電子で同じICを使った小型アンプキットが300円でした。パーツが3つほど多いようで購入して音を聴き比べてみたいです。

作図にあたりLTspiceでアンプICのシンボルを作成するのに苦労しました。

Mac版のUIが一見シンプル過ぎて不安になりましたが、Windows版とは異なりメニューバーの内容が右クリックメニューに隠れているためであり一通りのことはできるようです。

オーディオ信号発生器の製作3 電鍵の接続

仮組みしたオーディオ信号発生器に電鍵を接続しました。

ユニバーサル基板で本組みするまではタッパーに入れて使います。

ただCWデビューした後は使わなくなるので、本組みするかどうかは半々と言ったところです。簡単な回路ですがユニバーサル基板に落とし込むのが面倒、というのもあります。

調べてみるとこのハイモンド社の電鍵は廃番にならず今も新品で売っています。国家試験の練習用として一定の需要があるみたいです。