之前寫過文章,描述在Linux環(huán)境下搭建ARM11的開發(fā)環(huán)境,有需要的可以在ARM11標簽中進行查找。
目前在學習ARM11的裸機編程,不想用虛擬機跑Linux來進行開發(fā),因為平時用的筆記本電腦的配置跑虛擬機還是有點困難(我的臺式機跑虛擬機還是沒問題的),現在講述一下如何在Windows中搭建ARM11的裸機開發(fā)環(huán)境,方便沒法使用虛擬機的朋友也能夠進行ARM11的開發(fā)。
系統(tǒng)環(huán)境:Windows 7 64位;
ARM11:Tiny6410;
1、交叉編譯工具 - GNU Tools ARM Embedded
使用這個交叉編譯工具就可以將程序編譯成能在ARM11上運行的文件。這里將GNU Tools ARM Embedded的bin目錄添加到系統(tǒng)的環(huán)境變量中,然后打開控制臺輸入:arm-none-eabi-gcc -v,查看環(huán)境變量配置是否成功,如果環(huán)境變量配置成功了,那么會正確的顯示arm-none-eabi-gcc的版本號:
2、MSYS
MSYS是一個小型的GNU環(huán)境,包括基本的bash,make等等。對裸機程序通過Makefile文件進行管理與編譯,并且通過MSYS的make來執(zhí)行Makefile文件的內容。
將msys/1.0/bin目錄下的路徑添加到系統(tǒng)的環(huán)境變量中,然后打開控制臺輸入:make -v,查看環(huán)境變量配置是否成功,如果環(huán)境變量配置成功了,那么會正確的顯示make的版本號:
3、編譯程序
start.S文件的內容如下:
/* *By:Ailson Jack *Date:2019.04.29 *Des:匯編點亮LED <> *LED1~LED4對應GPK4~GPK7 *Blog:www.only2fire.com */ .global _start _start: // 把外設的基地址告訴CPU ldr r0, =0x70000000 //對于6410來說,內存(0x00000000~0x60000000),外設(0x70000000-0x7fffffff) orr r0, r0, #0x13 //外設大小:256M mcr p15,0,r0,c15,c2,4 //把r0的值(包括了外設基地址+外設大小)告訴cpu // 關看門狗,防止程序不斷重啟 ldr r0, =0x7E004000 //看門狗控制寄存器 mov r1, #0 str r1, [r0] // 設置GPKCON0 ldr r1, =0x7F008800 ldr r0, =0x11110000 //GPK4,GPK5,GPK6,GPK7為輸出模式 str r0, [r1] mov r2, #0x1000 led_blink: // 設置GPKDAT,使GPK_4/5/6/7引腳輸出低電平,LED亮 ldr r1, =0x7F008808 mov r0, #0 str r0, [r1] // 延時 bl delay // 設置GPKDAT,使GPK_4/5/6/7引腳輸出高電平,LED滅 ldr r1, =0x7F008808 mov r0, #0xf0 str r0, [r1] // 延時 bl delay sub r2, r2, #1 cmp r2,#0 bne led_blink halt: b halt delay: mov r0, #0x1000000 delay_loop: cmp r0, #0 sub r0, r0, #1 bne delay_loop mov pc, lr /*子程序返回*/
Makefile文件的內容如下:
#By:AilsonJack #Date:2019.05.01 #Des:Makefile文件 #Blog:www.only2fire.com #備注:$@--目標文件,$^--所有的依賴文件,$<--第一個依賴文件 PREFIX?=?arm-none-eabi- #PREFIX?=?arm-linux- CC?=?$(PREFIX)gcc LD?=?$(PREFIX)ld OBJCOPY?=?$(PREFIX)objcopy OBJDUMP?=?$(PREFIX)objdump led.bin:?start.o ?$(LD)?-Ttext?0x50000000?-o?led.elf?$^ ?$(OBJCOPY)?-O?binary?led.elf?led.bin ?$(OBJDUMP)?-D?led.elf?>led_elf.dis %.o:%.S $(CC)-c-g$-o?$@ %.o?:?%.c ?$(CC)?-c?-g?$-o?$@ clean: ?rm?-rf?*.o?*.elf?*.bin?*.dis
在LED程序文件中,打開控制終端,然后執(zhí)行make命令來編譯LED程序:
將編譯好的led.bin文件通過友善之臂提供的MiniTools下載到ARM11板子中,就可以看到核心板的4個小燈在閃爍了。
-
ARM
+關注
關注
134文章
9005瀏覽量
366018 -
Linux
+關注
關注
87文章
11158瀏覽量
208457 -
WINDOWS
+關注
關注
3文章
3509瀏覽量
88199 -
編譯
+關注
關注
0文章
646瀏覽量
32737 -
虛擬機
+關注
關注
1文章
897瀏覽量
27960
原文標題:S3C6410學習筆記-Windows下搭建ARM11裸機開發(fā)環(huán)境(1):工具安裝
文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論