問題タブ [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.
binary - メモリ内の文字列の場所を見つける方法(物理的なオフセットがあります)?
str[possibly n]cmp
敵対的なバイナリファイルから見つける必要があります。問題は、分解に10億ドルあることです。
文字列からの助けがあるからだと私は知っています。'otx'(文字列を挿入する逆アセンブラ)を持たないバイナリを逆アセンブルしています。
プログラムがロードされたら、この文字列のメモリオフセットを見つける方法を知っておく必要があります。そうすれば、gdbなどを使用できます。
あなたが私にアルゴリズムを与えることができれば(私は他の方法を覚えていました:phys off = virtual off * segment adress + segment offset
-またはその効果のための何か)(psはそれは正しいですか?? :))
または、これがida proで非常に簡単である方法を教えていただければ、非常にありがたいです。
ありがとう :)
binary - IDA Pro でバイナリ ファイルを編集 (パッチ) する
ida pro でバイナリ ファイルを編集する方法を知りたいです (命令を 1 つ変更するだけです!)
(その ARM バイナリ)
ありがとう
arm - FIQ と IRQ 割り込みシステムの違いは何ですか?
ARM926EJ などのマイクロプロセッサの FIQ 割り込みシステムと IRQ 割り込みシステムの違いを知りたいです。
c++ - ニンテンドーDSのタイルグラフィックスの奇妙なストライピング
ニンテンドーDS用のポンゲームに取り組んでいます。私はlibndsを使用して設定を行っていますが、非常に奇妙な動作に遭遇しました。これまでエミュレーターで試しただけですが、3つの異なるエミュレーターを使用しており、それらはすべてこの動作を示しているため、何か悪いことをしているのではないかと思います。
実際の問題は、タイルグラフィックに背景レイヤー1以上を使用すると、そのレイヤー全体に奇妙なストライプが表示されることです。背景レイヤー0を使用すると問題は解決しますが、最後にレンダリングされるため、実際には別のレイヤーに描画することはできません。
私のセットアップコード:
上記のコードでは、タイルグラフィックレイヤーであるbg0にレイヤー1を使用しています。これにより、奇妙な縞模様が現れます。このように0に変更すると、期待どおりに表示されます。
問題の原因と解決策は何ですか?
arm - 古い ARM7TDMI (ARMv4T) の objdump は、新しいアーキテクチャの命令を示していますか?
私は GNU の成功に非常に関心があり、ARM の objdump の潜在的なバグをどうするかについてフィードバックを求めていました....
「objdump -D --target=binary -m arm7tdmi」の出力を調べると、古い ARM7TDMI コアには存在しない命令が表示されます。
(私はランダムなビットのファイルを見て、それを ELF ファイルではなく生のバイナリとして扱っています。)
たとえば、mrcc、blx、および ldc2 は ARMv5 以降でのみ表示されますが、上記のコマンド ライン スイッチを使用した出力に表示されます。
(「-m armv4t」でも同じ問題が発生します。)
Ubuntu 9.04 のバージョン 2.19.1-multiarch を使用しています。
これは本物のバグですか、それとも別のスイッチを使用する必要がありますか?
心から、
クリス
qt - Qtビルドエラー
で構成した後
作成時にこの出力が表示され、理由がわかりません。
../../src/corelib/arch/qatomic_arm.h:関数char q_atomic_swp(volatile
char*, char)':
../../src/corelib/arch/qatomic_arm.h:125: warning: address requested for
ret'で、register'
global/qlibraryinfo.cpp: In function
void qt_core_init_boilerplate()'と宣言されています:global / qlibraryinfo.cpp:581:__builtin_exit' undeclared (first use this
function)
global/qlibraryinfo.cpp:581: (Each undeclared identifier is reported only once
for each function it appears in.)
global/qlibraryinfo.cpp:573: warning: statement with no effect
global/qlibraryinfo.cpp:573: warning: statement with no effect
global/qlibraryinfo.cpp:574: warning: statement with no effect
global/qlibraryinfo.cpp:574: warning: statement with no effect
global/qlibraryinfo.cpp:575: warning: statement with no effect
global/qlibraryinfo.cpp:576: warning: statement with no effect
global/qlibraryinfo.cpp:576: warning: statement with no effect
global/qlibraryinfo.cpp:577: warning: statement with no effect
global/qlibraryinfo.cpp:578: warning: statement with no effect
global/qlibraryinfo.cpp:578: warning: statement with no effect
global/qlibraryinfo.cpp:579: warning: statement with no effect
global/qlibraryinfo.cpp:580: warning: statement with no effect
global/qlibraryinfo.cpp:580: warning: statement with no effect
make[1]: *** [.obj/release-shared-emb-arm/qlibraryinfo.o] Error 1
make[1]: Leaving directory
/home/bsalmi/Desktop/qt-embedded-linux -opensource-src-4.5.1 / src / corelib'make:***[sub-corelib-make_default-ordered]エラー2
誰かが私に何が問題であるか、何を調べるべきか教えてもらえますか?
ありがとうブライス
linux - Console_init が原因でカーネル paniC が発生する
システムの詳細:
OS: Debian/5.0 カーネル 2.6.26-2 i686 SMP
ハードウェア: IBM Thinkpad T40 Type 2373 Pentium M 1.5GHz、512MB RAM
ソース: sudo apt-get install linux-source-2.6.18 linux-patch-debian-2.6.18 linux-support-2.6.18-5
ツールチェーン: スクラッチボックスによってインストールされた arm-linux-gcc3.4.cs-uclibc0.9.27
arm-linux-ulibc-gcc/-g++ -v:
qemu システム アーム: v0.9.1
qemu コマンドライン: qemu-system-arm -m 32 -M integratorcp -kernel zImage -serial stdio -S -s
gdb コマンド ライン: arm-uclibc-gdb --command=gdb_commands.vim --symbols /usr/src/linux-source-2.6.18/vmlinux
カーネル構成:
qemu でクロスコンパイルされたカーネルを実行しようとしています。Integratorcp ボードで ARM9 ファミリ プロセッサをシミュレートしようとしています。これは qemu-system-arm でサポートされており、この設定ははるか上にあるコマンドラインにあります。私は、scratchbox が提供するクロス ビルド ツールチェーンを使用していますが、scratchbox でコンパイルしていません。これは、クロス サポートがカーネル用に十分に開発されており、実際にはサポートしないことが推奨されているためです。スクラッチボックスで行われます。すべてがこのカーネルにコンパイルされます。ロード可能なモジュールのサポートが有効になっていますが、モジュールは構築されていません。圧縮されたバイナリ (zImage) を正常に生成できます。qemu-system-arm がそれをカーネルとして挿入すると、Linux の圧縮が正常に解除され、すぐにハングします。非圧縮のカーネル バイナリ (/usr/src/linux-2.8.16-source/vmlinux) を arm-ulibc-gdb に供給してシンボルを抽出することも同様に機能するようです。ブレークポイントの設定と手順の実行は正確に見えます。arm-ulibc-gdb を使用して、問題のある行をトラップすることができました。クラッシュは、vgacon_startup(void) 関数内の drivers/video/console/vgacon.c:462 で発生します。462 行目の inb_p(VGA_IS1_RC) 命令にステップインしようとした後、ベッドをクラップします。__do_kernel_fault にブレークポイントを設定すると、コールスタックは次のようになります。
私は最終的に何を呼んでいるかを見つけることをあきらめました__dabt_svc
いくつかの興味深い点:
- スコープ内にある場合でも、特定の変数/関数を調べてブレークを設定することは不可能のようです (
inb_p
たとえば、)。 - 最適化なし、-O および -O2 でコンパイルを試みましたが、この問題を超えて起動できませんでした
- ,
inb_p
man ドキュメントには、-O または -O2 でコンパイルする必要があることが明確に記載されています。そうしないと、サブルーチンがインライン化されないリスクがあります
- ,
- 「Uncompressing Linux.....Ok, Booting the kernel」というメッセージが画面に出力されますが、コンソールの初期化が開始されると、何も見えなくなります。カーネルによって画面に出力されるものは他にありません。きれいに印刷されたパニック メッセージはありません
__show_regs()
。関連するすべてのレジスタ (pc、fsr など) に侵入して、手動でスヌープする必要があります。これは思ったほど難しくありません。それは聞こえるほど退屈です。 - ARM と Debian に関連するすべてのパッチを適用したと思います。
- 私はひざの皮をむいた少女のように泣く準備ができています。
新鮮な目、または少なくとも正しい方向へのうなずきに非常に感謝します. ここまでお読みいただき、ご協力をお願いいたします。
iphone - XcodeでのGCC4.2.1オプションの設定
XcodeとGCC4.2.1との相互作用についていくつか質問があります。
XcodeTargetPropertiesインスペクターがすべての可能なGCCオプションを公開しているようには見えません。これは正しいです?
具体的には、arm_neon.h組み込み関数ヘッダーで説明されているように、「mfpu」オプションを設定することに興味があります。これは可能ですか、またはサポートされていますか?または、他のXcode設定の副作用として設定されている可能性がありますか?
誰かがこれを試したか、いくつかのリソースを投稿できるなら、それは大いに役立つでしょう。
c# - ARM 用の Windows CE で C# から呼び出された C++ DLL が常に 0 を返す
現在、ARM プロセッサである TI OMAP プロセッサで Windows CE 用のアプリケーションを開発しています。C# から C++ DLL ファイルの関数を単純に呼び出そうとしていますが、使用するデータ型に関係なく、常に値 0 が返されます。これは、何らかの呼び出し規約の不一致である可能性が最も高いですか? 同じ Visual Studio ソリューションから DLL とメイン EXE をコンパイルしています。
C# コード スニペット:
C++ DLL コード スニペット: