mini2440的裸板程序-tftp烧写

1、得使用好用到uboot加裸板程序

2、裸板程序如下:

 

ledon.S

.text
.global _start
_start:
	LDR R0,=0x56000010  @R0设置为GPBCON寄存器。此寄存器用于选择端口B各引脚的功能:是输出、输入或者其他

	MOV R1,#0x00001400 @设置R1=0x00000100,LED1 on,LED2 off,GPB5/GPB6 output port,
	@GPB5,bit11:bit10=0b01;GPB6,bit13:bit12=0b01
	@GPBCON=0b0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0100 0000 0000
	@GPBCON=0x00001400
	
	STR R1,[R0] @R0中放入R1. 设置GPB5 GPB6为输出引脚,为[11:10]=0b01 ,[13:12]=0b01
				@以上完成了GPFCON寄存器的设置,此时GPB5  GPB6 为输出引脚
	LDR R0,=0x56000014 @R0设为GPBDAT寄存器,此寄存器用于读取/写入端口B各引脚的数据
	MOV R1,#0x00000040 @R1改为0x00000040
						@GPB5 output low,GPB6 output high,bit5=0b0,bit6=0b1

	STR R1,[R0] @R0中,放入R1。GPB5输出0,LED1点亮,GPB6输出1,LED2 not bright
MAIN_LOOP:
	B MAIN_LOOP

	

Makefile

CFLAGS 	:= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -ffreestanding
ledon.bin:ledon.S
	arm-linux-gcc -g -c ledon.S -o ledon.o 
	arm-linux-ld  -Ttext  0x00000000 ledon.o -o ledon_elf
	arm-linux-objcopy -O binary  -S ledon_elf ledon.bin
clean:
	rm -rf  *.bin *elf *.o

生成二进制文件

ledon.bin

3、uboot阶段设置板子及相关烧写命令如下:

setenv ipaddr 192.168.2.226
setenv serverip 192.168.2.27
setenv gatewayip 192.168.2.255
saveenv


tftp 0x30008000 u-Superboot2440.bin;nand erase 0 0x60000;nand write 0x30008000 0 0x60000
tftp 0x30008000 ledon.bin;nand erase 60000 500000;nand write 0x30008000 0x60000 0x500000

or


tftp 0x30008000 u-boot.bin;nand erase 0 0x60000;nand write 0x30008000 0 0x60000
tftp 0x30008000 ledon.bin;nand erase 60000 500000;nand write 0x30008000 0x60000 0x500000
 

4、烧写后,重启就可以看到效果。

你可能感兴趣的:(mini2440友善之臂开发板)