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

查看: 9494|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版