共2条
1/1 1 跳转至页
ARM 求助:初学ARM,遇到很多低级问题

问
我用EasyARM2104开始学习ARM不到一周,遇到很多问题无从下手,请各位高手指教。
1、自己编写的led闪烁显示与所给实验代码完全相同,启动代码采用的是zlg启动代码,但是调试的时候,指示灯闪烁频率不同。
2、在中断向量实验中,我摁按键后不能进入中断。即使我建立新的项目后,使用ZLG提供的实验代码,也是如此,但是用ZLG提供的实验项目就可以产生中断。
我用的是ADS1.2开发环境,我怀疑是我什么地方设置不对,每次进入AXD之后总是要重新设置configure interface & configure target。请高位高手详细指导。 答 1: 好心人帮忙一下啊公司准备用ARM开发产品,急需学会ARM,大家帮帮忙啊,谢谢啦! 答 2: 版主帮忙啊 答 3: 你按周立功提供的指导书步骤设置一下,应该就能连上的 答 4: 已经设置过了ARMLinker中
RO为0x40000000,RW:0x40003000
Place at beginning of image:Vectors.o, Startup
其他的使用默认设置。
AXD中也设置了ADP,不过使用JTAG仿真调试,不知道还有什么需要设置? 答 5: 会不会是盗版软件的原因? 答 6: to 雁舞白沙,盗版软件?如何是盗版软件,我这个使用zlg公司提供的代码怎么可以正常使用?
我用的是附赠盘的ads安装的啊 答 7: re你可能启动代码的中断没有打开! 答 8: 启动代码的修改如果用C语言编程,启动代码一般修改那个文件,是target.c吗?
用汇编语言是INIT.S吗? 答 9: 中断标志已经清零外中断1实验,我用的是RAM调试的,在启动代码Vectors.s中既有REMAP操作又有I位的清零操作。
InitStack
MOV R0, LR
;设置管理模式堆栈
MSR CPSR_c, #0xd3
LDR SP, StackSvc
;设置中断模式堆栈
MSR CPSR_c, #0xd2
LDR SP, StackIrq
;设置快速中断模式堆栈
MSR CPSR_c, #0xd1
LDR SP, StackFiq
;设置中止模式堆栈
MSR CPSR_c, #0xd7
LDR SP, StackAbt
;设置未定义模式堆栈
MSR CPSR_c, #0xdb
LDR SP, StackUnd
;设置系统模式堆栈
MSR CPSR_c, #0xdf
LDR SP, StackUsr
; 实现REMAP操作
REMAPS MOV R2,#0x40000000 ; 复制中断向量代码,设置目标地址
LDR R1,=Vectors ; 设置源地址
LDMIA R1!,{R3-R10} ;共复制16个字(64字节)
STMIA R2!,{R3-R10}
LDMIA R1!,{R3-R10}
STMIA R2!,{R3-R10}
LDR R2,=MEMMAP ; REMAP操作
MOV R1,#0x02
STR R1,[R2]
MSR CPSR_c, #0x5f ;对i清零
MOV PC, R0
我看论坛里很多人有此问题,大家都怎么解决的?
1、自己编写的led闪烁显示与所给实验代码完全相同,启动代码采用的是zlg启动代码,但是调试的时候,指示灯闪烁频率不同。
2、在中断向量实验中,我摁按键后不能进入中断。即使我建立新的项目后,使用ZLG提供的实验代码,也是如此,但是用ZLG提供的实验项目就可以产生中断。
我用的是ADS1.2开发环境,我怀疑是我什么地方设置不对,每次进入AXD之后总是要重新设置configure interface & configure target。请高位高手详细指导。 答 1: 好心人帮忙一下啊公司准备用ARM开发产品,急需学会ARM,大家帮帮忙啊,谢谢啦! 答 2: 版主帮忙啊 答 3: 你按周立功提供的指导书步骤设置一下,应该就能连上的 答 4: 已经设置过了ARMLinker中
RO为0x40000000,RW:0x40003000
Place at beginning of image:Vectors.o, Startup
其他的使用默认设置。
AXD中也设置了ADP,不过使用JTAG仿真调试,不知道还有什么需要设置? 答 5: 会不会是盗版软件的原因? 答 6: to 雁舞白沙,盗版软件?如何是盗版软件,我这个使用zlg公司提供的代码怎么可以正常使用?
我用的是附赠盘的ads安装的啊 答 7: re你可能启动代码的中断没有打开! 答 8: 启动代码的修改如果用C语言编程,启动代码一般修改那个文件,是target.c吗?
用汇编语言是INIT.S吗? 答 9: 中断标志已经清零外中断1实验,我用的是RAM调试的,在启动代码Vectors.s中既有REMAP操作又有I位的清零操作。
InitStack
MOV R0, LR
;设置管理模式堆栈
MSR CPSR_c, #0xd3
LDR SP, StackSvc
;设置中断模式堆栈
MSR CPSR_c, #0xd2
LDR SP, StackIrq
;设置快速中断模式堆栈
MSR CPSR_c, #0xd1
LDR SP, StackFiq
;设置中止模式堆栈
MSR CPSR_c, #0xd7
LDR SP, StackAbt
;设置未定义模式堆栈
MSR CPSR_c, #0xdb
LDR SP, StackUnd
;设置系统模式堆栈
MSR CPSR_c, #0xdf
LDR SP, StackUsr
; 实现REMAP操作
REMAPS MOV R2,#0x40000000 ; 复制中断向量代码,设置目标地址
LDR R1,=Vectors ; 设置源地址
LDMIA R1!,{R3-R10} ;共复制16个字(64字节)
STMIA R2!,{R3-R10}
LDMIA R1!,{R3-R10}
STMIA R2!,{R3-R10}
LDR R2,=MEMMAP ; REMAP操作
MOV R1,#0x02
STR R1,[R2]
MSR CPSR_c, #0x5f ;对i清零
MOV PC, R0
我看论坛里很多人有此问题,大家都怎么解决的?
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |