4412 裸板程序led1

目的:实现点亮一个LED

开发工具:ubutun,Ultraedit,Tiny4412super4412sdk,cuteftp

1、原理


实际上对应的时GPM0-3,不知道是不是写错了;


只用设置配置寄存器(设置输入输出)和数据寄存器(设置高电平还是低电平)即可控制LED



2、编程部分

需要三个文件led1.S、led1.lds、lMakefile

led1.S

.text
.global _mystart
_mystart:
/*设置GPM4_0为输出管脚*/
ldr r0, =0x110002E0        //把配置寄存器的地址赋值给r0
ldr r1, [r0]                       //把r0地址的内容赋值给r1

mov r1, #0x01               //
str r1, [r0]

/*设置GPM4_0数据为高电平*/
ldr r0, =0x110002E4
ldr r1, [r0]
mov r1, #0x01
str r1, [r0]

loop: 
b loop


led1.lds

SECTIONS {
    . = 0x02023400;
    .text          :   { *(.text) }
    .rodata ALIGN(4) : {*(.rodata*)} 
    .data ALIGN(4) : { *(.data*) }
    .bss ALIGN(4)  : { *(.bss)  *(COMMON) }
}


Makefile

led1.bin : led1.S
arm-linux-gnueabihf-gcc -c -o led1.o led1.S
arm-linux-gnueabihf-ld -Tled1.lds -N led1.o -o led1.elf
arm-linux-gnueabihf-objcopy -O binary -S led1.elf led1.bin
arm-linux-gnueabihf-objdump -D -m arm  led1.elf > led1.dis
clean:
rm -f *.dis *.bin *.elf *.o

3、编译下载

用cuteftp把述三个文件放入Ubutun中临时文件夹中编译,还要把tools文件夹放入到led1目录下如下图所示

book@book-virtual-machine:~/wang/led1$ ls 
led1.lds  led1.S  Makefile  tools
book@book-virtual-machine:~/wang/led1$ make 
arm-linux-gnueabihf-gcc -c -o led1.o led1.S
arm-linux-gnueabihf-ld -Tled1.lds -N led1.o -o led1.elf
arm-linux-gnueabihf-objcopy -O binary -S led1.elf led1.bin
arm-linux-gnueabihf-objdump -D -m arm  led1.elf > led1.dis
book@book-virtual-machine:~/wang/led1$ ls 
led1.bin  led1.dis  led1.elf  led1.lds  led1.o  led1.S  Makefile  tools
book@book-virtual-machine:~/wang/led1$ cd tools 
book@book-virtual-machine:~/wang/led1/tools$ ls 
E4412_N.bl1.bin  my_mkbl2  my_mktools.c  sd_fusing.sh  sd_fusing.sh.bak
book@book-virtual-machine:~/wang/led1/tools$ sudo ./sd_fusing.sh  /dev/sdc ../led1.bin
[sudo] password for book: 
/dev/sdc is NOT identified.
./sd_fusing.sh: 23: exit: Illegal number: -1
book@book-virtual-machine:~/wang/led1/tools$ 

插入读卡器

book@book-virtual-machine:~/wang/led1/tools$ sudo ./sd_fusing.sh  /dev/sdc ../led1.bin
/dev/sdc reader is identified.
---------------------------------------
BL1 fusing
16+0 records in
16+0 records out
8192 bytes (8.2 kB) copied, 0.29909 s, 27.4 kB/s
---------------------------------------
BL2 fusing
28+0 records in
28+0 records out
14336 bytes (14 kB) copied, 0.946545 s, 15.1 kB/s
---------------------------------------
source file image is fused successfully.
Eject SD card and insert it to Exynos 4412 board again.

此时已经下载完成,拔开读卡器插入开发板,即可看到LED1亮;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wz2051900044

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值