投稿

6月, 2013の投稿を表示しています

Cygwin+Emacs Problem

イメージ
先般 Windows8(64bit)にCygwinをインストール しましたが、emacsでファイル一覧表示(C-x C-f Ret)が機能しません。 Doing vfork: resource temporarily unavailable とのメッセージが表示されます。 ググって見つけたブログの手順 で解決しましたので備忘録として。 ◆ash.exeを実行 ◆起動したターミナル上で /bin/rebaseall を実行 ◆Cygwinのsetup.exeを実行して libncurses を再インストール ◆解決しました。

久しぶりのPICマイコン

イメージ
長く触っていないうちにPICマイコンのプログラミング環境MPLABがメジャーバージョンアップされていました。 VISTAに入っている 旧環境 を使うのも面倒なので、Win8にXバージョンをセットアップしました。 ◆MPLABX IDE マイクロチップ社のサイト から所望のOSのインストーラをダウンロードしてきます。無償です。 Windows用の現バージョンは1.80でした。 インストーラを実行して、Nextを押していればインストールは完了します。 最後に表示されるウィンドウのチェックを入れたままにしておけば、 コンパイラのダウンロードページ が開きます。 ◆MPLAB XC 対象とするPICマイコンのCコンパイラをダウンロードします。無償です。 勿論、お仕事用ならPROやStandardの有償ライセンスを購入しましょう。 ※C++はPIC32のみ対応のようですね。 今回はPIC18が対象なのでXC8をダウンロード。現バージョンは1.12でした。 インストーラを実行して進めていくと、ライセンスキーを要求されますが、空白のままNextとします。 すると、フリーモードとするか、PROの評価モード(60日間のみPROとして機能する)とするか聞かれます。 お仕事でライセンス購入を予定しているなら勿論PROの評価版ですが・・・ お遊びモードの方はお好きなほうを。 ◆USBやLANを使用する場合は、必要に応じて無償の アプリケーションライブラリ もインストールしておきましょう。 ダウンロードしてきてインストーラを実行するだけです。 え?XC8サポートしてないの?8bit系チップを見捨てたのか? Cソースコードだから何とかなるかもと、とにかくインストール完了してReadmeを開いてみると、PIC16F、PIC18Fも対象って書いてある。ってことはXC8でビルドでしょ? 「やってみなくちゃ判らない・・・」 by 細野晴臣 「先週のRaspberryPiのデバドラはどうなった?」 by 誰かさん

DOT-DROPSのキャリーケース

イメージ
キャリーケースを買い替え。 小旅行や出張など手軽に使える機内持ち込みサイズでリサーチの結果、 DOT-DROPS のART-MODELを購入しました。 ◆機能面 1.ボディ材料 ポリカーボネイト100%で軽いのに丈夫です。 但し、ABS製やABS+PC製と違ってペコペコします。私は今まで布のソフトタイプを使っていたので、軽くて布より丈夫だからと全然気にならないですが。 2、キャスターとTSAキー 日ノ本錠前製 です。 キャリーケースのキー部品ですので、世界2位の経済大国になったにも関わらず安かろう悪かろうが幅を利かしている某国メーカー製で、旅先などでいきなり壊れられたら苦労しますものね~。 例え工場が某国にあったとしても、やっぱり日本メーカー製の方が安心です。 3.ハンドル 4段階の長さ調整が可能になってます。 今時は普通なのでしょうけど今まで持っていたのは無かったもので・・・ 4.ボディ内部 チャック付きの小ポケットが1つ、中ポケットが2つ、大ポケットが1つとノーマルですが、ポケットがやたらとあっても、何処に何を入れたか判らなくなっちゃいますしね(笑) ◆デザイン面 DOT-DROPSの特徴(パテント)となっているのが、ラベルを貼ってカスタマイズができるって事の様です。  3M社のScotchcal という耐久性に優れた7色のラベルが添付されていて、ペタペタお好きにデザインしてくださいってさ。 ◆価格が比較的リーズナブル 私はタイムセールで7980円で購入できちゃいましたが、ネットショップで小まめに探せば1万円弱でゲットできると思います。 さて、ドット絵考えてみよう~

RaspberryPiのデバイスドライバ(第1歩)

イメージ
以前、 RaspberryPi のGPIOレジスタを直接叩いてLEDを点灯 させてみましたが、ルート権限で実行させる必要があります。 そこで、まずはデバイスドライバのロード&アンロードを確認するだけのプログラムを試してみました。 ◆ VM上のEclipse を起動します。 ◆Eclipseが自動生成するMakefileでのビルドにチャレンジしましたがエラーが解決できなかった為、手入力したMakefileでビルドするように構成します。 Cプロジェクトの新規作成にて、Makefileプロジェクトの空のプロジェクト、他のツールチェインを選択します。 インクルードパスに Raspbian(Linux)のソース ツリーにあるIncludeディレクトリを追加 ※ビルドには無関係ですが、ソースコードの定義チェックなどが機能してくれるので定義しておきましょう。 ◆正常にビルド完了しました。 このEclipse(Ver3.8)では、printk()やmodule_init()、module_exit()でソースコードの構文解析でエラーがでてしまいますが、ビルドには支障はないようです。 ◆RaspberryPi上で動作確認します。 SCPで、main.koをRaspberryPiに転送。 SSHで、RaspberryPiにリモート接続。 insmodでmain.koをロードします。(特権ユーザーで) lsmodで、mainが正常にロードされた事が確認できました。 rmmodで、アンロード。 最後にdmesgで、ロード、アンロード時にKERN_ALARTに出力した文字列が残っているかチェックし、無事に実行された事が確認できました。 ---------------------------------- main.c #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> MODULE_DESCRIPTION("Hello driver"); MODULE_AUTHOR("777gunslinger"); MODUL

ARM用クロスコンパイラのビルド(Windows8+Cygwin)

イメージ
更新版はコチラへ ARM用のGCCを Windows8 上でビルドしてみたので備忘録として。 ◆ Cygwin のインストール setup.exeをダウンロードしてきて実行。 ドライブ直下が吉ですのでディフォルトのままで。 適当なフォルダを指定 通常のブロードバンド環境ならディフォルトでOK わざわざ海外サーバを選ぶ必要はないでしょ。 Devel以下を一括でインストールしてしまいます。 GCCのビルドには不要なものもインストールされてしまいますが、何が必須なのか良く分からないもので・・・ あとは「次へ」だけで無事にインストール完了 ◆関連ソースを入手 ① GCCコンパイラ ② binutils(アセンブラやリンカーなど) ③ Newlib(組み込み向け標準ライブラリ) GCC4.5以降は以下の演算ライブラリが必要らしいので入手。 ④ 任意精度計算ライブラリ(GMP) ⑤ 浮動小数点演算ライブラリ(MPFR) ⑥ 複素数演算ライブラリ(MPC) 今回入手したファイル(バージョン)は以下の通りです。 ダウンロードしたソースを展開します。(何処へ展開するかはご自由に) $ mkdir -p /usr/local/src/gnu $ cd /usr/local/src/gnu $ tar zxvf ~/Download/gcc-4.7.3.tar.gz  : $ tar vxvf ~/Download/gmp-5.1.2.tar.bz2 ◆ビルド $export LANG=C この定義が無いとエラーが発生しました。 $export TARGET=arm-eabi $export PREFIX=/usr/local/gnu ①binutilsのビルド $ mkdir -p ~/tools/build-binutils-2.23.2 $ cd ~/tools/build-binutils-2.23.2 $ /usr/local/src/gnu/build-binutils-2.23.2/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib