完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Reset:
ldr sp, =4096 @ 设置栈指针,以下都是C函数,调用前需要设好栈 bl disable_watch_dog @ 关闭WATCHDOG,否则CPU会不断重启 msr cpsr_c, #0xd2 @ 进入中断模式 ldr sp, =3072 @ 设置中断模式栈指针 msr cpsr_c, #0xdf @ 进入系统模式 ldr sp, =4096 @ 设置系统模式栈指针, @ 其实复位之后,CPU就处于系统模式, @ 前面的“ldr sp, =4096”完成同样的功能,此句可省略 bl init_led @ 初始化LED的GPIO管脚 bl init_irq @ 调用中断初始化函数,在init.c中 msr cpsr_c, #0x5f @ 设置I-bit=0,开IRQ中断 ldr lr, =halt_loop @ 设置返回地址 ldr pc, =main @ 调用main函数 halt_loop: b halt_loop 汇编调用C程序,调用C程序之前必须将执行完C后程序的指针存放在链接寄存器lr中,此处程序进入halt_loop执行死循环(b指令)。 类似这样的语句 stop: b stop程序进入stop死循环,可以查看当前寄存器的值。 原作者:syjsyj000 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之烧写所需镜像
124 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写方法
506 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
710 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
634 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核简介
1225 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 22:25 , Processed in 0.683459 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号