問題タブ [arm9]
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.
android - ARM9プロセッサのデバイスにAndroidを移植する方法は?
ARM9 200Mhzとno-fpuをサポートするデバイスにAndroidを移植したいのですが、これは可能ですか、GoogleはAndroidのすべてのコードを公開しましたか、それともパートナーだけが利用できますか?
よろしくお願いいたします。
晴れ。
embedded - arm9にuCosをインストールする方法[mini2440]
私は組み込みプログラミングに非常に慣れていません。私の最初のプロジェクトは、mini2440 [arm9]にuCosをインストールすることです。私のような初心者がarm9にuCosをインストールするためのチュートリアルはありますか?
最初に感謝します:)
c - RVCT4.0 を使用した Arm9 での静的分岐予測
ARM9 プロセッサ用のロギング C コードを書いています。動的モジュールが存在する場合、このコードはいくつかのデータを記録します。モジュールは通常、製品ビルドには存在しませんが、ロギング コードは常にコンパイルされます。これは、顧客がバグに遭遇した場合に、このモジュールをロードすると、ロギング コードがデバッグ情報をダンプするという考え方です。
モジュールが存在しない場合、ロギング コードは最小限の影響しか与えない必要があるため、すべてのサイクルがカウントされます。一般に、ロギング コードは次のようになります。
最適化をオンにすると、RVCT 4.0 は次のようなコードを生成します。
このプロセッサには分岐予測子がありません。私の理解では、分岐が行われるたびに 2 サイクルのペナルティがあります (分岐が行われなければペナルティはありません)。
一般的なケースであるNULL == pProvider
が、分岐が行われない高速なケースであることを望みます。RVCT 4.0 でこのようなコードを生成するにはどうすればよいですか?
私は__builtin_expect
次のように使用してみました:
残念ながら、これは生成されたコードには影響しません。私は__builtin_expect
間違って使用していますか?別の方法はありますか (できればインライン アセンブリなし)。
arm - ARM9のvalgrind?
valgrind には ARM7 ターゲットがあることがわかりますが、valgrind が ARM9 をサポートしているかどうかについて矛盾する情報が見つかりました。私が取り組んでいるARM9ターゲットはLinuxを実行しています。
ARM9ターゲットでvalgrindを使用することに特に成功した人はいますか? もしそうなら、「どのように構築したのですか?」など、あなたが提供できる指針は役に立ちます。
ありがとう
-z
linux-device-driver - ARMベースの組み込みLinux上のGPIOIRQ
AT91SAM9M10-EKES評価ボードでGPIOIRQをプログラムしようとしています。IRQの登録に成功し、IRQが機能しています。ただし、一部の割り込みは失われます。26を送信していますが、22しか取得できません。
コード:
これはドライバー全体ではありませんが、これはIRQを処理する実際の部分です。誰かがコードに問題を見つけた場合、または私が4つの割り込みを失った理由を知る方法を提案できる場合は、返信してください。私はこれに何時間も立ち往生しています...:(
ありがとう。ラモン。
mfc - WinCE、ARM9 のインライン アセンブリの使用に関する情報が必要
私はインライン アセンブリがあまり得意ではありませんが、組み込みプロジェクトで最適化の目的で使用することを計画しています。私はそれについての情報をあまり知らないので、助けが必要です。
MS Visual Studio 2005 (MFC を使用) を使用して、ARM9 でWin CE 6.0を使用しています。
基本的には、メモリアクセスを高速化し、ビット単位の操作を実行したいと考えています。
オンライン リンクや、特定の環境でのレジスタ、変数名、ポインタ (メモリ転送やビット単位の操作に関連するもの) などの使用例を入手できれば、非常に役に立ちます。
ctackeの答えの後に編集:
.s ファイルを操作するためのリンクや小さな例、具体的には .s からの関数の書き込みとエクスポート、およびそれらを私の MFC アプリケーションと組み合わせる手順があれば、私にとって本当に役に立ちます。どんな小さな例でもそれを行うでしょう。
ありがとうございました。
敬具、 アフタブ
image-processing - ARM9用のOpenCV移植
組み込みソフトウェアは初めてです。AtmelによるAT91SAM9261-EK開発ボード用の画像処理アプリケーションを構築したいと考えています。簡単にするために、OpenCV関数を使用したいのですが、brdでフラッシュするための.bimファイルをどのように生成するのかわかりません。また、この種のアプリケーションのフロー/ソフトウェア構造を理解するのを手伝ってくれる人はいますか?同様に、Linuxまたは他のOSが必要ですか?その場合、opencvを使用して作成する予定の実際の画像処理コードはどこにありますか?これまで、Basic LCDプロジェクトのような単純なコードの場合、このボードではIARワークベンチを使用してコードをコンパイルしているので、opencv関数に同じものを使用したい場合、方法はありますか?opencvに似ていて、IARや他のARMコンパイラと簡単に統合できるオープンソースの画像処理ライブラリは他にありますか?
また、事前にこの感謝に関するいくつかの学習ドキュメントへのリンクがあれば、それは本当に役に立ちますか?
c - DMA ありまたは DMA なしで ARM9 s3c2440 のメモリにデータ フォーム io を転送する方法
IO からメモリに 8 ビットのパラレル データを転送したい。データは約 5 Mhz の速度で非常に高速に転送されます。どこから始めればよいか教えてください。データは ADC からのビデオ信号です。DMA を使用してこれを行うことができるとインターネットで読みましたが、開始が必要です ...
performance - LinuxonARM9でのスレッドパフォーマンスが遅い
10分間実行する単純なアプリケーションを作成すると、10個のスレッドが1回(pthread)開始され、それぞれがループ内で1ミリ秒スリープします(他に何もしません)。44%(top
それを報告します)。これは450MHzのARM9CPUであり、OSとしてLinux2.6.37が使用されています。他に実行中のプログラムはありません。さまざまなカーネル構成(動的ティック、ソフト/ハードIRQ、高解像度タイマー、...、...、...)、さまざまな優先度(最大99)を試しましたが、数値は変わりません。同じ。/usr/bin/time -v
約を示しています。5'200'000の自発的なコンテキストスイッチと約 カーネル空間で3分が費やされます。約のための各スレッドのSleepin。5ミリ秒で、CPU使用率は約5ミリ秒に低下します。9%はまだIMOが狂っています(一部のレジスタを安全にするために40'500'000サイクル)。clock_nanosleepはスリープに使用されました(CLOCK_REALTIME / CLOCK_MONOTONICは何も変更しませんでした)。
キャッシュをクリアする必要があるため、ARM9ではフルコンテキストスイッチにコストがかかることを認識しています。ただし、単純なスレッド切り替え、またはOSへの切り替えは、それほど高価なIMHOであってはなりません(アドレス空間は同じままで、キャッシュ/ TLBフラッシュは必要ありません)。これは一般的ですか、それともカーネルのボトルネックを見つけようとする必要がありますか?