您的位置 首页 FPGA

在ubuntu下开发ARM裸机程序--S3C6410—LED

很多人都是在ads或者rvds或keil中开发ARM裸机程序,使用此类的开发工具虽然简单但是却不能使开发者很好的掌握更多程序原理,要想更好的掌握…

很多人都是在ads或许rvds或keil中开发ARM裸机程序,运用此类的开发工具尽管简略可是却不能使开发者很好的把握更多程序原理,要想更好的把握更多程序细节,感觉仍是最好运用arm-linux-进行开发。

转载请注明出处,谢谢,张同浩:http://blog.csdn.net/muge0913/article/details/15016959

邮箱:muge0913@sina.com

下面是一个简略的点亮led灯的程序,在tiny6410上运转。其间set_peri_port函数是必需要增加的,这样才干访问到s3c6410的外设空间。

@@ File:led_on.S@ 功用:LED点灯程序,点亮LED1@       .equ		WATCHDOGCON,	0x7e004000.equ		LEDCON,			0x7f008800.equ		LEDDAT,			0X7f008808.text.global _start_start:     bl		setup_peri_portbl		disable_watch_dogbl		setup_spbl		display_ledMAIN_LOOP:b       MAIN_LOOPdisable_watch_dog:@往WATCHDOG寄存器写0即可ldr r0,=WATCHDOGCONmov r1,#0x0str r1,[r0]mov pc,lrsetup_sp:@现在仓库巨细不能超过8kldr	sp,=1024*8mov pc,lrsetup_peri_port:ldr r0,=0x70000013		@base addres:0x70000000,size:256MBmcr p15,0,r0,c15,c2,4mov pc,lrdisplay_led:ldr r0,=LEDCON	    @ R0设为LEDCON,即GPKCON0寄存器。此寄存器@ 用于挑选端口K各引脚的功用:@ 是输出、是输入、仍是其他mov r1,#0x110000        str r1,[r0]             @ 设置GPK4,5为输出口ldr r0,=LEDDAT	    @ R0设为GPKDAT寄存器。此寄存器@ 用于读/写端口B各引脚的数据mov r1,#0x00000000      @ 此值为0x000000,低电平点亮ledstr r1,[r0]             @ GPK4,5输出0,LED4,5点亮mov	pc,lr

Makefile文件如下:

led_on.bin : led_on.sarm-linux-gcc -g -O0 -c -o led_on.o led_on.sarm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elfarm-linux-objcopy -O binary -S led_on_elf led_on.binclean:rm -f   led_on.bin led_on_elf *.o

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/265168.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部