問題タブ [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.
memory - How to enable ARMv6 unaligned access on WinMobile6?
ARMv6 introduce a great feature - unaligned memory access, which make some things in code much more simplier and faster. But microsoft gives API for it only in winCE6. And most PDAs now based on WinMobile6 (which is on CE 5.x). And unaligned access is disabled by default :(
I've try to set unaligned flag in CP15 register, but this doesn't work - I have a crash on read unaligned data.
Is it possible to enable unaligned access on WinMobile6?
Edit: I've found the tool, which can enable unaligned access, but I want to on/off it from my code. It's nueAdvancedProcessor.
debugging - 利用可能な実行可能なバイナリ形式とエミュレーターは何ですか?
楽しみのために、私は小さな言語用のコンパイラに取り組んでおり、ARM 命令セットが簡単であるため、最初にターゲットにしています。現在、コードをコンパイルできるので、各メソッドの本体に ARM マシン コードを使用できます。この時点で、いくつかのことを結び付ける必要があります。
- マシンコードを保持するには、どの形式にすればよいですか...
- どのデバッガーで実行しますか?
現在、I/O サポートなどはないため、デバッグは、分解してプロセッサ レジスタ/メモリを表示する能力に大きく依存します。
私は Windows を実行しており、コンパイラは Windows でのみ実行されるため、Windows で何らかのエミュレーターを使用することをお勧めします。
編集: Visual Studio Windows Mobile 6 エミュレーターを使用できるようです。今のところ、単純なバイナリ形式で結果を保存し、小さな C++ コンソール アプリケーションを介してエミュレーター メモリにロードし、関数ポインターを使用してそのメモリにジャンプすることができるかもしれません。後で、ELF および PE フォーマットをサポートする必要があるようです。
arm - ARM用コードプロファイラー
アーム9でコードをプロファイリングしたいのですが、関数呼び出しのタイミングと各関数にかかる合計サイクルを取得できるプロファイラーはありますか?私は無料のプロファイラーを好みます。Linuxでkcachegrindを使用するのが好きでした。
exception - ARM9 SVC_STACK が範囲外?
IAR ワークベンチ ツールチェーンを使用して、組み込みシステムで奇妙な ARM 例外をデバッグしています。例外がトラップされると、SVC_STACK が範囲外 (非常に範囲外!) と報告されることがあります。SVC_STACK は何に使用されますか? サイズは 0x1000 に設定されていますが、範囲外の場合はヒープ領域を大きく超えています。ありがとう!
exception - ARM9プリフェッチアボート例外はソフトウェアの問題でしょうか?
そのため、arm9システムで「プリフェッチアボート」例外が発生します。このシステムにはMMUがないので、とにかくこれはソフトウェアの問題である可能性がありますか?私にはすべてのレジスタが正しいように見え、JTAGの観点からは、コードは正しく(破損していない)見えます。
今のところ、これはある種のハードウェアの問題だと思っています(言いたくはありませんが、ハードウェアは今まで問題ありませんでした)。
debugging - ARMデータアボートエラー例外のデバッグ
これで、ARMデータアボート例外が発生していることがわかりました。例外自体(STLライブラリの不正なアドレス)をトラップする方法はわかりましたが、例外の前にスタックフレームに戻りたいと思います。IARツールチェーンを使用していますが、例外が発生するとコールスタックが使用できなくなると表示されます。ツールにコールスタックを表示するように説得するためのトリックな方法はありますか?すべてのクイックヘルプをありがとう!
embedded - デコード時間が最小限のビデオ形式
私は、266 Mhz プロセッサと 32 ビット バスと 480x272 画面を備えた組み込みデバイスに取り組んでいます。1024 kbps のビットレートと 24 fps でフルスクリーン ビデオを再生したいと考えています。H263 および H264 よりもサイズが大きいが、デコードが高速なビデオ ファイル形式はありますか。
ありがとう、サニー。
追加した
私はプロセッサ バージョン ARM926EJS を使用しています。Arch は ArmV5、速度は VFP および 16 ビット (565 RGB) 画面で 266 Mhz です。私はすでに最速の YUV から RGB への変換を利用できます。FFMPEG ライブラリを使用してビデオ プレーヤーを作成しました。私が得ている速度は、1248 KBPS の 480x272 H263 ビデオで 17 FPS です。購入できるように、最適化されたデコーダーのリファレンスを教えていただければ幸いです。
ありがとう、サニー。
exception - ARM未定義の命令エラー
組み込みシステム、コプロセッサー、MMU、Atmel 9263の実行中に、未定義の命令エラーが発生します。組み込みシステムのメモリは0x20000000〜0x23FFFFFFの範囲です。これまでに2つのケースがありました。
SP 0x0030B840、LR 2000AE78-LRは有効なコードを指しているため、SPは偽物ですが、例外の原因はわかりません。他にどのようなアドレス、レジスタ、メモリ位置を確認する必要がありますか?
SP 0x20D384A8、LR 0x1FFCA59C-SPは問題なく、LRは偽物です。LRがどのように押しつぶされたかを調べるために私ができるある種の事後分析はありますか?アドレス空間の端から後方に転がっているように見えますが、その方法がわかりません。
現在、コードの大きなチャンクをシミュレーションに置き換え、テストを実行して問題を特定しようとしています。問題が発生するまでに4時間かかる場合があります。
そこに何かヒントをいただければ幸いです、ありがとう!
チップはAT91SAM9263で、IAREWARMツールチェーンを使用しています。ストレートARMだと思いますが、確認します。
編集
UndefInstructのもう1つの例-今回はSP/LRは問題ないように見えます。LR = 0x2000b0c4、そして私がその近くで分解するとき:
2000b0bc e5922000 LDR R2、[R2、#+ 0]
2000b0c0 e12fff32 BLX R2
2000b0c4 e1b00004 MOVS R0、R4
LRはUndef例外に続く命令であるため、BLXはどのように未定義として識別されますか?CPSRは0x00000013であるため、これはすべてARMモードであることに注意してください。ただし、R2はヒープ領域にある0x226d2a08であり、間違っていると思います。分解すると、ANDEQ R0、R0、R12があり、命令は0x0000000Cであり、他の命令はデータのように見えます。だから私は悪いR2が問題だと思う、私はBLXでUndefがなぜなのか理解しようとしているだけなのか?
ありがとう!
python - ARMCPUを搭載したマシンでの奇妙なPythonの動作
この奇妙なPythonの動作を引き起こす可能性があるのは何ですか?
0.1
、、、、など0.5
についても同じ出力が得られます。整数は正しくエコーバックされますが、小数点のあるものはすべてクレイジーな数値になります。5.1
0.0
これは、ARM用にコンパイルされたPythonバイナリであり、Optwareを介してSynologyDiskStation101jにインストールされます。
誰かが以前にこのようなものを見たことがありますか?