搜索
bottom↓
回复: 8

stm32中位带操作转化为指针不理解请坛友帮我解释一下谢谢

[复制链接]

出0入0汤圆

发表于 2019-8-17 11:04:45 | 显示全部楼层 |阅读模式
1.把“位带地址+位序号”转换别名地址宏:
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
把该地址转换成一个指针:
#define MEM_ADDR(addr) *((volatile unsigned long *)(addr))
不清楚为什么这么转换????
2.位带操作并不只限于以字为单位的传送。亦可以按半字和字节为单位传送。例如,可以使用
LDRB/STRB 来以字节为长度单位去访问位带别名区,同理可用于 LDRH/STRH。但是不管用哪一个对
子,都必须保证目标地址对齐到字的边界上。
为什么都必须保证目标地址对齐到字的边界上????
谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入8汤圆

发表于 2019-8-17 19:13:12 | 显示全部楼层
你可以这样理解:因为位带操作在0x*******00的地址上写的第0位才有效,从1~31位的位写入是无效的,所以1个word里不对齐的3个地址是无效的

出0入0汤圆

发表于 2019-8-17 23:55:06 | 显示全部楼层
1. 用宏的是为了方便使用,另外通过预处理,避免运行时计算
2. 16bits或8bits的对位段区的读写我没在文档看到过,你可指出哪个文档,逻辑上也没有什么用。另,M3的TRM提到非对齐会拆分成多个字节操作,没有提到对位段的影响,建议你实测。

出0入0汤圆

 楼主| 发表于 2019-8-18 09:32:52 | 显示全部楼层
barryxiao 发表于 2019-8-17 19:13
你可以这样理解:因为位带操作在0x*******00的地址上写的第0位才有效,从1~31位的位写入是无效的,所以1个w ...

谢谢   已经搞清楚了    回头我仔细表述一下

出0入0汤圆

 楼主| 发表于 2019-8-18 09:33:33 | 显示全部楼层
styleno1 发表于 2019-8-17 23:55
1. 用宏的是为了方便使用,另外通过预处理,避免运行时计算
2. 16bits或8bits的对位段区的读写我没在文档看 ...

谢谢  位带操作已经搞清楚了  

出0入8汤圆

发表于 2019-8-18 15:43:31 | 显示全部楼层
ST还是有创新的,这样的玩法可以避免IO读写锁,有C语言基础,一张图应该能看明白位带操作是啥。有人叫它比特膨胀,每个比特扩展成独立地址。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-8-18 16:11:48 | 显示全部楼层
uindex 发表于 2019-8-18 15:43
ST还是有创新的,这样的玩法可以避免IO读写锁,有C语言基础,一张图应该能看明白位带操作是啥。有人叫它比 ...

恕我耿直,这是M3内核的可选特性

出0入8汤圆

发表于 2019-8-18 16:34:58 | 显示全部楼层
styleno1 发表于 2019-8-18 16:11
恕我耿直,这是M3内核的可选特性

谢谢指点!原来如此。

a. http://infocenter.arm.com/help/i ... 0179b/CHDJHIDF.html
b. Bit-banding is a term that ARM uses to describe a feature that is available on the Cortex M3 and M4 CPU cores. Basically, the device takes a region of memory (the Bit-band region) and maps each bit in that region to an entire word in a second memory region (the Bit-band Alias Region).

出0入0汤圆

发表于 2019-8-18 21:04:24 来自手机 | 显示全部楼层
位带是非常好的,在模拟spi写一些芯片时很好使。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 08:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表