http://www.picfun.com/Eagle/Eagle24.html
デフォルトは近すぎるようなので、そこそこの値に。
ランドのまわりの配線の鋭角をなくすティアドロップ(Filletともいう)は、teardrop.ulpでつけられる。 http://www.webspace.ne.jp/rental/icon_tree_bbs/bbs.php?pid=5574&mode=r&no=325&mode2=thread
http://inkscapedesign.web.fc2.com/medium/snap.html
手動でVIAをうってネットをGNDにする http://karlsnautr.blogspot.jp/2014/03/eagle.html
http://blog.goo.ne.jp/jh3kxm/e/6d974ef0d3aaa6fc3b675f9f7a1eccaa
https://developer.mbed.org/users/MACRUM/notebook/howto-reduce-binary-size/
なかなか覚えられないので、再度。
http://kazmax.zpp.jp/linux/lin_sshrsa_win.html#ah_1
基本的にはこちらのとおり、MacTexをbrewで入れ直せばOKそう。 ただしtlmgrが/Library/TeX/texbin/に移動しているので、ここのtlmgrを指定する(フルパスorPATHを通す)。
なおパスの設定は、~/.bash_profileに書けばOK
http://qiita.com/nbkn/items/01a11392921119fa0153
基本的にはソースからコンパイルすればOK http://fpga.kice.tokyo/design/iverilog-inst
git://github.com では、TCP/9418を使う。
小林先生の解説
http://qiita.com/mayfair/items/0206bd437c4302be5500
Xilinxローカルなネットリスト*.ngcから、Xilinxアクセサリ内のコマンドプロンプトで、ngc2edifでEDIF形式の*.ndfに変換できる。
http://natu.txt-nifty.com/natsutan/2007/09/xilinx_iseedifl_a1bf.html
http://kakakikikeke.blogspot.jp/2015/03/github-pull-request.html
BraveridgeのモジュールだとSEGGER J-Link Liteというのが書き込み機として指定されていて、Nordic純正でもこれを使うみたいんだけど、同じnRF51822のHRM1017用の書き込み機であるTSUBOLink-IIでも書き込みできる模様。
https://www.switch-science.com/catalog/1829/
http://takafuminaka.blogspot.jp/2015/02/ucxpresso-lilypad-for-nano51822.html
http://takafuminaka.blogspot.jp/2015/01/tsubolinkiible-nano.html
7400とかオペアンプのように、1つのパッケージに複数の素子が入っている部品のつくりかた。 電源ピンを含まない素子をAddで追加して、さらに電源ピンを、POW+などをAddして、それらをまとめてConnectでピン番号を対応付ける。
ちなみに、回路図入力で、非表示になっている電源ピンを表示させるのは、Invokeで選ぶ。
http://www.jisc.go.jp/app/pager?id=678735
デフォルトでは、HTTPヘッダでConnection:はKeep-aliveとなる。これをCloseにする方法を調べてみたら、HttpWebReqeustクラスのConnectionプロパティを"Closed"にしろ、と書いてある文献をいくつか見かけたが、どうもうまくいかない(ほかの方法で変更しろ、というエラーになる)。 さらに調べた結果、こんな方法でできた。KeepAliveプロパティをfalseにする。 http://qa.atmarkit.co.jp/q/2904
ガーバー/ドリルデータの微調整が必要。 具体的には、ガーバーデータの冒頭のD02*をとり、途中のGコードをとる。
G71*G90*G75*D02* ←D02*をとる %ASAXBY*OFA0B0*MOMM*FSLAX43Y43*IPPOS*% %ADD13C,0.250*% ... %ADD20C,3.300*% G54D17* ←ここより下のGxxをぜんぶとる G01X174955Y170504D03* X172974D03* ...
ドリルデータも、Gコードをとる。
G71 ←とる M48 M71 T01C0.300 ... % G90 ←とる T01 G81 ←とる X175879Y166628 ...
pxdvi、が吉か。
http://d.hatena.ne.jp/pyopyopyo/20121006/p1
VLSI評価室においてある(あった)、とても使い勝手のよい、「田中」というシールの貼ってあった、いわゆる田中ピンセットの型番。
KFI K-3GG 125mm SUS
http://kosumotti.blogspot.jp/2013/03/google.html
基本的に、これでいける。ただし関数の書き方がmbedオンラインコンパイラは受け付けないので、void foo(a) int a; みたいな書き方を void foo(int a) みたいに書き換えないといけない。
https://developer.mbed.org/users/jonathonfletcher/code/MBEDZlib/
STM32FのDMAは、Disableのときだけ、転送バイト数レジスタなどの設定が書き換えられる。 Reset時にはDisableされているからいいけど、途中から設定するときは、いったんDisableにするのを忘れずに (具体的にはDMAを使っているブートローダから別プログラムに分岐した先のDMA設定で、Disableしてなかったので転送バイト数が設定できず(両者でバイト数が違っていた)、はまった。とくにバッファサイズ-転送残りバイト数、で転送済みバイト数を計算すると、負になって、配列の添え字が負になってハングしてた)
mbedコンパイラは、スタックの位置などのメモリ配置をいじれない。 スタックの位置に関していえば、ARM-GCC用にexportした中の*.ldをみると、STM32Fの場合は次のようになっている。
RAM (xrw) : ORIGIN = 0x200000C0, LENGTH = 16k - 0x0c0
つまりRAMが0x200000c0から(16KB-0x0c0)バイト、つまりRAMは0x20000000 - 0x20004000、ということになる。つまりスタックの先頭は、0x20004000。 そこでmbedが吐くバイナリを逆アセンブルして、spの設定っぽいところで 0x20004000 (0x4000 / 0x2000)となっているところを探して、 それを変更すれば、スタックの初期アドレスを変更できる。 例えばこんな感じ(2か所)。
0: 4000 ands r0, r0 2: 2000 movs r0, #0 d8: 4000 ands r0, r0 da: 2000 movs r0, #0
これを、例えば0x20003f00にすれば、0x20003f00 - 0x20003fffの256バイトがスタックでも使われない(したがって初期化もされない)RAM領域として使えることになる。
http://www.layouteditor.net/wiki/Introduction
こちらのlayoutEditorでGDSを読み込み、プロッタPX-F10000をプリンタして印刷で、5分ぐらいでできる。 ただし体験版ソフトウエアで使用期限が短いので、注意。
あとデフォルトでは背景が黒のまま印刷されるので、背景を白に変えておくのを忘れずに。
あとレイヤ定義は、レイヤーマネージャでテクノロジマクロとして保存し、読み込みはユーティリティ→マクロ→マクロの実行、から行う。
ESC+Fnキーを押すと、FnキーロックのON/OFFがトグルして、ON(緑LED点灯)のときは、F1〜F12がファンクションキーとして機能する。
http://support.lenovo.com/jp/ja/documents/ht079216
PrinterSpoolサービスを停止→c:\Widows\System32\spool\PRINTER\ の中身を削除→PriterSpoolサービスを再開、の順。
http://dynabook.com/assistpc/faq/pcdata/010958.htm
「15/05/09: mbedで動的にプログラムを読み込み・実行」の続き。 どうも大きなプログラムになると、実行ができない(jumpしても、実行が始まらない(ようにみえる))現象に遭遇。 当初、RAM領域の重なり(大きな配列を確保している)か?でも呼び出し元のプログラムには戻らないはずだから、重なってても、少なくとも呼び出し先プログラムでは問題はないはず?と思いつつ、gcc-armははく*.mapをみなても、とくに問題はなさそう。といいつつ動的な配列は、当然ながら*.mapには出てこないので、そこは注意しないといけない。
で、DigitalInなどがない状態から少しずつ増やしていくと、3つ目くらいから実行ができない(ように見える)ようになる。 そこでDigitalInの定義からGPIO_Init()など、順にHAL関数の中をみていくが、やっぱりよくわからない(ここをコメントアウトするとOKというところまではつきとめたけど、それが原因とは考えられない) 結局このIOピン設定の問題は、初期化をとばしていくうちに、デバッグ情報を出しているUARTの設定(ピン)もはずれて初期化されなかった(なので、デバッグメッセージが出ないように見える)のが原因だった。
オチとして、先のページの元ネタページで_SystemInitをはずせ、と書いてあるところを、_SystemInitの中を見ていくと、クロックの設定だけでなく、割り込み解除とか、けっこういろいろなことをやっている。そこで、_SystemInitは呼び出し、その中のクロックの設定のみをコメントアウトしたところ、問題なくbootできるっぽい。
RAM領域が重なっている、という思い込みで、だいぶ時間を浪費してしまった。
慣れればなんということはないけど、ちょっと普通(?)じゃない。 r13(スタックポインタ:sp)、r14(リンクレジスタ:lr)、r15(プログラムカウンタ:pc)を使って、以下の通り。
push {r4, lr} ; ここではr4もいっしょにpush .... pop {r4, pc}
再起動でなおることもあるし、キーボードのドライバ更新でなおることもある、ようだ。 http://blog.masahiko.info/entry/2014/07/07/203115
困ったときのULP
http://www.webspace.ne.jp/rental/icon_tree_bbs/bbs.php?pid=5574&mode=pr&parent_id=165&mode2=topic
PSNRと違って画像の構造をみる。 http://d.hatena.ne.jp/denshikA/touch/20090921/1253535233
UART速度を変更できるバージョン。ここに含まれている。 http://bbs.espressif.com/viewtopic.php?f=5&t=154
書き込みは、ここにあるESP Flasher Tool、でいけるか?(少なくともESP8266のHWデータシート(0B-ESP8266__Hardware_User_Guide__EN_v1.0.pdf)中の書き換えツールと同じ画面っぽい。
http://www.electrodragon.com/w/ESP8266_firmware_flasher
STMicro純正のSTM32CubeMXというツールがあって、ペリフェラルごとに仕様を指定すると初期化関数が生成される。それらはHAL (Hardware Abstraction Layer)関数なので、mbed関数から直接呼び出せる。
最近やっと充実してきた(常識レベル的に)。例えばデータシートとかがある。 http://bbs.espressif.com/viewforum.php?f=21
で、公式でいろいろなファームウエアが配布されているが、ATコマンドでつつくやつは、 基本的にAT_からはじまるやつ、っぽい。 例えばここにある「at_v0.20_14_11_28.zip」は、ATコマンド用ファームウエア(v0.20)。 http://bbs.espressif.com/viewforum.php?f=5
例えばmain.cppで宣言しているSerial sを、別のクラス(hoge)の関数(hogehoge)の中で使うために引数で渡すには、
main.cpp: hoge.hogehoge(&ss);
hoge.cpp: void hoge::hogehoge(Serial *ss);
のような感じでポインタでやりとりする。
iPhone/iPadを再起動したあとはiCloudにログインしてない状態になるので、再ログインしないといけない、ことがあるみたい。
フォント関連の問題っぽい。たしかにこれで解消された。 http://eienshinjin.hatenablog.com/entry/2014/08/07/114816
https://developer.mbed.org/users/okini3939/notebook/dynamicload/
基本的に、オフラインコンパイラで、指定アドレスにプログラムを配置し、 本来のmain()からそれを呼び出す、という方式。 スタックなどの領域も、両者で分けておかないといけない。
ちなみにKeilのuVision用にエクスポートして、これらの設定(ROM/RAMアドレスの変更とスタートアップルーチンの変更)をしてコンパイルすればいいわけだが、スタートアップルーチンはmbedライブラリのソースが必要。なので、ここのようにmbedライブラリを削除→mbed-srcをインポート、した状態で、uVision用にExport、すれば、スタートアップルーチン(startup_???.s)もExportされるので、これをいじればよい。 ただしmbed-srcを含めてExportしたものをuVisionでコンパイルすると、サイズ制限の32KBを超えるっぽい。(使っていないmbed-libの関数もコンパイルされるから?)
gcc用にExportするのが吉か。ちなみにgccはGUIはないのでコマンドラインでmakeする。makeコマンドはgcc-toolchainをインストールしても入っていないので、別途入手。このあたりからパッケージを入手するのが楽か。http://gnuwin32.sourceforge.net/packages/make.htm
(2015/5/12追記) gccはこのあたりから。 http://qiita.com/okhiroyuki/items/68ced69cf36de3eac919
Exportのしかたはこんな感じ。 https://developer.mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
Exportしたgcc用プロジェクト内のmbed-src/targets/cmsis/TARGET_???/(MCU名)/(MCU名)/TOOLCHAIN_GCC_ARM/にある2つのファイルをいじる。(以下はSTM32F030の例)
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64k RAM (xrw) : ORIGIN = 0x200000C0, LENGTH = 8k - 0x0C0これを次のように修正(本来の位置よりあとにずらす:当然ながら先頭アドレスは他のプログラムで未使用領域に)
FLASH (rx) : ORIGIN = 0x08004000, LENGTH = 64k - 16k RAM (xrw) : ORIGIN = 0x200010C0, LENGTH = 4k - 0x0C0これでmakeして、メインのプログラムのbinとくっつけて(あるいはこいつだけ)書き込み、 メインのプログラムから、こんな感じでアドレスを指定して呼び出す。
int main() { void (*func)(); unsigned int *p; p = (unsigned int *)(0x08004000 + 4); func = (void (*)())*p; // printf("jump vector (%08x)\r\n", func); func(); }
(16/05/24追記)もちっと詳しい情報 http://marcelojo.org/marcelojoeng/2015/09/bootloader-on-stm32f0.html
ちっこいWiFiモジュールESP8266の情報(主にファームウエア書き換え)をいくつか。
ARM-GCC toolchainで、こんな感じで。CortexM0ならThumb命令で逆アセンブル。
arm-none-eabi-objdump -D -b binary -m arm -M force-thumb ???.bin
いろいろはまったので、メモ。
RCC->AHBENR |= 0x01; // enable AHB's DMA clock DMA1_Channel5->CPAR = (uint32_t)&(USART2->RDR); DMA1_Channel5->CMAR = (uint32_t)buf; DMA1_Channel5->CNDTR = 256; DMA1_Channel5->CCR = 0x000030a2; NVIC_SetVector(DMA1_Channel4_5_IRQn, (uint32_t)DMAisr); // attach void DMAisr() ISR NVIC_EnableIRQ(DMA1_Channel4_5_IRQn); // enable DMA interrupt DMA1_Channel5->CCR |= 0x1; // enable DMA USART2->CR3 |= 1 << 6; // DMAR=1, enable USART2_RX DMA
RCC->APB1ENR |= 1 << 28; // enable Power block APB clock PWR->CR |= 0xc; // clear StandBy & Wakeup flag PWR->CR |= 1 << 1; // PDDS=1 SCB->SCR |= 1 << 2; // SLEEPDEEP=1 PWR->CSR |= 1 << 9; // enable WKUP2 wake __WFI(); // WFI
ビンゴ。
http://beagle1.blog.so-net.ne.jp/2011-10-13
https://sites.google.com/site/stm32datasheet/home/060-STM32-program-smpls/32-dac-dma
ArduinoIDEでファームウエアを 書く http://makezine.com/2015/04/01/installing-building-arduino-sketch-5-microcontroller/
https://github.com/esp8266/Arduino
ファームウエアの転送
https://www.ukhas.net/wiki/esp8266_firmware_update
一応ユーザーコミュニティ(ぱっと思いつくだけで2つある・・・)
http://www.esp8266.com/index.php
http://bbs.espressif.com/index.php
ただしソースコードはけっこう分派があって、把握しきれなくなってる雰囲気。 たとえばFrankensteinファームウエア https://github.com/nekromant/esp8266-frankenstein
これをやらないと、ディスクアクセスが止まらない状態になってとても困る。
http://note.chiebukuro.yahoo.co.jp/detail/n124512
セーフモード,というやつになっていて,ちょっと小細工をしないと更新とかプラグインの追加とかができない.
http://mage8.com/websitetips/wordpress.html
ちなみにXREAサーバのデータベース(MySQL)の管理画面phpMyAdminのログイン時のID/PWDの注意.たしかにまぎらわしい. http://www.panzee.biz/archives/3351
Postie(メールを取得して投稿)は,IMAP-PHPが入ってないと,POP3-SSLも使えない(=gmailが使えない)ということらしい. https://wordpress.org/support/topic/plugin-postie-only-pop3-available-pop3-ssl-not-avaiable
Siio先生情報.Macの環境設定→言語,で,「優先する言語」をEnglishにして立ち上げる(英語モードで立ち上げる)と,うまくいくこと多し.
コンパイラ等の準備 https://github.com/esp8266/esp8266-wiki/wiki/Toolchain
ここにも関連情報がまとまっている。 https://nurdspace.nl/ESP8266#Building_the_gcc_toolchain
ちなみにコンパイラ等の準備に関して,Macではbrewを使うことになっている.brewはMacのパッケージ管理ソフトだが,MacPortなどと共用するとよくないので,どちらかにするべき. https://abeerforyou.com/?p=334
SSL/HTTPSにも対応したファームウエアがあるっぽい(要詳細調査)
http://www.esp8266.com/viewtopic.php?f=9&t=923&p=12269&hilit=SSL#p12269
http://www.esp8266.com/viewtopic.php?f=6&t=2019&p=12038&hilit=SSL#p12038
http://www.esp8266.com/viewtopic.php?f=12&t=1795&p=10742&hilit=SSL#p10742
http://www.esp8266.com/viewtopic.php?f=6&t=1512&p=9043&hilit=SSL#p9043
http://bbs.espressif.com/viewtopic.php?f=7&t=62&hilit=secure+http
MQTTとREST(RESTful)、というのがあるようだ。
http://qiita.com/toruuetani/items/cb85781e127b2959c1c3
RESTfulはこのあたりが詳しい。 http://www.slideshare.net/unsolublesugar/res-tful
2014/11ごろにGoogleCalendarAPIがv3に変更になったのを忘れていたので、対応しなきゃ、ということでメモ。 http://hamatte-wataru.com/google_api_key/
TWE-Liteは、基本的にはファームウエアを書き換えて使うもの、と考えたほうがよさそう。たとえば透過型UARTだと、これ。 http://tocos-wireless.com/jp/products/TWE-ZERO/App_Uart/tutorial.html
書き換えは、UART接続してPROG=0としてリセットをして専用アプリで書き換えるが、TWE-Lite(-DIP)とTWE-Lite-USB (ToCoStick)で別のものを使う。
ちなみに最初に入っているのは「超簡単!TWEアプリ」というやつで、定期的にデータを取って送る、みたいな機能がある。 http://tocos-wireless.com/jp/products/TWE-ZERO/App_Twelite/index.html
自作ファームウエアを書いて主マイコンとして使う、という使い方もできるっぽい。 http://tocos-wireless.com/jp/products/ToCoNet/TWESDK.html
ヘッダにこういうMETAタグを入れておく。
http://www.tagindex.com/html_tag/page/meta_refresh.html
更新情報。
https://developer.mbed.org/teams/Switch-Science/wiki/Firmware-LPC824
IOピン割り込みのInterruptInの定義をたどって、以下にいきつく。
int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id) { ... irq_handler = handler; void (*channels_irq)(void) = NULL; switch (obj->ch) { case 0: channels_irq = &gpio_irq0; break; ... case 7: channels_irq = &gpio_irq7; break; } NVIC_SetVector((IRQn_Type)(PININT_IRQ + obj->ch), (uint32_t)channels_irq); NVIC_EnableIRQ((IRQn_Type)(PININT_IRQ + obj->ch));
つまり割り込みハンドラの関数のポインタをNVIC_SetVector()で定義して、NVIC_EnableIRQ()でその割り込みを許可する、ということ。
ちなみにNVIC_*は、targets/cmsis/(TARGET)/(TARGET)/cmsis_nivc.cで定義されている。
どうも外付け水晶発振回路の分周比を決めているっぽい。 以下、IOトグルの周波数。
つまり外付け水晶の周波数とXTALFREQの設定が一致すると480kHz、16MHzをつけて32MHz設定にすると動作周波数が半分になっている。XTALFREQ=0xff:水晶クロックそのまま、XTALFREQ=0x00:水晶クロックを半分、ということのようだ。 ちなみにEYSFCNZXXを16MHz設定でつかうと32MHz動作するのか?という気もするが、動作範囲外のようで動作しない(ハングってるっぽい)。
mbed.orgからソース一式はダウンロードできる。構造が結構複雑なので、備忘録。 たとえばSPI関連の関数はこんなかんじ。
int SPI::write(int value) { aquire(); return spi_master_write(&_spi, value); }
mbedのnRF51822ライブラリの中にないなーと思ったら、mbedライブラリの中にあるようだ。
ただ、HFCLKSRCのように一部のレジスタが書かれていないし、そもそもReferenceManualにも、そのレジスタの情報が載っていないものがる。いったいなんなんだろう。(そう指摘しているソースコードの例↓)他のレジスタのアドレスから類推はできそうが・・・ただ、ReferenceManualには載っていても↑のnrf51.hに載っていないレジスタもある。なんか意図があるんだろうか。
SD書き込みと、他のSPIデバイスからのデータ取得を非同期(タイマ割り込みなど)で行うと、SD書き込み中に別のSPIトランザクションが発生して、SD書き込みが失敗する(文字化けやハング)、という現象に気付くのにだいぶ時間がかかった。
http://developer.mbed.org/teams/Nordic-Pucks/code/lz/
ちなみにこのLZ77圧縮というのは、zipとかで使われているDeflateの原型。
http://ja.wikipedia.org/wiki/LZ77
(2015/3/10追記)よく読むとこのライブラリでやっているのは、LZ77ではなくLZSSのような気がする。(一致があればmaker/長さ/位置、一致がなければsymbol/0、を書き込んでいる)
http://ja.wikipedia.org/wiki/LZSS
以前、PCBE05がはくドリルデータのうち、XY片方だけの座標のところが、FusionPCBでずれる、という現象があって、補完するスクリプトを書いていたけど、桁数を決めうちであぶなかっしかったので、かきなおし。
awk -f hole.hol > ???.TXT
#ref(): File not found: "hole_conv2.awk" at page "akita/2015"
新しいPC(Win7/64bit)にMakerbotWareDesktopを入れたら、Prepareタブを押したら強制終了、という現象。いろいろ試した結果、VGAドライバが標準のままだったのが原因で、それを専用ドライバに変更したらOK。因果関係がわかりにくい。
mbedで内蔵LocalFileSystem(ファイル名8.3のみ)かSDカードのファイルを使って簡易Webサーバ https://developer.mbed.org/users/nyatla/code/MbedFileServer/wiki/Homepage
http://docs.lpcware.com/lpc800um/RegisterMaps/misc/t-Registers.html
太陽誘電の、nRF51822が入っているBLEモジュール。えらくちっこい。 http://www.yuden.co.jp/jp/solutions/ble/product/
ピン配置などはこちらから(Brief Data Report)。 http://www.yuden.co.jp/ut/wireless/bluetooth.html?__CAMCID=NFAzBnzpDc-968&__CAMSID=&__CAMVID=&_c_d=1#EYSFCNZXX
ホシデンHRM1017などと違って内蔵クロックが32MHz。いろいろ取り組んでいる方はいるようだ。 http://hiro99ma.blogspot.com/2014/09/bleble.html
SDFileSystemライブラリで使っているFATFileSystemの中のChaNさんのChaN/ffconf.hで、ライブラリの機能を選択できるようになっている。
たとえば「#define _FS_MINIMIZE」を変更することで、使える関数を減らしてサイズを減らせる。(はず)LFN(ロングファイルネーム)あたりも0にすると効果的。 ただし上位のSDFileSystemでは、これらで無効になる関数を使っているのがあるので、そのあたりは手動修整か。
デバイスマネージャではドライバはOKっぽいのにAtmelStudioから見つからない、という現象に遭遇。とりあえずこれで最新ドライバを入れたら使えるようになった(けど、これが原因だったのかはよくわからない)
https://gallery.atmel.com/Products/Details/c2b640ce-1a06-4dfe-9f36-5f3f60908131?
目安として、単4=1000mAh、単3=2000mAh、といったところ。 http://large.rgr.jp/H-aid/ELE/batt-1/
http://kohju.justplayer.com/SmartPhoneTips_power_usbcurrent.html
http://www.cafegoju.com/cgi-bin/glog/glog.cgi?page=20091005_1
証明書やらいろいろ設定のメモ。
http://qiita.com/syokenz/items/b048dc0f03146e012036
http://macdays.hatenablog.com/entry/2013/10/11/172532
http://cocoa.synck.jp/1238728528.html
http://developer.mbed.org/users/okini3939/notebook/low-power/
gnupackのEmacsで、いわゆるgnuserv(ファイルをEmacsで開く)は、init.elなどで指定をすれば使えるようになる。http://nextstageone.g.hatena.ne.jp/satakesatake/20130705/1372997772
2月のWindowsUpdateでアカンくなるようで、Ciscoから対策パッチが出ているっぽい。
https://developer.mbed.org/users/ban4jp/notebook/ja-direct-tweet-for-flashair/
UTF-8、ということのようだ。
http://developer.mbed.org/forum/ja/topic/5030/
やってる方がいた。フラックスは手塗りのようだ。
http://mouse.la.coocan.jp/index.php?%E5%AE%9F%E8%A3%85
ちょっとクセモノで、標準だとMACアドレスが割り当てられてないので、「extern "C" void mbed_mac_address(char *mac)」で手動で設定しないといけない、ということのようだ。
http://developer.mbed.org/forum/mbed/topic/972/?page=1#comment-10318
Screenコマンド。
screen /dev/tty.??? (baud)
で起動。終了は、Ctrl+A→Ctrl+\で、Yes
http://developer.mbed.org/users/okano/notebook/personal_memo--usb-serial_IO/
(15/02/10追記) Ctrl+Aのあとでいろいろ制御。たとえばCtrl+A→B、でブレーク送出(=mbedリセット)。 http://www.limy.org/program/screen.html
まとめている方がおられた。 http://www.sugakoubou.com/doku/gs-wifi
ちなみにファームウエアは、オンラインでオプションを選んでBuildしてDLできるみたい。https://www.gainspan.com/secure/sdk_builder
PCにさしさときにUSBメモリのように見える領域を、mbedからディスクのように使える、といことらしい。 https://developer.mbed.org/users/okini3939/notebook/LocalFileSystem_jp/
あるWebページの手順通りにEmptyからライブラリをインポートしたりしてつくるとコンパイルエラー。そのWebページから直接Programをインポートするとコンパイルが通る。 その差は何か?と調べたら、mbed libraryのバージョンの違いだった。
他にもいろんなLibraryがあるけど、mbed official、というのが一番信頼(?)できるのかな。
LiPoバッテリのものによっては+/-に加えてTHという端子がある(合計3本)ものがあるが、このTHはサーミスタ端子で、対応充電制御ICで温度監視に使える。 例えばこれ→http://www.linear-tech.co.jp/product/LTC4050
mbed-SDKはApache2.0ライセンスで、ライブラリも含めて商用利用もOK、ということらしい。 http://developer.mbed.org/users/nxpfan/notebook/faq-japanese/
COMポート経由でブレーク信号(TeraTermだとAlt+B)でリセットがかけられる、ようだ。
http://developer.mbed.org/users/okano/notebook/personal_memo--usb-serial_IO/
MAX17043で、LiPo残量を計測する。基本的には全部お任せで、レジスタを読むだけでいいっぽい。
http://baticadila.dip.jp/arduino_115.html
COMポートに9600bpsで、ということのようだ。(ここにあるSerialを宣言しなくてもデフォルトならOK)
http://blog.cloudninja.asia/?p=10443
だんだんわかってきた気がする。 mbedコンパイラでつくった*.binを、デバッガとかのSWDライタを使って書き込めば、そのまま使える(はず)。 ということは、mbedで使えるボード(https://developer.mbed.org/platforms/)に載っているLPCとかのマイコンなら、そいつに書き込めばOKということになる。 ということは、自作ボードにそれらのマイコンを載せておけば、mbedコンパイラで書いたプログラムを動かせる、ということなる(のか?)。
デバッガを使っての書き込みは、このあたりか。http://developer.mbed.org/users/okini3939/notebook/flash-program/
あるいはST-Link2だと、純正ツールか。http://www.st.com/web/en/catalog/tools/PF258168
SWDの信号線はこのあたりか。http://www.eleki-jack.com/arm/2010/02/lpcxpressoled-1.html
ちなみにSWDの規格ではSWCKとSWDの2本でOKだが、オプションとして、Reserveのピン(p6)にSWOをつないで使う場合があって、これはデバッグ用の情報(printfの出力情報など)を流すための信号線のようだ。http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0499dj/CHDHDGGG.html
ちなみにSTmicroのNucleoのように、ライタ(デバッガ)ボードとメイン(ターゲット)ボードがついているやつだと、それのライタと、ターゲットに載っている同じマイコン(買ったままの素の状態でOK)に、両ボード間の接続線を使って書き込みOK。(ライタのマイコンに、ターゲットのマイコンの情報が載っているので、このライタで別のマイコンの書き込みはできない)
MacでPCキーボードを使うと、¥がバックスラッシュにならず、¥として入力される(ことがあるみたい)。 KeyRemap4MacBookのfor Japanese、に、¥をバックスラッシュにする、という設定があるので、それでOKの模様。
(15/02/17追記)この方法だと、RemoteDesktop接続したWin機で、バックスラッシュが\にならずに]になてしまうっぽい。しょうがないので、.emacsで\を\にキー割り当て変更、で乗り切る。 http://qiita.com/aKenjiKato/items/4ac7d9b100bdce0b8920
http://kawaidesu.hatenablog.com/entry/2014/06/28/092347
3Dデータをスライスしたり縦横で組み合わせた平面データに変換できる。これをレーザーカッターで切れば、立体をつくれることになる。 http://nakayasu.com/lecture/sculptris-123d-make/4001
Googleドライブアプリをインストールしない、という方法しかないようだ。
http://blog.livedoor.jp/noanoa07/archives/1904665.html
http://gigazine.net/news/20091205_universal_termsrv_dll_patch/
iPhone単体で1枚ずつ選んで削除、はできるが、全選択、ができない。 こういう別アプリを使うのが現実的か。 http://www.apowersoft.jp/delete-photos-from-iphone.html