問題タブ [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.

0 投票する
1 に答える
191 参照

c - ベア メタル アーム (AM1808) - キック レジスタからの読み取り

ベア メタル AM1808 でピンの多重化を試みていますが、キック レジスタを書き込めないようです。より具体的には、書き込もうとした値を読み戻すことができないようです。

これが私のコードです:

出力:

スーパーバイザー モードになっているのに、一般的にキック レジスタを読み取ることができませんか? その場合、syscfg を正しくロック解除したかどうかをテストするにはどうすればよいですか?

更新: 結局のところ、私が抱えていた問題は、ピンの多重化やキック レジスタとは関係ありませんでしたが、代わりに、正しく多重化された GPIO ピンを使用する最上位ロジックにエラーがありました。混乱させて申し訳ありません。

0 投票する
0 に答える
328 参照

embedded-linux - 組み込み Linux ユーザーランド アプリが突然クラッシュし始めました

問題の要点は次のとおりです。実行中にユーザーランドアプリが破損する可能性は何ですか? ハードウェア障害以外。

ハードウェア リグ: Linux カーネル + FS + ユーザーランド アプリ用の ARM9 (at91sam9xe) NAND フラッシュ。

ARM9 (at91sam9xe) の組み込み Linux でアプリを実行していました。数か月間は問題はありませんでしたが、突然 ARM がアプリを実行できないと報告しました。

実行すると、次のダンプでクラッシュしました。

addr2line を試してクラッシュした場所を確認しましたが、crtstuff.c =\ crtstuff.c はアプリの一部ではなく、GCC に関連していると思います。

実行可能ファイルが破損することを恐れたので、NAND 上のファイルと PC のファイルの差分を実行しました...発生してはならない違いがありました。さらに、違いは、それらが含むべき値ではなく、「0x00」値としてほとんどすべてでした。

私が本当に知りたいのは、ハードウェアの障害以外に、ユーザーランド アプリがどのように破損する可能性があるかということです。

原因: NAND フラッシュは常に書き込み可能であったため、フラッシュに書き込みが行われているときに電源が切れるという偶然が起こったという仮説を立てました。

ソリューション FS を RAM に移動し、何かを書き込む必要がある場合にのみ、NAND パーティションの一部のみを書き込み可能としてマウントします。NAND 書き込み保護は、アプリからの書き込み要求がある場合にのみ有効になるように、ハードウェア ピンを介して制御されました。

0 投票する
2 に答える
133 参照

embedded - S3c2440(ARM9) spi_read_write フラッシュメモリ

私はSPI通信に取り組んでいます.SST25VF032B(32 MBのマイクロチップSPIフラッシュ)を通信しようとしています. 製造元 ID を読み取ると、MF_ID =>4A25BF と表示されますが、本来は MF_ID =>BF254A です。私はそれを単純に逆に取得しています。つまり、最初に3バイト目と3バイト目を最初に噛むことを意味します。

その理由として何が考えられるでしょうか?私の SPI Init 関数は次のとおりです。

私の spi_read_write 関数は次のとおりです。

私の通話機能は次のとおりです。

何をすべきか教えてください。前もって感謝します!!

0 投票する
1 に答える
224 参照

eclipse - [AT91SAM][DEBUGGER]Eclipse で gdbserver を設定するにはどうすればよいですか?

VM に arm-linux-gnueabi をインストールして、AT91SAM9G20 ソフトウェアをクロス コンパイルしました。クロスコンパイラは正常に動作します。

私の質問は: gdbserver を使用するように Eclipse を構成する方法は?

新しい ssh 接続を構成しました (動作中、Eclipse ターミナルにアクセスできます)。
しかし、「デバッグ」ボタンをクリックすると、ファイルのアップロード中に次のエラー メッセージが表示されました。

ファイルのアップロード中にエラーが発生しました。 の要素がありません:

問題はファイルの転送が原因のようです。手動でscpでファイルを転送すると問題ありません。

0 投票する
2 に答える
158 参照

c - 構造アライメントの安全な使用

私は、構造体の次の使用が行われている会社で初めてです。

アラインメントとパディングについていくつかのことを知っており、コンパイラ (ARM9 デバイスの場合は gnu C99) がパディングを追加して、構造体をアラインさせると想定しています。

しかし、このコードは安全ですか? 私が理解しているように、他の構造体メンバーに関係なく、変数の直後に変数が続く
限り安全です。uint16 lenint8 array[]

uint16 の前のサイズが奇数の場合にのみ、パディングを追加しますか?
この使い方は正しいですか?さらに重要なことに、それは安全ですか?