OK6410裸机程序 ----led

来源:互联网 发布:今日头条php源码 编辑:程序博客网 时间:2024/04/25 23:41

start.S


.globl _start_start:      # set peripheral  addressldr r0,=0x70000000orr r0,r0,#0x13mcr p15,0,r0,c15,c2,4        bl main



main .c


#define  GPMCON    *(unsigned int *)   0X7F008820#define  GPMDAT   *(unsigned int *)   0X7F008824#define  GPMPUD    *(unsigned int *)   0X7F008828void init_gpio(void);void set_led_light(void);void set_led_lit(void);void delay(void);void main(void){   init_gpio();   set_led_light();   while(1)   {set_led_light();delay();set_led_lit();delay();   }}void init_gpio(void){GPMCON = 0x1111;}void set_led_light(void){  GPMDAT = 0x0a;}void set_led_lit(void){  GPMDAT = (~0x0a) & 0xff;}void delay(void){  unsigned int i = 100000;  while(i--);} 

lds

 

SECTIONS{. = 0X50008000;.text : {start.o main.o}}

makefile


led_c.bin:main.o  start.oarm-linux-ld -T code.lds   -o led.elf   $^arm-linux-objcopy -O binary led.elf  led.bin%.o : %.Sarm-linux-gcc -o $@ $< -c%.o : %.carm-linux-gcc -o $@ $< -c clean:rm *.o *.elf *.bin *.dis  -rf





0 0