【エンベデッド】組込Lin ..
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てどうすればいいんでしょうかね?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4539日前に更新/254 KB
担当:undef