問題タブ [arm]
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.
embedded - ARMThumb2の効率的な整数平方根アルゴリズムを探しています
符号なし整数の平方根(その整数部分)を見つけるための高速な整数のみのアルゴリズムを探しています。コードは、ARMThumb2プロセッサで優れたパフォーマンスを発揮する必要があります。アセンブリ言語またはCコードである可能性があります。
ヒントは大歓迎です。
arm - ARM FIQを有効にする方法を知っている人はいますか?
ARM FIQを有効にする方法を知っている人はいますか?
c - シリアル ポートを使用して C プログラムから LED をオンまたはオフにする手順は?
同様の投稿があることは知っていました: C/C++ プログラムから LED を点滅させる手順は?
しかし今、私はアームベースの開発ボードに取り組んでおり、LED をオンまたはオフにするために使用できる 2 つのシリアル ポートがあるようです。
基本的な流れとしては、シリアルの1ピンを「1」またはONにするとLEDが点灯し、「0」で消灯するという流れだと思います。
私が参照できるC言語の参照コードはありますか?
java - AndroidはARMのJazelleテクノロジーを去勢しますか?
私が見た正当な理由は、AndroidでJavaバイトコードを「Bastardizing」することはパフォーマンスでした。(別の理由があると思います。)しかし、バイトコードを変更することで、Jazelle mootなどのハードウェアアクセラレーションテクノロジが作成されなかったため、モバイルJavaプラットフォームで利用できるパフォーマンスが実際に低下しましたか?
ターゲットプラットフォームがARMベースのモバイルプラットフォームであることを知っていると、直感に反しているように見えます。他のCPUアーキテクチャでパフォーマンスが向上する可能性がありますが、ARMとJazelleに直面しているようです。
Javaのパフォーマンスにどのような量的な影響がありますか?
それは実際にパフォーマンスを向上させますか?もしそうなら、どのように?
他のプラットフォームへの影響は何ですか?(つまり、x86、mips、yadda、yadda、yadda ...)
exception - タスクが VxWorks を破壊する理由を特定する方法は?
ARM uC で VxWorks アプリケーションを実行しています。
まず、アプリケーションを要約します。
アプリケーションは、サードパーティ スタックとゲートウェイ アプリケーションで構成されます。OS の非依存性をサポートするために、オペレーティング システムの抽象化レイヤーを実装しました。
基礎となるスタックには、二重にリンクされたリストにメモリブロックを保持する独自のメモリ管理および制御機能があります。
例えば ; malloc/new 、 free/delege を直接実行するのではなく、OSA レイヤーのルーチンを呼び出し、OS からメモリを取得してリストに入れ、このメモリをアプリケーションに返します (ルーチン : XXAlloc 、 XXFree、XXReAlloc)。
メモリを解放するときは、再び XXFree を使用します。
実際、このブロックは構造体であり、
- マジック ナンバーは、メモリ ブロックの開始と終了を示します - ユーザーが割り当てたサイズを要求しました - アラインメントの問題による実際のサイズ 前と次のポインタ - アプリケーションに返されたメモリの断片へのポインタ。アプリケーションのどこで xxAlloc が呼び出されたかを示すリンク レジスタ。
このブロック構造スタックを使用すると、ブロックが破損しているかどうかを確認できます。
また、Linux から移植された pthread ライブラリもあり、これを使用してスレッドを作成/終了します (現在 22 のスレッドがあります)。同期オブジェクト (イベント、ミューテックスなど)。
taskSpawn によって呼び出されるメインタスクがあり、後でこのタスクが他のスレッドを作成しました。
これは、アプリケーションとその VxWorks インターフェイスの説明でした。
問題は :
タスクの 1 つが VxWorks によって突然破棄され、何が問題なのかについての情報がありません。jtag デバッガーもあり、VxWorks taskDestoy() ルーチンにヒットしますが、コール スタックは PC も r14 も情報を提供しません。
巨大な xxAlloc が実行されるコード内の特定のルーチンが疑わしいのですが、問題が非常に散発的に発生し、それをソース コードにマップできる手がかりがありません。
OSは例外を検出し、静かに処理を実行すると思います。
どんな助けでも素晴らしいでしょう
よろしく
arm - イーサネット経由でデータを転送するには、どのARMプロセッサを使用する必要がありますか?
以下の質問は、シリアルポートしかない8051ファミリに関連していました。ARMプロセッサにイーサネット機能が組み込まれていることを知ったとき、ARMに移行することにしました。したがって、これが最も簡単に開始できるものであり、Keil環境を認識しているので、KeilをサポートするARMで作業したいと思います。
Thnxx、乾杯。
embedded - 組み込みアプリケーションにCRC-16またはIPチェックサム(RFC1071)を使用する必要がありますか?
ARM7プロセッサで組み込みアプリケーションを作成していますが、シリアルリンクを介して送信するデータと、フラッシュに保存するデータに対して、何らかの形式のチェックサムが必要です。2つのCRCのどちらが目的に適しているのか疑問に思いました。主なトレードオフは、コードの速度と堅牢性です。別のCRCを検討する必要がありますか?ARMの効率的な実装へのリンクはありますか?
linux - Linux カーネルでの I2C 書き込み確認ポーリング
ここでの精彩を欠いた反応は、私にこれを不思議に思いました。
私は、次のようなデバイス(Analog Devices 525x)を抱えています (データ シート、16 ページから):
内部 [EEPROM] 書き込みサイクル中に I2C インターフェイスを無効にします。
「今からソファから降りるので、シートのクッションを裂いてしまったので、しばらく使用しないでください」のように、それは公平に思えません。正直なところ、なぜそれが私の問題なのですか?
とにかく、データシートは、応答ポーリングが答えであることを示唆しています-Linuxカーネルに入ります... Linux GPIOビットバッシュI2Cドライバーはこれを行うためのメカニズムを提供しますか? 基本的に、書き込みビットをセットしてアドレスを送信し、ACK が表示されるまで送信し続けます。
バックポートされたGPIOビットバッシングドライバーを備えたARMで2.6.14を使用しています(2.6.19からだと思います)。
iphone - iPhone 3GSでのARMとThumbのパフォーマンス、非浮動小数点コード
私は誰かがiPhone3GSでのARM対Thumbコードのパフォーマンスについて何か難しい数字を持っているのだろうかと思っていました。特に非浮動小数点(VFPまたはNEON)コードの場合-Thumbモードでの浮動小数点のパフォーマンスの問題を認識しています。
より大きなARM命令の余分なコードサイズがパフォーマンスの危険になるポイントはありますか?言い換えると、実行可能コードが使用可能なメモリと比較して比較的小さい場合、Thumbモードをオンにすることで測定されたパフォーマンスの違いはありますか?
私が尋ねる理由は、「-marm」オプションを使用してXcodeのNEON固有のソースファイルに対してARMを有効にできますが、GCCがx86をビルドしているため、これによりシミュレーターのビルドが中断されるためです。「親指でコンパイル」をオフにして、それで済ませるべきかどうか疑問に思いました。
assembly - EOR/XORおよびANDのARMキャリーフラグ
ARMアセンブリを調べていたところ、EOR/XORとANDがすべてCフラグとOフラグを設定していることに気付きました。それはどのように機能しますか?それらは常にクリアされていますか?彼らはどのような条件を設定していますか?