問題タブ [rtems]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - GCC を使用して EEPROM にカスタム セクションを作成するときの書き込み操作の予期しない動作
これが私の質問です。
私は、宇宙プロジェクトのために自社で製造したボードに組み込まれたアプリケーションに取り組んでいます。このボードは、SPARC v8 の派生である LEON2 プロセッサを使用し、OS として RTEMS も使用します。
このアプリケーションでは、FS のさまざまなテーブルのデフォルト値を EEPROM に保存する必要があります。これにより、ユーザーは毎回行う必要なく、好きなように変更できます。
これを実現するために、新しいセクション (.eeprom_data) を作成し、EEPROM 内のアドレス 0x6007cc40 に配置しました。これは、仕様ファイルとカスタム リンカー スクリプトを使用して行われました。このスクリプトは、セクションを正しいアドレスに配置し、特定の変数をこの同じセクションに配置するようコンパイラに指示しました。
この点に関してはうまく機能しているようです。以下は、セクションと 1 つの特定の var の objdump の抜粋です。
唯一の問題は、完全に機能していないように見えることです。私のアプリケーションは問題なく正しく動作しますが、このような単純なテストを実行しても部分的にしか機能しません:
EEPROM に 0x789A を書き込む必要がある書き込み操作はまったく何もしませんが、読み取り操作は完全に機能し、メモリに保存されているデータを正しく返します。
この問題を解決する方法がよくわからないので、誰かが私に手を差し伸べてくれることを願っています。
ありがとう、レオ。
gcc - GCC - リンクに失敗しました
私の英語が下手でごめんなさい。がんばります :)
Casio グラフィック電卓用のアドインを C でコンパイルしようとしています。これは、公式 SDK を使用すると問題なく動作します。Windowsでしか使えないのでgccを使いたい。
それで、sh-rtems-gccを入手しました。これは macports の binutils であり、この指示に従ってプログラムをコンパイルしようとしました。説明したaddin.ldとcrt0.sをコピーして貼り付け、main.cとlibfxsys.a (上記の指示と同じ人から)を同じディレクトリに配置しました。サブディレクトリインクルードには、fxsys のヘッダーが含まれています。nmで.aファイルにライブラリのすべての関数が存在することを確認しました。
このコマンドをコンパイルに使用する場合:
すべて正常に動作します。しかし、次にリンクしようとしています:
次のエラーが表示されます。
欠落しているシンボルはすべてlibfxsys.aにあります。nmで確認しました。
これは、Googleで見つかった他の投稿で失敗の原因としてよく言及されていますが、成功していないため、コマンドでライブラリの位置を既に試しました。上記の手順で使用されている-lgccオプションの追加と削除も試みましたが、成功しませんでした。
私のホスト マシンは Intel Mac、OS X 10.6 です。
この問題を解決してプログラムをコンパイルする方法がわからないので、質問する必要があります。何が間違っているのですか? SDK を使用せずにプログラムをコンパイルするにはどうすればよいですか?
前もって感謝します、 xythobuz
編集:
私もリンクしようとしました:
ただし、上記と同じ出力が生成されます。
open-source - 高いカバレッジが求められるプロジェクト
カバレッジ要件の高いプロジェクトがあるかどうか疑問に思っていました。より正確には、私は探しています:
- オープン ソース プロジェクト、コードにアクセスする必要があります
- 任意のクラスのソフトウェア (ライブラリ、オペレーティング システム、GUI など)
- 達成されたカバレッジに関するデータ。ここでのカバレッジは、ステートメント カバレッジ、ブランチ、MC/DC を意味します。
- どんな言語でも
私はすでにそのような例を持っています。フリーのオープンソースRTOS、RTEMSです。他に例はありますか?
前もって感謝します。
concurrency - プロセッサの同時 PCI 読み取り
私は LEON2 (SparcV8) プロセッサを使用するプロジェクトに取り組んでおり、他の FPGA とプロセッサを接続する PCI バスがあります。
これを実行すると、RTEMS を使用し、C で記述されたマルチタスク アプリケーションが作成されます。
今、私はプロセッサと pci アーキテクチャにまったく慣れていないので、啓発のために皆さんのところに来ました。
問題は次のとおりです。PCI バス上でメモリの読み取りを実行する 1 つの RTEMS タスクがあるとします。私たちのボードでは、PCI アクセスの長さは約 2us です。さて、私の同僚が問題を提起しました。その PCI 読み取り中に、RTEMS のタスク スケジューラが、別のタスクが起動する時間であり、このタスク ジョブも PCI 読み取りを実行すると判断した場合はどうなるでしょうか。彼のポイントは、タスク切り替えの前に実行された最初の PCI 読み取りが、最初のタスクが実行される前に 2 番目のタスクによって実行される 2 番目の PCI 読み取りによって破損するということです。
このケースはありえますか?
私の見解では、この問題は発生してはならないということです。私にとって、PCI 読み取りは他のメモリ読み取りと同じであり、たとえばアドレス 0x4000'0000 にあるローカル RAM を読み取る代わりに、アドレス 0xA020'0000 を読み取るだけだからです。次に、プロセッサはこれを PCI バス上のアドレスとして変換し、バスを介してこの読み取りを実行します。確かに、この読み取りはローカル メモリの読み取りよりも長くなりますが、このプロセスは途中で中断できません。私の理解が完全にずれている可能性があります。その場合は、お気軽に修正してください。
cross-compiling - オープンソースのクロスコンパイラでサポートされている Ada マルチタスク RTOS
Ada がマルチタスク/マルチスレッドをサポートするオープンソース/無料のクロスコンパイラを利用できるのはどの RTOS ですか?
Ada を使用してプログラムしたい Atmel AT90USB162 チップがあります。私の最初のオプションは、プログラミングに AVR-Ada を使用することでしたが、タスク処理をサポートしていないため、選択の余地がありません (現在、タスク処理がサポートされている方法についての手がかりがありません)。ですから、より強力なアプローチが必要です。QNX を使用することも考えましたが、私のチップ スタンドよりもはるかに複雑です。
AVR チップが uC/OS-II と FreeRTOS をサポートしているという情報を入手しました。FreeRTOS または uC/OS-II 用の無料の Ada クロスコンパイラはありますか?
ありがとう。
upgrade - rtems インストール用の gnu fileutils アップグレード
RTEMS とすべての要件をインストールするには、インストール ビンが正しく機能する必要がありますが、そうではないようです。
実際、「install -c -d tmp/foo/bar」を試してみると、必要なディレクトリが作成されません。
RTEMS のドキュメントでは、GNU fileutils をアップグレードする必要があると書かれていますが、どうすればよいですか? 私はインターネットを検索しましたが、何も見つかりませんでした...
関連する RTEMS の開始ページはこちらでご覧いただけます。
centos 6.3 仮想マシンを実行しています。
ありがとう、ギヨーム
operating-system - eclipse ide でサンプル rtems プログラムを実行するにはどうすればよいですか?
Eclipse プラットフォームに rtems、mingw、msys、grmon をインストールし、環境変数にパスを指定しました。与えられたサンプル rtems プログラムを実行しようとしましたが、「エラーが発生しました * rtems の起動で問題が発生しました * プロセスがプログラムを実行できないというエラーと "C:\workspace\rtems\debug\rtems": 起動に失敗しました。もう 1 つ質問があります: rtems は実行可能ファイルを生成しますか?? Windows XP プラットフォームに rtems プログラムをインストールして実行する手順も教えてください。
gcc - fp 計算で失敗する可能性のある gcc O2 フラグはどれですか?
GCC O2 レベルの最適化を使用して pc386 システムで paranoia 浮動小数点テスト スーツをコンパイルし、いくつかのエラーが発生しましたが、同じ GCC で最適化せずにコンパイルしたところ、正しい結果が得られました。O2 で有効になっているフラグについて読みましたが、問題はないようです。原因は何ですか?パラノイア コードはここで見つけることができ、これは O2 最適化で取得された出力です。