完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在4412上点灯,bl1用厂商的,BL2中点一个灯,写着while(1){}死循环,但是灯亮一秒就灭了是啥情况,首先BL2是进去了,灯亮了,查看了反汇编也没发现问题,有可能是TF卡问题吗?
start.c是下面的: .global _start _start: //set stack ldr sp, =0x02028300 bl led_blink halt: b halt led.c是下面的: #define GPL2CON (*(volatile unsigned long *) 0x11000100) #define GPL2DAT (*(volatile unsigned long *) 0x11000104) #define GPK1CON (*(volatile unsigned long *) 0x11000060) #define GPK1DAT (*(volatile unsigned long *) 0x11000064) void led_blink(void) { int i; GPL2CON = 0x00000001; GPK1CON = 0x00000010; GPL2DAT = 1; GPK1DAT = 0x2; while(1) { } } Makefile下面这样: led.bin: start.o led.o ARM-none-linux-gnueabi-ld -Ttext 0x02023400 -o led.elf $^ arm-none-linux-gnueabi-objcopy -O binary led.elf led.bin arm-none-linux-gnueabi-objdump -D led.elf > led_elf.dis %.o : %.S arm-none-linux-gnueabi-gcc -o $@ $< -c -nostdlib %.o : %.c arm-none-linux-gnueabi-gcc -o $@ $< -c -nostdlib clean: rm *.o *.elf led.bin *.dis -f 很简单,不知道啥原因。。。 |
|
相关推荐
5个回答
|
|
加上关闭看门狗试试:
.global _start _start: // 关闭看门狗 ldr r0, =0x10060000 mov r1, #0 str r1, [r0] |
|
|
|
关看门狗这代码本来是有的,我看IROM的代码做了就在 start.S里去掉了,现在加上去还是没用啊
|
|
|
|
|
|
试一下这个代码
|
|
|
|
谢谢答疑啊,不过试了下还是不行,老样子。。。估计硬件有问题可能
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2181 浏览 6 评论
1983 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4541 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:57 , Processed in 0.715303 second(s), Total 84, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号