問題タブ [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.
c - ベア メタル アーム (AM1808) - キック レジスタからの読み取り
ベア メタル AM1808 でピンの多重化を試みていますが、キック レジスタを書き込めないようです。より具体的には、書き込もうとした値を読み戻すことができないようです。
これが私のコードです:
出力:
スーパーバイザー モードになっているのに、一般的にキック レジスタを読み取ることができませんか? その場合、syscfg を正しくロック解除したかどうかをテストするにはどうすればよいですか?
更新: 結局のところ、私が抱えていた問題は、ピンの多重化やキック レジスタとは関係ありませんでしたが、代わりに、正しく多重化された GPIO ピンを使用する最上位ロジックにエラーがありました。混乱させて申し訳ありません。
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 書き込み保護は、アプリからの書き込み要求がある場合にのみ有効になるように、ハードウェア ピンを介して制御されました。
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 関数は次のとおりです。
私の通話機能は次のとおりです。
何をすべきか教えてください。前もって感謝します!!
eclipse - [AT91SAM][DEBUGGER]Eclipse で gdbserver を設定するにはどうすればよいですか?
VM に arm-linux-gnueabi をインストールして、AT91SAM9G20 ソフトウェアをクロス コンパイルしました。クロスコンパイラは正常に動作します。
私の質問は: gdbserver を使用するように Eclipse を構成する方法は?
新しい ssh 接続を構成しました (動作中、Eclipse ターミナルにアクセスできます)。
しかし、「デバッグ」ボタンをクリックすると、ファイルのアップロード中に次のエラー メッセージが表示されました。
問題はファイルの転送が原因のようです。手動でscpでファイルを転送すると問題ありません。
c - 構造アライメントの安全な使用
私は、構造体の次の使用が行われている会社で初めてです。
アラインメントとパディングについていくつかのことを知っており、コンパイラ (ARM9 デバイスの場合は gnu C99) がパディングを追加して、構造体をアラインさせると想定しています。
しかし、このコードは安全ですか? 私が理解しているように、他の構造体メンバーに関係なく、変数の直後に変数が続く
限り安全です。uint16 len
int8 array[]
uint16 の前のサイズが奇数の場合にのみ、パディングを追加しますか?
この使い方は正しいですか?さらに重要なことに、それは安全ですか?