历史上的今天
今天是:2024年10月12日(星期六)
2018年10月12日 | OK6410裸机汇编:1th_led
2018-10-12 来源:eefocus
start.S文件:
.globl _start
_start:
1、硬件相关的设置:
把外设的基地址告诉CPU,因为内存和外设寄存器的访问方式不同,所以要告诉CPU外设地址范围:
0 ~ 0x6fff ffff为内存的地址空间,0x7000 0000 ~ 0x7fff ffff为外设寄存器的地址空间
ldr r0, =0x70000000
orr r0, r0, #0x13
mcr p15,0,r0,c15,c2,4 @ 256M(0x70000000-0x7fffffff)
2、关看门狗 ,往WTCON(0x7E004000)写0
ldr r0, =0x7E004000
mov r1, #0
str r1, [r0]
3、设置GPMCON让GPM3作为输出引脚
ldr r1, =0x7F008820
mov r0, #0x1000
str r0, [r1]
4、设置GPMDAT让GPM3输出0
ldr r1, =0x7F008824
mov r0, #0
str r0, [r1]
halt:
b halt
=====================================================================
Makefile文件:
led.bin: start.o
arm-linux-ld -Ttext 0 -o led.elf start.o
arm-linux-objcopy -O binary led.elf led.bin
arm-linux-objdump -D led.elf > led.dis
start.o : start.S
arm-linux-gcc -o start.o start.S -c //-c只编译不链接
clean:
rm *.o led.elf led.bin led.dis
=====================================================================
下载测试,下载方法可以参考“烧写OK6410裸板方法汇总”章节介绍:
用SecureCRT下载led.bin:
tftp 0x50008000 led.bin
go 0x50008000
即可看到程序运行效果。
史海拾趣
|
大家好,我是一名大三的学生,学的是嵌入式方向的,但我们现在才学嵌入式操作系统,都TMD还是理论,学了等于没学,就上学期还学了个汇编,现在一学期都快过完了,感觉什么关于嵌入式方面的都没学到,如果靠下学期再来学点东西,以后出去就别想混了 ...… 查看全部问答> |
|
先详细解释一下标题的意思。 我的播放器运行在wince5.0中,我编写了各种各样的播放器,有使用WMP的,有使用TCPMP的,有使用用DSHOW的,都会有这么个情况: 我要跳转到视频的某个位置,比如说10s,不能准确的设置到10s,而 ...… 查看全部问答> |
|
用核心板做一款机器,最后做电源管理才发现PWREN给悬空了,且VDDi,VDDiarm和VDDalive一起供电,休眠省电基本不用想了,现在我想仅靠降低CLOCK时钟降低功耗,比如进入SLOW模式,能将2440电流降低到多少?哪位试验过? 另外在wince系统运行时候转换n ...… 查看全部问答> |
|
请教各位帮忙单步跟踪一下下面这个程序 #include \"stdafx.h\" #include #include using namespace &n ...… 查看全部问答> |
|
本公司(知名国企)正在寻求IPCamera(网络摄像机)的技术合作,包括嵌入式开发+硬件设计、中心 管理平台开发。有特色的产品,可提供整机、主板,或者能提供优秀的硬件方案的亦可。 合作方式多种,可技术转让、兼职或者全职。 &nb ...… 查看全部问答> |
|
程序先前一直没问题,后来改程序又加了几条语句,在编译过程中就有一个错误:Code size limit exceeded(4096 code bytes)for this version of the compiler 4212bytes of CODE memory 10bytes of CONST memory(+4bytes shared) 544bytes of DATA me ...… 查看全部问答> |




