2019/05/03

[Raspberry Pi] ヒートシンクの効果を確認する

先日、秋月電子でRaspberry Pi用ヒートシンクを見かけ、面白そうだったので購入しました。

ヒートシンクを取り付けると何か変わる?


 CPUの保護機能による処理能力低下を防止することができる可能性があります。

 ヒートシンクは半導体の放熱を助けます。ヒートシンクを半導体に取り付けることにより、半導体の放熱特性を高めることができます。CPUは計算負荷を高くすると発熱します。あまり発熱するとCPU自身が壊れてしまうため、保護機能が働き処理能力を落とします。
 従って、保護機能が動作するような場合、ヒートシンクを取り付けることにより、処理能力を落とさずに計算をすることができるかも知れません。

(1)試験環境


  H/W  : Raspberry Pi3 Model B+
  S/W  : Raspbian (4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l)
  電源 : Anker PowerPort Speed 5 (5V, 2.4A)

(2)計算負荷


 "unixbench"を使用しました。
Version 5.1.3
Multi-CPU version
January 13, 2011
  • インストール&実行手順
$ git clone https://github.com/kdlucas/byte-unixbench
$ cd byte-unixbench/UnixBench/
$ ./Run
"git"がない場合は"apt install git"でインストールする。

(3)結果


 ヒートシンク取り付け有無ではたいして変わりませんでした。

 ヒートシンクを取り付けると確かに温度上昇が鈍くなるのですが、高負荷が続くと結局のところ温度が上がってしまい保護機能が動作してしまうようです。そのためヒートシンクなしに比べてわずかですが、スコアがよくなっています。
 そこでヒートシンクに風を当ててみたところ、4並列の場合かなり改善しました。1並列が改善しないのは、保護機能が動作するほどの高負荷ではなかったと思われます。

(4)まとめ


 全CPUコアをフルに動作させるような重い計算を長時間を行う場合は、ヒートシンクを取り付けて強制空冷すると効果あり。ヒートシンクのみ(無風)はあまり効果がない。





(5)結果詳細


 上表の棒グラフは、項目毎の増減を示している。「ヒートシンクあり+強制空冷」はどの項目にも効果があるようです。

  • ヒートシンクなし
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: XXXX: GNU/Linux
   OS: GNU/Linux -- 4.14.98-v7+ -- #1200 SMP Tue Feb 12 20:27:48 GMT 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   15:34:50 up  1:42,  2 users,  load average: 0.00, 0.00, 0.64; runlevel Mar

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 15:34:50 - 16:02:57
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5098208.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1232.0 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1129.2 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        156299.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44759.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        382678.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              330624.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  69988.3 lps   (10.0 s, 7 samples)
Process Creation                               2855.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2533.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    585.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         702698.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5098208.2    436.9
Double-Precision Whetstone                       55.0       1232.0    224.0
Execl Throughput                                 43.0       1129.2    262.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     156299.0    394.7
File Copy 256 bufsize 500 maxblocks            1655.0      44759.6    270.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     382678.9    659.8
Pipe Throughput                               12440.0     330624.4    265.8
Pipe-based Context Switching                   4000.0      69988.3    175.0
Process Creation                                126.0       2855.0    226.6
Shell Scripts (1 concurrent)                     42.4       2533.1    597.4
Shell Scripts (8 concurrent)                      6.0        585.0    975.1
System Call Overhead                          15000.0     702698.6    468.5
                                                                   ========
System Benchmarks Index Score                                         362.8

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 16:02:57 - 16:31:29
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17411803.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4207.0 MWIPS (9.9 s, 7 samples)
Execl Throughput                               2357.3 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        224108.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           60076.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        554471.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1128343.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 236336.8 lps   (10.0 s, 7 samples)
Process Creation                               5330.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4803.0 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    664.3 lpm   (60.2 s, 2 samples)
System Call Overhead                        2330013.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17411803.4   1492.0
Double-Precision Whetstone                       55.0       4207.0    764.9
Execl Throughput                                 43.0       2357.3    548.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     224108.8    565.9
File Copy 256 bufsize 500 maxblocks            1655.0      60076.9    363.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     554471.0    956.0
Pipe Throughput                               12440.0    1128343.7    907.0
Pipe-based Context Switching                   4000.0     236336.8    590.8
Process Creation                                126.0       5330.6    423.1
Shell Scripts (1 concurrent)                     42.4       4803.0   1132.8
Shell Scripts (8 concurrent)                      6.0        664.3   1107.1
System Call Overhead                          15000.0    2330013.7   1553.3
                                                                   ========
System Benchmarks Index Score                                         784.4

  • ヒートシンクあり
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: XXXX: GNU/Linux
   OS: GNU/Linux -- 4.14.98-v7+ -- #1200 SMP Tue Feb 12 20:27:48 GMT 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   18:22:07 up 9 min,  2 users,  load average: 0.00, 0.00, 0.00; runlevel May

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 18:22:07 - 18:50:43
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5094109.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1229.4 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1138.1 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        156185.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44857.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        382938.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              329867.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  70211.5 lps   (10.0 s, 7 samples)
Process Creation                               2822.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2546.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    618.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         703036.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5094109.5    436.5
Double-Precision Whetstone                       55.0       1229.4    223.5
Execl Throughput                                 43.0       1138.1    264.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     156185.2    394.4
File Copy 256 bufsize 500 maxblocks            1655.0      44857.8    271.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     382938.0    660.2
Pipe Throughput                               12440.0     329867.3    265.2
Pipe-based Context Switching                   4000.0      70211.5    175.5
Process Creation                                126.0       2822.8    224.0
Shell Scripts (1 concurrent)                     42.4       2546.4    600.6
Shell Scripts (8 concurrent)                      6.0        618.0   1030.0
System Call Overhead                          15000.0     703036.0    468.7
                                                                   ========
System Benchmarks Index Score                                         364.6

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 18:50:43 - 19:19:36
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17417773.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4206.2 MWIPS (9.8 s, 7 samples)
Execl Throughput                               2372.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        231473.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           60338.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        556413.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1128152.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 232249.2 lps   (10.0 s, 7 samples)
Process Creation                               5325.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4798.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    665.0 lpm   (60.3 s, 2 samples)
System Call Overhead                        2328416.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17417773.8   1492.5
Double-Precision Whetstone                       55.0       4206.2    764.8
Execl Throughput                                 43.0       2372.8    551.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     231473.5    584.5
File Copy 256 bufsize 500 maxblocks            1655.0      60338.2    364.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     556413.0    959.3
Pipe Throughput                               12440.0    1128152.9    906.9
Pipe-based Context Switching                   4000.0     232249.2    580.6
Process Creation                                126.0       5325.5    422.7
Shell Scripts (1 concurrent)                     42.4       4798.5   1131.7
Shell Scripts (8 concurrent)                      6.0        665.0   1108.3
System Call Overhead                          15000.0    2328416.2   1552.3
                                                                   ========
System Benchmarks Index Score                                         786.2

  • ヒートシンクあり+強制空冷
========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: XXXX: GNU/Linux
   OS: GNU/Linux -- 4.14.98-v7+ -- #1200 SMP Tue Feb 12 20:27:48 GMT 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
          
   19:25:50 up  1:13,  2 users,  load average: 0.04, 3.88, 4.83; runlevel May

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 19:25:50 - 19:53:53
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5087638.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1232.6 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1134.2 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        155559.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           44994.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        387643.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              329627.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  69850.0 lps   (10.0 s, 7 samples)
Process Creation                               2861.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2548.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    690.2 lpm   (60.1 s, 2 samples)
System Call Overhead                         703275.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5087638.3    436.0
Double-Precision Whetstone                       55.0       1232.6    224.1
Execl Throughput                                 43.0       1134.2    263.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     155559.8    392.8
File Copy 256 bufsize 500 maxblocks            1655.0      44994.3    271.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     387643.5    668.4
Pipe Throughput                               12440.0     329627.0    265.0
Pipe-based Context Switching                   4000.0      69850.0    174.6
Process Creation                                126.0       2861.7    227.1
Shell Scripts (1 concurrent)                     42.4       2548.7    601.1
Shell Scripts (8 concurrent)                      6.0        690.2   1150.3
System Call Overhead                          15000.0     703275.3    468.9
                                                                   ========
System Benchmarks Index Score                                         368.5

------------------------------------------------------------------------
Benchmark Run: 金  5月 03 2019 19:53:53 - 20:22:29
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       20320487.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4918.8 MWIPS (9.8 s, 7 samples)
Execl Throughput                               2649.4 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        259254.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           69622.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        607469.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1315613.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 276083.6 lps   (10.0 s, 7 samples)
Process Creation                               5979.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5359.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    738.1 lpm   (60.1 s, 2 samples)
System Call Overhead                        2717452.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   20320487.3   1741.3
Double-Precision Whetstone                       55.0       4918.8    894.3
Execl Throughput                                 43.0       2649.4    616.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     259254.7    654.7
File Copy 256 bufsize 500 maxblocks            1655.0      69622.1    420.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     607469.5   1047.4
Pipe Throughput                               12440.0    1315613.3   1057.6
Pipe-based Context Switching                   4000.0     276083.6    690.2
Process Creation                                126.0       5979.0    474.5
Shell Scripts (1 concurrent)                     42.4       5359.5   1264.0
Shell Scripts (8 concurrent)                      6.0        738.1   1230.2
System Call Overhead                          15000.0    2717452.9   1811.6
                                                                   ========
System Benchmarks Index Score                                         896.6

2019/01/06

自宅サーバのリプレース


■リプレースの理由


 現在使用中のサーバはまだ安定して動いていますが、24時間365日連続通電ですでに9年近く稼働している。そろそろ故障してもおかしくないので後継機を用意しておきたい。

■現在使用中のサーバ


H/W:
intel D510MO (Memory:4GB, SSD:80GB)
S/W:
debian 9

■後継機の選定


 後継機の選定にあたり、以下の条件とした。
  • 低消費電力(低発熱)であること
  • ファンレス(ベアリングレス)であること
  • 連続稼働に耐えうること
  • Linuxが使用できること

■後継機(決定)


H/W:
本体: Shuttle DS77U
Memory: 16GB (DDR4-2133 SO-DIMM 8GBx2)
SSD: 1TB (SanDisk Ultra 3D SSD)
S/W:
debian 9

  • CPUのTDPが15Wで低発熱のためファンレスを実現
  • 最近のPCではめずらしいCOMポートを標準搭載。サーバなので普段はキーボードもディスプレィも接続せずLAN経由のリモートログインで使用するが、何らかのトラブルでリモートログインができなくなった時のためCOMポート経由のログインができるのがうれしい。
  • 筐体が金属。とても丁寧に作られた筐体で愛着が湧きます。
  • ShuttleのHPでDS77Uの用途に『デジタルサイネージ』が入っていたのである程度連続稼働に耐えられるかなと推測
  • Memoryは今のところ8GBでも十分だが、長く使うことを考えて16GBを選択。
  • SSDは正直1TBも使わないが、そんなに高くなかったので1TBを選択。

2018/11/17

レビュー:FM/MW/SW/LW/PLL 短波ラジオ TECSUN PL-880


1.購入


 日本の通販サイトでは 27,000円前後でした。(2018/9月ごろ)
 もう少し安いところがないか探した所、米国Amazonで$159.98だったので購入。
 (中国の通販サイトで買えばもっと安いのかもと考えたのですが、中国のサイトでの購入経験がなかったので今回はパスしました)

PL880               $159.98
Shipping & Handling  $13.67
Tax                   $0.00
Inport Fees Deposit  $13.89
===========================
Total               $187.54 → \21,460 (※)
※クレジット会社からの請求金額

 その後、米国Amazonからメールがあり、「関税の実費を差し引いた$7.55を返金する」とのこと。クレジットカード経由で返金されるそうです。返金分$7.55を考慮すると21,000円弱で購入できたことになります。

2.輸送


 2016/9/16に発注し、2018/9/24に到着。8日間で到着です。日本側の配送はクロネコヤマトさんでした。

3.レビュー


周波数範囲
・AM/FMは問題なし。FMはワイドFM対応。
・短波も上限が30MHzまでありフルカバーです。

感度
・AM/FMは問題なし
・SWも結構良いと思います。

良い点
・やわらかい音。長時間聞いていても疲れない。
・受信帯域を細かく選択できる。短波放送を聞くのに便利
・スリープタイマがある。ラジオを聴きながら寝るのに便利
・操作性が良い。(大型ディスプレイ、テンキー、三連ダイヤル)
・周波数メモリーがある
・SSBも受信できる
・電池持ちが良い

残念な点
・充電中にラジオ(AM/SW)を聞くとノイズが混じる。FMは問題なし。
・やや重い。旅のお供に持っていく気にはあまりならない。
・メモリした周波数がどの放送局だか分からない。周波数と放送局名をセットでメモリできるとうれしい。
・暗闇の中での操作性がイマイチ。寝るときにラジオを聴く場合、暗闇の中での操作が発生します。スリープタイマーの延長、選局(周波数メモリの呼び出し)が暗闇の中でもできるとうれしい。
・SSBの音質がイマイチ(不明瞭)

4.総評


 気に入っています。買ってよかった。
 今どきの短波ラジオなので、感度が良く電池持ちが良いです。やや大型のため、旅先に持っていくような使い方よりは、固定機のような使い方が合います。
 スピーカーが大きいので柔らかい音がします。短波放送にはフェージングが付き物ですが、フェージング時のノイズも耳障りがよく、長時間聞いても疲れないです。

2018/08/14

Raspberry PiのAVR開発環境を最新化する(改訂版)

昔の手順より良い方法があったので手順を変更して再掲します。


先日、avr-libcのHomePageを眺めていた時にtime.hを見つけました。time.hはその名の通り時刻に関する操作を行うライブラリです。時計を作るのに使えそうだなと思い、簡単なコードを書いてコンパイルしたところコンパイラが"time.hがない"と言うではありませんか! ソースコードを確認したけどスペルミスはない。「またまた、ご冗談を…」と/usr/lib/avr/include/を覗いてみたところ確かに無かった。(絶句)

どうやらavr-libcのバージョンが異なるのが原因のようです。

  • avr-libcのHomePageの最新バージョンはv2.0.0
  • Raspberry Piにインストールされているavr-libcバージョンはv1.8
そこでRaspberry PiのAVR開発環境を最新化することにしました。

(1)最新化に必要なソフト


せっかくなのでgccも最新化します。

・binutils-2.31.tar.xz
 https://www.gnu.org/software/binutils/

・gcc-8.2.0.tar.xz
 https://gcc.gnu.org/

・avr-libc-2.0.0.tar.bz2
 http://www.nongnu.org/avr-libc/

・avr-size用パッチ
 https://gist.github.com/larsimmisch/4190960

(2)コンパイル手順


avr-libcのHomePageにコンパイル手順の説明があります。基本的にこの手順で実施すればOKですが、スクリプト"download_prerequisites"を実行するとgccをビルドするのに必要なライブラリ(gmp,mpfr,mpc等)を自動的にダウンロードしてくれます。さらにgccのビルド時にダウンロードしたライブラリも一緒にビルドしてくれます。

(2-1)環境設定


$ mkdir $HOME/local
$ export PREFIX=$HOME/local
$ export PATH=$PREFIX/bin:$PATH

(2-2)GNU Binutilsのビルド


$ mkdir $HOME/src/avr-gcc
$ cd $HOME/src/avr-gcc
$ wget http://ftp.jaist.ac.jp/pub/GNU/binutils/binutils-2.31.tar.xz
$ wget https://gist.github.com/larsimmisch/4190960/archive/16c6b9627f8451eeebd644a4b9a741edfdb0c45e.zip
$ unzip 16c6b9627f8451eeebd644a4b9a741edfdb0c45e.zip
$ tar xvf binutils-2.31.tar.xz
$ cd binutils-2.31/binutils
$ patch -u < ../../4190960-16c6b9627f8451eeebd644a4b9a741edfdb0c45e/avr-binutils-size.patch
$ cd ..
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX --target=avr --disable-nls
$ make -j4
$ make install

(2-3) gccのコンパイル


$ wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.xz
$ tar xvf gcc-8.2.0.tar.xz
$ cd gcc-8.2.0
$ ./contrib/download_prerequisites
$ mkdir obj-avr
$ cd obj-avr
$ ../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2
$ make -j4
$ make install

(2-4)avr-libcのコンパイル


$ wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-2.0.0.tar.bz2
$ tar xvf avr-libc-2.0.0.tar.bz2
$ cd avr-libc-2.0.0/
$ ./configure --prefix=$PREFIX --build=`./config.guess` --host=avr
$ make -j4
$ make install

(3)PATH設定


下記を$HOME/.profileに追加する
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/local/bin" ] ; then
    PATH="$HOME/local/bin:$PATH"
fi

バーニングシップフラクタル

bsf.knit 今回は『バーニングシップフラクタル』についての備忘録です。 バーニングシップフラクタルとは? Wikipedia ...