你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 9481|回复: 11

Cortex-M3神奇的指令STRB啊,有图有真相!

[复制链接]

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2012-5-30 16:46:53 | 显示全部楼层 |阅读模式
Cortex-M3神奇的指令STRB,有图有真相!
请看本贴附件

Cortex-M3神奇的指令STRB.doc

下载

402 KB, 下载次数: 57, 下载积分: ST金币 -1

回复

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-30 16:50:47 | 显示全部楼层

RE:Cortex-M3神奇的指令STRB啊,有图有真相!

这一条寄存器到存储器的字节传送指令:STRB,它能一次传送128字???
神奇吧???
哪位高手能解释一下?
回复 支持 反对

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-30 16:54:59 | 显示全部楼层

RE:Cortex-M3神奇的指令STRB啊,有图有真相!

我这是在调试CanFestival的CanOpen源码,在此之前,我曾在M16C290单片机上,成功地运行了CanFestival,现在是想让它在STM32上运行,不小心发现了STM32的神奇之STRB指令....
回复 支持 反对

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-30 16:57:14 | 显示全部楼层

要是无解的话,我下边的活儿,干不下去了...

要是无解的话,我下边的活儿,干不下去了...
回复 支持 反对

使用道具 举报

89

主题

485

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2012-5-30 17:25:21 | 显示全部楼层

回复:Cortex-M3神奇的指令STRB啊,有图有真相!

这是一条神奇的指令!安大快来看看吧!
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-5-30 17:36:49 | 显示全部楼层

RE:Cortex-M3神奇的指令STRB啊,有图有真相!

你可以去看看M3的指令集。
回复 支持 反对

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-30 23:34:27 | 显示全部楼层

STRB指令

关于STRB指令的功能,原本是简单明了的:就是把某寄存器中的一个字节,复制到指定的存储器(RAM)中去,它有多种寻址方式。
  可是,我执行它一次,它居然修改了我128字长的数组呢?回报率太高了点呀
   晕人啊!
  严正声明一下,对于单片机,我不早就不算新手了。也不是第一次用STM32。可是....
  对了,会不会是J-LINK的问题呢?
回复 支持 反对

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-31 11:28:18 | 显示全部楼层

我改用ST-LINK仿真器,试了一下,错误依旧啊!

我改用ST-LINK仿真器,试了一下,错误依旧啊!  
   那么,可能是KEIL犯浑?
回复 支持 反对

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-31 11:35:02 | 显示全部楼层

这是我在用的KEIL版本信息

这是我正在用的KEIL版本信息:
Tool Version Numbers:
Toolchain:        MDK-ARM Standard  Version: 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
回复 支持 反对

使用道具 举报

1

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2012-5-31 14:07:14 | 显示全部楼层

有解啦!

下载了MDK450版本,用Keil_Lic.exe和谐了一下。和谐时选其它的版本不成功(编译时报错说不能生成xxx文件),只能用256kb限制的Lite版本!!!
   编译OK!
   选择J-LINK仿真器时,MDK450更新了J-LINK固件(过程很快,没看清就过去了);
  Debug,运行到那条STRB,激动人心的时刻到了:只有数组的第0个元素被修改成我想要的结果!
  我得到了我要的结果,但是我不知道MDK是如何解决这个问题的(也可能是J-LINK引起的),不过,这显然不是我的错
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版