- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
bit-band是Cortex-M3内核中针对某一段区域进行位和字映射的机制,对于位操作,如IO控制LED,相比传递的C语言的位操作,提供了很大的方便.bit-band 区域将存储器别名区(bit-band alias region)的一个字映射为 bit-band区的一个位. 处理器存储器映射包括两个 bit-banding 区域, 它们分别为 SRAM 和外设存储区域中的最低的 1MB.下图是处理器的地址空间映射,包含了(bit-banding区域的映射)Cortex-M3 存储器映射有2个32MB别名区,它们被映射为两个1MB的bit-band 区:
对 32MB SRAM 别名区的访问映射为对1MB SRAM bit-band区的访问
对 32MB 外设别名区的访问映射为对1MB外设bit-band区的访问
映射公式显示如何将别名区中的字与 bit-band 区中的对应位或目标位关联,映射公式如下:bit_word_offset = (byte_offset x 32) + (bit_number x 4)bit_word_addr = bit_band_base + bit_word_offset
这里:
Bit_word_offset 为bit-band存储区中的目标位的位置
Bit_word_addr为别名存储区中映射为目标位的字的地址
Bit_band_base 是别名区的开始地址
Byte_offset 为bit-band 区中包含目标位的字节的编号
Bit_number 为目标位的位位置(0-7)
下图显示了 SRAM bit-band 别名区和 SRAMbit-band 区之间的 bit-band 映射的例子:
地址 0x23FFFFE0 的别名字映射为 0x200FFFFF 的bit-band 字节的位 0:0x23FFFFE0=0(0xFFFFF*32)+0*4
地址 0x23FFFFFC 的别名字映射为 0x200FFFFF 的bit-band 字节的位 7: 0x23FFFFFC=0(0xFFFFF*32)+7*4
地址 0的别名字映射为 0的bit-band 字节的位 0:00(0*32)+0*4
地址 0x220001C 的别名字映射为 0的bit-band 字节的位 0:0x2200001C=0(0*32)+7*4
向别名区写入一个字与在 bit-band 区的目标位执行读-修改-写操作具有相同的作用.写入别名区的字的位0决定了写入bit-band 区的目标位的值。将位 0 为1的值写入别名区表示向 bit-band 位写入1, 将位0 为0 的值写入别名区表示向bit-band 位写入 0.别名字的位[31:1]在 bit-band 位上不起作用。写入 0x01 与写入 0xFF 的效果相同, 写入0x00 与写入0x0E 的效果相同.读别名区的一个字返回 0x01 或0x00, 0x01 表示 bit-band 区中的目标位置位, 0x00 表示目标位清零。位[31:1]将为 0。 注:采用大端格式时,对 bit-band 别名区的访问必须以字节方式。否则访问值不可预知。? 以下是一个根据bit-band区域地址和目标位来计算bit-band alias region映射的对应字节的宏(来源于Atmel ASF的bit-banding Example):
/**
* \brief Calculate bit band alias address.
*
* Calculate the bit band alias address and return a pointer address to word.
*
* \param addr The byte address of bitbanding bit.
* \param bit The bit position of bitbanding bit.
* \callergraph
*/
#define BITBAND_ALIAS_ADDRESS(addr, bit) \
((volatile uint32_t*)((((uint32_t)(addr) 0xF0000000) + 0 \
+((((
您可能关注的文档
- Commdesign_线路设计讲义【DOC精选】.doc
- Computer Aided Design and Construction - bsc(Hons) Computer Aided ....doc【DOC精选】.doc
- Commons amendments for Digital Economy Bill【DOC精选】.doc
- Computer English Unit Computer Network (计算机英语 第八单元 计算机网络)【DOC精选】.doc
- Constipation in Long 【DOC精选】.doc
- COMSOL Multiphysics 中文使用手册【DOC精选】.docx
- Congestion management impacts on bilateral electricity markets under strategic negotiation【DOC精选】.doc
- conky配置详解【DOC精选】.doc
- Consultation-digital-legal-deposit--guidance【DOC精选】.doc
- control of reader【DOC精选】.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)