S5PV210的LED应用(一)

来源:互联网 发布:win7网络受限制 编辑:程序博客网 时间:2024/05/21 18:38
准备分析
 
     看似就一个LED,但是S5PV210不同于S3C2440,不是在于LED,而是在于从NandFlash启动的过程中不一样。对于S3C2440,只要程序没有问题,想办法下载程序到NandFlash的0地址处一般都是可以正常运行的,下载的方法无非采用开发板厂家下载BOOTLOADER的方法来下载。S5PV210启动时从NandFlash的0地址拷贝时候会拷贝前16k,但是会读取前16byte进行与和校验值做比较。所以略显麻烦。

资源工具

       1.开发板:tiny210v2
       2.关于头信息使用:mkv210_image.c
       3.交叉工具链:arm-linux-gcc-4.5.1
       4.LED1对应的管脚:GPI2_0

着手写程序

  1. @******************************************************************************  
  2. @ File:start.S  
  3. @ 功能:LED点灯程序,点亮LED1  
  4. @******************************************************************************         
  5.               
  6. .text  
  7. .global _start  
  8. _start:       
  9.             ldr     R0,=0xE0200280      @ R0设为GPJ2CON寄存器。此寄存器  
  10.                                         @ 用于选择端口J各引脚的功能:  
  11.                                         @ 是输出、是输入、还是其他  
  12.             mov     R1,#0x00000001          
  13.             str     R1,[R0]             @ 设置GPJ2_0为输出口, 位[10:9]=0b01  
  14.             ldr     R0,=0xE0200284      @ R0设为GPJ2DAT寄存器。此寄存器  
  15.                                         @ 用于读/写端口GPJ2各引脚的数据  
  16.             mov     R1,#0x00000000      @ 此值改为0x00000001,  
  17.                                         @ 可让LED1熄灭  
  18.             str     R1,[R0]             @ GPJ2_0输出0,LED1点亮  
  19. MAIN_LOOP:  
  20.             b       MAIN_LOOP  

Makefile:

  1. led.bin: start.o   
  2.     arm-linux-ld -Ttext 0x0 -o led.elf $^  
  3.     arm-linux-objcopy -O binary led.elf led.bin  
  4.     arm-linux-objdump -D led.elf > led_elf.dis  
  5.     gcc mkv210_image.c -o mkv210  
  6.     ./mkv210 led.bin 210.bin  
  7.       
  8. %.o : %.S  
  9.     arm-linux-gcc -o $@ $< -c  
  10.   
  11. %.o : %.c  
  12.     arm-linux-gcc -o $@ $< -c   
  13.   
  14. clean:  
  15.     rm *.o *.elf *.bin *.dis mkv210 -f  

下载运行

       1.根据开发板使用手册先将superboot烧到SD卡上,在images/FriendlyARM.ini中添加"USB-Mode = yes",然后以SD卡方式启动开发板。
       2.按照下图配置进行烧写,这样就烧写到了NandFlash的0地址处。


运行调试
 
      程序简单,运行正常。
0 0
原创粉丝点击