2016年04月01日

ubundows xD 現る!? 2016/04

ubundows xD 現る!? 2016/04
Windows 10で動作するUbuntuのBashシェル--その実現方法
http://japan.cnet.com/news/service/35080406/


な,なんと Windows10上でubuntu 14.04 LTSのバイナリがそのままMS-DOS窓内のbash上で
動くようになる様でビックリした。(OoO)
Windows10にインストール可能になるのは2016/Summerらしい。
また,開発者向けということだ。
Insider Previewの人は試せるかもしれない。
このソフトが動いた,動かない,バグ見つけた等々の情報を希望している様だ。
(以下の動画の最後に出てくる)

デモ動画
http://video.ch9.ms/ch9/5db6/8ee786b7-9fc5-45bf-94d0-16ea91765db6/P488_mid.mp4
駅前でよく切れる包丁のデモやってるみたいだけど, :D
なんかスゴそう。

ネイティブのgccやruby,python,perl,ssh,git,apache....等が
Windows10のコマンドラインでそのまま動く。
というか,apt-getも動く。
でもさすがにubuntu用に作られた*.debファイルをdpkgでインストールは
できるんだろうか。 Windows専用でもdpkgコマンド使えると便利。
sambaは動くのか?
testdiskは動くのか? (勇気いるけど)
とか,この段階で考えはじめるときりがないとも言える。

topとMySQLが動かないとかいってるけど,X以外の他は全部動くのか? xD

Cygwin/MinGWとさよならか?!
MinGW+minttyの調子が良いのでCygwinはもうほとんど出番がないけど,
この両方とも不要になる可能性が大だ。
お世話になりました。
て,
使ってみないとアレだけど。:D

インストールサイズ
もしインストールするのに20GB必要とかいわれたら orzかも

アップデートはubuntuベースなのか?
こうなってくるとWindows10とubuntuのサポート期間が同期する可能性も否定できないぞ。
"ぞ"
か。 :D

tmux/screen/vt100
vt100周りはイマイチ問題があるけど,ANSIサポートまではされるそうだ。
tmux/screen等は全く動いてないというわけではなく,
そろそろ動きそうな感じらしい。

参考:
Ubuntu on Windows -- The Ubuntu Userspace for Windows Developers
http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html

Ubuntu 14.04 LTS から16.04 LTS
Ubuntuのバージョンもまもなく16.04 LTSに置き換わる予定だ。



全体の(注)
リーナスは「ふざけんなっ!」っていうのかな?
謎。

posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(6) | Windows10 | このブログの読者になる | 更新情報をチェックする

2016年03月22日

WAVE/PCM再生: Arduino: AVRで8bit PWM音楽再生 2016

WAVE/PCM再生: Arduino: AVRで8bit PWM音楽再生 2016
* はじまり
* ChaNさんのFatFs
* プチ音の消去
* Arduino NanoでSDカード,5V:3.3Vレベル変換接続
    抵抗でレベル変換 バツ:
    ダイオードでレベル変換 ○△:
    残念ながら:
* 動作可能ボード
* Arduino Wave PWM Player Lite版 仕様
    概要:
WAVファイル仕様:
    機能:
* SDカードの速度問題
    44.1KHz(以下)/8bitに変換する:
* SDカード速度測定機能
    使い方:
* SDカード シールド対応
* 実体配線図
    出力の高域カットフィルタ:
    Arduino(ATmega328p with 16MHz crystal) UNO/Nano/etc. :

* Download v1.3 (2016/04)
    書き込み方:
* 動作確認

* avr-gccのバージョン
* Petit(ぷち) FatFs

* その他のWave player
    TMRpcm
    SimpleSDAudio

* はじまり
AE-ATmega/AVR: 8bit PWMの音 / PCM/WAVE再生
から3年。
47秒周期くらいのクラスタ境界で「プチ音」がするために見捨てられていたのを復活させてみた。

* ChaNさんのFatFs
http://elm-chan.org/fsw/ff/00index_j.html
前回は
R0.09b    (C)ChaN, 2013 を使っていて,今回は
R0.11a    (C)ChaN, 2015 という最新版を使ってみた。
disk_read()関係がかなり高速化されている様でビックリしました。
ATmega328p 16MHz でSDカードのリードテストしたら 720KB/sec 出てた。(OoO)/
古い版だと"512バイト読み出し直前の準備期間"が固定長で結構時間がかかっていて,
低速でSRAMが少ないマイコンの場合,速度のボトルネックになっていたが,その部分が消失していた。
これは良い。

* プチ音の消去
でもプチ音に変化なし。orz
で,
ChaNさんのFatFs:AVR用のサンプル(ATmega64)をなんとかATmega328pに移植して音を聞いてみると,
(ChaNさんのサンプルもWAVE再生可能)
なんとプチ音なしだった。orz (オイ
ChaNさんのプログラムをいろいろ調べたところ :D
バッファーアンダーフローが起きた時に"前回のデータを出す"という部分があって
それのおかげでプチ音が消失しているのが分かった。
ちなみに,
移植ミスも否定できないけど,ChaNさんのは
約3msec周期で300usecの期間バッファーアンダーフローが起きていて,
この周期で約15回づづ前回と同じデータを出していたのだった。(OoO)
バッファーアンダーフローの対処がないとノイズだらけになるハズなんだけど。。。 
恐るべし,人間の耳 xD
今回はサンプルコードの解析が目的ではないので :D
そのうち調査してみるか。。。

で,
自分の方は47秒に一回程度なんだけど,上記バッファーアンダーフローに対応することで,
ようやくプチ音が消去できました。
(^^)/ (^^)/

「ごまかした」とも言う。(^^;
この部分はマイコンクロックを20MHzに上げればクリア可能と思われます。

* Arduino NanoでSDカード,5V:3.3Vレベル変換接続
前回は秋月のArduino Duemilanove互換ボード(AE-ATmega)を3.3V改造したものを使ったけど,
http://mpu.seesaa.net/article/399685555.html
今回は一般的な「Arduino Nano互換ボード」:D につないでみた。
従って,
SDカードをつなぐためには5V(Arduino側)と3.3V(SDカード側)のレベル変換が必要です。
参考:
しなぷすさんのハード制作記のページ
3-6.5VのArduinoと接続する方法
http://www3.big.or.jp/~schaft/hardware/hard/MGLCD_AQM1248A/page004.html

抵抗でレベル変換 バツ:
    ググると1.8KΩ:3.3KΩくらいでレベル変換しているのがあったのでやってみたけど,
    再生中に頻繁にリードエラーが起きて全然ダメでした。
    ブレッドボードだからアレなのはアレなんだけど xD
    orz
    SPIクロック8MHzなのでもっと速度を落とせばひょっとしたらそれなりの用途には使用可能
    かもしれないけど,波形を観測すると,とても使う気にはなれない。orz
    さらにググると抵抗値を下げている人がいて結構きれいな波形だったが,
    電流がものすごいことになっているので今回は未実験。
ダイオードでレベル変換 ○△:
    さらにググると, (オイ
    ダイオードでやっている人がいてこっちの方がよさそうだったので試してみたら,
    抵抗変換よりだいぶマシだった。
    というか今回の用途には問題なく使えた。(^^)/
    波形を見ると立ち上がりが悲惨な感じだけど,立ち下がりは問題なさそうな感じだった。
    電流も少なくて済むのでこれを採用しました。
    簡単だし,ダイオードは部品箱にあるのだった。
残念ながら:
    上のダイオード方式も手持ちのSDカードを全部試してみると
    一部のものはリードエラーが出て使えなかったので万能ではない模様。
    ちゃんとしたレベル変換を付けるのがベストなのは間違いなさそう。:D
    と,いうことでこの手の簡易型のレベル変換は高速クロックでは信頼度が
    低いことが分かりました。

* 動作可能ボード
マイコンがATmega328p,動作クロックが16MHzの互換ボード,
Arduino: UNO, Duemilanove, Nano, Mini, Pro 及び "素のATmega328pマイコン+16MHz水晶発振子"
等々でHEXファイルを書くだけで動作します。
(注) 素のATmega328pの場合,Fuseに適切に書き込む必要あり

* Arduino Wave PWM Player Lite版 仕様
概要:
Lite版なので曲の選択機能はありません。(^^;
電源ONか,SDカードが差し替えられると以下の順でフォルダを探して,
/music
/wav
/    (ルートフォルダ)
最初に見つかったフォルダ内のWAVファイルを順に再生して無限ループします。
次の曲には飛ばせるけど,前の曲には戻れません。(^^; (注1)
SDカード挿抜とかは見ていないので,電源ONのままmicroSDカードの抜き差しは非推奨ですが,
自分は自己責任でやってたりします。:D
WAVファイル仕様:
    foobar2000又はSoXでWAVファイルに変換されたものをターゲットにしています。
    これ以外で変換されたファイルは未確認です。
        PCM: 8bit / 16bit 
        Stereo/Mono
        fs(サンプリング周波数): 48KHz以下。
        こちらで確認したのはfs=8KHz,32KHz,44.1KHz,48KHzのWAV(8bit/16bit)ファイルですが、
        最低でもfs=22.05KHz以上で使用することを強く推奨します。
        通常は最も音質が良いfs=44.1KHzを推奨します。

機能:
    [パソコン上のUARTターミナル(TeraTerm等)から操作]
         次の曲に飛ばす :  [N], [ ](スペースキー)   
         再生ポーズ/解除:  [S], [P], [ESC](エスケープキー) 
                     一度押すとポーズし,画面に「P」マークが表示されます。
                     もう一度押すとマークが消えて再生再開します。
         曲の先頭に戻す:   [F]キー
                     再生中にこのキーを押すと,その曲の先頭に戻って再生を開始します。
         早送り(FF)/巻き戻し(Rewind): FF: ]キー Rewind: [キー 
                     再生音を出しながらFF/Rewindします。
                     最後までFFすると次の曲に行ってしまいます。(^^;
         音量ボリューム:  Up:[+ or .(ピリオド)], Down:[- or ,(カンマ)]キー で音量Up/Downします。
                     32ステップです。
         可変速再生: Speed Up:[U], Speed Down:[D], Speed Normal:[0]
                        高速側はあまりSpeed Upしません。
    [外部の押しボタンSWで操作]
        (1) 次の曲に飛ばす:  SWを一回クリック。(離した(0.5秒以内)タイミングで次の曲に飛びます)
        (2) 再生ポーズ/解除: SWを1秒以上押し続けると再生ポーズします。
                         手を離してSWをもう一回クリックするとポーズ解除されます。

* SDカードの速度問題
16ビット/44.1KHz/Stereoのファイルを再生するには, そこそこ高速なSDカードが必要になります。
手元に高速なSDカードがない場合以下の対応方法があります。
44.1KHz(以下)/8bitに変換する:
マイコンのPWM出力は8ビットの分解能しか使わないので,foobar2000で
44.1KHz(以下)/8bitにWAVファイルをコンバートしたものにすれば
低速なSDカードでもOKになる可能性大です。
今回の場合,8bitに落としても音質は変わりません。(^^;

* SDカード速度測定機能
SDカードのリード速度を計測する機能を付けました。
これでSDカード速度の絶対評価が可能になります。
使い方:
    音楽の再生中(or ポーズ中)に「t」キーを押すとリードテストがはじまります。
以下のようにリード速度が表示されます。
 [PCM]  S321601.WAV 32000Hz 16bit Stereo 26115412 Byte
  -----+-----+-----+---
  *****************
 [Read]: Testing 512 byte buffer: read performance...
 Done!
        Result: 314 KB/s

  [PCM]  S441601.WAV 44100Hz 16bit Stereo 66767804 Byte
  -----+-----+-----+-----+-----#-----+--
  *****
手持ちのSDカードのなかで,44.1KHz/16bitの読み出しで問題なく使えたSDカード。
リード速度 SDカード
332KB/sec Transcend 2G FAT SD @?
303KB/sec SanDisk 16G FAT32 UHS-I @6
302KB/sec Victor 4G FAT32 SDHC @4
294KB/sec Good-J 16G FAT32 SDHC @10
266KB/sec BUFFALO 16G FAT32 SDHC @4
(22.3usecの割り込みがガシガシ入った状態で速度計測しています) 44.1KHz(以下)/8bitデータならもっと遅くても大丈夫だと思います。 * SDカード シールド対応 以下のSparkFunとSeedStudioのSDカードシールドに対応。 チップセレクトが違うだけなので二つのチップセレクト端子を同時にパタパタさせてます。 持ってるわけでないので本当に動くかどうかは未実験。 SparkFun microSD Shield https://www.sparkfun.com/products/12761 SD Card shield V4.0 http://akizukidenshi.com/catalog/g/gM-09696/ http://www.seeedstudio.com/wiki/SD_Card_shield_V4.0 * 実体配線図 電源: Arduino Nanoの場合,3.3Vは外部から供給する必要があります。 3.3VはSDカード用なので100mA以上を供給可能なものが必要と思われます。 ダイオード: ダイオードは部品箱にありがちな適当なのでOKです。(オイ 一本1円で十分かと。 http://akizukidenshi.com/catalog/g/gI-07783/ ショットキ・バリア・ダイオード(SBD)でも大丈夫です。高いけど。 出力の高域カットフィルタ: この実体配線図はPC(パソコン)のAudio入力端子との接続を想定しているので省略してありますが, 一般のアナログアンプに接続するなら,以下のページの出力ローパスフィルタを入れた方が 良いです。(或いはもっとマシなフィルタ:-) http://mpu.seesaa.net/article/432426722.html
arduino-nano-wave-pwm-player.png
注意ポイント: 当然のことながら,SDカードは壊れてもおしくないものを使って下さい。 うちは2枚ほどダメになりました。(お〜〜〜い (爆 orz Arduino(ATmega328p with 16MHz crystal) UNO/Nano/etc. : 使用端子のメモ。pin番号は28pin DIPのもの。
  [ PWM ] 
         OC1A: PB1, 15pin, D9   : Audio Left
         OC1B: PB2, 16pin, D10  : Audio Right
  [ SPI ]      <Arduino>               <SD Card>
         MOSI: PB3, 17pin, D11         DI,  2pin
         MISO: PB4, 18pin, D12         DO,  7pin 
         SCK : PB5, 19pin, D13         CLK, 5pin
         CS  : PD4,  6pin, D4          CS,  1pin
         or
         CS  : PB0, 14pin, D8          CD,  1pin
  [ Button SW port ] 
         SW  :PD2(INT0),  4pin, D2, Active low
* Download arduino_wave_player_lite_atmega328p_v1.3-201604.zip v1.3: (1) FF/Rewindがリファクタでバグってしまっていたのを修正。orz (2) バージョン表示を追加。 (3) 再生中の曲の最初に戻る[F]キーを追加。 v1.2: 最初の版 arduino_wave_player_lite_atmega328p-v1.2-201603.zip 書き込み方: 解凍して出てきた arduino_wave_player_lite_atmega328p_38400bps.hex というファイルをこのツール http://mpu.seesaa.net/article/399685603.html にドラッグ・ドロップして 書き込みます。 * 動作確認 /musicフォルダにWAVファイル(fs=32KHz以上推奨(注2))を入れたSDカードを差し込んで 電源を入れると,基板上のLED(TX)がチカチカします。 十秒以内くらいでこのチカチカが停止すれば,既に音楽再生が開始されています。 TeraTermを38400bpsの設定で開けば操作可能です。 圧電素子や100円スピーカをつなげば音声確認できるかと思います。(こちらでは未確認) * avr-gccのバージョン arduino-1.6.8に付属の gcc version 4.8.1 (GCC) を使用。 これより前の版は使わない方がよい。 後の版なら大丈夫と思われるが,あまりチェックしていない。 というか,大勢のユーザが使用しているarduino版がひとまず安心。 * Petit(ぷち) FatFs コンパイル・オプションでPetit・FatFs(以下 PFatFs)を使ってコンパイルできます。 動作はコンパチブル。 問題: 音が「ブヨブヨ」でちょっと使えません。 :D バッファーアンダーフローの対策がなければ,「ブチブチ。。。」という感じに なります。 原因: 最初期から変わっていない気がする。 FatFsよりもSDカードの読み込み速度が遅いと思って上記の「SDカード速度計測機能」で 比較するとほとんど同じ値を出していた。 フラグメント問題かもしれないが詳細未調査。 * その他のWave player TMRpcm Arduinoのスケッチタイプの以下のWAV・PWMプレイヤーがある様です。 標準でfs:32KHz mono。 拡張でもう少しアップするみたいだけど詳細不明。 TMRpcm https://github.com/TMRh20/TMRpcm/wiki Youtube動画 https://www.youtube.com/watch?v=LbqPgJe3Qd4 TMRpcm/Arduinoのフォーラム https://forum.arduino.cc/index.php?topic=179027.0 SimpleSDAudio これもスケッチタイプ http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio * 参考 Arduinoシリーズ15種類の違い | まとめ比較表 http://ideahack.me/article/134 (注1) いろいろやればできそうなんだけど,この手の機能はキリがないので Lite版仕様ということにしました。今のところ。 (注2) サンプリング周波数(fs)が低すぎる場合,ちゃんとしたフィルタを入れないと PWMノイズと折り返しノイズ、(キーーン!)で耳が痛いです。xD
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | PCM/WAVE | このブログの読者になる | 更新情報をチェックする

2016年03月02日

Vim: きょ驚愕のSpacemacs !? 2016

以前 Emacs+Evilを発見したが,さらに強力にVimっぽくなったのが
Spacemacsの様だ。

調査中。

以下の方のページを参考にインストールしてみたが,最後のHelmの自動設定の当たりでインストールエラーが出て,「このままだとダメっぽい」というメッセージが出てしまった。
orz
Vimも秘伝のタレも飲み込むEmacsの超強力ディストリビューションSpacemacsまとめ
http://qiita.com/ryosukes/items/d0ec5094a9d3d636f7bb
Windows10, Emacs 23.x 。
一応,Spacemacsは起動したのでちょっと使ってみる。
以下 調査中。
Linuxで試したほうが良いのかも。
orz
プログラマーズ雑記帳さんのページ
Emacs (24.5 以上) の Windows へのインストール
http://yohshiy.blog.fc2.com/blog-entry-295.html
を参考に,
http://ftp.gnu.org/pub/gnu/emacs/windows/
からEmacs24.5をインストールしたらエラーはなくなった。
但し,日本語入力がATOKなんだけど,入力中のインライン表示ができない。
orz
orz
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | Vim | このブログの読者になる | 更新情報をチェックする

2016年02月26日

Arduino/Genuino 101 の追加メモ 2016/02

Arduino/Genuino 101 の追加メモ 2016/02
前回,コンパイルができないと書いていたが,
つい最近Genuino101(=Arduino101)のコンパイラとライブラリのダウンロードができたので
コンパイルだけやってみた時のメモ。
使用OSはWindows10。

* ダウンロードと設定
(1) Arduino1.6.7をダウンロード
    https://www.arduino.cc/en/Main/Software
    適当に解凍する。
(2) arduino.exeでIDEを起動,
(3) 「ツール」-「マイコンボード」で「ボードマネージャ」で「Intel Curie Boards by Intel version」を
    探して「More info」をクリックでインストールする。
(4) 「ツール」-「マイコンボード」で 「Arduino 101」を選択して適当にBlink.ino等をコンパイルする。

* コンパイル結果ファイル群を得る
(1) AruinoIDEを終了します。これ大事。
(2) 以下の一行をエクプローラのアドレスバーにコピペしてエンターキーを押すと,
    %UserProfile%\AppData\Local\Arduino15\preferences.txt
    が編集可能になるので以下の一行をどこでもいいので追加します。
    build.path=build
    保存して終了します。
(3) ArduinoIDEを起動してもう一度Blink.ino等をコンパイルします。
(4) すると,arduino.exeがあるフォルダ直下に「build」フォルダができて,
    *.bin, *.elf, *.hex, *.map など
    おもしろそうなものが一式生成されています。:D

* 逆アセンブラファイルを得る
elfファイルがあるのでobjdumpにかけてみるとシンボル情報がstripされていて
もうひとつインパクトがないので,
以下に示す「arc-asm-list.bat」というファイルをarduino.exeと同じフォルダに置いてダブルクリックします。
すると同じフォルダに例えば「ARC-blink.ino.lst」という逆アセンブラファイルが得られます。
asm-list-arduino-v02-201602.zip
arc-asm-list.bat   --- Arduino101/Genuino101用(ARCマイコン用)
arm-asm-list.bat   --- ArduinoDue/Zero用(ARMマイコン用)
avr-asm-list.bat   --- ArduinoUNO/etc.用(AVRマイコン用)
の3つがパックされています。
例えばそれぞれ識別子としてリストファイルの先頭にARC-,ARM-,AVR-が付加されます。

 >arc-asm-list.bat
[ファイル名]

ELF file name = "build\blink.ino.elf"
Scketch  name = blink.ino
List file name= blink.ino.lst

[再リンク中...]

""C:\Users\[user]\AppData\Local\Arduino15\packages\Intel\tools\arc-elf32\1.6.4+1.0/bin/arc-elf32-gcc" -nostartfiles -nodefaultlibs -nostdlib -static -Wl,-X -Wl,-N -Wl,-mARCv2EM -Wl,-marcelf -Wl,--gc-sections "-TC:\Users\[user]\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.4\variants\arduino_101/linker_scripts/flash.ld" "-Wl,-Map,build/blink.ino.map" -o "build/blink.ino.elf" "-Lbuild" "-LC:\Users\[user]\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.4\variants\arduino_101" -Wl,--whole-archive "-larc32drv_arduino101" -Wl,--no-whole-archive -Wl,--start-group "-larc32drv_arduino101" -lc -lm -lgcc "build\sketch\blink.ino.cpp.o" "build\core\variant.cpp.o" "build/core\core.a""

[リストファイルを生成]

"C:\Users\[user]\AppData\Local\Arduino15\packages\Intel\tools\arc-elf32\1.6.4+1.0/bin\arc-elf32-objdump -h -dS  "build\blink.ino.elf" > "blink.ino.lst""

[サイズ情報]
   text    data     bss     dec     hex filename
  14644    3172   12672   30488    7718 build\Blink.ino.elf

[終了]
これがARCコアの逆アセンブルリスト。
 void variantAdcInit(void)
{
400373a0:    fc 1c c8 b6                 st.a       fp,[sp,-4]
400373a4:    9b 43                       mov_s      fp,sp
    uint32_t creg;
    uint32_t saved;

    /* read creg slave to get current Power Mode */
    creg = READ_ARC_REG(AR_IO_CREG_SLV0_OBSR);
400373a6:    2a 20 80 0f 01 80 80 80     lr         r0,[0x80018080]

    /* perform power up to "Normal mode w/o calibration" cycle if not already there */
    if( (creg & ADC_MODE_MASK) != ADC_NORMAL_WO_CALIB){
400373ae:    c2 b8                       bmsk_s     r0,r0,2
400373b0:    35 08 11 01                 brne       r0,4,400373e4 

        interrupt_unlock(saved);
        /* Poll CREG Slave 0 for Power Mode status = requested status */
        while ( ((creg = READ_ARC_REG(AR_IO_CREG_SLV0_OBSR)) & 0x8) == 0);
    }

    WRITE_ARC_REG(ADC_CLK_ENABLE | ADC_INT_DSB, ADC_CTRL);
400373b4:    c3 40 01 80 03 50           mov_s      r0,0x80015003
400373ba:    2b 26 00 70 00 00 04 0f     sr         0xf04,[r0]
    WRITE_ARC_REG(ADC_CONFIG_SETUP, ADC_SET);
400373c2:    c3 40 01 80 00 50           mov_s      r0,0x80015000
400373c8:    2b 26 00 70 00 00 0b 00     sr         11,[r0]
    WRITE_ARC_REG(ADC_CLOCK_RATIO &ADC_CLK_RATIO_MASK, ADC_DIVSEQSTAT);
400373d0:    c3 40 01 80 01 50           mov_s      r0,0x80015001
400373d6:    2b 26 00 70 00 00 20 00     sr         32,[r0]

}
400373de:    e0 7f                       j_s.d      [blink]
400373e0:    04 14 1b 34                 ld.ab      fp,[sp,4]
* コンパイラやライブラリのありか 以下をエクプローラのアドレスバーにコピペしてエンターキーを押すと, %UserProfile%\AppData\Local\Arduino15\packages\Intel そのなかに必要なものが一式ある感じです。 リンカスクリプトやスタートアップコードやライブリコード等,必要そうなものがあり, ライセンスはLGPLやBSDだったりします。 * あれ? Intel i386じゃないの?! で,どうも勘違いしていたようで, Aruino101でユーザがコンパイル/アップロードして使うマイコンは ARCプロセッサ でした。 (OO) http://www.synopsys.com/jp2/IP/ProcessorIP/ARCProcessors/Pages/default.aspx https://en.wikipedia.org/wiki/ARC_%28processor%29 * コードサイズがデカイ? 以前使っていた多倍長演算のベンチマークコードがあって,これをAruduino UNOで コンパイルすると Flash 4980バイトでした。 これをArduino101でコンパイルすると, Flash 57Kバイトでした。 いじめでしょうか? orz orz リストファイルをみると浮動小数演算とprintf関連のライブラリがくっついてきて結構大きくなった感じ。 それでもまだ130KBバイト以上残っているので気にしないことにしようかな。 xD ちなみにprint文をカットしてみると,
 [サイズ情報]
   text    data     bss     dec     hex filename
  15988    3168   12744   31900    7c9c build\bench_muls.ino.elf
57KB - 16KB = 41KB というこでprint系のオーバヘッドは約40KBでした。 Arduino UNOに比べれば自由人 !! * 正味のコードサイズ なんとARCコアはコードサイズがデカイ。ARMの4倍以上デカイ。 可変長命令なのでこんなものなのか? まぁFlash192KBあるからよしとしよう :D 実行速度はキャッシュが8KBあるし,クロック32MHzなので32MIPS強くらいあるかもしれない。
setup()とloop()が空っぽ テストコード 正味のコードサイズ
Arduino UNO500バイト2516バイト2016バイト
Arduino Zero8196バイト8788バイト592バイト
Arduino Due11116バイト11700バイト584バイト
Aruino 10116724バイト19148バイト2424バイト
この表のテストコードはprint文なしです。 * Intel i386コア? i386がホストマイコンということなんだけど どこで出てくるんだろう? xD
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(2) | duino系 | このブログの読者になる | 更新情報をチェックする

2016年02月06日

USB Type-C ケーブルについてのメモ 2016

PCを破壊する恐るべきType-CのUSBケーブルがちまたにあふれかえる現状にGoogleエンジニアが怒りのAmazonレビューを連載中
http://gigazine.net/news/20160203-google-engineer-review-type-c-cable/

GoogleのエンジニアがUSB Type-C対応ケーブルを片っ端から品質レビュー、まともに動くのがどれなのか判明
http://gigazine.net/news/20151106-usb-type-c/

今のところType-Cとは縁がないけど,
メモするのだった。
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | PC関連 | このブログの読者になる | 更新情報をチェックする