2016-06-19 10 views
-1

LPC1768のアセンブリを書きたいが、リンクしても動作しない。 これは私のプログラムです、私はLEDを点灯させたい。私はこれらのコマンドを使用NXP LPC1768のARMアセンブリ

STACK_TOP EQU  0x10008000 
AREA | Header Code |,CODE 
DCD STACK_TOP 
DCD START 
ENTRY 

START 

MOV R0,#0XFF 
LDR R1,=0x2009C040 
STRB R0,[R1] 

MOV R0,#0XFF 
LDR R1,=0x2009C054 
STRB R0,[R1] 

deadloop 
B deadloop 

END 

armasm --cpu cortex-m3 -o lamp.o lamp.s 
armlink --rw_base 0x10000000 --ro_base 0x0 --map -o lamp.elf lamp.o 
fromelf --bin --output lamp.bin lamp.elf 
+0

実行しようとするとどうなりますか?あなたの質問に正確なエラーメッセージを編集してください。 –

+0

私のマイクロ上で動作しないのは、LEDをオンにしないことを意味します! –

答えて

1

だから、最初のオフを、分解がどのようなもの?それは正しくベクトルテーブル32ビットスタックアドレスを生成した後、32ビットスタートアドレスorred(1ビットセット)?もちろん、これはフラッシュからロードされ、RAMから実行されていないと仮定します。ラムからの場合は、別の可能性が最も高いか、エントリポイントへのオフセットを知りたいとします。

すべてのport2ピンを出力に設定しています。それらを高く設定します。

ハイに設定するか、ハイにするとLEDが点灯しますか? (gpio、led、抵抗、そしてvccまたはgroundのどちらかにする必要があります。これをオンにするとハイになり、グランドにする必要があります.vccの場合、ポートピンをLowに設定します)。 (部品がどのような順序であっても、抵抗器が導かれているか、または抵抗器が導かれているかは関係ありません)

私の推測では、あなたが読んでいませんでしある:

有効なユーザーコードのための基準

予約のCortex-M3の例外ベクタ位置7は、(ベクタテーブル内の0x 001Cをオフセット)小切手の2の補数が含まれている必要があります-sumテーブルエントリ0〜6。これにより、最初の8つのテーブルエントリのチェックサムが0になります。ブートローダコードはフラッシュのセクタ0の最初の8つのロケーションをチェックサムします。結果が0の場合、実行制御はユーザーコードに移ります。 ...

のデータシートには?

Hmmm、またはこれをRAMから実行したいですか? roアドレスを0x10000xxxに設定する必要があり(下記参照)、ベクターテーブルは必要ありません。

データシートにも書かれています:ISPコマンドハンドラによって使用される

RAMは

ISPコマンドはの0x1000 01FFに0x1000を0118からオンチップRAMを使用します。ユーザーはこの領域を使用できますが、リセット時に内容が失われる可能性があります。フラッシュプログラミングコマンドは、オンチップRAMの上位32バイトを使用します。スタックはRAM top-32に配置されています。スタックの最大使用量は256バイトで、下方向に大きくなります。

だから、基本的には、ブートローダのために基本的に0x200バイトを予約している人がいます。 0x10000000の代わりに0x10000200から開始してください。何らかの理由で私は0x10000800を使用するより寛大です。一部の人々は、ISPツールを使用していなくても、常に0x200バイトを予約しています。

フラッシュから実行したいroアドレスとrwアドレスとベクタテーブルから推測します。そこにチェックサムを取得する必要があります。また、ベクトルテーブルに開始のための奇数アドレスがあることを確認するために逆アセンブルすることをお勧めします。恐らくそこにいくつかの他のベクトルを入れてチェックサムのスペースを埋めることができます。

+0

ありがとうございます!私を助けてくれた! 私に正しいコードを教えてもらえますか?同じメモリアドレスで! –

+0

そこに多くの例があります、ただ一つを使用してください... –

+0

私は非常にgoolgeで検索しかし、私はLPC1768のためのアセンブリを見つけることができません LPC1768のためのプログラムアセンブリがあれば!私にそれを与えなさい...!おかげで多くの –

関連する問題