4412 裸板程序led2
来源:互联网 发布:电脑解压软件 编辑:程序博客网 时间:2024/05/16 18:14
目的:同时点亮4个LED
1、原理
原理图如上一个所示。
相关寄存器
配置寄存器:
数据寄存器:
2、程序
三个文件led2.S、led2.lds、Makefile
led2.S
.text
.global _mystart
_mystart:
/*设置GPM4_0为输出管脚*/
ldr r0, =0x110002E0 //GPM4CON地址
ldr r1, [r0] //取地址内容
bic r1, r1, #0xff00 //清除8-15位 (bic r1, r1, #0xffff这样写编译器报错)
bic r1, r1, #0xff //清除0-7位
orr r1, r1, #0x1100 //设置为输出,即设置8,12为1
orr r1, r1, #0x11 //设置为输出,即设置1,4为1
str r1, [r0] //把r1写入GPM4CON
/*设置GPM4_0数据为高电平*/
ldr r0, =0x110002E4 //GPM4DAT地址
ldr r1, [r0] //取地址内容
bic r1, r1, #0xFF //清除0-7位
str r1, [r0] //把r1写入GPM4DAT
loop: //停在这里
b loop
led2.lds
SECTIONS {
. = 0x02023400;
.text : { *(.text) }
.rodata ALIGN(4) : {*(.rodata*)}
.data ALIGN(4) : { *(.data*) }
.bss ALIGN(4) : { *(.bss) *(COMMON) }
}
Makefile
led2.bin : led2.S
arm-linux-gnueabihf-gcc -c -o led2.o led2.S
arm-linux-gnueabihf-ld -Tled2.lds -N led2.o -o led2.elf
arm-linux-gnueabihf-objcopy -O binary -S led2.elf led2.bin
arm-linux-gnueabihf-objdump -D -m arm led2.elf > led2.dis
clean:
rm -f *.dis *.bin *.elf *.o
3、编译下载
用cuteftp把述三个文件放入Ubutun中临时文件夹中编译,还要把tools文件夹放入到led2目录下如下图所示
book@book-virtual-machine:~/wang/led2$ ls
led2.lds led2.S Makefile tools
book@book-virtual-machine:~/wang/led2$ make
arm-linux-gnueabihf-gcc -c -o led2.o led2.S
arm-linux-gnueabihf-ld -Tled2.lds -N led2.o -o led2.elf
arm-linux-gnueabihf-objcopy -O binary -S led2.elf led2.bin
arm-linux-gnueabihf-objdump -D -m arm led2.elf > led2.dis
book@book-virtual-machine:~/wang/led2$ ls
led2.bin led2.dis led2.elf led2.lds led2.o led2.S Makefile tools
book@book-virtual-machine:~/wang/led2$ cd tools
book@book-virtual-machine:~/wang/led2/tools$ ls
E4412_N.bl1.bin my_mkbl2 my_mktools.c sd_fusing.sh sd_fusing.sh.bak
book@book-virtual-machine:~/wang/led2/tools$ sudo ./sd_fusing.sh /dev/sdc ../led2.bin
[sudo] password for book:
/dev/sdc reader is identified.
---------------------------------------
BL1 fusing
16+0 records in
16+0 records out
8192 bytes (8.2 kB) copied, 0.895351 s, 9.1 kB/s
---------------------------------------
BL2 fusing
28+0 records in
28+0 records out
14336 bytes (14 kB) copied, 1.09519 s, 13.1 kB/s
---------------------------------------
source file image is fused successfully.
Eject SD card and insert it to Exynos 4412 board again.
book@book-virtual-machine:~/wang/led2/tools$
此时已经下载完成,拔开读卡器插入开发板,即可看到LED1-LED4亮;
- 4412 裸板程序led2
- 来一个最简单的Linux下LED提示加载任务模块(Smart3250-LED2)
- 4412 裸板程序led1
- 4412 裸板程序led3
- spi裸板程序
- stm32学习的日子-构建库函数雏形(第1节)—寄存器结构体定义控制点亮G0Kitv2.1 LED2和LED4
- 构建库函数雏形(第1节)—寄存器结构体定义点亮GoKit v2.1开发套件LED2和LED4
- 【tiny6410】led裸板程序
- pcDuino裸板程序-led
- S3C2440裸板程序下载
- linux下程序简单编写_TQ2440第一裸板程序
- S3C 6410 LCD 裸板程序
- TQ2440串口裸板程序uart0
- micro2440串口裸板程序uart0
- OK6410串口裸板程序uart0
- s5pc100串口裸板程序uart0
- S5PC100裸板更新程序_update
- OK6410裸板更新程序_update
- 裸辞太久,要这样谈出满意的薪水!
- Eclipse启动遇到Error when loading the SDK
- Linux配置
- mybatis 调用存储过程 返回游标 实例
- MyEclipse10.0 采用插件方式安装 SVN
- 4412 裸板程序led2
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Linux 多线程 网络编程 管道 socket等相关心得
- Mybits调用存储过程和函数返回游标,parameterType值必须为java.util.Map,由于它会把返回的游标放在里面
- 百度地图大数据MapV的相关介绍
- UIButton关闭交互的三种实现方法
- Websphere 删除概要文件
- App.config 两种版本读取方式(appSettings 和 applicationSettings 的区别)
- 版本命名规则