CPU
int main(int argc,char **argv) { int base=10,pp=5,ret ; long int long_i_type =10,long_pp=5 ; char char_type =20,char_noset; unsigned int uint_type = 100 ,uint_noset ; unsigned char uchar_type =20,uchar_noset; ret = base+pp; long_pp = base …
呼び出し関係 puts->_puts_r->__sfvwrite_r->(return EOF)__swsetup_r->__sinit->std*3 原因探り中
newlib内のputcのコードを実行 実行結果 ありえない所でhalt信号を出すと思ったら gasのオペコードが間違っていた。修正しても直らず。。。 とおもったらnewlibのコンパイルしなおしていなかった。とりあえず動くけどもswsetupでEOF かえしてる…。
今まで無理やり押し込んでいたがついにオーバー 師曰く「大きすぎないか?」とのことなので 大きい原因を探ってみたXILINXのサマリーCPU全体 Device Utilization Summary Logic Utilization Used Available Utilization Note(s) Number of Slice Flip Flops …
結論からリンカの引数でライブラリを指定する際は1パスです。orz リンカスクリプトのGROUPSで指定する場合は再帰的に検索する。 gccのLD_SPECで渡す場合は順番をきちんとしてあげないとだめ。 それだけでリンカまわりはほぼ収束
リンカを使って手動でリンクすればリンク出きるのだが GCCからだとlibglossライブラリが抜け落ちてしまうのでリンカの呼び出し部分の調査 linker_spec is %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %{pie:-pie} %X %{o*} %{A} %{d} %{e*} %{…
binutils の改善 マルチサイクルに対応できるようにCPUの変更 NetBSDのポーティングに必要な機能の追加 FPGAに載せるシリアルインターフェースの作成 (OpenCoreから引っ張ってくるかススボックスもフリーだったきがする) メモリとIOのマッピングの確定 (…
前回のは勘違いだわ...orz toolsのオプションはツールチェイン作る。 なのでターゲットのCCでなく ホストのCCつかうのでOK targparam.hが無いって言って止まるので 他のアーキテクチャのを参考に dlx/targparam.h を作った。 ポインタのサイズと浮動小数まわ…
NetBSDの公式からCVSで落としてきて少しいじくってみた。 build.shでうまくコンパイルできないので 中身をいじくり中。 とりあえず、少し進むようになったけど クロスでやってるつもりがちゃんとクロス環境になっていない。X(
こんなレベル FPGAに載せるにはシリアルを載せないとダメだけど 買ってきたCPUなら言わせるのにものの30分も要らないんだけどね… さて、ちゃんとprintfで出せるようにしますか…
問題点がぞろぞろと出ています1.binutilのリロケータブルシンボル globalのシンボル宣言がmulti defineエラーになる。 というかbinutilはかなり手を入れた方が良いみたい。 ポートされているから安心していたが…。2.シングルバイトのst命令を使うと同一アラ…
コンパイラの動作テストもかねて newlibのコンパイルとテストcharのポインタをmov出来ない問題を修正リンカ,ローダにバグがあるのか それともそもそもコンパイラの問題なのか分からない問題が発生ジャンプシンボルのテーブルを作成して ジャンプをしようと…