2013年8月15日木曜日

Netbeans7.3でpythonの環境を整えてみる

最近になって、JAVAやHTML5に関連するお仕事もちらほら出てきて、
良い機会なので勉強しようと開発環境整えてました。

EclipseとNetbeansどっちが良いのかなぁ?と色々ググってみると、
どうやらJAVAならNetbeansのほうがお手軽そう(?)なので、インストールしてみました。

できれば時々使ってるpythonもNetbeansで開発したいなぁなんて思いまして、
調べてみるとデフォルトではプラグインが入ってないとのこと。


というわけでpythonのプラグインを入れる方法を探してみました。

・・・と言っても実はとても簡単で、

[ツール]→[プラグイン]の[設定]タブを開いて、下のURLを追加することで、
[使用可能なプラグイン]タブに"python"がでてきます。

http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz


この方法は、
https://blogs.oracle.com/geertjan/entry/python_in_netbeans_ide_7
ここで紹介されていました。
# Thank you Geertjan san!

日本語で紹介している記事がググっても見当たらなかったので、
自分のブログにメモメモです。

探し方が悪いのかなぁ?(´・ω・`)

2013年7月9日火曜日

openSUSEでAruduino IDEを使うときの注意点

色々あって転職して会社が変わりました。

といってもやってる仕事内容はそんなに変わらずで、
ちょくちょく過去に自分で書いたメモを参考にしたりして作業してました。

毎度毎度そろそろ更新しよう・・・と思うのですがねぇ。


愚痴はさておき、openSUSEでAruduino IDEを使用する際に、
はまってしまった点があったのでメモ書きです。

結構前に興味本位で購入して、かるーく遊べると思って手を出したら、
USBシリアル経由でプログラムをダウンロードできなくてハマりました。

最初はIDEから「ツール」→「シリアルポート」を選ぼうとしたら灰色になっていて、
選択できない状態でした。

困ったなぁと思っててきとーにググってみると、"ttyACM0"じゃないと認識しないよ?
とか、Ubuntuの場合はttyUSB0でも接続できるパッチがあるよ?
なんて、いろんな情報が書いてありました。

色々やってみても全然状況は良くならなくて、おいおいどーいうこった不良品か?(笑)
なんて考え始めたので、初心に戻って単純に通信できるかを確認してみたところ・・・
なんてことない、デフォルト状態でuserでは/dev/ttyUSB0にアクセスする権限が無かった!
というオチでした。

ということで・・・・
usermod -Gdialout uucp lockのグループを追加してあげた
ことで「ツール」→「シリアルポート」はちゃんと選択できるようになりました。

ttyUSB0のままでも大丈夫でしたよ!




過去の自分の記事に助けられたことが何度かあるので、
これからはもう少しマメに・・・・・。


2012年3月6日火曜日

Tracのwikiでチケットを表示する方法

そーいえば、コンポーネント毎に分けて表示するのってどうやるんだっけ?
久々すぎて忘れてしまったのでググったのはいいんですが、自分の昔のブログが出てきてしまったので、こっちにコピー・・・(´・ω・`)

 

wikiでチケットを表示する方法です。
表示だけなら覚えてるのですが、フィルタのかけ方など、
いっつも忘れてしまうので、よく使うものだけとりあえずメモ。

書式
[[TicketQuery( argument, ... )]]
引数は何個でも入る(区切りは「 , 」を使う)


フィルタ
例) status!=closed&owner=$USER
「 & 」でAND検索してフィルタすることもできる。
status 状態 (status=closed)
owner 担当 (owner=$USER)
cc 関係者 (cc=$USER)
component コンポーネント (component=その他)


分類分け表示
例) group=status


表示順の変更
例) order=priority


カラムに表示するものを指定
例) col=summary

2011年10月20日木曜日

UBIFSを使ってみた その3

続き。

UBIFSのImageを作成する方法です。

FilesystemのImage自体は、他のFilesystemと同じで、mkfsを使用します。
# mkfs.ubifs –r rootfs_dir –x none –m 2048 –e 129024\
   –c 4096 –o rootfs.ubifs
これでrootfs_dirっていう名前のディレクトリの中身をrootfs.ubifsっていう名前のimageにします。

-mはminimum I/O unit sizeでFlashの書き込みサイズを入れる。
-eはlogical erase block sizeでFlashのブロックサイズ(消去)を入れる。
-cはmaximum logical erase block countでFlashのブロックの数を入れる。
ということで、↑の例は2Kずつアクセスできる512MBのNANDになります。

 

さて、FilesystemのImageを作った後に、このImageをUBI用に変換しなければいけないんです。
そのためにubinizeを使用します。

まずは、↓のようなconfigファイルを作って適当な名前(rootfs_ubi.cfg)で保存する。
-----------------------------------------------------------------
[rootfs-volume]
mode=ubi
image=rootfs.ubifs
vol_id=0
vol_size=128MB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
-----------------------------------------------------------------
その後、ubinizeを使ってUBI用に変換してあげる。
# ubinize –o rootfs.img –m 2048 –p 128KiB –s 512 rootfs_ubi.cfg
これで、rootfs.imgという名前のUBI用Imageが完成します。

 

完成したImageを書き込む為には、Target上でubiformatを使います。
# ubiformat /dev/mtd0 –f rootfs.img
これで、mtd0をUBIにしてrootfs.imgを書き込んだ状態になります。

# ubiattach /dev/ubi_ctrl –m 0
をすると、/dev/ubi0_0が既に出来てるはずです。

 

作ったubifsをrootfsとして起動したい場合、起動時のcommandに”ubi.mtd=0 root=ubi0:rootfs”を追加すると、mtd0をubi0としてattachして、mountしてくれます。

u-bootの場合は、環境変数bootcmdに追加すればOKです。

 

ざっと、こんな感じです。

きっと、未来の私が確認しにくることでしょう(`・ω・´)

2011年10月19日水曜日

UBIFS使ってみた その2

続き。
実際にUBIFSを使う方法です。

まずは環境。

kernelがUBIやUBIFSに対応していないとお話にならないので、kernelのmake menuconfigで内容の確認です。
↓ の2つが有効になってれば大丈夫だと思います。

---------------------------------------------------------
Device Drivers --->
    Memory Technology Device (MTD) support --->
        UBI – Unsorted block images --->
            <*> Enable UBI

File systems --->
    Miscellaneous filesystems --->
        <*> UBIFS file system support
---------------------------------------------------------

それから、image作成したり、formatしたりと操作するために、mtd-utilsに内包されている、ubi-utilsが必要になります。

ソースをmtd-utilsのrepositoryからdownloadして、Host用とTarget用の二種類makeして作成してください。

出来上がったものをHostとTargetのPathが通ってるところにコピーしてください。

 

UBIの使い方。

UBIを介してMTDにアクセスする為には、ubiattachでubiのdeviceを作成 and MTDと関連付けをしてあげる必要があります。

例えば、/dev/mtd1に対してattachする場合は、
# ubiattach /dev/ubi_ctrl –m 1
を実行すると、/dev/ubi0が作成されます。

/dev/ubixのxは、defaultだとattach順になりますが、-d optionを使用すると任意の番号になります。

UBIはvolumeというpartitionみたいなものをdevice毎に持ってます。
/dev/ubi0の中に複数のファイルシステムを作り、管理することが可能です。

例えば”testfs”という名前のvolumeを作成するにはubimkvolを使って、
# ubimkvol /dev/ubi0 –N testfs –m
と実行すると、/dev/ubi0_0が作成されます。

mountする際は、/dev/ubi0_0を指定しても大丈夫ですが、volume名を指定してもmountできます。
# mount –t ubifs ubi0:testfs /mnt
こんな感じです。

volumeを消したい時はubirmvol、MTDとの関連付けを外したい時はubidetachを使用します。

ただUBIを使いたいだけだったらこれだけでも十分だとは思いますが、やっぱり組込で開発していると、予め作成したimageファイルを書き込むのが一般的だと思います。

imageの作成方法や書き込み方はUBIFSの作成の仕方と一緒に書こうと思っていますが、なんだか文章が長くなってしまったので、続きは後ほどその3に書きます。

 

・・・お昼休み終わっちゃってるし (;・∀・)

2011年10月18日火曜日

UBIFS使ってみた その1

約1年ぶりの更新です。

1年前に腰を壊して以来、ずーっと放置してました(-_-;)
おかげで、英英辞典のやつは3日坊主になってますね・・・。

ぼちぼちゆっくりと更新していきまする。

 

さて、表題のUBIFSの話。

UBIFSはUBI専用のファイルシステムで、
”UBIFS may be considered as the next generation of the JFFS2 file-system.”
多分JFFS2の次の世代(後継と読んだ方がいいのかな?)になると考えてるらしい、MTD (Memory Technology Device) 用のファイルシステムです。

ではUBIとは何か?というと、”Unsorted Block Images”の略で、MTDと各ファイルシステムの間に入って、データを順番にではなく色んな場所に分けて書き込み(ウェアレベリング)をしてくれるものです。

Flash Memoryって簡単に言うと、コンデンサの周りを絶縁体で固めて漏電しないようにした物の集合体みたいなもので、書き込みする時は電子を貫通させてるんですね。
何回も貫通させてると劣化して書きこめなくなっちゃうんです。
同じところばっかり書き換えしていると、部分的に劣化してしまったりします。

よくPCで使用されているFATやNTFS等は部分的に壊れて(bad block)読めなくなってしまうと、他の様々なファイルも読めなくなっちゃいます。

SSD等は中に入ってるコントローラがウェアレベリングしてくれてるので大丈夫なんですが、NANDをそのまま使う組込の世界では、ファイルシステムで吸収してあげないといけないのですね。

そこで生まれたのがJFFS2やYAFFS2といったウェアレベリング対応のファイルシステムで、UBIはその機能をMTDとファイルシステムの間に入れることで、どんなファイルシステムでも使えるようにしよう!としたもの・・・だと思います。

でもFTLじゃないよ!!”UBI is not a Flash Translation Layer” って公式の説明には書いてありましたw

↓ は公式サイトにあるDocumentから持ってきた図。

ubi

 

困った事に、簡単な説明を書いただけで随分と長めの文章になってしまったので、使い方等は明日書こうかなと思います。

備忘録になるので忘れずに!
意外と過去の自分の記事って自分に役立つなぁって開発中に思いました。

2010年9月2日木曜日

LONGMAN Basic 英英辞典 Exercise 3

 

LONGMAN Basic EINGLISH DICTIONARY の Exerciseその3です。

 

Exercise 3  -----------------------------------------

The word alphabet comes before the
word asleep in the dictionary.
alphabetという単語はasleepという単語より前に書いてあります。

These words both begin with the letter a, so
you must look at the second letters (l and s)
to see which one comes first.
これらの単語はどちらもaという文字から始まっているので、
どちらが前に並ぶかは、2番目の文字(l と s)を見る必要があります。

When the first two letters are the same
you look at the third letter.
When the first three letters are the same
you look at the fourth letter, and so on.
最初の2文字が同じ場合は、3番目の文字を見てください。
最初の3文字が同じ場合は、4番目の文字を見てください。
以降同様です。

Look at these words and put them in
alphabetical order:
これらの単語をアルファベティカルオーダーに並び変えましょう。

“these words”
think thirsty thermometer through thunder thumb
throw theory throat therefore thirteen

# answer
# theory therefore thermometer think thirsty thirteen
# throat through throw thumb thunder

----------------------------------------------------

“and so on” same “etc” です。
”etc”が文中に出てきても”and so on”と発音するのが一般的
・・・らしいです。
# ぐぐりました

“えとせとら”じゃーだめなのかー。
初めて知りました。