共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |