完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
把linux系统擦除了不能运行含有c语言的裸机程序,全汇编编写的程序正常运行。能帮我看看什么问题么?下面是程序: /************** start.S **************/ .globl _start _start: #define Base_addr 0x70000000 ldr r0, =Base_addr orr r0, #0x13 mcr p15,0,r0,c15,c2,4 #define WTCON 0x7E004000 ldr r0, =WTCON mov r1, #0 str r1, [r0] ldr sp, =8*1024 bl led_main halt: b halt /************** led.c **************/ #define u32 volatile unsigned int #define GPMCON (*(u32 *)(0x7F008820)) #define GPMDAT (* (u32 *)(0x7F008824)) void delay() { u32 i = 0x10000; while(i--); } void led_main() { u32 tmp; GPMCON |= 0x1111; GPMDAT |= 0x1111; while(1) { tmp = GPMDAT; tmp <<= 1; tmp &= 0xF; if(tmp != 0xE) tmp |= 1; GPMDAT &= ~0xF; GPMDAT |= tmp; delay(); } } /************** Makefile **************/ led.bin : start.o led.o arm-linux-ld -Ttext 0 -o led.elf $^ arm-linux-objcopy -O binary led.elf led.bin arm-linux-objdump -D led.elf > led.dis %.o : %.c arm-linux-gcc -o **@ **^ -c %.o : %.S arm-linux-gcc -o **@ **^ -c clean: rm *.o *.elf *.dis *.bin |
|
相关推荐
3个回答
|
|
你是不是用的是SD卡启动,很多网友都反映此问题。
|
|
|
|
是的。但是我用usb烧写uboot的方式,把生成的.bin文件代替uboot.bin烧写进去,然后关电用nandflash启动也是不能正常运行,全用汇编编写的程序可以
|
|
|
|
你这个问题比较奇葩,我发给你一个使用C语言编写的bin文件先试一下行不行,我自己的操作是先使用sd卡将官方的uboot烧写到Nandflash中,然后自己编写了一个裸板程序,这个裸板程序可以通过串口接收bin文件,之后可以进行代码调试或者写入到Nandflash中,这个裸板程序是通过uboot的usb进行下载烧写,以后如果要调试程序就使用这个裸板程序就行了,不断的将新的功能添加到这个裸板程序就行。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
410 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
445 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核简介
1135 浏览 0 评论
非科班也能玩转Android应用,体验QT跨平台能力-迅为RK3568开发板
989 浏览 0 评论
飞凌嵌入式-ELFBOARD-ELF 2硬件分享之最小系统原理
1085 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:26 , Processed in 0.984944 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号