主に、今日見て、正式tiny4412を学ぶの開発に入った今日起動とプロセスのメモリマップとExynos4412データシートTiny4412を開始し、コンパイルはマーキープログラム(C言語のバージョンが続くでした私の開発環境についてお話ししましょう:
開発ボード:Tiny4412拡張版(底板はTiny4412ADK 1312です)
開発ツール:UltraEdit
ホスト:VmWare Ubuntu12.04(64bit)
編集ツール:arm-linux-gcc4.5.1
分類管理を容易にするために、私たちはTiny4412学習エリアを特別にオープンしました。皆さんのお役に立てばと思います、下に入力してくださいトピックは、マーキープログラムについて話します。
1.制御原理の説明
tiny4412コアボード
まず概略図を見てください:
tiny4412-led概略図
tiny4412-led概略図
上図に示すように、Tiny4412には4つのユーザLEDがあり、4つのピンはGPM4_0〜GPM4_3で、IOピンがハイのときはLEDがオフ、IOピンがローのときはLEDが消灯します。 LEDは明るいです。私たちがしなければならない仕事は、出力機能としてGPM4_0〜GPM4_3を設定することです、そして、制御と出力レベルは高いか低いことができます。
2番目に、プログラムの説明
1.led.S
概略図から、プログラムは2つのステップしか実行しないことがわかります。
最初のステップ: GPM4_0〜GPM4_3に対応するコントロールレジスタGPM4CONを設定し、4本のピンGPM4_0〜GPM4_3が出力機能になるようにします。
Tiny4412-GPM4CON
ステップ2:対応するデータレジスタGPM4DATの対応する4ビットを0に設定し、GPM4_0〜GPM4_3をローにし、4つのLEDをすべて点灯させ、しばらく待ちますTimeは、最初のライトだけが点灯するように0番目のビットを0に設定し、残りのビットを1に設定し、2番目のライトだけが点灯するように残りのビットを1に設定します。第2のビットが0に設定されている唯一の第三の光ように、残りのビットは、1に設定され、がGPM4_0ためにいくつかの時間を待つ〜、ビット3が0に設定された時間の期間を待つだけ第四の光がそのよう、残りのビットは、1に設定しますGPM4_3はすべてハイレベルで、4つのLEDライトはすべて消灯しています。これはマーキー効果を達成する。
プログラムコードには、ここに関連する説明もあります。
.text.globl _start_start:/**出力としてGPM4を設定する* /LDR R0、= 0x110002E0 //GPM4CONアドレス0x110002E0ldr R1であり、[R0] //最初の元の値のBICを読み取るR1、R1、#は0xFF00 //クリアビット[15:8] BIC R1、R1は、#1は0xFF //クリアビット[7:0] ORR R1、R1、#は0x1100 //設定ビット[15:8]は0b00010001orr R1、R1、#0x11を//設定ビット[7:0] [R0] //書き込みGPM4CON /** LEDの低さGPM4DATを設定する* /LDR R0、= 0x110002E4 //GPM4DATアドレス0x110002E0ldr R1、[R0] //読み出され、0b00010001str R1であります元の値のleds_loop:BIC R1、R1、#0xFの//クリアビット[0-3]は0フル明るいSTR r1のある、[R0] //書き込みGPM4DATldr R2、= 0xffffffbl delayorr R1、R1、#から0xE //セットビット[0]が0 LED1用のSTR R1を点灯し、[R0] //書き込みGPM4DATldr R2、= 0xffffffbl delaybic R1、R1、#を0x3 //設定ビット[1] 0 LED2光であるORR R1、R1、#1str R1、 [R0] //書き込みGPM4DATldr R2、= 0xffffffbl delaybic R1、R1、#//設定ビット0x6に[2] 0 LED3光であるORR R1、R1、#2str R1、[R0] //書き込みGPM4DATldr R2、= 0xffffffbl delaybic R1、R1、#から0xC //設定ビット[3] 0 LED4明るいORR R1、R1、#4str R1、[R0] //書き込みGPM4DATldr R2、= 0xffffffbl delayorr R1、R1、 #0xfstr R1、[R0] //はGPM4DAT Quanmie LDR R2、= 0xffffffbl DELAYB leds_loophalt_loopを書き込む:Bのhalt_loopdelay://マーキー遅延プロシージャサブR2、R2、#1 //サブ減算のCMP R2、#1は0x0 //r0と0を比較するbne delay //bジャンプが等しくない、等しくない、delaymovにジャンプする、関数を呼び出すときに次の命令に格納されているlr /lr、lrを指すポインタを関数lcに任せるReturn
2. MakeFile説明
led.bin:led.Sarm-linux-gcc -c -o led.o led.Sarm-linux-ld -Tled.lds -N led.o -o led。 elfarm-Linuxの-objcopyを-Oバイナリ-S led.elf led.binarm-Linuxの-objdumpは-D -mアームled.elf> led.disclean:RM -f * .DISの.bin *で.elf *の.o
Makefileがあるディレクトリでmakeコマンドを実行すると、システムは次のことを行います。
dateコマンドdateコマンドの機能は、システムの日付と時刻を表示および設定することです。コマンドの一般的なフォーマットは次のとおりです。date [options]時間フォーマットの表示(+で始ま
RedHat Linuxは、システムセキュリティを向上させるためのファイアウォール保護を提供します。コンピュータとネットワークの間にファイアウォールが存在し、コンピュータ上のどのリソースにネットワーク
ACLは、アクセス制御リストの略語です、主な目的は、詳細な権限に加えて、伝統的な所有者、グループ、他の人の読み取り、書き込み、実行権限を提供することです。 ACLを使用して、単一のユーザー、単一のファ
方法は次のとおりです。 1. .htaccessファイルを使用する必要があるディレクトリ(新しいDiscuzフォーラムディレクトリなど)に新しい.htaccessファイルを作成します。 Vim