2020/01/23(木)Raspberry Pi 3 Model B+ に FreeBSD12.1 をインストール (1)

2020/01/23 3:55 電子工作
以前に比べれば、格段に対応精度は上がっている模様。
ですが、デバイスドライバの関係で無線インタフェースはサポート外です。
とはいえ、今のところはこれで充分だったりするんですが。。

20200123.jpg


今回、Raspberry Pi は、LANインタフェースとNTPによる時刻管理をする役目と、GPIO に接続するハードウェアの制御インタフェースに用います。
何のハードウェア制御かは、企業秘密事項に該当するのでお話することはできません。

ここではいつもの「自分メモ」用に FreeBSD 12.1 を Raspberry PI 3 Model B+ にインストールする手法を記録していきます。
因みに昨今では Raspberry Pi 4 が出現していますが、まだ FreeBSD は対応していない模様。

1)RaspBerry Pi 3 対応の FreeBSD インストールイメージファイル取得
https://download.freebsd.org/ftp/releases/arm64/aarch64/ISO-IMAGES/12.1/
Raspberry Pi 3 用の FreeBSD-12.1-RELEASE-arm64-aarch64-RPI3.img.xz をダウンロードしましょう。

2)取得したイメージを MicroSD カードへ書き込む
  Micro SD カードは、32GByte ものを強くお勧めです。
https://www.balena.io/etcher/ (balenaEtcher,Win版/Mac版有り)
  以前のように、別のFreeBSD マシン等で DD コマンドを使う必要性もなく、
  誤って MicroSD カード以外のドライブに書き込んでしまうことを防ぐ機能もあるようです。
  
  このソフトウェアをインストールして、起動してから MicroSDカードへ書き込みますが、
  使い方については説明不要なほど簡単に判るかなと思います。

3)RaspBerry Pi に USBキーボード、HDMIディスプレイ、LANケーブルを挿し込む。
  最後にMicroUSB 電源コードを差し込む。この時、電源は入れないこと。

4)作成した MicroSD ブートカードを RaspBerry Pi 3 のMicroSD カードスロットへ挿し込み、
  ここで電源ON。

5)1分~2分程度で、起動完了します。「Login:」プロンプトが表示されたら、起動完了です。
  以下のような感じで dmesg が表示されます:
−−−<<BOOT>>−−−
Copyright (c) 1992-2019 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.1-RELEASE r354233 GENERIC arm64
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
VT(efifb): resolution 656x416
KLD file umodem.ko is missing dependencies
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: unblocking device.
random: entropy device external interface
MAP 39f4a000 mode 2 pages 1
MAP 39f4f000 mode 2 pages 1
MAP 3b350000 mode 2 pages 16
MAP 3f100000 mode 1 pages 1
kbd0 at kbdmux0
ofwbus0:
simplebus0: on ofwbus0
ofw_clkbus0: on ofwbus0
clk_fixed0: on ofw_clkbus0
clk_fixed1: on ofw_clkbus0
regfix0: on ofwbus0
regfix1: on ofwbus0
psci0: on ofwbus0
lintc0: mem 0x40000000-0x400000ff on simplebus0
intc0: mem 0x7e00b200-0x7e00b3ff irq 20 on simplebus0
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq 23,24 on simplebus0
gpiobus0: on gpio0
generic_timer0: irq 0,1,2,3 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
usb_nop_xceiv0: on ofwbus0
bcm_dma0: mem 0x7e007000-0x7e007eff irq 4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 o
n simplebus0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100027 on simplebus0
bcmrng0: mem 0x7e104000-0x7e10400f irq 21 on simplebus0
mbox0: mem 0x7e00b880-0x7e00b8bf irq 22 on simplebus0
gpioc0: on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e201fff irq 25 on simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e204fff irq 27 on simplebus0
spibus0: on spi0
spibus0: at cs 0 mode 0
spibus0: at cs 1 mode 0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 40 on simplebus0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem 0x7e980000-0x7e98ffff,0x7e006000-0x7e
006fff irq 46,47 on simplebus0
usbus0 on bcm283x_dwcotg0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 49 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
fb0: on simplebus0
fbd0 on fb0
VT: Replacing driver "efifb" with new "fb".
fb0: 656x416(656x416@0,0) 24bpp
fb0: fbswap: 1, pitch 1968, base 0x3eb33000, screen_size 818688
pmu0: irq 53 on simplebus0
cpulist0: on ofwbus0
cpu0: on cpulist0
bcm2835_cpufreq0: on cpu0
cpu1: on cpulist0
cpu2: on cpulist0
cpu3: on cpulist0
gpioled0: on ofwbus0
gpioled0: failed to map pin
cryptosoft0:
Timecounters tick every 1.000 msec
iicbus0: on iichb0
iic0: <I2C generic I/O> on iicbus0
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: at usbus0
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
mmcsd0: 32GB <SDHC USDU1 2.0 SN 401D09C1 MFG 04/2019 by 116 J`> at mmc0 50.0MHz/4bit/65535-block
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
mbox0: mbox response error
bcm2835_cpufreq0: can't set clock rate (id=4)
Release APs...done
CPU 0: ARM Cortex-A53 r0p4 affinity: 0
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
Instruction Set Attributes 0 =
Instruction Set Attributes 1 = <>
Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
Processor Features 1 = <0>
Memory Model Features 0 = <4k Granule,64k Granule,S/NS Mem,MixedEndian,16bit ASID,1TB PA>
Memory Model Features 1 = <>
Memory Model Features 2 = <32b CCIDX,48b VA>
Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
Debug Features 1 = <0>
Auxiliary Features 0 = <0>
Auxiliary Features 1 = <0>
CPU 1: ARM Cortex-A53 r0p4 affinity: 1
CPU 2: ARM Cortex-A53 r0p4 affinity: 2
CPU 3: ARM Cortex-A53 r0p4 affinity: 3
WARNING: / was not properly dismounted
Warning: no time-of-day clock registered, system time will not be set accurately
uhub0: 1 port with 1 removable, self powered
ugen0.2: <vendor 0x0424 product 0x2514> at usbus0
uhub1 on uhub0
uhub1: <vendor 0x0424 product 0x2514, class 9/0, rev 2.00/b.b3, addr 2> on usbus0
uhub1: MTT enabled
uhub1: 4 ports with 3 removable, self powered
ugen0.3: <vendor 0x0424 product 0x2514> at usbus0
uhub2 on uhub1
uhub2: <vendor 0x0424 product 0x2514, class 9/0, rev 2.00/b.b3, addr 3> on usbus0
uhub2: MTT enabled
uhub2: 3 ports with 2 removable, self powered
ugen0.4: <vendor 0x0424 product 0x7800> at usbus0
muge0 on uhub2
muge0: <vendor 0x0424 product 0x7800, rev 2.10/3.00, addr 4> on usbus0
muge0: Chip ID 0x7800 rev 0002
miibus0: on muge0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1
000baseT-FDX-master, auto
ue0: on muge0
ue0: Ethernet address: b8:27:eb:cd:66:49
lo0: link state changed to UP
muge0: Chip ID 0x7800 rev 0002
ue0: link state changed to DOWN
ue0: link state changed to UP
Security policy loaded: MAC/ntpd (mac_ntpd)

2017/10/17(火)D級オーディオアンプ

2017/10/17 20:21 電子工作

発売開始当初に入手したものの、
「周囲にまき散らす電磁ノイズがひどい」という話だけを何故か聞くので保留していた代物ですが・・・

作業場(謎)に様子見のために設置してみました。
この基板には TI社のTPA2001D1 という、今では有名なICが2つ乗っかっています。

アナログ回路のA級・B級アンプしか知らない筆者にとって、
無信号時の背景ノイズが殆ど無いのは驚きました。これもまた評判どおり。
ICの発熱もほとんど感じません。

気になる電磁ノイズは思ったほどではありません。しばらく使ってみることにします。

2017/01/05(木)壊れたのと同じテスタを買ってみた

2017/10/12 22:10 電子工作
早速、昨日から業務稼働しています。
20170105.JPG
12月29日、たまたま興味本位で寄った個人経営らしきリサイクルショップなのですが・・・

なんと、機械的損傷で数ヶ月前に壊れてしまった安物テスタと全く同型のものが平積みで売っていました。とりあえずというか、必要ではあるので思わず買ってしまいました。
3年くらい前にネット通販で980円で購入した記憶があるのですが、税抜き699円で売っていました。
しかしまぁ、リサイクルショップで安物新品テスタが売られているなんぞ、誰も考えないでしょうね。

本当は、もっときちんとしたプロの業務に耐えうるテスタが欲しいのです。
工事現場などで携帯目的で使うにもやや難があります。
この手のテスタは測定誤差が結構あるのですよ。。

2016/09/09(金)H8/3069F ROMライタの制作

2016/08/10 の記事 で紹介した道具を、特注で製作しなければならないことになり(というか当初の作業工程策定で漏れていた)、急遽現在のファームウェア制作を数日中断して作ることにしました。

その部品たちの一部が以下:
20160910.JPG

来週半ば目途に完成させないとならないという、半ば突貫工程です。。
と言っても、プリント基板さえ作ってしまえば、1~2日程度で出来そうな規模ですが。。

2016/07/16(土)サトーパーツの端子台 ML-1800-S1-Pxx

2017/10/12 19:31 電子工作
プライベートCA関係の記事の予定でしたが、これも自分メモ。。

左側が32端子あるタイプの ML-1800-S1-P32 という型番の部品、
右側が 6端子あるタイプの ML-1800-S1-P6 という型番の部品。
DSCF5420.JPG

この端子台は、横にいくつでもレゴブロックのように連結することができます。
話には聞いていたし、どこかでそういう説明も見かけた記憶があるのですが、実際に見たことが無いし、メーカーのカタログ等に説明が無い。

と、いうことで、将来同じ疑問を持つかもしれない方々のために検証出来たので記録しておきます。
先ず、左端は簡単にカバーを外すことができます。
DSCF5422.JPG

カバーを外すと金属端子がむき出しになります。それを覆うためのカバーですね。
ここからが重要なのですが、この端子台は最小2端子単位で簡単に分解できます。
DSCF5423.JPG

なので、品番としては 32端子ものの ML-1800-S1-P32 が入手可能な端子数としては最大ですが、連結してあたかもひとつの大きな端子台として実装することができます。
これは 32端子ものと 6端子ものを合体させて、38端子を構成した様子です。
連結の際は、連結する側の左端のカバーを外します。
DSCF5424.JPG

ちなみに右端は常にこんな感じになります。
DSCF5425.JPG

連結のための凹部があります。

2016/03/08(火)仕事で使っているんだが・・・

2017/10/12 19:18 電子工作
#こちらのサイトでは、技術的なこと・業務的なことを中心に追記していきます。
#専門外だと内容的に難しいですが、ここはそういう方針ですのでよろしくおねがいします。

今や、全て「絶版」です。年代ものになってしまい、ボロボロですよ。。
これらは、現在では半導体メーカのWebサイトにて無償提供されており、殆どの場合、PDF形式のファイルでダウンロードできます。
ただ冊子形式ではなく、型番ごとに個別に入手する形になります。
20160308_1.jpg
20160308_2.jpg
20160308_3.jpg

半導体メーカでは型番毎に詳しいデータが掲載されているので、電子回路設計に必要な情報は昔より格段に入手が楽になった反面、いちいちパソコンなどで観なければならないので、作業途上では案外不便なんです。

ちょっとした確認には冊子になっているほうがいいのです。
こういう不便を感じているのは自分だけなのだろうか。。

これらCQ出版社刊のハンドブック形式規格表は、1999年まで毎年発行されていたようなのですが、「TTLIC規格表」と「CMOSIC規格表」は 「汎用ロジック・デバイス規格表」として2003年に復活したものの、2008年の発行が最後、トランジスタ規格表は2013年の発行が最後のようで、絶版になっています。

Webから情報が入手できるようになったのと、これらを設計する仕事が長らくの景気低迷で減ったので、需要が減ったのでしょうね。

当方も 1986年以降、脱サラするまでの10数年間、このような業務に直接携わることがなかったのと、設計開発業務が増えてきた 2012年以後は既に売っていなかったのと、必要性もあまり生じなかった(手持ちの古いもので何とか間に合っていた)ので購入する行動に出なかったわけです。

新しいものが欲しいんですが、売っていませんね。。

2015/11/16(月)半完成品

2017/10/12 19:10 電子工作
製作した基板の動作確認をして、すべて確認済みとなったので依頼元へ持っていきます。
問題は現場への設置で、ケース・バイ・ケースと思われるので、後日、この現場設置作業に出向くことになるんでないか、と思っています。
20151116.jpg

2015/11/02(月)気温・室温計 運用開始できました

2017/10/12 19:08 電子工作
10/30 に設置して稼働始めましたが、
計測値がちょっと変だったので、昨夜ファームウェア直して解決しました。
UDPプロトコルにて遠隔で計測温度の読み出しができます。
表示している数値は摂氏表記の温度です。
ケース加工などちょっと失敗したんですが、自社内部使用なのでそのまま使っています。
使用した緑色の7セグメントLEDですが、10mA の電流でもえらく明るく光る代物でした。秋月電子通商で扱っていますが、宣伝に嘘はありませんでした。

早速、これの康価版の制作依頼が10セットほど入り、本日から作業に入ります。
DSC_0170.JPG
OK キャンセル 確認 その他