Cortex-M3神奇的指令STRB啊,有图有真相!
Cortex-M3神奇的指令STRB啊,有图有真相!请看本贴附件
RE:Cortex-M3神奇的指令STRB啊,有图有真相!
这一条寄存器到存储器的字节传送指令:STRB,它能一次传送128字???神奇吧???
哪位高手能解释一下?
RE:Cortex-M3神奇的指令STRB啊,有图有真相!
我这是在调试CanFestival的CanOpen源码,在此之前,我曾在M16C290单片机上,成功地运行了CanFestival,现在是想让它在STM32上运行,不小心发现了STM32的神奇之STRB指令....要是无解的话,我下边的活儿,干不下去了...
要是无解的话,我下边的活儿,干不下去了...回复:Cortex-M3神奇的指令STRB啊,有图有真相!
这是一条神奇的指令!安大快来看看吧!:LRE:Cortex-M3神奇的指令STRB啊,有图有真相!
你可以去看看M3的指令集。STRB指令
关于STRB指令的功能,原本是简单明了的:就是把某寄存器中的一个字节,复制到指定的存储器(RAM)中去,它有多种寻址方式。可是,我执行它一次,它居然修改了我128字长的数组呢?回报率太高了点呀:o
晕人啊!
严正声明一下,对于单片机,我不早就不算新手了。也不是第一次用STM32。可是....
对了,会不会是J-LINK的问题呢?
我改用ST-LINK仿真器,试了一下,错误依旧啊!
我改用ST-LINK仿真器,试了一下,错误依旧啊!那么,可能是KEIL犯浑?
这是我在用的KEIL版本信息
这是我正在用的KEIL版本信息:Tool Version Numbers:
Toolchain: MDK-ARM StandardVersion: 4.21
Toolchain Path: BIN40\
C Compiler: Armcc.Exe V4.1.0.713
Assembler: Armasm.Exe V4.1.0.713
Linker/Locator: ArmLink.Exe V4.1.0.713
Librarian: ArmAr.Exe V4.1.0.713
Hex Converter: FromElf.Exe V4.1.0.713
CPU DLL: SARMCM3.DLL V4.21
Dialog DLL: DARMSTM.DLL V1.62
Target DLL: STLink\ST-LINKIII-KEIL.dll V1.5.6
Dialog DLL: TARMSTM.DLL V1.60
有解啦!
下载了MDK450版本,用Keil_Lic.exe和谐了一下。和谐时选其它的版本不成功(编译时报错说不能生成xxx文件),只能用256kb限制的Lite版本!!!编译OK!
选择J-LINK仿真器时,MDK450更新了J-LINK固件(过程很快,没看清就过去了);
Debug,运行到那条STRB,激动人心的时刻到了:只有数组的第0个元素被修改成我想要的结果!
我得到了我要的结果,但是我不知道MDK是如何解决这个问题的(也可能是J-LINK引起的),不过,这显然不是我的错:P:P:P
页:
[1]
2