【エンベデッド】組込Linux総合スレ【リアルタイム】at LINUX
【エンベデッド】組込Linux総合スレ【リアルタイム】 - 暇つぶし2ch511:login:Penguin
07/05/23 14:10:50 5HKQrtMG
>>510
電話にでなくていい人ウラヤマシス

512:login:Penguin
07/05/23 20:41:49 kXmbHqZJ
>>511
電話に出なくていい人に電話がかかってくるわけないだろう

513:login:Penguin
07/05/23 20:58:59 yv7dFBcP
それにしても電話って失礼だよな。
「今やってる作業をすぐ止めて応対しろよゴルァ」
って言うわけなんだし。

514:login:Penguin
07/05/24 10:36:08 kMEFPNBc
漏れも電話嫌い

515:login:Penguin
07/05/24 23:23:50 s5ZKLSZa
ベルの代わりに

「いまやってる仕事の合間にもしお時間あるようでしたら取って頂ければお願いしますお願いします」

としゃべる電話なら人気が出るかな。

516:login:Penguin
07/05/25 03:26:02 U9k4rufN
>>515
それって着メロで実現可能じゃね?

517:login:Penguin
07/05/25 04:29:27 mBhqggPJ
相手に「ご主人さまは只今お取り込み中のようですので私が承ります」
としゃべる電話なら欲しい

518:login:Penguin
07/05/25 10:35:16 5DAxDbCt
>>517
おれがかけるよ

519:login:Penguin
07/05/26 11:11:49 oS2KSS/L
留守電の応答メッセージをカスタマイズする話?

520:login:Penguin
07/05/26 23:02:53 Gj5+E30K
>>515-519
IVR とかでググレよ。

521:login:Penguin
07/05/27 20:22:06 pxuIAPiE
>>519
URLリンク(www.dmm.co.jp)
こういうのならあった

522:login:Penguin
07/06/03 19:37:12 ODv6quog
カーネルビルドにソースコードを追加する方法を教えてください。
ARMlinuxで、debug.Sを追加しようとしています。

523:login:Penguin
07/06/03 20:52:16 ODv6quog
自己レスです。
debug.Sを手動でビルドして、head-yに追加してしのいでましたが、
DEBUG_LLをyにしたらいいみたいですね。
勉強中で、度々質問するとおもいますが、よろしくお願いします。

524:login:Penguin
07/06/03 20:55:11 VUAXC410
debug.Sを置いたディレクトリにあるMakefileを見る。

大した量じゃなければentry.Sあたりに埋め込んでしまった方が
悩まなくていいんじゃないかと思ったり。


525:login:Penguin
07/06/20 03:58:08 RJOumhY0
nano-Xを動かしたいのですが、なにも表示されず困っています。

いちおう、URLリンク(hms.tukusi.ne.jp)にあるプログラムは動作し、
絵も表示されるのですが・・・。/dev/fb0を用意するだけじゃだめなのでしょうか?

実行しているコマンドは、
/bin/nano-X & /bin/nanowm & /bin/nxcal & sleep 10000
で、環境はqemu-system-armのintegratorCP上のARMlinux2.6.21.3です。
gen_initramfs_list.shにわたしているのは以下のものです。
dir /dev 0755 0 0
nod /dev/console 0600 0 0 c 243 0
nod /dev/fb0 0600 0 0 c 29 0
nod /dev/null 0600 0 0 c 1 3
dir /root 0700 0 0
nod /dev/loop0 644 0 0 b 7 0
dir /bin 755 1000 1000
slink /bin/sh busybox 777 0 0
slink /bin/ls busybox 777 0 0
file /bin/busybox usr/busybox 755 0 0
file /bin/nano-X usr/nano-X 755 0 0
file /bin/nanowm usr/nanowm 755 0 0
file /bin/nxcal usr/nxcal 755 0 0
dir /proc 755 0 0
dir /sys 755 0 0
dir /mnt 755 0 0
file /init usr/init.sh 755 0 0
dir /lib 755 0 0
file /lib/ld-linux.so.2 /usr/arm/sysroot/lib/ld-2.3.5.so 755 0 0
file /lib/libc.so.6 /usr/arm/sysroot/lib/libc-2.3.5.so 755 0 0


526:525
07/06/20 04:34:14 RJOumhY0
自己レスです。/bin/sleepが欠けてました…。
ただ、表示はまだされないままです。
以下のメッセージが表示されたのですが、対処方法がいまいちよくわかりません。
プロセス間通信がうまくいってない?とかだと、難しそうですね。
Cannot bind to named socket
nxclient: retry connect attempt 1
...
nxclient: retry connect attempt 10
Couldn't connect to Nano-X server


527:login:Penguin
07/06/20 10:26:44 a5RFjklq
>>526
どこかのディレクトリに名前付きパイプを
作ろうとして失敗しているのでは。

528:525
07/06/21 04:13:47 mBRUegyI
>> 527
なるほど。本家のFAQ(URLリンク(www.microwindows.org))をみてみると
たしかにそのような記述があるようですね。どうにか解決できました。
そのあともエラーがちょっとありましたが、
どうにかペンギンと目玉が表示されるとこまできました。
ただ、
NOMOUSE = Y
の設定のため、操作できず残念ですが…。

とりあえず、integratorCPの設定でここまでこれたので、
ターゲットボード用にカーネルを作り直していこうと思います。
メモリマップの変更の仕方がよくわかってないので、これからまた苦労しそうな気がします。
また、質問にくるとおもいますが、よろしくお願いいたします。

529:login:Penguin
07/06/22 00:12:39 sTvXylMW
>>525-528
去年の俺らを見ているようだ・・・。

530:login:Penguin
07/07/14 10:39:53 ZqSAeGAQ
STR9-comStick ホシイ

URLリンク(www.st-japan.co.jp)

Linux動くかな?
個人だと111EURだがユーロたかい

531:login:Penguin
07/07/14 22:15:03 QYlEPYWa
>>530
今月号のトラ技には、
STR9-comStickの希望小売価格が \6,277
という情報が載っているね。


532:login:Penguin
07/07/17 10:33:54 4jd3N0/F
URLリンク(www.st.com)
512 + 32Kbytes Flash and 96Kbytes RAM
これじゃ、Linuxは無理だろ。


533:OxbsWdxwBc
07/07/20 09:33:11 sLiUY2vY
CPwENf congratulations , <a href="URLリンク(www.buywatchesdirect.com) ring scott solitaire
</a>[url="URLリンク(www.buywatchesdirect.com) ring scott solitaire
[/url]URLリンク(www.buywatchesdirect.com) kay ring scott solitaire
:((, <a href="URLリンク(www.buywatchesdirect.com) kat
</a>[url="URLリンク(www.buywatchesdirect.com) kat
[/url]URLリンク(www.buywatchesdirect.com) kopy kat
8-DD, <a href="URLリンク(www.buywatchesdirect.com) quan mama
</a>[url="URLリンク(www.buywatchesdirect.com) quan mama
[/url]URLリンク(www.buywatchesdirect.com) nan quan mama
lkyi, <a href="URLリンク(www.buywatchesdirect.com) fayetteville gmc
</a>[url="URLリンク(www.buywatchesdirect.com) fayetteville gmc
[/url]URLリンク(www.buywatchesdirect.com) arkansas fayetteville gmc
>:-DD, <a href="URLリンク(www.buywatchesdirect.com) bermudo
</a>[url="URLリンク(www.buywatchesdirect.com) bermudo
[/url]URLリンク(www.buywatchesdirect.com) barbara bermudo
dspka,

534:login:Penguin
07/07/27 09:18:22 YX4kOzxZ
ARM linuxをうごかそうと四苦八苦しております。
タイマー割り込みを動かすようにしたのですが、
割り込み入りっぱなしになっているようです。きっとハードの触り方失敗しているのだと思うのですが、
もしlinuxで注意することがあれば教えてください。CONFIG_HZとかも割り込み入りっぱなしとは関係ないですよね?

あと、IRQ番号を取得するget_irqnr_and_baseは、
baseやirqstateには何を入れておいても問題ないでしょうか?とりあえずirqnrにIRQ番号のみいれて返しております。
また、ARM自身のirq/fiqの有効無効は、ソースのどの辺でやっているのでしょうか?
ちょっと見当たらなくて困ってますが、これは自分でインプリすべきなんでしょうか?

よろしくおねがいいします。

535:534
07/07/27 09:44:01 YX4kOzxZ
”割り込み入りっぱなし”って意味わからないですね…。
割り込みハンドラでちゃんと受ける事ができているのですが、
その後ハードウェアの割り込みをクリアしているにもかかわらず、
すぐにまた割り込みが生じています。ハードウェアの触り方がまずいのでしょうが…。


536:login:Penguin
07/07/27 10:23:22 nScxseEQ
>>535
> その後ハードウェアの割り込みをクリアしているにもかかわらず
そのクリアのやり方が間違ってるとか。

537:名無しさん@そうだ選挙に行こう
07/07/29 14:59:29 g/UQEP0B
>>536
俺もたぶんそれだと思う。
俺も2.3ヶ月前にやった。


538:534
07/07/30 20:22:40 cflq/pTR
>>536,537
ありがとうございます。
割り込みうまくいくようになりました。
クリアの仕方はあってたんですが、
もっと基本的なとこでget_irqnr_and_baseの作り方を間違ってました…。
(z flagのあたりです)

次は、initcallのinet_initのsync関数から戻ってこないような問題がおきてます。
もちっと考えてみます。

539:login:Penguin
07/08/06 22:26:42 seBG46Dn
ARMってマイコンじゃなくてCPUコアの部分のことだから、
チップによって割込みコントローラが違う。
だからその辺は面倒なんだよね。
マニュアルとか見てもたらい回しにされる感じで調べにくいし。

540:login:Penguin
07/08/25 12:48:06 phQr/xRB
誰か Armadillo-500 買った人いませんか?

541:login:Penguin
07/09/09 23:35:26 Uhitb/rc
システムがコールドブートしたか再起動するのか判定することはPCのマザーボードにLinuxですることは
可能でしょうか? 以前の組み込みシステムでは既知の場所にごにょごにょとパターンを書いておき、
起動時にそれがマッチすれば再起動と判定してました。

BIOSはそういう判定をしてないのでしょうか? ACPIあたりを探してみたのですが、そういう機能は
見当たりませんでした。

542:login:Penguin
07/09/10 01:10:06 9uLHtdgN
Time Stamp Counter ってリセットされたらゼロになったっけ?
これでインチキできないだろうか

543:login:Penguin
07/09/10 01:47:07 2DkuIGXp
>>542
リセットされるようですね。 おそらくCPU内にはリセットを生き延びる情報は
無いのではないかと思います。

544:login:Penguin
07/09/10 01:49:34 Wg9CjWC2
sram 持ってるならそこに何か書き込んでおけば?

545:541
07/09/10 03:44:55 2DkuIGXp
>>544
最初そう思ったのですが、普通のPCマザボにはSRAM載ってないですよね?

546:login:Penguin
07/09/10 09:19:03 4ufzY4De
>>541
> 既知の場所にごにょごにょとパターンを書いておき
そんなに安直な再起動判定で問題ないのか?
ハードウエアにもよるだろうが、それじゃ電源OFF->ONでも
同じパターンが見える場合があり得ると思われ。

547:541
07/09/10 21:20:03 2DkuIGXp
>>546
パワーアップのメモリの内容ってランダムなんですかね? まあ、問題になったことは
ありませんでした。 判定といってもユーザーに対する情報、およびクラッシュ内容の
NVRAMへの退避ぐらいでしたから。

548:login:Penguin
07/09/10 21:30:50 IJZFrTQ5
>>547
ドルアーガで255面に行くときみたく電源をガチャガチャやれば
メモリは残ると思うよ

549:login:Penguin
07/09/10 21:32:34 jYoaF576
秒オーダくらいならそのまま残る。もちろん回路によるが。

550:login:Penguin
07/09/10 22:09:50 lq1IwP9f
PCのBIOSではコールドとホットの区別はあるよ。
例えば、Linuxでリブートする時はコールドに化かしてる。
カーネルパラメータrebootで変更できる。

関係ないかもしれないけど、念のため…

551:login:Penguin
07/09/10 22:56:25 4ufzY4De
>>549
設計にもよるだろうけど、今時の品質の良いPC用メモリ(SDRAM, DDR1/2RAM)なら
1日や2日程度でもデータが読み出せてしまうことがあるよ。もちろん保証の範囲
ではないが、セキュリティ目的に使う場合は注意すべきだろう。

552:login:Penguin
07/09/10 23:13:13 Wg9CjWC2
リフレッシュしなくても電源のみで一日保つの?

553:login:Penguin
07/09/10 23:32:59 IJZFrTQ5
>>552
保ってしまう事がある
ROM抜いてもコンセント抜いても電源ONでぶた丸パンツ起動
なんてことはよくあった話

554:541
07/09/11 01:14:13 76tTyXYa
>>549
ならうれしいのですが、
>>551 >>553
ではこまっちゃいますね。電源切っても残ってるんじゃコールドの判定が出来ませんねw

では、実験してみようと思うのですが、Linuxで他に使われない固定メモリアドレスの確保って
どうすればいいんでしょう? 

>>550
そこら辺りいじった事あるんですが、たしかBIOSを通したリブートとリセットボタンを
ソフト的に押すリブートの違いじゃありませんでしたっけ? どれをコールドと
読んでるのでしょうか?

 

555:login:Penguin
07/09/15 14:19:53 Fdm8PfDf
ARMなんですが、decompress_kernelで展開されるデータが間違っているらしく、
ジャンプ先がkernel/head.Sのあるべき命令じゃなくて困ってます。
展開先メモリは0初期化しているので、decompress_kernel後に値が変わっているので、
とりあえず展開先アドレスの指定は正しいと思うのですが…。分かる人いませんか?

556:login:Penguin
07/09/15 15:13:35 KVemgStW
>>555
間違っているらしいと判断した根拠は?

いずれにしてもカーネル起動前だからICEなどのデバッガで
「どこに飛んでいるのか」「そのメモリには何があるのか」を調べれ。

557:555
07/09/16 00:18:43 mndrKqF6
>>556
レスどうもです。

compressed/head.Sの目的は、カーネルの展開及びそこへのジャンプです。
decompress_kernel呼び出し(wont_overload経由で実行してます)後は、
カーネルがメモリ上に展開されます。

その後カーネルの開始点である、kernel/head.Sにジャンプすることになります。
つまりジャンプ先にはまずkernel/head.Sのentry部の命令がなければなりませんが、
これが全然違う命令が配置されているのです。これが判断の根拠です。

decompress_kernel呼び出しを追いかければ原因がわかるでしょうが、
解読できずにおり、何かお知恵拝借できればなと思っている状況です。
よろしくおねがいします。
なんとなく、config_zboot_text/bssやmach-xxx/Makefile.bootの設定がまずいのだと考えてますが…。

558:login:Penguin
07/09/20 09:37:50 q0P/WSDM
そういう仕事はブートローダーにやらせたら?

559:login:Penguin
07/09/21 00:04:48 TbjlK3fc
スレ違いかもしれませんが質問よろしくお願いします。

PCI-XデバイスのDMA転送によってメインメモリへのデータ転送行わせました。
_____________________    ________________
|PCI-Xデバイス| → |メインメモリ|
~~~~~~~~~~~~~~~    ~~~~~~~~~~~
         DMA転送

しかし、メインメモリから期待しているデータを読み出すことができませんでした。
そこで、DMA転送によって書き込まれるメモリ空間のキャッシュをMTRRで無効化しました。
そうしたら、期待しているデータを読み出すことができました。

これはPCI-Xデバイス側の問題でしょうか?
つまり、キャッシュに反映するようにPCI-Xデバイス側を設計する必要があるのでしょうか?

それともDMA転送のためのメモリ空間の取り方に問題があるのでしょうか?
現在、__get_free_pagesによってメモリ空間を取っています。

ちなみにPCIデバイスでは問題がありませんでした。

560:login:Penguin
07/09/22 12:36:23 vwlCDajS
>559
PCIXも組み込みLinuxも経験ないのですが....

そもそもDMAでメインメモリに転送したのだから、CPUのメモリキャッシュには反映されないのでは?
PCIで読めたのは、たまたまだったような気がする。


561:login:Penguin
07/09/22 14:44:57 aPOoQXoL
デバイスが割り込み上げて
ドライバでそのメモリ領域のキャッシュをクリアかな。

それともPCI-X規格には
キャッシュコントロールの機能を持たせてあったっけ?
例の本が手元にないから確認できないけど。


562:login:Penguin
07/09/23 04:43:02 t1VN9Z7r
>>559
> __get_free_pages

dma_alloc_coherentを使うんじゃなかったっけ?

563:login:Penguin
07/10/17 14:18:16 eKaQOf2c
すみませーん!Linuxでftpコマンド使いたいのですが『接続を拒否されました』ってなります~。この対処法を教えてください。

564:login:Penguin
07/10/17 14:32:33 Yf2TeGXX
>>563
で、それはどんな組み込みLinuxだ?

565:login:Penguin
07/10/17 14:37:22 eKaQOf2c
Vine Linux4.0でございます。

566:login:Penguin
07/10/17 14:42:05 5sw1kXtY
>>563
くだらねえ質問はここに書き込め! Part 154
スレリンク(linux板)

567:login:Penguin
07/10/17 14:43:09 eKaQOf2c
あ、ありがとーございますm(__)m
実はそれにいきたかったのですが見つからなくて汗

568:login:Penguin
07/10/17 16:35:55 v98JIRol
こんな過疎スレのほうしか見つけられないとは
ある意味才能を感じる。

というわけでキミも組み込み開発しないか?

569:login:Penguin
07/10/18 11:34:47 ajrcuqvz
>>568
まだ初心者の部類にはいるのでもっと勉強してからにします。

570:559
07/10/25 00:24:04 XOSa2Nm1
>>560
>>561
>>562
レスしてくれた方々ありがとうございました。
ドライバ側でキャッシュクリアをしてみたところうまくいきました。
また、PCI-Xのキャッシュコントロールの機能について調べてみました。
PCI-Xはバススヌープの制御が可能のようです。
(キャッシュの効かないメモリ空間へのアクセス時にプロセッサ-メモリ間のトラフィックをなくす
ために無効にするらしいです。)
今までバススヌープが無効になっていたため転送データがキャッシュに反映されていませんでした。
有効にしたところ反映されるようになりました。

571:login:Penguin
07/10/29 14:21:08 42cMvo8J
>>569
それは残念


572:login:Penguin
07/10/29 23:08:08 hNlQRDCU
dslinux動かしたい為だけにdslite買っちまった俺。

573:login:Penguin
07/11/08 11:05:36 KFNKgI2K
ARM系CPUのPXA270のブートローダを作っているのですが、GPSRと
GPCRの使い分けが分かりません。

============
GPSR
If pin configured as an output, set pin level high (one).

GPCR
If pin configured as an output, clear pin level low (zero).
============

あるpinをoutputにしたい場合、GPSRを立ててGPCRを落とすという
ことでしょうか? だとしたら、どちらか片方が有れば十分のよう
におもえるのですが、となたか教えて下さい。


Developer’s Manual
URLリンク(int.xscale-freak.com)

574:login:Penguin
07/11/09 00:45:48 ADvAIztf
アドレス同じなんじゃね?

575:login:Penguin
07/11/09 08:03:26 an6ZuOWI
中学一年レベルの短い英文ぐらいは、間違えずに嫁

576:login:Penguin
07/11/09 08:11:14 O4FnbLJQ
「したい場合」じゃなくて「した場合」だろ。


577:login:Penguin
07/11/09 23:57:10 rbGLP3Vo
>>573
あるピンをhighにしたければ、対応するビットを立ててGPSRに書き込む。
あるピンをlowにしたければ、対応するビットを立ててGPCRに書き込む。
他のピンの状態を気にしなくてもおkということじゃね?


578:573
07/11/10 20:35:59 hlfej/Ux
>>574
アドレスは同じなんですよ。

>>577
実際の動作を見る限りでは、そのような感じです。
何とも気持ちが悪いので質問してみました。返答どうもです。

>>575
>>576
いくら何でもそのレベルの質問はしません。

579:573
07/11/10 20:37:41 hlfej/Ux
>>アドレスは同じなんですよ。
アドレスは違うんですよ、の間違い。

580:login:Penguin
07/11/30 19:09:35 B8uO9vgj
>>573
PXA270は使ったことはないがマニュアルを読んでみた。

GPSR(GPIO Pin-Output Set Register)は読んで字の如くはあるピンをHIGHにするために使用する。
1を書いたビットがHIGHになり、0を書いたビットは現状維持。
また、GPCR(GPIO Pin-Output Clear Register)も使い方は同様。
1を書いたビットがLOWになり、0を書いたビットは現状維持。

GPSR/GPCRレジスタはライトオンリーだから片方だけでは成立しないってこと。

581:573
07/12/05 16:27:38 XLgXGIlc
>>580
神レスサンクス。


582:login:Penguin
07/12/13 06:34:01 xrfAYYwU
STR9-comStickを個人入手したいんだけど出回ってないのかな?
ググってもこのスレくらいしかひっかからないし。

583:login:Penguin
07/12/13 23:52:48 2bQ5KOMZ
>>582
STマイクロから直に買うもんじゃないの?
URLリンク(www.st.com)
&primaryheader=Microcontrollers&secondaryheader=Development%20Tools%20for%20%20Microcontrollers
&subclassheader=Evaluation%20Tools%20for%20Microcontrollers&subclassid=959&rpncode=172091
&producttype=product&open=product&applilevel=
(改行いれたけど本当は一行ね)
でもこれRAMもROMも少なすぎでLinux動かないよね。

584:login:Penguin
08/01/01 21:03:17 CiX80dVk
年末から玄箱使って組込Linuxの勉強はじめようと環境つくってます。

そこでcygwinにgnuwindを追加してpowerpcのクロスコンパイルをやろうと
したけどgnuwindがうまくうごいていないみたい。 orz

やったこと
cygwinをすべてデフォルトでインストール←追加モジュールを選択していない
/optを作ってその下にgnuwindを解凍
/optの下のupwind/binのpathを追加

$ powerpc-eabi-gcc -vでバージョン確認しようとしたけど表示されない。
「ファイルがないよ」とかいわれないからパスはおkだと思ってる。
暗黙の了解があるのかな...

585:login:Penguin
08/01/04 00:59:07 o9gOWR9F
Linux上にクロス環境作った方が簡単でいいんじゃねえですか?
VMwareでも使って。

586:login:Penguin
08/01/04 01:24:30 8X8sTUT+
クロス環境を作るのは本当に苦労するよ

587:login:Penguin
08/01/04 01:37:54 5EbJXDvI
そうか?
gccでやってる分には楽だろ。俺が慣れてるだけなのかも試練が。

588:login:Penguin
08/01/04 01:38:31 cNYvGhIo
駄洒落なのかと思ったんだが・・・

589:login:Penguin
08/01/04 03:30:09 8X8sTUT+
ダジャレのわからんヤツと一緒にいられるか!俺は自分の部屋で寝る!

590:584
08/01/04 10:28:42 TjCgJjEm
冬だけにさぶいダジャレ含めトンクス。w

結局、M$からvirtualPCダウソしてRedHat9インスコ後にgnuwing入れた。
RH9用のgnuwing解凍時にエラーあった(winrar解凍でも)けど
とりあえずバージョン表示されたのでおk。
CQ出版Interface2007/4が当てにならないこともわかた。orz

でいまはgccのコンフィグオプション勉強中。

591:login:Penguin
08/01/05 13:19:33 M50GPuDJ
Windowsで作るのはcygwinにしてもmingwにしても本当に苦労するな>クロス環境
まぁ苦労と言ってもせいぜい一日仕事だが

592:login:Penguin
08/01/05 20:40:07 0qPyVns5
Windowsなら、VMware上でLinux使う方が楽>クロス環境

593:login:Penguin
08/01/05 23:31:34 XQaZbZwE
それはクロスといわない

594:login:Penguin
08/01/05 23:51:22 EsAMvPdt
>>593
VMwareなんだからLinuxもx86かx64

595:login:Penguin
08/01/25 00:09:01 Ywyn1H84
QEMUのSH4のエミュレーションで遊んでみようと
思ったんだけど shix_bios.bin が無いと言われる。

これってどうすればいいんでしょう。何か参考になるページは
ありませんか?

それとも、何か適当な実機を買った方が速度的にも速いでしょうか。


596:login:Penguin
08/01/25 00:50:55 4rHP06wz
値段は知らんけど、実機はドリキャスが一番安いと思う。
LANカードは高いがw

597:login:Penguin
08/01/25 22:23:18 Ywyn1H84
>>596
LANカード1枚で本体が3つくらい買えますね。

さて、QEMUの代わりにScratchbox2を使ってみたのですが、
とりあえず hello world はコンパイル出来たのですが、
sb2 ./a.out
と実行しようとすると、host側のlibc.soを読みに行くみたいで、
target側のを読んでくれません。
なんかこの辺の解説ありませんか?


598:597
08/01/26 00:57:12 gVvCeK9e
sb2動かねー
$ sb2 ./home/a.out
./home/a.out: error while loading shared libraries: libc.so.6: cannot enable executable stack as shared object requires: Invalid argument

SELinuxを切れというアドバイスがあったけど、だめ。
targetのrootfsにあるlibc.so.6が悪いんかなぁ。

599:login:Penguin
08/01/26 03:53:28 /U1csLN2
>>595
ドキュメントに書いてあるべ。
qemu-0.9.1/target-sh4/README.sh4


600:login:Penguin
08/01/26 10:44:38 gVvCeK9e
>>599
ありがとう。読んでたんだけど、リンク先がおフランス語
なのと、組み込み初心者なんでドキュメントの意味するところ
がよくわかんなかった。

bootloader.bin と vmlinux-nand_img_with_OOB-2.6.10-v1.0
をそれぞれ指定のファイルに組み込むって、
単にリネームするだけでよかったのか。


601:login:Penguin
08/01/26 22:23:42 tG+yJYsJ
sh4ならIO-DATAのUSL-5Pが安くていいんジャマイカ?
まだ手に入るジャロ?

602:login:Penguin
08/02/18 22:43:43 I7FVXt0F
USL-5Pでdebian-sarge動いてるけど、正直使い道がない。
かなり小さい事、USB2.0が5本あるなど色々遊べたりはする。
が、NASとして使うのなら玄箱でいい。
SH4はdebian公式からバイナリが落とせないので、
定番のppcやarmな玄箱よりも難易度は高い。
i-o hackの存在や、CFにself開発環境は作れるから、
今のところはあまり困らない。が、あのサイトもそろそろ
消えそうなので、ローカルにapt-lineを作っておいた方がいい。
ユーザー数が少ないからか、SH4の生成バイナリは質が
あまり良くない様で、色々バグを抱えてるような気がする。


603:login:Penguin
08/02/28 12:53:11 80iDMGCt
聞きたい事があります!
今、自分はまったく畑違いの職種の23歳です。
転職考えていて、働きながら通える学校に通おうと思ってるのですが
正直自分でググッた結果、組込リナックス、SE、NE、PG・・・
全て面白そうと思い、選べない状況です
長いスパンで考えた時に収入面、労働時間面で待遇のいい職種はありますか?
もちろん会社によりけり、個人の能力によりけりですが
平均的な事が知りたいので教えてください!



604:login:Penguin
08/02/28 12:59:37 sfXUxgeO
>>603
板違い。
URLリンク(school7.2ch.net)

605:login:Penguin
08/02/28 13:56:09 80iDMGCt
すいません!
ありがとうございます!


606:login:Penguin
08/04/19 20:52:06 glnP0/q9
教えて下さい。
USBおよびCFが使えてLinux-readyなA6サイズ程度以下のワンボードがあれば、
ご紹介ください。
CFでWLAN,USBでD02HWなモバイルルータ狙いですので、
CFはメモリIOだけの結線だと対象外です。
WLAN動作実績があり、5V単独だと吉です。

607:login:Penguin
08/04/19 20:57:11 c9IqDVuR
>>606
こんなの、とか?

URLリンク(www.centurysys.co.jp)

D02HWは動くみたいだけど、WLANはCardbusがないと厳しくないかな?

608:login:Penguin
08/04/19 23:16:44 VfFyGLvN
>>606
CFはなさそうだがWiFiは対応
URLリンク(www.embeddedarm.com)
「準備中です」になっている。
URLリンク(xies.float.co.jp)

609:606
08/04/20 08:11:58 TsnJvirp
返信ありがごうございます。

>>607
CFでWLANと思ってましたが、
PCMCIAでCardBusのWLAN方が良いのですか?
WLANドライバの実態がわかってなかったんで、
小型にしやすいだろうCFを書きました。
さらに言えばminiPCIとかの方が吉だったのかな??

>>608
どんぴしゃです。どちらも同じモノのようですね。
ARM9で2.4.26だし、手を入れられそうな気配。
国内で円で購入できるのも魅力ですね。
でも、WIFI-BOXはアチラでも売ってませんでした。何かあったかな?

610:login:Penguin
08/04/20 08:29:06 Sca1RWs1
>>609
Kernel2.4系ではD02HW(huawei e220)は動かないですよ。
2.6系からoptionドライバをbackportする必要があります。
さらに、モデムを有効にするためにusb-storageに手を入れないといけません。

CFでWLANですが、最近売っている11g対応のものはchipsetがmarvellなので
Linuxでは動作しません(仕様・ドライバ非公開、marvellはクソ)
11bのprism系が必要ですが、入手困難です。

USBのWLAN(ZyDASなど)も使用できますが、APとして使用するとWEPしか
使えないのでおすすめできないです。


611:login:Penguin
08/04/20 10:22:50 TsnJvirp
>>610
あいたたた。2.6系が吉でしたか。というか、それ以外だと困難ですか。
はまる前に指摘いただいて助かります。

612:login:Penguin
08/04/20 10:39:07 c0frTkzz
USBも2.6.10以降とかじゃないと結構とらぶるよ。

613:login:Penguin
08/04/26 07:34:23 rBQZYKvH
誰かxulrunnerをsh4にポートした人はいませんか?
mozilla/xpcom/reflect/xptcall/src/md/unix/
になくてコンパイルが出来ません。

614:login:Penguin
08/05/27 09:00:58 VykLsyr7
USL-5Pをdebian26化して使っています。
カーネルをアップデートしようととりあえず手元にあった2.6.24.3を
クロス(gcc-sh-3.3)でコンパイルして入れてみたのですが起動しません。
defconfig_landiskを使いました。

どなたか、これは動くというバージョンと.configを教えて
いただけませんか。シリアルコンソール化していないので、
何が起こっているかさっぱり....

615:login:Penguin
08/06/05 10:27:01 VxPsxRuG
ここにもいたのね。
まずシリアルつければ?


616:login:Penguin
08/06/05 10:31:27 NpIMDqCZ
ども、すみません。

ハードウェア板に動きましたの報告しました。
スレリンク(hard板:529番)

617:login:Penguin
08/06/18 11:00:04 FGerXNJj
ボードコンピュータに付いてきたカーネルのソースを
見ているんだけど、なんでこんなにあちこちにパッチ
が当たっててupstreamからかけ離れてるの?

ボード初期化の部分は独自でいいとしても、それ以外の
アーキテクチャ固有のドライバまわりとか、汎用のmmやドライバまで。
中には昔のパッチをフォワードポートして upstream で
変更のあったものがrevertされているようなものまで。

当然個々のパッチにドキュメントなんて無いから、
なぜそのような変更が必要なのか全く不明。

組み込み系ってこういうのが普通なんですか?それとも日本だけ特殊?
先細り感をひしひしと感じるのですが。

618:login:Penguin
08/06/18 12:19:08 hXQufezZ
日本に限らんと思うけどねえ。
表に出しにくい事情があるんじゃないかい。

俺は手を入れたらできるだけ上流に投げてるが、
仕事じゃないから出来てることだからなあ。



619:login:Penguin
08/06/18 14:50:27 FGerXNJj
表と言うか、誰でもダウンロードは出来るようには
なっている。ボード持ってないと意味ないけどね。

そのカーネル、ちょっと使うだけでSIGBUSやVM segv.とか吐くし、
何も言わずに固まるってことも。再現性のあるものはテストケース
作って直してってメーカーに言えるけど、そうじゃないから
とりあえず新しいカーネルをと思っても謎パッチだらけで、
ボードの初期化部分だけ移植しても起動すらしない。

本当に特定の環境、用途でしかテストしてないって感じで、
PCユーザからしたらありえない。
まぁメーカからしたら金にならんから仕方ないとは思うけど、
Linux使っててTakeだけというのはどうかと思う。

620:login:Penguin
08/06/18 15:36:08 b44BTw9+
組み込み向けというか、開発者が少ないLinuxカーネルはどこもそんなもんでしょ。

621:login:Penguin
08/06/22 09:04:25 q5aaKaRI
すみません。どうしても調べがつかないので教えて下さい。FONをDD-WRT化しようと色々調べたんですが、細かい説明がみつからず首をひねっています。
一番分からないのが、FLASHとRAMの関係です。

RedBoot> version
とすると、

RAM: 0x80000000-0x81000000, [0x80040290-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
と出ます。

まあ奇異なところはあるけど、概ね
RAM: 0x80000000-0x81000000
で(なんで0x80fffffffでないのか?)、

FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
とあり、64KBのブロックが128個あるように見える。

っで、

RedBoot> fis list
とやると、

Name FLASH addr Mem addr Length Entry point
(以下略)
が出ます。

ここで疑問なのはFLASH addrとMem addr。
内容物により両方同じ値で0xA8で始まっているものはたぶんFLASH内のデータであろうと推測される。しかし、異っているものがあり、それはFLASH addrは0xA8で始まるFLASH領域、Mem addrは0x8で始まるRAM領域に見えます。

これらはいったい何を表しているのでしょう?


622:login:Penguin
08/06/22 11:04:57 m4CFYIHK
>>621
FLASH addr - FLASHに書いてあるアドレス。
Mem addr - fis loadでアドレス指定しないとそこに読まれる。

fis helpに説明なかったっけ?


623:login:Penguin
08/06/22 19:11:30 q5aaKaRI
>>622
ご回答ありがとうございます。
なんとなく分かりました。

fis helpというのは調べたんですけど分かりませんでした。
代わりにhelp fisというのはあったんですが、
極簡単に
Display contents of FLASH Image System [FIS]
  fis list [-c] [-d]
としか出ませんでした。


624:login:Penguin
08/06/23 12:59:00 5Jn7Hh0X
uClinuxのサイトが重くてソースのダウンロードにまで至れないんですけど何か方法ありませんか

625:login:Penguin
08/06/23 13:01:27 6cx8X/B+
>>624
速い回線を買う

626:login:Penguin
08/06/23 23:08:34 8B+4/yXv
>>624
速い回線を寄付する。

どこぞにミラーがあったような気がするが、そこも
そんなに速くなかったような気がする。

sf.jpのは全然更新してねえから古すぎてなあ。


627:624
08/06/24 00:55:57 Gc6g3P3H
タイムアウトばかりだったのがやっと繋がってくれてなんとか落とせました
ありがとうございました

628:login:Penguin
08/06/26 10:16:47 iON5D/Wq
SH archでの質問です。
プログラムをコンパイルすると、アセンブラのオプションに
as -little
と渡っているように見えるのですが、ヘルプをみると
as --little
でなくてはならないように思えるのですが、どうなんでしょう。
一応コンパイルできて動いているみたいなのですが、
-littleだと別の副作用がでて困っているのです。

629:login:Penguin
08/06/26 15:41:37 iON5D/Wq
sh版のasが--little「も」受け付けるようになったのが
2005年の終わり頃だけど、gccはbinutils-2.11.2以降を
要求していて、これが2001年中頃のリリースだから
gccの方を変えるわけにはいかないのか。

630:login:Penguin
08/07/05 01:12:27 ouwQp4GB
まだqemu-sh4まったく動かないのでおじゃる
麻呂はどうすればよいのでおじゃるか?

631:login:Penguin
08/07/10 19:47:51 Gx2wFgQz
接続されている特定のUSBデバイス、あるいは全てのUSBデバイスを
再認識させる方法ってあるでしょうか?
認識したデバイスの順序によって、うまく動かない場合があるので。
認識順序を決められれば多分一番良いのですが。

再認識はWindowsで言うとデバイスマネージャから
デバイスの無効→有効と切り替えるような操作です。

632:login:Penguin
08/07/15 09:50:05 aGrgqLIL
udevとかhotplugに頼らないで、
自分でドライバロードすればいいんじゃない?

633:login:Penguin
08/07/15 23:55:21 KX30zKI5
接続するものがわかってるなら、ソースいじっちゃえば。
libusbである程度できるけど。

634:login:Penguin
08/07/17 23:28:52 7XYJXfvu
shで自力unwindしてーけど
レジスタの意味解らん

オワタ

635:login:Penguin
08/07/20 00:33:35 4yJEnmn0
USL-5PってCF何倍速まで認識しますかね

636:login:Penguin
08/07/20 01:37:45 9Ts8razw
ソフト的な見え方は全部同じなので、コントローラにヘンな癖が
なけりゃ大丈夫でないかと。


637:login:Penguin
08/07/30 01:15:02 guBfzXCP
sh向けのgccとgdbビルドするときに注意するべき
ことってどっかにのってませんかね?

638:login:Penguin
08/07/30 23:06:37 1LL5RXNn
これは?

URLリンク(ymorin.is-a-geek.org)


639:login:Penguin
08/07/30 23:45:13 YYInvdod
>>637
4.1.1は使うな。


640:login:Penguin
08/07/31 00:36:14 FWoObshL
>>638、639
どもです。もう1つ質問してしまいますが
sh4ってIPLにgdbのシンボル入ってないと
gdbって使えないものでしょうか?

641:login:Penguin
08/07/31 02:41:39 em4+rAlj
>>610
uClinuxも2.6系があるらしいですが、
uClinuxでoptionドライバやWLANでAP(インフラストラクチャモード)は動きますか?

642:login:Penguin
08/07/31 08:24:44 9za86z+H
>>640
使い方による。
まあ今はkgdb使えるからipl-gの方でgdbに対応する必要はあまりないと思う。

>>641
今のところuClinuxだからつう理由で動かなかったドライバは見たことない。
それよりもCPUの違いで苦労します。
x86の事しか考えてねえドライバの多いこと…


643:login:Penguin
08/07/31 10:13:55 hbf3MQnx
>>642
ドライバの開発者にボードと開発環境送れば良いんじゃね?

644:login:Penguin
08/08/01 00:04:05 lRhZErSR
sh4カーネルのビルド辺りからユーザ空間作るところまで
自分で全部作る方法どこかに載ってないですかね?

645:login:Penguin
08/08/01 04:12:23 gu1YuAnu
>>643
自分で直した方が早い。

俺も借りてる方なので他の人に送っちゃうと
自分の方が止まっちまうつう事もあるが。


646:login:Penguin
08/08/01 10:00:13 Vn5THG1R
>>645
そういうことを言ってるんじゃないが。まあいいか。

647:login:Penguin
08/08/03 14:21:04 cQ/ip75L
/*
* since we're only adjusting minutes and seconds,
* don't interfere with hour overflow. This avoids
* messing with unknown time zones but requires your
* RTC not to be off by more than 15 minutes
*/


どうればいいんじゃーーー

648:login:Penguin
08/08/04 11:21:23 6zndNqJ3
landiskのconfigで2.6.25.9をnfs-rootで動かしているんだけど、
BUG: scheduling while atomic: sh/11916/0x10000002
というメッセージがよく出るんだけど
これはlinux-shに報告した方がいいのかな。

linux-shってパッチしか流れてなくて、時々流れる
それ以外のメッセージにはちっともレスがつかない
から躊躇するのだけど。

649:login:Penguin
08/08/04 14:21:14 s3cZBMva
その後ろにどばどば出ているダンプ付きで投げれば話くらいは
聞いてもらえると思う。

もっと新しいのを使えと言われるだけかもしれんが。


650:login:Penguin
08/08/04 15:54:08 6zndNqJ3
>>649
もっと新しいの言われても 2.6.25.9->15でarch/shに対する
パッチって出てないし、2.6.26はまだ.1しかでてないから
x86だって使うのには抵抗ありますよ。

確か2.6.26rc5あたりを試したときは、25.9よりもっと
頻繁にエラー出てたと思う。

なんかみんなパッチは書いてるけどロードテストをまともにしてない
という雰囲気を感じる。

651:login:Penguin
08/08/04 22:21:11 t0GxlSUz
今更だけど

2.4.26を手ビルドしたいだれか書籍とか
なんかおせーてsh3か4でやる予定なの

652:login:Penguin
08/08/05 01:22:38 wN4xAmfK
>>650
主要開発者でlandisk使って開発している人はいないと思う。
# こじませんせいは使ってたかなあ。
ので、landisk固有の問題であれば誰も気がついていない
可能性はあります。

つうことで2.6.27-rc1でCONFIG_PREEMPT=yにしたらどうなるよ?

>>650
URLリンク(www.si-linux.co.jp)
あたりに一通り書いてあると思う。


653:login:Penguin
08/08/05 04:36:13 nwX9luFr
SH4 vanilla 2.6.24/2.6.25でカーネルパラメータip=onで起動したとき
IP-Config: Failed to open eth0
とか言われてNICが見えないんだけど何がいけないんですかね?
ルネサスの評価ボードでNICはRTL8139です。


654:login:Penguin
08/08/05 10:49:46 ndc1pKBx
>>652
>つうことで2.6.27-rc1でCONFIG_PREEMPT=yにしたらどうなるよ?
使ってるクロスコンパイラが3.4.6なので
コンパイルすらできませんよ。
URLリンク(lkml.org)



655:login:Penguin
08/08/05 11:49:10 rYf6YNyL
>>651
CPU次第かもだけど、2.6.19以降の方が簡単な可能性も
まっ、余計なお世話だな

656:login:Penguin
08/08/05 12:55:27 ndc1pKBx
すみません。教えてください。
sh4のgcc-4.1.2ネイティブコンパイラで
#include <math.h>
#include <stdio.h>
int main() {
long double a = 0.1L;
long double b = fabsl(a);
printf("%Lg\n", b);
return 0;
}
このコードをgccでコンパイルするとコンパイルできるのですが、
g++でコンパイルすると、
error: 'fabsl' was not declared in this scope
とコンパイルできません。この場合どうするのが正しいのでしょうか?

657:login:Penguin
08/08/05 13:43:03 U2kvFOrk
fabslをthis scopeの場所で定義してやればいい。
abs自体重要な関数でもないし自分で適当に定義して問題ない。

658:login:Penguin
08/08/05 13:48:42 ndc1pKBx
>>657
ありがとう。調べてみるとlong double系の関数は
fabslに限らずダメみたいですね。
さらに、sh4に限らずhppaとかでもlong double系の関数は
c++ではエラーになるみたいで、configureスクリプト内で
long double系の数学関数が存在するかチェックして、
なければdoubleで自分で定義しなおすのが通例のようでした。

659:login:Penguin
08/08/05 18:00:02 ndc1pKBx
すみません。やっぱり疑問です。

なぜgccではよくてg++ではだめなのでしょうか?
fabsl ではありませんが、例えば polw は
$ objdump -T /usr/lib/libm.so |grep powl
0002e8a0 w DF .text 0000006c GLIBC_2.2 cpowl
0002b040 w DF .text 00000274 GLIBC_2.2 powl
$ objdump -T /usr/lib/libstdc++.so.6 |grep powl
000c4e00 g DF .text 00000028 GLIBCXX_3.4 powl
なのに、やはりg++では
error: 'powl' was not declared in this scope
と言われてしまいます。

660:login:Penguin
08/08/05 18:47:43 v1bU+MY+
>>659
うちのシステムでは問題無く見えてるが。
どうでもいいけどfabslはbuilt-in関数ジャマイカ?

661:login:Penguin
08/08/05 18:55:51 ndc1pKBx
>>660
見えてるというのは、例えば
int main() {
long double a = 0.1L, b=0.2L;
long double c = powl(a,b);
printf("%Lg\n", c);
}
こんなコードを g++ a.c でコンパイルできるということでしょうか?
どんな環境でしょうか?こちらは gcc-4.1.2/glibc-2.6と
gcc-4.3.0/glibc-2.8ともsh4ネイティブ環境で、どちらもだめです。

>どうでもいいけどfabslはbuilt-in関数ジャマイカ?
確かにobjdumpしたら展開されてました。

662:login:Penguin
08/08/05 23:46:57 M5dmdWit
するとデフォルトのnamespaceの問題なのかな。
呼び方をpowl()ではなく::powl()にしてみては。

663:login:Penguin
08/08/05 23:54:25 BTkT9hjP
>>662
上のソースでpowlを::powlに、でしょうか?
やったけど変わりません。
すみません、C++よく分からなくて。

664:login:Penguin
08/08/06 02:48:40 ObK2LsR5
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
  long double a = 0.1L;
  long double b = abs(a);

  cout << b;
  return 0;
}


665:login:Penguin
08/08/06 05:41:13 90ScjHi6
>>664
つまりどういう事?

666:login:Penguin
08/08/06 10:52:09 5rbVEHAI
.hはC言語のヘッダファイルで
C++では.hをつけないんだけどね。

667:login:Penguin
08/08/06 11:20:35 AkO0dpZk
>>666
ここでは、そんなC++の一般知識を確かめているわけではないのだが...

668:login:Penguin
08/08/06 11:32:51 DuvSdRRq
>>662-663の受け答えを見るか切りではそんな一般知識も不足してそうだけどな。

669:login:Penguin
08/08/06 11:39:45 AkO0dpZk
>>688
では>>662はどのようにすればいいの?

670:login:Penguin
08/08/06 11:55:13 DuvSdRRq
>>669
math.hの関数はnamespaceを使ってない。
cmath使うなら::pow()になる。
末尾のlとかはつかん。

671:login:Penguin
08/08/06 12:01:41 AkO0dpZk
>>670
いや、だからC++でpowlを使いたいんだけど、libstdc++には定義があるようだし
どうすればいいのという話です。
libstdc++にあるのは偽者?

672:login:Penguin
08/08/06 12:38:29 MrWK8qGv
gcc の -m* オプションじゃまいか? -mlとか、SH4なら -m4とか。よくシランが。

673:f27e582e9c462b
08/08/06 13:05:51 8eTBydbW
>>1>>2ch:net>>>2ch.net>>>URLリンク(ip.tosp.co.jp)

674:f27e582e9c462b
08/08/06 13:06:58 8eTBydbW
>>1>>2ch:net>>>2ch.net>>>URLリンク(ip.tosp.co.jp)

675:login:Penguin
08/08/06 14:03:51 mCPIcfm+
>>671
なんで long double が必要なの?
そっちの理由が知りたい


676:login:Penguin
08/08/06 14:41:13 AkO0dpZk
>>675
そこにソースがあってコンパイルしたいから、ではダメですかね。例えば
URLリンク(www.debian.org)
これらの取り組みを否定するものではないでしょ?

677:login:Penguin
08/08/06 14:44:45 AkO0dpZk
あとは、すでに回避方法は >>658 で挙げてあるけど、
なぜ CとC++でコンパイルできたり出来なかったりする
のかという疑問に答えを出したい。

678:login:Penguin
08/08/07 00:23:53 YsvtngAO
>>677
多分前提が違う。
最初思い込みで既存の動いていたコードの話なのかと思ったけど、
>>656は一度でもg++で通ったと言ってるわけではない。

URLリンク(members.aon.at)
4.4.1. New headers replacing C-headers

URLリンク(www.linuxforums.org)

679:login:Penguin
08/08/07 01:06:49 XTerfC5k
gcc-3.4で
arch/sh/kernel/entry.Sをビルドすると
asm違うぞボケと怒られる

/*
* NOTE!! This doesn't have to be exact - we just have

* to make sure we have _enough_ of the "sys_ni_syscall"

* entries. Don't panic if you notice that this hasn't
* been shrunk every time we add a new system call.
*/

.rept NR_syscalls-(.-sys_call_table)/4

.long SYMBOL_NAME(sys_ni_syscall)

ここが違うって怒られるってことは、NR_syscallsが無いと思うけど
これってどうすればいいのですかね

680:login:Penguin
08/08/07 02:12:27 AwAlKngr
>>671
テンプレート

681:login:Penguin
08/08/07 13:57:02 g6GIIrvN
>>678
貼られたリンクが何を言いたいのか分からない。
g++でコンパイルすると-lmが自動的につくと言いたい?

>>680
libstdc++内のがテンプレートだとしても、g++でコンパイルすれば
自動的に-lmが付加されて、libm内のpowlが参照されると思うから
コンパイルできるはずなんですが、何か違いますか。

再度書きますが、sh4で long doubleの数学関数を含むソースが
gccでコンパイルできてg++でコンパイルできない。
i386ではgcc,g++どちらもコンパイルできる。

sh4でlong double系の数学関数が未実装だというのなら、
なぜgccだけコンパイルできるのか。

682:login:Penguin
08/08/07 14:24:49 jPayqA+W
>>681
SH3のgccが手近にあったんで>>656をコピペでビルドしてみた。
拡張子.cpp : g++でもgccでもダメ
拡張子.c : g++はダメだがgccなら通った
gcc バージョン 3.2.1。

ダメの内容は、
 test.cpp: function 内の `int main()':
 test.cpp:5: `fabsl' undeclared (first use this function)
 test.cpp:5: (未宣言変数については、それが関数内で最初に現われた時だけ報告されます。)
関係ないと思うけど、ビッグエンディアン。

で、やはりi386では全部通るね。gcc version 2.96。


683:login:Penguin
08/08/07 14:26:39 g6GIIrvN
>>拡張子.cpp : g++でもgccでもダメ
gccはフロントエンドだから拡張子をみるんでしょ。
cppだからg++を読んでる。

684:login:Penguin
08/08/07 14:32:26 jPayqA+W
要するにCじゃなきゃ通んないってことね?SHではなぜか。

685:login:Penguin
08/08/07 16:19:08 AwAlKngr
なんだ、よく読んだら人の話を聞かない頭でっかちさんかw

>>668, 670 を心して読め。
>>664 はコンパイル通ってるのか?

ひょっとして、同じソースコードが CとC++のコンパイラで
コンパイル出来る事を期待しているのか?
会社のプロジェクトだったら悲惨だな。
まぁ、人並みにがんがれ。w

686:login:Penguin
08/08/07 16:24:20 AwAlKngr
でも >>667 を見ると基礎はありそうな事を書いてはいるね。
こんなのが上司だったら即転職だなw

687:login:Penguin
08/08/07 16:24:52 g6GIIrvN
>>685
>ひょっとして、同じソースコードが CとC++のコンパイラで
>コンパイル出来る事を期待しているのか?

そうだよ。示したテストケースは簡略化したものだけど、
実際にはc++で書かれ<math.h>をincludeしてlong doubleの数学関数
を呼び出しているソースをコンパイルしたいのであって、
cmathを使え、long double は使うなというのはここで問題に
している話題ではない。

688:login:Penguin
08/08/07 16:41:58 g6GIIrvN
ちなみに
#include <cmath>
にしても i386 は powlとかの long double数学関数を呼べるし、
sh4ではコンパイルエラーになる。

なぜか?

689:login:Penguin
08/08/07 16:49:25 jPayqA+W
>>688
cmathの中で結局math.h読んでるからじゃない?

690:login:Penguin
08/08/07 16:50:35 jPayqA+W
あ、いや、忘れてくれ。

691:login:Penguin
08/08/07 16:52:28 KvEAlGj2
そもそも-mは何を指定してるんだ?

692:login:Penguin
08/08/07 16:53:40 g6GIIrvN
>long double は使うなというのはここで問題に
すみません。ここは取り消します。理解できました。


693:login:Penguin
08/08/07 16:54:14 g6GIIrvN
>>691
なにも。
何を指定すれば良いの?

694:login:Penguin
08/08/07 16:56:24 KvEAlGj2
>>693
何もってgccのビルド時に指定してないのか?
コンパイルオプション見ろよ。

695:login:Penguin
08/08/07 16:58:14 WjgH/Ftv
>>693
つ ヒント:32と64
manくらい見てから人に聞こうな

696:login:Penguin
08/08/07 17:03:48 g6GIIrvN
>>695
全然わかりません。SH特有のオプションに-m32とか-m64とかないですが。

>>694
sh4ネイティブ環境でコンパイルしたので、sh4ネイティブ用の
デフォルト値です。

697:login:Penguin
08/08/07 17:06:11 jPayqA+W
SH の-mに-mb -ml -m2,3とか以外の指定ってあったっけ?

698:login:Penguin
08/08/07 17:08:16 3ZyKP7zl
>>697
無いと思う

きっと>>695は勘違いしてるはず

699:login:Penguin
08/08/07 17:10:07 3ZyKP7zl
>>696
オプションはデフォルトではなく、環境にあわせて指定した方が良いですよ

700:login:Penguin
08/08/07 17:11:36 g6GIIrvN
私の無知もあったので問題を再整理します。

C++で<math.h>をincludeしてlong double系の数学関数(たとえばpowl)を
呼び出しているソースがあります。これをi386でコンパイルすると
コンパイルできるのですが、sh4でコンパイルするとコンパイルできません。

回避方法として、powlをdoubleのpowで#defineする方法があります。
解決方法として、<cmath>にしてpowのテンプレートを使う方法があります。

疑問点として、なぜsh4でpowlがc++から呼び出せないのでしょうか。

です。

701:login:Penguin
08/08/07 17:19:20 g6GIIrvN
>>699
例えば
URLリンク(sh-linux.org)
ここのパッケージはspecファイルに何も書いていないので、
デフォルト値が採用されているのですが何かまずいですか?

私の場合トイ用途なので、特定のCPUに追い込んだ設定は必要無いのです。

702:login:Penguin
08/08/07 17:50:49 EN5PuvqY
gnu系の知識はないが、
SH4って安物以外はFPU内蔵で、FPU命令かソフトで実現か選ぶ必要があるとか?

703:login:Penguin
08/08/07 19:22:03 AwAlKngr
math関数は target依存じゃなかったかな?(多分...)
この場合(テンプレート未使用時)、C++ から C関数を使う事になるのか?
とすると extern "C" か...

704:login:Penguin
08/08/07 19:28:55 g6GIIrvN
>>703
後出しと言われるかもしれませんが、extern "C" {} で囲むのは
最初にやってだめでした。

705:login:Penguin
08/08/07 20:02:21 g6GIIrvN
一方sh4のCからのpowlの呼び出しの方も、
warning: incompatible implicit declaration of built-in function ‘powl’
と警告がでます。でもlibmにはpowlの定義があるのでリンクできてしまいます。
確かに、math.h(から読み込まれるbits/mathcalls.h)にはpowlの
定義はありません。

もしかして意図していない関数をリンクしているという事なのでしょうか。

706:login:Penguin
08/08/07 20:12:32 g6GIIrvN
>>705
i386も同様にpowlは見つかりませんね。
build-inといってるからgccの中なのかな。

./gcc/builtins.def
これか。でもtarget依存のようには見えないけど。

707:login:Penguin
08/08/07 22:04:56 AwAlKngr
環境が違うみたいだから、さいなら...
うちは gcc-3.4.5 の x86_64-pc-linux-gnu クロス環境。
glibc-2.3.5。
>>703 でコンパイル & リンク確認。

708:login:Penguin
08/08/07 22:14:35 KvEAlGj2
>>698
>>702も言ってるがm4とm4-nofpuの指定があるとおもったけど、なくなったの?

709:login:Penguin
08/08/07 22:34:16 AwAlKngr
>>708
あるよ。
ほかにも色々。

710:login:Penguin
08/08/07 22:45:20 g6GIIrvN
>>708
あるけど、-m4でしかコンパイルしていない。
cc1plus: error: command line option ‘-m4-nofpu’ is not supported by this configuration

こうなる。

711:login:Penguin
08/08/07 23:37:33 XTerfC5k
--target-help見てないなら無い
それだけだあるのにビルドできんのは
何か不足してるんでしょ

712:login:Penguin
08/08/08 00:57:27 MljPKlSM
RTL8139DってWAL
対応してないですよね?

713:login:Penguin
08/08/08 05:47:12 GQVMFxS/
>>705
その警告が出るということは、見に行くヘッダが間違ってないか?
ホスト環境の方見てるとか。


714:login:Penguin
08/08/08 22:43:11 o2c8kFjg
>>705
その警告の通り、ヘッダには定義がないが、ライブラリ自体には実装しているということです。
C++でもプロトタイプ宣言をすればちゃんとコンパイルが通ります。
i386で正常にコンパイルが通るのは、ちゃんとヘッダ(mathinline.h)に定義があるからです。
このファイルは機種依存のファイルで、glibcのソースでは、sysdeps/(アーキテクチャ)/fpu/bits/以下にあります。
おそらく、このファイルがないアーキテクチャではSHのような症状になるのではないでしょうか。


715:login:Penguin
08/08/09 00:04:29 tDLp/wdz
これって意味ある?
納品物のソースの差分取るとこんなの
満載で250万請求されたw

#ifdef CONFIG_SH_STANDARD_BIOS
-static int strlen(const char *s)
+//static int strlen(const char *s)
+static int tmp_strlen(const char *s)
{
int i = 0;

@@ -145,7 +147,9 @@

void puts(const char *s)
{
- sh_bios_console_write(s, strlen(s));
+// sh_bios_console_write(s, strlen(s));
+ sh_bios_console_write(s, tmp_strlen(s));
}
#else
void puts(const char *s)

716:login:Penguin
08/08/09 00:26:09 IYvljXAp
>>215
作業量で値段はかるのイクナイ!(><)

250万以上の利益を得られる見込みで委託してたのなら、動いた以上は
四の五言わず払ってやれ。もしヘボ作業だとしても、そんなのしか
見つけられない自分を反省して、次からはそこは声かけないようにすればおけ。

それはともかく、そのコードの妥当性は開発規模次第。
かなり大きな開発でなら、試行錯誤する準備の過程で手を付けてはみたが
%

717:login:Penguin
08/08/09 00:27:05 IYvljXAp
最近2ちゃんは記事切れまくるな。

(続き)
それはともかく、そのコードの妥当性は開発規模次第。
かなり大きな開発でなら、試行錯誤する準備の過程で手を付けてはみたが
結局関数名を変えて場所を作っただけに終わったとかよくあること。

自社製品とか、自分が永続的に関わる製品なら隅々まできれいにするけど、
一回きりの外注委託でそこまで気合の入った整理整頓なんか誰もしないよ。


718:login:Penguin
08/08/09 00:34:42 tDLp/wdz
>>716
Bランク75.4万/1人月でこのコードレベルですよ
それになんだか意味のないコード大量につまってるし
金額とこの質だとかなりむかつきませんか?

719:login:Penguin
08/08/09 00:38:10 644OQC1c
やくざな世界だ

720:login:Penguin
08/08/09 01:09:14 q9GjTE39
>>718
問い詰めりゃいいじゃん。
つーか納品時にレビューぐらい普通やらないか?


721:login:Penguin
08/08/09 01:10:49 IYvljXAp
月75万なんて底辺だろ。
中国・インドのクラスに近い。あっちはIT系仕事だと30万とかもあるが、
組み込みでその値段はちょっといかがなものかと。組み込みスレだから
ITじゃなくて組み込み系の仕事だという前提でだけど。

つか、発注内容はなんだったの?

722:login:Penguin
08/08/09 01:15:56 IYvljXAp
>>720
底辺をなめるなっ・・・!

奴らは変数にj1,jj1,jj2,jj3,jj4tmpとか平気で書くんだぞ。
何千行ある関数だってものともしない。計算法違いの指摘で
「例えば4の時は13になる」というとif(n==4)return 13;と
冒頭に書いてOKにする。

更に最悪なのは、指摘しても「?」という顔で全然判ってないこと。
こっちがストレスで先に死ぬわ。


723:login:Penguin
08/08/09 01:50:03 oDTW9Xf8
>>722

割り算やって商と譲与を求める場合は、p, q で無問題
時間に関する変数は t? で ok
任意の個数を表す場合は n? で全然 ok
ループ変数は i? でかまわない
長さを表す場合は l?, s? でいいし
固有の係数を表す場合は k? でok

何か問題があるのか?


724:login:Penguin
08/08/09 02:06:14 7rWDtXOs
fortranかよw

725:login:Penguin
08/08/09 02:10:18 T3JR40W3
>>723
すごいね。
一緒に仕事したくないタイプだなw
絶対に...死んでも...w

726:login:Penguin
08/08/09 08:40:47 e8hz21eJ
スコープによるだろ

727:login:Penguin
08/08/09 09:07:37 oDTW9Xf8
>>725
数値演算やってる関数で長い変数名つけてるの見るとムカつく
長い名前つけるくらいだったらコメントに解いてる数式書いておけ


728:login:Penguin
08/08/09 09:30:10 CoNuCxIk
確かに一緒に仕事したくないってことで

729:login:Penguin
08/08/09 10:23:55 7rWDtXOs
>>727

iCounter++ とかw、あるある。なんで素直に i++と書けんのかと。

730:login:Penguin
08/08/09 10:53:04 /CZ0V8cN
組み込み系のアウトソーシングスレになってきたな。

受け入れ側チームで評価、テストを厳密にしないと
カネだけ取られちゃうだろうね。


731:login:Penguin
08/08/09 11:26:54 IYvljXAp
>>723
書き方が悪かった、すまん。
計算法、といってもそういう数値計算なら俺もそういう数学的記法にするが、
普通のアプリ的な処理方法でそういう記法をしてくるってこと。正直市ねって感じ。

あ、短寿命なループ変数とかに短いのを付けるのはべつにいいよ。
でもそういう変数じゃないのにjj4tmpが冒頭から千行下まで有効とかあるんですよホント。


732:723
08/08/09 16:50:25 oDTW9Xf8
>>731
さすがにそれは、ご愁傷さま、としか言いようがないなw

関数 8000 行 switch 文一発な、悲惨なソースのメンテをしたことがある
さらにまずいのが、VxWorks 使ったまっとうなハードリアルタイムシステム
フラットに展開すりゃ速いってもんじゃねぇでしょwwW


733:login:Penguin
08/08/09 17:22:27 tDLp/wdz
-U__sh3__ -D__SH4__=1
これって何のオプションですか?
うーんなんの効果あるんだろう

734:723
08/08/09 17:32:51 oDTW9Xf8
>>733 そんなもん, コンパイル対象のソース読め


735:login:Penguin
08/08/09 18:14:13 jQO6ZRpp
だんだんスレチな話になってきたが
そろそろIDEでも 変数のスコープを視覚化してくれてもよさげな気がするが
どうだろう
カッコ ( にカーソル合わせると対応する ) が光るように
カーソルが変数にあるときにその変数が生きている領域が
背景ピンクになったりするモードとか

736:login:Penguin
08/08/09 21:17:11 aRNnaBVp
>>735
eclipseはやってくれるでしょ。

737:login:Penguin
08/08/11 07:28:20 FkXYROEy
URLリンク(ms-n.org)

これコンパイルできる方法教えてw

738:login:Penguin
08/08/11 20:45:59 WiCmDl4U
>>714
>C++でもプロトタイプ宣言をすればちゃんとコンパイルが通ります。
通りません。
extern long double powl(long double, long double);
ではだめなのでしょうか?

Cの方は警告がでなくなりますが。

739:login:Penguin
08/08/12 00:51:12 cGgYRhoE
>>738
いい加減 「自分の環境がおかしいのか?」 とか探りを入れ始めろw
具体的にはだな...ぐぐれ!

740:login:Penguin
08/08/12 00:53:46 quAwsbyS
>>739
再現できる環境があります。
URLリンク(sh-linux.org)
ここからたどれるFedora7用のバイナリをインストールしてください。

コンパイルできるという環境の再現手順を教えてください。


741:login:Penguin
08/08/12 01:05:03 fIsUhGXw
>>740
どんだけ上から目線なんだ貴様はよw?
お前消えろなんでもいいから消えろ
そして2度この板くるな

742:login:Penguin
08/08/12 01:10:34 cFnTFx+t
もういい加減「SH4 環境だと g++ でコンパイル通りません」ネタはやめてくれ。
自分で何とかしてください。誰も答えられない(答えたくない)みたいだし。


743:login:Penguin
08/08/12 01:25:50 fIsUhGXw
>>740
今日からお前のsh4環境のみc++利用不可能になったから聞くな

744:login:Penguin
08/08/12 10:18:33 quAwsbyS
まぁ。俺はべつに動かなくても困らないが、
お前らは飯のタネなんじゃないの?

ターゲットごとに我流の開発環境を作って、たまたま
自分のところが動いているという状況が今の
SHの組み込み開発環境だろ。バッドノウハウ入りまくりで
誰も検証してない、できない。

つい2年程前までカーネルすら独自のツリーを維持してて
最近ようやくlinusのツリーに追従できるようになったけど、
その下のGNU ToolsやSDKは囲い込んだ開発者の中でのみ
流通しているパッチやノウハウが幅をきかせている状態。
誰でも検証できる標準開発環境がない。

いずれ、このままではルネサスのSDK以外に選択肢のない世界になるよ。
でぼったくられると。

745:login:Penguin
08/08/12 10:20:31 YIDfUhGW
動かなくても困らないならスレを占拠しないでくれ。
動かないなら動かす方法を見つけて報告してくれ。

746:login:Penguin
08/08/12 10:27:46 ildnFlbr
我流(笑)

747:login:Penguin
08/08/12 10:51:33 cFnTFx+t
>> 744
誰も答えてくれないからって説教ですか。
自分で何とかするか、他所でやってください。
ここに書いても解決しませんよ?


748:login:Penguin
08/08/12 11:13:05 gTn+Nr6V
>>738
extern "C" long double powl(long double, long double);
では?


749:login:Penguin
08/08/12 12:17:33 rE3dKthG
あのー、お取込中失礼しやす。
やじゅうま根性丸出しで
linux-sh-2.4をコンパイルしようとしたら、
しょぱなから、「コラッ sh-linux-gccが無いぞー」って叱られたんですが、
sh-linux-gccかsh4-linux-gcc のsourceどこかにコロガッテないでしょうか?

750:login:Penguin
08/08/12 12:52:18 quAwsbyS
>>748
ありがとうございます。動きました。

次は、これがバグなのか単に未実装なだけなのか。
問題があるとすればgccの問題なのか、glibcの問題かなのですが、

sh4には確かにglibc/sysdeps/i386/fpu/bits/mathinline.h
に相当するものがなく空なのですが、一方i386の方もmathinline.h
には今回話題にしているpowlなど一部のlong double数学関数はありません。
にもかかわらずi386ではエラーや警告が出ずにコンパイル
できますが、sh4ではプロトタイプ宣言しないとエラーや
警告がでます。またsh4でも、powなどdouble系の数学関数では
問題ありません。

これはどう解釈すればよいのか...って興味ないですね。もうやめます。


751:login:Penguin
08/08/12 12:55:05 quAwsbyS
>>749
URLリンク(sh-linux.org)
ここからたどれる
URLリンク(rpm.sh-linux.org)
とかどうですか?

752:login:Penguin
08/08/12 13:16:16 12QIDdDM
>>737
sh-linux-gccがある環境ならmakeできるはずだけど、うちの環境だとentry.Sの
.rept NR_syscalls-(.-sys_call_table)/4
という部分がひっかかってビルドに失敗しますね。
celinux-040503では
.rept NR_syscalls-221
になってるのだけど、そんな感じに修正したら一応ビルドできました。

ちなみに
URLリンク(www.superh-linux.org)
にあるtoolchain_345.tar.bz2を使ってます。

>>749
GCC3.4.5でよければ
URLリンク(www.superh-linux.org)
にSRPMがありますよ。

ところで他の方はSH4でGCC4系のビルドってどうしてるんですか?


753:login:Penguin
08/08/12 13:25:30 12QIDdDM
>>733
FPUなしのSH-4という意味で-m4-nofpuを指定すると、__SH4__がundefされて__sh3__が定義される
という仕様になっているみたいなんだけど、そうするとifdef __SH4__みたいな部分が通らなくなるので
その対策だと思います。


754:login:Penguin
08/08/12 13:31:35 3VsPTRH/
>>750
「sh4 自体が long な double に対応しているかどうか」
を、確かめようと思わのか?
基本的に、float 系は cpu がサポートしてなきゃ、ソフト
エミュレーションになるってのは知ってる?
ソフトエミュレーションは、死ぬほどトロくなるって知ってるか?


755:login:Penguin
08/08/12 13:33:43 quAwsbyS
>>754
CPUと命令としてですよね。もちろん対応していないのは
分かっています。なぜ自動的にソフトエミュレーションが
選択されないのか、ということを問題にしてます。

756:login:Penguin
08/08/12 13:35:09 quAwsbyS
>>752
>ところで他の方はSH4でGCC4系のビルドってどうしてるんですか?
ネイティブ環境なら
URLリンク(www.si-linux.co.jp)

URLリンク(sh-linux.org)
が、誰でも検証できる環境ではないでしょうか?

757:login:Penguin
08/08/12 13:35:44 /I3o02N0
>>755
自動的にやられたらすごくトロくなるから。
だから、そういうのは明示的に対応する。

758:login:Penguin
08/08/12 13:38:44 quAwsbyS
>>757
自動的にソフトエミュになるほとんどのdoubleの数学関数については?

759:login:Penguin
08/08/12 13:41:06 r+kS6i0D
>>750
glibcの問題のような気がするが。
SHでlong double使う人がいないので発覚しなかっただけじゃないか。

ついでにi386のpowlはmathcalls.hに定義があったような気がする。


760:login:Penguin
08/08/12 13:46:42 3VsPTRH/
つか、なんで long double が必要なのか、そっちの理由が聞きたいwW


761:login:Penguin
08/08/12 13:54:04 ildnFlbr
そもそも -m4 な gcc では double = long double でどちらも一緒じゃないっけ?

762:login:Penguin
08/08/12 14:11:11 quAwsbyS
>>761
そうです。どちらもsizeof()は8です。

long doubleではわざと呼び出せないようにしてあると考えると納得が
いきますね。libmのpowもpowlも64bitの引数をとるように
しかできていなくて、もし将来128bitのlong doubleが導入されたときに
ABI非互換になってしまう。

もっともlibmのほうはpowl@GLIBC3.0とかでなんとかできますが。

763:login:Penguin
08/08/12 14:21:06 quAwsbyS
>>760
>>676で書いていますが、より具体的にかくと、

g++のソースで<math.h>をincludeして数学関数を呼び出している
ソフトは世の中にごまんとある。それ自体は問題ないけれど、
sh4ではlong doubleの数学関数を呼び出すとコンパイルエラーになる。
ではパッチを書いて作者に送ろうかというときに、何と説明すればよいか。

彼らの環境(ほとんどはi386)では問題なくコンパイルできる。
sh4特有のツールチェインの問題ならそちらを直せと言われるのがオチ。
sh4がlong doubleをサポートしてないので直しようがないというのなら、
long doubleをサポートしていない環境があり、その環境でもコンパイル
できるようにするためのパッチであることを説明すれば採用される可能性が高い。

ということです。long doubleをサポートしていない環境というのが、
どういう状況をさすのかも説明できないと、それをチェックするための
configure.acを書けません。

764:login:Penguin
08/08/12 14:21:39 QgzDDaHN
>>762
浮動小数点に限ってはsizeofで返る値がが同じだからって
内部表現が同じなわけじゃないぞ。

765:login:Penguin
08/08/12 14:37:32 quAwsbyS
>>764
例えば、freebsd-users-jpで少し前に話題になった
FreeBSD/i386でのlong doubleの丸めの問題でしょうか?

手元で簡単に試した限りではどちらもバイト列は
同じようです。


766:login:Penguin
08/08/12 15:17:59 QgzDDaHN
残念ながら理解できていないようだ。

767:login:Penguin
08/08/12 15:22:53 quAwsbyS
>>766
では理解できるように説明をお願いします。
違う例を示していただくだけでも構いません。

768:login:Penguin
08/08/12 22:02:27 12QIDdDM
>>764
ふつーIEEE754だからbit数が同じなら内部表現も同じだと思ってたんだけど違うのか…
それともnativeが非IEEE754の場合の可能性の話かな?


769:login:Penguin
08/08/12 22:53:33 cGgYRhoE
完璧に 「知ったか」 and 「人の話聞きたくない」 って事だな。
>>703-704 はどんなコードを書いたんだ?
もう出てくんな! ぼけ!

770:login:Penguin
08/08/12 23:29:27 quAwsbyS
>>769
ではあなたの見解を具体的にどうぞ。あなたの話を聞きますから。

771:login:Penguin
08/08/13 00:01:22 OLXEqpOH
聞いていることが違いましたね。
どんなコードを書いたかですが、最初はpowlの呼び出し部分をくくりだして
extern "C" {}でCのスコープにしました。
その後の指摘で、C++のスコープのままextern宣言だけをCのスコープに
してコンパイルが通りました。しかしこの方法は正しくないのでは
というのが、その後の議論です。



772:login:Penguin
08/08/13 00:44:46 2bMBgc9o
もうやめろ...
無駄にスレを消費するな。
おまえんちのチラシの裏にでも書いとけ、なっ?
ここはおまえだけのスキルアップの場ではない。

773:login:Penguin
08/08/13 00:56:18 O0b4ci2a
そらまあコーダーが仕事の憂さを素人を叩いて晴らす場所に
連投されちゃかなわんな。

774:login:Penguin
08/08/13 01:06:16 ANRbGy9O
というかGCCスレに行った方がいいんでないの?

GCCについて part8
スレリンク(tech板)


775:login:Penguin
08/08/13 01:40:50 MtXRM1Es
rpm-fc6/RPMS/sh4

とかありますけど、自分でカーネルのビルドとかの
方法がいまいちわかりませn
どの辺に載ってるのですか?

776:login:Penguin
08/08/16 02:20:14 IhGJwozp
URLリンク(ms-n.org)

これってどうやってbootするのですかね?

777:login:Penguin
08/08/16 15:17:06 IhGJwozp
Fatal: First boot sector is version 20.0. Expecting version 21.4.
ってで困ってます。
20.0用のlilo.x86持っている方いただけませんかねお願いします


778:login:Penguin
08/08/16 21:12:59 teEHGgQB
>>776
URLリンク(www.sh-linux.org)
p.28を見れ

779:login:Penguin
08/08/17 00:42:43 3jPdgluq
>>778
見てみたのですが、liloを打ち込む想定環境が
flush romに入ってるbusyboxのようです
当方の環境ではflushにiplのみ入ってる状態ですの
この場合のliloてどうすればいいんでしょうかね?

780:login:Penguin
08/08/17 00:53:51 S5vVejH8
>>779
boot.bをCFから拾ってホスト側で書く。
たしか20あたりのliloじゃないとダメだったような気がするが。


781:login:Penguin
08/08/17 00:59:36 3jPdgluq
>>780
えーとboot.bをCFから拾ってくるって言うのは
lilo.confにinstall=を書けってことであってますか?

lilo難しい


782:login:Penguin
08/08/17 12:50:33 S5vVejH8
CFにSHのboot.bが入っているはずなので、
それを使うようにinstallに書いとけばいいはず。

sh-liloなんてずっと使ってないからよう覚えてないわ。


783:login:Penguin
08/08/17 19:24:34 3jPdgluq
>>782
なるほどなるほど
でもですねそうすると
start kernel parameter setting
Jumping kernel image
お亡くなり

って感じです何がいけないんでしょうかね

784:login:Penguin
08/08/17 22:03:20 3jPdgluq
mapとboot.bの関係が解らないです。
元のlinuxがkernel 2.4.2で今試そうとしているのが
kernel 2.6.23です。

boot.bとmapはどれ使えばいいのですかね?

785:login:Penguin
08/08/18 00:50:33 JDcnqxSD
>>784
少しは自分で調べるなり、考えるなりしなよ。
つまずく度に質問してるじゃん。
向いてないんじゃないの?


786:login:Penguin
08/08/24 23:32:23 Rm9g9NOE
2.6系だとカーネルのチューニングってどうしてます?
参考になる情報って何があるのでしょうか
勘と経験しかない?

787:login:Penguin
08/08/28 05:49:54 uAqu/EdZ

Debian/Ubuntu 系でお聞きします。

Essential な Package だけ、っつーか、
とにかく、apt-get ができるだけの超最低環境が作りたいのです。
極端な話、それでどうやって操作するのかは疑問ですし、
このあたりがないとそもそも apt-get が動かないような気がしますが、
login/getty/bash あたりの必須コンボすら、別になくてもOK。

とにかく、どんなに意味不明な内容でもいいので、
・apt-get が動く。
・小さい。小さい。小さい。
こんなのが作りたい。

作り方( or もう既にどこかにあるよ)、教えてください。



788:age
08/08/28 07:31:15 uAqu/EdZ
age

789:login:Penguin
08/08/28 08:32:03 PTegQfA9
>>787
base.tgzばらして試行錯誤。


790:login:Penguin
08/08/28 09:28:19 s762wzrS
debootstrapかな。
まだ削れるのもいくつか入るけど、
依存関係で最低限というわけにはいかない。
dpkgだけなら、busyboxにもあるけど。

791:787
08/08/28 17:26:14 uAqu/EdZ

うーん、debootstrap っすか。
これでつくると、数十メガバイトなんだよな、、、。

今思いついたんだけど、
たとえば、自力でapt-get できる必要性はないんだよな。
たとえば、開発用Debianが C:で、組み込み用が D: だとする。
ようは、C: の apt-get/wget をつかって、D: に
必要なアプリが入ればいいんだよ。

とにかく、せいぜ10MBぐらいのDebianって作れないですかね。

ちなみに、base.tgz ってなんですか?
ググったら、某U川氏の pbuilder が引っかかりましたけど、これ?






792:login:Penguin
08/08/28 21:05:36 Q8MYgHTM
>>791
最小のカーネルを作る
最小のユーザランドを作る

以上

793:login:Penguin
08/08/28 22:18:54 GEl2a1Ny
usl-5p iohack版でtcpdump動く人いませんか?
/dev/bpf0が無いととんでもないこと言われます。

iproute_each.debもあればください

794:login:Penguin
08/08/28 22:48:20 TDYWiYwS
>>791
べつにDebianがほしいわけじゃないんだよね?
↑にもbusyboxって書いてるけど
URLリンク(buildroot.uclibc.org)
これをとっかかりにするのがいいかと。

795:787
08/08/29 05:36:49 1zKWN2K0
>>794

ええっと、それだと Binary のPackageがつかえませんよね?
Gentooみたいに、全部ソースからコンパイルするってことになる。

そうじゃなくって、
私がやりたいのは、
出来合いのBinary Packageで、
たとえば、Apache「だけが」動く Flash ROMのイメージとか、
Sendmail「だけが」動く、、とか、
それに加えて、Python も動く、、、とか、、、
そんなのが、自分の指定どおりに
自由に作れるようなやつがほしいんですよ。

あと、いま開発用のメインがDebianなんで、Debian/Ubuntu系だと
うれしい。



796:login:Penguin
08/08/29 09:14:06 wBqLAWzK
apt動くまでの環境作ればいいじゃん
10M収まるか知らないけど

797:login:Penguin
08/08/29 09:45:42 2UecGabJ
>>791
それはDebianではないね。

Debianでなくていいなら、
debootstrapした後に不要なものを自分で削ればいいじゃないか。
動かしたいものの詳細な知識なしにコンパクトカスタマイズは無理だけどな。


798:login:Penguin
08/08/29 09:47:12 2UecGabJ
>>793
自分でつくればぁ。


799:login:Penguin
08/08/29 09:56:17 XB7+MkSJ
>>795
Debian既成のパッケージだけで10Mは無理。 カーネルだけで30M以上ある。 
Pythonだけだって10M近い。 とりあえず、自分のシステム上で
dpkg -s パッケージ名 | grep Installed-Sizeでそれぞれがどれだけの大きさを
占めているのか把握したほうがいい。

800:login:Penguin
08/08/29 10:35:10 wBqLAWzK
initrdに詰め込むとか

801:login:Penguin
08/08/29 22:15:12 MNt4MuE2
sh4-unknown-linuxだと
configure がbuild system辺だ直せって
怒られます。どこなおせばいいぉ?

802:login:Penguin
08/08/29 23:05:24 vqkqgiP+
>>801
>どこなおせばいいぉ?
エスパーにしか分からない質問をするおまえの頭

803:login:Penguin
08/08/30 08:44:48 2VCoYTof
>>787
フラッシュメモリベースシステムをDebianで組もうと
まったく同じ試みをしたけど、

 努力するより1GBのCF買った方が早い

と気づいた俺。

ちゃんとDebian的機構を残そうとすると100MB程度は絶対に超えてくる。
で、そこをbusyboxとか使ってクリアしようとしても、アプリパッケージを
入れる段階で依存パッケージがぞろぞろ付いてきて破綻する。

結局頑張っていくとipkgな方向にならざるを得ないんだよな。
あれってuclibcなグレードダウン版debianに他ならないわけで。

804:login:Penguin
08/08/30 10:21:26 ty/51JYD
>>787
FedoraCoreでCFにそんな感じのシステムを作ってみた。16MBでおさまるね。
いちおうshがうごいてネットも出来るから、あとは好きなアプリを入れれば
何でもできそうだ。

805:787
08/09/01 12:38:26 JrV6mK+Y
>>804

kwsk, please!.


806:804
08/09/01 13:02:37 5PGfEcQW
>>805
詳しく説明するのも恥ずかしいぐらいの内容なんだけど、loginもgettyもいらないと書いてあったので、
単にinitの代わりに/bin/shを呼んだだけなんだ。さらに上の方でも紹介されてたけど、/bin/nashの機能
で済むならinitrdを改造してしまう方法もある。どの道Bootデバイスによってはinitrdの再構成は必要だからね。

ローダがgrubならmeni.lstのkernel行でinit=/bin/shと書いておく。カーネル起動後にinitの代わりに/bin/sh
が呼び出されたとき、dllの解決が出来るよう /libに必要なsoを置いておく。そうするとカーネルがロード
された直後にshのプロンプトが表示されるよ。その状態でinit=/bin/shの代わりになにかshのスクリプトを
起動すれば、何でも起動できる。その方法で前に試したとき、xtermが起動するのに必要だったCF容量は
40MBぐらいだったと思う。

こんなんで、どうだす?

807:login:Penguin
08/10/11 13:40:47 UQ3K470t
crosstoolを使ってSH4の環境を作ろうとしています。
demo-sh4.shにあるgcc-4.1.0では問題なくツールチェインが
ビルドできるのですがgcc-4.3.2やgcc-4_3-branch
ではエラーが出てコンパイルが止まってしまいます。

gcc-4.3系のクロス環境が欲しいのですが、
クロス環境って新しい環境ではあまりテストされていない
のでしょうか?


808:login:Penguin
08/10/12 18:36:37 hUtrnl8K
crosstool-NGではどうですか?


809:login:Penguin
08/10/13 00:49:05 VaL2RIfB
>>807
gmpとmpfrは入れてる?

810:login:Penguin
08/10/14 00:26:10 JJ9HyrmT
>>808,809 情報ありがとうございます。

>>808
./sysdeps/unix/sysv/linux/sh/sys/user.h:24:22: error: asm/user.h: No such file or directory
で止まってしまいます。どのような設定で成功されているのでしょうか。
.configを教えていただけないでしょうか。

>>809
hostのほうですよね。gmp-4.2.2とmpfr-2.3.0が入っています。crosstool-0.43では
cc1: error: unrecognized option `-Wold-style-definition'
で止まってしまいます。どのような設定で成功されているのでしょうか。


811:login:Penguin
08/10/14 01:58:56 JJ9HyrmT
>error: asm/user.h: No such file or directory
の方は、kernelが2.6.25から make headers_installで
asm/user.h をインストールしなくなったからのようで、
glibcの方を修正する必要がありそうです。

とりあえず2.6.24にしたところ、今度は
[ALL ] make[1]: ディレクトリ `/home/hage/tmp/cross/gcc/crosstool-ng-1.2.4/targets/sh4-unknown-linux-gnu/build/build-cc-core-shared/gcc' に入ります
[ALL ] make[1]: *** ターゲット `libgcc.mk' を make するルールがありません. 中止.
[ALL ] make[1]: ディレクトリ `/home/hage/tmp/cross/gcc/crosstool-ng-1.2.4/targets/sh4-unknown-linux-gnu/build/build-cc-core-shared/gcc' から出ます
[ERROR] Build failed in step 'Installing shared core C compiler'
で止まってしまいます。

812:login:Penguin
08/10/14 12:07:33 9yMCg6/j
>>810
croostoolでgcc-4.3.2だと失敗したから、自分は別の方法を試したよ。

813:login:Penguin
08/10/15 20:23:29 sA/RGAQm
gcc-4.3.2にいく前にgcc4.1.0+glibc-2.3.6をbuild+installするといいみたいだよ。

814:login:Penguin
08/10/17 20:53:45 gCPDrz2q
>>813
それは例えば gcc-4.1.0とglibc-2.3.6を /usr/sh-linuxなどにインストールした場合、
gcc-4.3.2のconfigureで --includedir=/usr/sh-linux/include をつければよい
ということでしょうか?

*** ターゲット `../.././gcc/libgcc.mvars' を make するルールがありません. 中止.
ということになってしまうのですが、先にインストールしたgccとglibcをどのように
活用すればよいのでしょうか。



815:login:Penguin
08/10/17 22:36:07 du1hENzw
crosstoolのスクリプト書き換えて、最後にgcc-4.3.2をbuildするようにしてみただけ。

816:login:Penguin
08/10/21 17:40:00 ZuNWStjb
このパッチがglibc作るときの肝みたい。
URLリンク(www.kegel.com)

817:login:Penguin
08/10/21 23:28:54 ZuNWStjb
crosstool-NGだとstep.mkのlibc_headersをgccのbuildの前に持っていくと少しよくなるみたい。

818:login:Penguin
08/10/23 00:12:50 7xU7iXWK
なぞなぞみたいなレスばかりで大変でしたが、なんとかsvn版の
crosstool-ngに4つ程パッチを当ててcross版shのgcc-4.3.2が
ビルドできました。ありがとうございました。

819:login:Penguin
08/10/28 14:47:59 jMsnT7YX
>>818
おい兄弟。ビルド祝いに『自分で作るLinuxOS最新版』をおまいにプレゼントだ。

【第3部】 ディジタル機器向けの自分Linux
  < 第1章 > 組み込みに挑戦
   《 Part1 》 なぜ組み込まれるのか
   《 Part2 》 組み込み機器開発手法とクロス開発
   《 Part3 》 SH-4向けにクロス・コンパイル
   《 Part4 》 PowerPC向けにクロス・コンパイル
   《 Part5 》 PS3用にクロス・コンパイル
URLリンク(ec.nikkeibp.co.jp)

820:login:Penguin
08/10/29 08:57:27 RcVJMXNd
>>819
なんかコンパイル方法とかインストール方法ばかりで内容薄そう。
ポーティングとデバッグについて語る本はないのか?

821:login:Penguin
08/10/29 23:23:20 NIQ76E60
第3部は古さが目についたけど…

822:login:Penguin
08/10/30 00:14:13 RkR37X0O
SH4で__fpscr_valuesの置き場所は、libcとld.soでどちらに置くべきか
という論争は結局libcで落ち着いたのでしょうか?

debianは URLリンク(patch-tracking.debian.net) で見るとglibcに持ってる
crosstool-ngもglibcにパッチ当ててる
uClibcも自分で持ってる

某所のetchバイナリでは確かld.so側だった気が...

823:login:Penguin
08/10/30 00:22:27 OyfjnZjS
>>822
echo "no-z-defs=yes" > configparms

824:login:Penguin
08/10/30 00:28:32 RkR37X0O
>>823
それ、呪文のようにいつも書かれていてよく分かってないのですが、
どっちでもOKなように未定義を許可する、という意味なのでしょうか?

825:login:Penguin
08/10/30 00:41:39 OyfjnZjS
>>824
URLリンク(www.ebimemo.net)

crosstool-0.43/sh4.dat
を見てみな。

826:login:Penguin
08/10/30 00:46:44 RkR37X0O
>>825
うん。だから、それはglibcにパッチを当てずにglibcをコンパイルする
方法だよね。>>822で言いたいのは、えびめも以外はもう
libcにパッチを当てる方向で趨勢が決まってしまったの?
ということです。

827:login:Penguin
08/10/30 00:50:43 OyfjnZjS
>>826
知らんがな。

828:login:Penguin
08/10/30 00:57:36 RkR37X0O
心配しているのは、debianがshをwww.debian-ports.orgで
サポートしはじめたとき、その時当てられるパッチが
非公式バイナリと互換がなくなって、日本はld.so、世界はlibc
というガラパゴス状態になってしまうことです。

組み込み機器にカスタマイズする場合は普通glibcなんて使わないから、
あんまり関係ないのでしょうけれども。

829:login:Penguin
08/10/30 01:06:05 OyfjnZjS
ようわからんけど、__fpscr_valuesが二つ存在する方がおかしいような気がする。

830:login:Penguin
08/10/31 21:44:37 P1G82Cht
sh4a(SH7780)を積んだボードのシリアルコンソールで質問があります。

ボードベンダーの配っているカーネルが古くてバギーなので、2.6.27を
ベースにして改造しています。
ベンダーソースを参考にboard/mach-xxx/の下でボード固有のIDEとか
NICのリソースをsetup.cに書き、PCIの初期化部分をdriver/pci/の下で、
ops-xxx.c とfixups-xxx.cを他の7780系のを参考にして書きました。
しかし、ブート時にシリアルコンソールで、カーネルを読み込んだのち
うんともすんとも言いません。
ベンダーソースをみると、そのボードはシリアルに内部クロックを使っている
とのことなので、7780のデフォでは外部になってたのを変更しました。
すると文字は出てきたのですが文字化けしています。

とりあえず文字化けしないようにするには、さらに見るべきところはどのあたりでしょうか?
ブートはネットブートでシリアルコンソールのパラメータはdhcpd.confで渡しています。

831:login:Penguin
08/10/31 22:13:14 aQEXmB1K
ボーレートジェネレータにどんな値がセットされているか?

832:login:Penguin
08/10/31 23:19:20 P1G82Cht
キター!
sh-sci.h の最後で7780では
define SCBRR_VALUE(bps, clk) ((clk+16*bps)/(16*bps)-1)
なのを
define SCBRR_VALUE(bps, clk) ((clk+16*bps)/(32*bps)-1)
こうしたらうまくいきました。ありがとうございました。

ところで、7780で内部クロックの場合は必ず32でいいのでしょうか。
それともボード依存?
URLリンク(article.gmane.org)
このパッチはボード毎に内部か外部かを設定できるようですが、
SCBBRもボード依存なら追加パラメータが必要な気がします。



833:login:Penguin
08/10/31 23:29:08 aQEXmB1K
>>832
ボード毎というより、SHの種類。
ボードに乗ってるSHの型番のハードウェアマニュアルで確認した方がいいよ。
たぶん、SCIとかは互換性があるようになってるとは思うけど...

834:login:Penguin
08/11/01 00:07:16 IU6I3ikS
>>833
URLリンク(japan.renesas.com)
ここのSH7780グループです。
なので、CPU_SUBTYPE_SH7780なんですが...


835:login:Penguin
08/11/01 01:14:16 rnHgKP9C
>>834
SCSMRのCKSを確認してみたら?

836:login:Penguin
08/11/01 01:30:34 rnHgKP9C
t = SCBRR_VALUE(baud, clk_get_rate(s->clk));
clk_get_rateの値が計算式とあってないとかかな?

837:login:Penguin
08/11/01 01:47:04 rnHgKP9C
.configのCONFIG_SH_PCLK_FREQの設定から調べていくしかないような?

838:login:Penguin
08/11/01 22:43:51 HXyf9d9+
起動時にクロック周波数計算した結果出してなかったっけ?
それがちゃんと合ってるか確認すれば何かわかるんでないかい。



839:login:Penguin
08/11/06 00:49:19 icPCIawf
sh4の内臓RTCクロックだと
1日何時間ぐらい誤差生じますか?

840:login:Penguin
08/11/06 02:07:01 umCC2pO9
×内臓
○内蔵

841:login:Penguin
08/11/06 23:01:47 7Lcq+V96
◎腹時計

842:login:Penguin
08/11/07 03:13:15 PZHHF/WF
腹腹時計

843:login:Penguin
08/11/07 11:01:09 sJeItv7s
リアルタイム腹時計。メシウマ。

844:login:Penguin
08/11/07 23:17:21 XWYMccj1
>>839
ハード屋に聞いた方がいいんじゃない?

845:login:Penguin
08/11/08 11:57:52 HSw2Z6aa
>>844
LinuxだとRTC信用できないよね
Tronだとずれることないけど

846:login:Penguin
08/11/08 12:59:28 mZ30B6Uf
>>839
つないでる水晶の精度を調べれ。

>>845
そらRTCじゃなくてシステムクロックの話でないかい?


847:login:Penguin
08/11/09 23:30:51 mNPs1MwW
RTC用水晶とマイコンの結線を横切る妙な信号ラインがあるとか?

848:login:Penguin
08/11/10 22:34:58 IKrpmgOA
超初心者で申し訳ない。
DevRocketの日本語版helpとか
なんかヒントになるものって転がってない?

そろそろ英語が暗号に見えてきた・・・

849:login:Penguin
08/11/11 00:14:53 XABrwXGw
Eclipse?

850:login:Penguin
08/11/11 11:37:28 NWmxne/g
うむ

851:login:Penguin
08/11/12 00:26:33 u3sCOdRP
>>848
montavistaのサポートあるだろw

852:login:Penguin
08/11/12 00:32:47 u3sCOdRP
こんなアホなこと聞きそうな個人というか団体というか法人が
2社程思いつくけど

実名書くとまずいよなぁ

853:login:Penguin
08/11/12 00:33:35 TYMB2Xxe
さらした方がいいのでは?

854:login:Penguin
08/11/22 00:50:53 XR7a7QEZ
基本的な質問なのですが、商用の組み込みLinuxって、ソースの公開を要求すれば開示してもらえるのでしょうか。
たとえばMontaVista Linuxとか WindRiver Linux とか・・・。

855:login:Penguin
08/11/22 09:26:08 uKdCq4DY
それなりの対価払えば開示してくれると思うよ。

856:login:Penguin
08/11/22 09:52:59 XR7a7QEZ
>>855
あ、お金いるんですか。むちゃくちゃ高そうですね。
GPLのおかげで無償になるかと思っていました。

857:login:Penguin
08/11/22 11:24:32 iwGHGIKN
開示はされるだろう、
ビルドしても役に立たないだけで。

858:login:Penguin
08/11/22 18:12:09 rSENTu6y
>>854
何のソースかによる。

859:login:Penguin
08/11/23 10:57:13 PIFyGHSV
>>858
質問ばっかですいませんが、新しいデバイスのために開発されたデバイスドライバのソースは
開示されるでしょうか。ケースバイケースかもしれませんが・・・。

860:login:Penguin
08/11/23 13:06:17 LxG5vui1
>>859
>>855

861:login:Penguin
08/11/23 14:27:07 pn85C1NE
>>859
GPLなら開示しなければならない。
GPLにひっかからないように作れば
開示必要なし。
GPLかどうかの判断は非常にマンドクセですね。


862:login:Penguin
08/11/23 14:34:56 WxQqWI8P
contact your lawyer


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch