開発ボードの回路図LEDの位置合わせを検索
LED8インジケータは、ケーブルインターフェイスです。
ここでは、手動のチップを読んで、EINT4 / GPF4に接続されているLED1あるアセンブリコードD10を、制御しよう
出力ピンをLowのS3C2440を制御するLED1、GPF4が必要点灯所望であれば回路図を見ることができます。
GPFCON = 0x56000050
GPFDAT = 0x56000054
GPFUP = 0x56000058
=========================
出力モードを設定するための直接的組0x56000050 = 0x100のピンGPF4
セット0x56000054 0x00のGPF4出力レベル設定が0であります
0x56000058の0x10が引か内部GPF4を有効にしない設定
ですから、ライトが点灯して変更するように制御することができ、コンパイルは書き方をすべきですか?
まず、あなたがコードをコンパイルできるようにするには、クロスツールチェーンを設定する必要があり、リンクを参照してください。https://jingyan.baidu.com/article/647f01151899607f2148a8f2.htm
効果を与えるために、ソースは/ etc / profile
彼は、それが発効していると述べました。
画像に示すように、あなたはまだ、コマンドプロンプト見つけることができない場合
ファイル名を指定して実行アームのlinux-gccの-v、彼らもプロンプトはbash:/usr/local/arm/2.3.6/bin/arm-linux-gcc:そのようなファイルやディレクトリはありません
32ビットライブラリがインストールされていないので、それは、この時点で注意しなければならない、実行はsudo apt-getをインストールlib32ncurses5 lib32z1
あなたは、バージョン番号、説明、環境OKを表示することができた場合、コマンドを実行した後、再びチェックしてください。
コード:
。テキスト .GLOBAL _start _開始: LDR R0、= 0x56000050 @これは、メモリ操作命令で、最初のアドレスレジスタはR0にロードされます @ @ MOV R1,#0x00000100 @ 将0x00赋值给R1 STR R1,[R0] @ 内存的反向操作, 将R1的值存到R0地址处. 括号代表类似于取指针 LDR R0,=0x56000054 @ 同样操作 @ MOV R1,#0x00000000 @ @ STR R1,[R0] @ MAIN_LOOP: @ 死循环 B MAIN_LOOP
Makefile
led_on.bin : led_on.S # 编译的顺序 -- 预处理, 编译, 汇编, 链接 arm-linux-gcc -g -c -o led_on.o led_on.S # 汇编 arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elf #链接并指定运行地址 arm-linux-objcopy -O binary -S led_on_elf led_on.bin #将ELF格式的可执行文件转换成二进制文件 clean: rm -f led_on.bin led_on_elf *.o