【Linux】ザウルス開発系スレッド-2【SL】

このエントリーをはてなブックマークに追加
489いつでもどこでも名無しさん
>>484
現在C700でsunのPersonalProfileをインストールして使ってるんだけど
487の言っているのと同じようにコンパイルはできなかった。
しかし、面倒で変則的だけどちょっと違った方法なら一応コンパイルできた。

http://community.zaurus.com/project/showfiles.php?group_id=22
にあるKopi 2.1BっていうやつをインストールしてReadmeにかかれているのを
参考にして、

bash-2.05$ cvm -Djava.class.path=QtPalmtop/java/kopi/kjc-2.1B-bin.jar
at.dms.kjc.Main -C/mnt/card/QtPalmtop/java/kopi/gclasses.zip hello.java

とやったら取りあえずclassファイルができてcvmでの実行もできた。
ただ、上にも書いたけどC700でPersonalProfileのearlyAccess版だから、
C750でも同じようにできるとは限らないし,もっと複雑な奴も動くとは限らん。
ためしてくれ。
490489:03/05/25 05:38 ID:???
>>483
ToyEditはC700+earlyAccessでは動いてるんだけどな。
そういえば俺のToyEditはC700のVGA対応するためにソースをいじって
jdk1.3.1_06のjavacでコンパイルした奴だった。

今は動かなくても作者さんが動くようにしてくれるかも知れんぞ。
491いつでもどこでも名無しさん:03/05/25 06:51 ID:???
>>487
1.4のjavacにはコンパイルターゲットのバージョンを指定するオプションがあるよ。
eclipseだとwindow->pref->java->compilerに設定がある。

492いつでもどこでも名無しさん:03/05/25 07:22 ID:???
自律走行ロボットなんぞやろうと思ってるんですが、リナザウで外部との信号入出カはできますか?できればJavaで…
493いつでもどこでも名無しさん:03/05/25 09:37 ID:???
> 自律走行ロボットなんぞやろうと思ってるんですが、リナザウで外部との信号入出カはできますか?できればJavaで…

外部との信号入出力の出来無い計算機なんて無いと思うんだが、あんた馬鹿か?
494484@SL-C700:03/05/25 11:29 ID:???
>>483
ありがとう。何やらappletviewerと、
パス回りの対応で、シェルになってるんですね。

>>489
あれだけ素直なToyEditが動かないと言う話を聞いて、
カナーリ不安になっています。
個人的には、487の
>(J2MEでは非推奨のAPIは省かれている)
の一文が気になるところ。
自分で作ったのにも、何カ所かあるからなー、
java.util.*まわりとか・・・。
495いつでもどこでも名無しさん:03/05/25 11:48 ID:???
>>492
とりあえず補足しておくとCFスロットとSDスロットはあるが
RS-232Cはないぞ。
PCとUSBで接続できる謎のポートもあるが不明。

あ、赤外線ポートはある。これで十分か。
496493:03/05/25 12:01 ID:???
>>495
例の使えないUSBポートはシリアルポートとしては使えないのか?
糞シャープのサイトのどっかで仕様公開されていたはずだが。
497485:03/05/25 12:01 ID:???
>>489
なるほどsunのjavac以外を持ってくるというのは一つの手ですね。
sunのjdkでも1.3系統のものなら使えそうな気がするのですが手元にないのです。

>>491
-targetオプションですね。
初めて知りました。

>>494
ToyEditはC750でも動きます。
ただevmを呼んでるスクリプト(runtoyedit)でcvmで使えないオプションを
使っているせいで起動できないだけのようです。

非推奨のAPIがないのは本当のようなので、sunあたりから
J2MEのドキュメントを持ってきて確認された方がよいかと。
498いつでもどこでも名無しさん:03/05/25 12:07 ID:???
>>496
話を進めようとしている内容なのに
いちいち罵倒表現が入ってるのがオモロイ
499いつでもどこでも名無しさん:03/05/25 12:54 ID:???
>>496
スレーブ側だからねえ。
どこかをいじるとホスト側に化けるなんて事になっていれば、
遊べそうなんだが。
500いつでもどこでも名無しさん:03/05/25 13:06 ID:???
/devみるとusbっぽいのがusbmouseしかないんだよな。
501いつでもどこでも名無しさん:03/05/25 14:04 ID:???
>>492
いやRS-232Cはあるぞ。
ポート16のなかにUSBといっしょにある。
ただし、変換コネクタを自作するならTTLレベルなんで
レベルコンバータが必要だと思う。
市販されてるやるならCE-170TSだな。
詳しくはC700とCE-170TSでぐぐれ。

USBは基本的に無理だな。
USBはホストとスレーブの関係が決まっていて、
C700はスレーブとして使用できるがホストにはならない。
(ホストコントローラが無い)
この辺はC750でも同じだろう。
ホストコントローラを持ってるマイコンを使ってデバイスプロキシってのを
作ってP/ECEと繋げてた人がいたからがんばればできるかも。大変だけど。
あとRatocのREX-CFU1(ホストコントローラ)を使えばできるかもしれないが,
ドライバが無いので作る必要があるし,今まで成功したという話も聞いたことが無い。
502いつでもどこでも名無しさん:03/05/25 14:32 ID:???
>>501
REX-CFU1はSL811HSだから、Cypressにあるドライバに手を入れれば使えるんでは?
現物が手元に無いので、おまえがやれと言われても困りますが。
503いつでもどこでも名無しさん:03/05/25 14:50 ID:???
>>502
FreeBSDだかNetBSDのMLで挑戦したヤシが居たんだが、その後の展開は不明。
興味有るならMLを漁ってみるべ。
504501:03/05/25 15:02 ID:???
>>502
その通りだと思うんだけど今までそれをやった者を見たことが無いということ。
REX-CFU1の値段を考えるとわざわざ買ってまでしてドライバを作るものが
なかなかいないということだと思う。
もっと安くなればトライしてみたいけど俺自身にそんなスキルは無いんだよな。
505いつでもどこでも名無しさん:03/05/25 16:04 ID:???
506いつでもどこでも名無しさん:03/05/25 16:48 ID:???
nasu
507奈々氏:03/05/25 20:43 ID:X2J7bjed
>REX-CFU1
というか、ドライバ入れてみたいけど、そもそもLinuxでのUSB周りの扱いに詳しくないので試しようが無い状況ですね。
ハードは中古で叩き売ってるのを手に入れたんだけどな。
その辺に詳しいページとか有れば、だれか教えてください。
ただ、それで使えるように出来るかどうかは保証できないところ。

あ、そうそう、BSD周りのほうで情報が出ていたこのチップ使ってるUSBホストってx68系用のコンボカードかなんかのドライバだったと思うけど
このチップ、初期のものではバグが有るとか言う情報もあったりするのである意味地雷一直線かもとか思わないでもないです。
508425:03/05/25 21:41 ID:???
qpeGPSがSL-C700だと表示が崩れるので、
レイアウトマネージャを使って書き直してるんですけど、
うまくいかない(泣)。
QVBoxLayoutにQGroupBoxをいれて、さらにそのなかにQVBoxLayout、さらにそのなかにQHBoxLayoutをいれて、QLabelをいれる。
とかやると、GGroupBoxが見えなくなってしまう。

アドレス帳の「一覧表示設定」はきれいにレイアウトされてるから、コーディングが間違っているんだろうけど、どこかよいサンプルないかなー。
509463:03/05/25 22:32 ID:???
C750買ってきていろいろやってました。

JDK1.1.8からclasses.zipを取ってきたり、
JDK1.3からtools.jarを取ってきたりしたんですがjavacは動きませんでした。

java.lang.Character#isJavaLetterOrDigit(C)Z がないんだってさ…

とりあえず>>489のやりかたで
awtを使う結構複雑なプログラムもコンパイルできるようになったんで、
報告しときます。
510いつでもどこでも名無しさん:03/05/25 23:13 ID:???
sourceforge.jpのzaurus-ja行けない…。
使えねぇコミュニティだ…。
511工房 ◆AHAN1TU/0Q :03/05/25 23:32 ID:???
>>488
アドバイスありがとうございます。
いろいろ考えたんですが、C++でやってみようかと思います。
いつか、自分のソフトをネットで公開できるようになるのを夢見て、がんばります。
512485:03/05/25 23:36 ID:???
yet anotherなコンパイル方法。

ttp://yamaguch.sytes.net/~tora/java/eclipse.xml
にある、eclipseから内蔵コンパイラのjarとjdk1.4.1のrt.jarの組み合わせで
簡単なファイルのコンパイルはうまくいった。
rt.jarが20M強、コンパイラは2Mくらい。
一応これでセルフビルドはできそう...

ちなみにJ2MEのpersonal.jarだと必要なファイルがないと言われて駄目だった。
CDCのPersonalProfileだとjava.lang以下はフルセットじゃなかったのかなぁ。

513485:03/05/25 23:57 ID:???
もう少しやってみた。

eclipseのコンパイラを使う場合、javaのクラスライブラリを-cpで指定しないと駄目なようだ。
しかし、CDC本体に含まれる部分がcvm内蔵?のため、コアなクラスを使うことができない。
eclipseのコンパイラに使わせるJavaのライブラリはpersonal.jar+1.1.8のclasses.zipでもいけた。
しかしこの場合、1.1.8にあるけどCDCにないものでもコンパイルできたり、
CDCにあるけど1.1.8にないものはコンパイルできんと思う。
なので、一応注意しながら1.4.1のrt.jarを使うしか、かな。
514502:03/05/26 00:03 ID:???
>>507
Cypressのドライバとってきて、手を入れるのが簡単じゃないかな?
幸いにもARMでテストしているらしいので、カードサービスとやりとりする部分を
入れる位で済みそう。

現物があればやりたい所だが。貧乏なので無理。
515485:03/05/26 00:08 ID:???
一端rt.jarをばらしてCDCに含まれている必要なものだけとってくればいいんだろうけど、
これってライセンス違反になるのかなぁ。
516いつでもどこでも名無しさん:03/05/26 00:37 ID:???
>>515
個人で使うだけならいいけど、それを配布
したりするのはやっぱNGだろうね
517いつでもどこでも名無しさん:03/05/26 00:49 ID:???
>>508
gpsタブですね。
実機を持ってないころに少し直してみたのものを今試してみたのですが
多少ましな程度でした。
実はC700のVGA問題以外にも、A300だと地図パラメータ設定画面で
SIPを表示すると...という問題もあったりして放置してました。
518502:03/05/26 00:50 ID:???
>>516
それがGPL2だったりするんですよ。
ライセンス関係のファイル付いて来ないけど、
ソースにそう書いてあるから間違いないでしょう。
519503:03/05/26 01:01 ID:???
>>514
ハードのことは良くわかりませんが、bsd-usbの投稿はこれ。
ttp://www.clave.gr.jp/ml/bsd-usb/200212/msg00007.html
ttp://www.clave.gr.jp/ml/bsd-usb/200212/msg00009.html

神木さん達のmlでこの話題が出ていたので、あの辺りの人々が
やってくれないかと秘かに期待。
520484@SL-C700:03/05/26 01:06 ID:???
>>497 == 485
使えなくなったオプションって、
-Xprogressかなぁと当りをつけて見るテスト。
#-XappNameも微妙なラインだけど

どうせシェルでパラメータチェックしてるなら、
ついでに弾いておいてくれても良いのに・・・、
521485:03/05/26 01:07 ID:???
>>518
ごめんなさい。
515はJavaの話でUSBホストドライバの話じゃないです。

USBホストのPCカード用ドライバはほすぃです。
これがあったらAirH"解約して味ポンにするのに。
522485:03/05/26 01:08 ID:???
>>520
ビンゴ!
てか、書いてなかったですね。すいません。
表示されるオプションを見る限り-XappNameは使えるようです。
523463:03/05/26 01:14 ID:???
>>513
そういうことなら、
http://java.sun.com/products/personalprofile/
から J2ME Personal Profile Runtime Environment をとってきて
そのなかのbtclasses.zipとpersonal.jarを使えばいいと思うです。

javacを使ってppのアプリを作るためには
javac -bootclasspath j2me-pp1.0/btclasses.zip:j2me-pp1.0/lib/personal.jar MyApp.java
ってするようにって書いてあるので多分okだと思う。

jarの中身を見た感じだとbtclasses.zipだけでokっぽいような気がするんだけど
personal.jarも使えって書いてあるってことはなにかあるんでしょう。
試せてなくてすまん。
524485:03/05/26 02:44 ID:???
>>523
ありがと。
この方法でばっちりうまく行きました。

あとpersonal.jarを使うのはPersonalProfileって結局CVM上で
CDC+PersonalProfileを動かすってことだから、PersonalProfileな
部分のクラスパスが通ってないとだめってことでしょう。
CDC部分のみのプログラムであればbtclasses.zipのみでいいと思われ。
525463:03/05/26 03:25 ID:???
>>524
俺もeclipseのコンパイラ+btclasses.zipでうまくいきました。
btclasses.zipってやつにCDCだけじゃなくてPPも入ってそうな気がするんですよね。
少なくともawtはCDCじゃなくてPP部分のはずだけどbtclasses.zipにも入ってるし。

テトリスみたいなゲームも通信するアプリもコンパイルできてcvmで動かせたんで、
しばらくpersonal.jarなしで行ってみます。
526いつでもどこでも名無しさん:03/05/27 02:22 ID:???
C700+PersonalProfileだが俺もeclipseのコンパイラで出来た。
まぁまだHelloWorldしかやってないけど。

具体的に書いてみよう。

1.eclipse-SDK-2.1-win32.zip みたいな奴をFTPサーバとかから落としてきて解凍。
2.plugin\org.eclipse.jdt.core_2.1.0ぐらいの下にjdtcore.jarってファイルがあるのでザウルスにコピー
3.>>523のところからRuntime Environmentを落として解凍、btclasses.zipをザウルスにコピー
 (とりあえず両方ともSDのルートにコピーしたとする /mnt/card/ね)
4.コンパイルする。
 cvm -Djava.class.path=/mnt/card/jdtcore.jar org.eclipse.jdt.internal.compiler.batch.Main
 -classpath /mnt/card/btclasses.zip Sample.java
 (二行になってるけど一行に続けて書く)
5.10秒くらい待つとプロンプトが帰って来てコンパイル終了 Sample.classが出来ている
6.cvm Sample で実行

コンパイルははっきり言ってカナーリ遅い…
jdtcore.jarを何とかすると速くなったりしないかなぁ。
527いつでもどこでも名無しさん:03/05/27 02:44 ID:???
>コンパイルははっきり言ってカナーリ遅い…
jikesに挑戦したひとっていままでいないのかな?

>jdtcore.jarを何とかすると速くなったりしないかなぁ。
IBM/OTIはコンパイラの動作環境として組込みVMだと
J9は想定しているから、このへんだとそこそこ速く
動かんかな。Linux/ARMバイナリでJIT, AOT対応したみたいだし。
528いつでもどこでも名無しさん:03/05/27 02:55 ID:???
>>526
eclipseはオープンソースとは言っても出自はIBMだし
元々そんなに悪いコンパイラじゃないでしょ。

むしろcvm側がボトルネックだと思うけど。

スピードを求めるならネイティブで動くコンパイラを求めるしかないと思うけど。
529いつでもどこでも名無しさん:03/05/27 03:02 ID:???
>>527
こんなところにあるけど動くかな?
ttp://www.yamaguch.sytes.net/~tora/opensource/zaurus/zaurus.xml

ちなみにA300でqtなKaffeは動かなかった...
(自分でビルドしたのも駄目だったな...)
530489:03/05/27 03:49 ID:???
いつのまにかセルフコンパイルの話が進んでるな。
俺も遅ればせながらeclipseのコンパイラで動きました。

JavaPressのJXTAの記事ではrt.jarをばらしてPersonal.jarに
まとめてたんでライセンス的には問題ないんじゃないかな。
(JavaPressの記事がライセンスを考慮してなかっただけかもしれんが。)

btclasses.zipにはpersonal.jarの全部が含まれているわけではなさそう。
sun.awt.qtフォルダがbtclasses.zipの中にはないみたい。

javacコマンドでpersonal.jarをパスに指定するのはJ2SE上でPPのクラスを
コンパイルするんで必要だが,cvmを使う場合、その時点でpersonal.jarへの
パスが通っている可能性は無いのかな。


531いつでもどこでも名無しさん:03/05/27 08:08 ID:???
お、jikesコンパイル速いな。
ttp://www.micronova.com/ZAURUS/index.html

./jikes -classpath /mnt/card/btclasses.zip Hoge.java

Hogeの中身は数行の画面表示だがcvm+eclipseのコンパイラだと>>526の言うとおり10秒くらいかかるが
これだと2秒かからないぐらい。いいね。
532531:03/05/27 08:13 ID:???
ただし実行ファイルが13Mもある。
俺は256MのSDつけてるからまだ余裕あるけど…。
533いつでもどこでも名無しさん:03/05/27 13:41 ID:???
>>508
Ruby/Qte でちょっと試してみたけど。

g = QGroupBox.new(QString.new("test"), self)
lay = QVBoxLayout.new(g, g.font.pixelSize)
label1 = QLabel.new("test label", g)
lay.addWidget(label1)

QGroupBox に QVBoxLayout を足すときに、space パラメータを
設定するとうまくいった。
でもなんか納得いかないしもっとスマートな解決策もありそうだけど。。
534533:03/05/27 14:39 ID:???
こんなややこしいことしなくても

g = QGroupBox.new(3, Qt::Vertical, QString.new("test"), self)
QLabel.new("test label1", g)
QLabel.new("test label2", g)
QLabel.new("test label3", g)

これでOkですた・・。
535いつでもどこでも名無しさん:03/05/27 22:36 ID:???
>>532
うちではとらねこさんところのjikesで動いた。
確かに速い。
でも13Mも食わないよ。
jikesが3M、同梱のlibgcj(使わなくても動く)が2M弱。

一応jikes -version すると
1.16-cvs
らしい。
536いつでもどこでも名無しさん:03/05/28 10:14 ID:???
全画面つかったアプリケーションって開発できますか?
殆どのアプリでメニューが必ず表示されてるようなんですが…

537いつでもどこでも名無しさん:03/05/28 10:29 ID:???
>>536
標準でついてるMedia Playerは全画面で
動画再生してます
538536:03/05/28 10:51 ID:???
でも、ソースは公開されてないですよね?
Freeの環境では無理ってことなんでしょうか…。
539いつでもどこでも名無しさん:03/05/28 11:00 ID:???
>>538
http://www.castanet.homeip.net/~tos/sl-c700.html
にあるembeddedkonsole-jaなら全画面対応でソースもあるみたいだよ。
参考にしてみれば
540536:03/05/28 11:10 ID:???
ありがとうございます。早速見てみます。
541いつでもどこでも名無しさん:03/05/28 12:27 ID:???
542いつでもどこでも名無しさん:03/05/28 14:52 ID:???
あれ? 本スレは?
543山崎渉:03/05/28 16:51 ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
544いつでもどこでも名無しさん:03/05/28 17:17 ID:ipFNWWiP
本スレ希望あげ。
545いつでもどこでも名無しさん:03/05/28 17:25 ID:???
546いつでもどこでも名無しさん:03/05/28 23:16 ID:???
リナザウ
547いつでもどこでも名無しさん:03/05/28 23:45 ID:???
唐突ですが どなたか解る方がいれば・・と思い質問ですっ。

C++のSRCを幾つか見ていたのですが、
リヌザウでTemplateやSTLって使って良いんでしょーか。

Qtの所で「何故STLを実装していないのですか?」
とのQ & A があったので使えないかと思っていたのです。
しかし最近、開発環境(Cygwin)で試しにstd::stringやstd::auto_ptrを入れたところ、
コンパイルは通りました。
「コンパイルが通る = 使える」なんでしょうか?
548いつでもどこでも名無しさん:03/05/29 00:26 ID:???
>>547
使えたと思いますが、本体には libstdc++ が入ってないので
自分で入れるか static link ということになる... ような記憶がありますが、
間違ってたら謝ります。

コンパイル出来たのであれば多分そこに libstdc++ はあるんだろうけど、
dev_img(セルフ開発環境)にも入ってます。
549いつでもどこでも名無しさん:03/05/29 00:42 ID:???
>>547
「何故STLを実装していないのですか?」ではなくて、
「QtではなぜSTLを使わずに自前のコンテナクラスを持っているのですか?」
じゃないかと。

ちなみに、テンプレートサポートが改善されている gcc3.2以降は、
ABIが違うので標準のQt/Eライブラリとリンクできないので使えません。

>>548
最近配布している Cygwin用の gcc/binutil では、libstdc++ の
共有ライブラリを削除してあるので、スタティックリンクされるはずです。
550547:03/05/29 01:43 ID:???
ありがとうございますっ
STLは使えるんですねっ
(最近STLにはまっているので。)

>「QtではなぜSTLを使わずに自前のコンテナクラスを持っているのですか?」
「メモリ使用量の関係でSTLはお勧めしない」 -> 否定的 -> 使えない
・・・脳内保管してました

>>548
う゛。てっきり *.h だけ有れば良いと思いこんでました・・
libstdc++は何かの拍子に入れた記憶あります。


>>549
>テンプレートサポートが改善
つまりは gcc3.2以降じゃないとお勧めしないっ!?

>gcc3.2以降はABIが違うので標準のQt/Eライブラリとリンクできない
・・・板挟みです。

とうぶん諦めるが吉みたいですね・・・   はぁ。
551いつでもどこでも名無しさん:03/05/29 02:49 ID:???
J2MEでのセルフコンパイルについてまとめてみました。

ttp://co2.s16.xrea.com/hiki2/hiki.cgi?%28J2ME%29SelfCompile