常见问答
- M051 系列(95)
- M0518 系列(97)
- M0519 系列(43)
- M0564 系列(1)
- Mini51 系列(90)
- Nano100 / 102 系列(101)
- Nano103 Base 系列(10)
- Nano110 / 112 LCD 系列(100)
- Nano120 USB 系列(111)
- Nano130 USB+LCD 系列(110)
- NUC029 系列(94)
- NUC100 / 200 系列(102)
- NUC120 / 122 / 123 / 220 USB 系列(116)
- NUC121/125 系列(1)
- NUC126 USB 系列(2)
- NUC130 / 230 CAN 系列(103)
- NUC131/NUC1311 CAN 系列(98)
- NUC140 / 240 USB+CAN 系列(114)
- M451 Base 系列(118)
- M451M 系列(117)
- M452 USB 系列(130)
- M4521 USB 系列(1)
- M453 CAN 系列(128)
- M463 CAN FD/USB HS 系列(1)
- M467 Ethernet/Crypto 系列(1)
- M471 系列(1)
- M479 Motor Control Series(1)
- M481 Base 系列(4)
- M482 USB FS OTG 系列(4)
- M483 CAN 系列(4)
- M484 USB HS OTG 系列(4)
- M485 Crypto 系列(4)
- M487 Ethernet 系列(4)
- M4TK 触摸 IC 系列(25)
- NUC442 / 472 系列(130)
- NUC472 Series(1)
- NUC505 系列(138)
常见问答
Bit-banding的功能是什么,应该如何使用? 日期:2015-11-02
Bit-banding是Cortex®-M4内核所支持的功能,所有的Cortex®-M4系列,如M451系列、NUC442/472系列和NUC505系列,都支持Bit-banding功能。
Bit-banding将一块较小存储器(bit-band region)中的位(bit)映射到一块较大存储器(alias region)中的字(word),如下图所示;当需要修改位的时候,用户只需修改对应字的内容即可完成位的设置。
我们可以通过利用bit-banding功能将SRAM或外设寄存器映射到各自对应的区域(alias region),通过修改alias region中字的内容,就能够完成对SRAM或外设寄存器的设定,无需复杂的建立过程,从而增加位设置的效率。
Bit-banding的位地址计算公式如下:
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)
bit_band_base是alias region的起始地址,byte_offset是设置位的字偏移,
bit_number是设置位的位偏移,bit_word_addr是对应alias region的地址。
以上图为例:
Bit-band region的 0x200F_FFFF[7],对应的alias region为
bit_word_addr = 0x2200_0000 + (0XF_FFFF x32) + (7 x 4)
= 0x23FF_FFFC
注1: 通过bit-banding设置外设寄存器的时候,需要先使能对应的外设时钟源。
注2:通过bit-banding设置外设寄存器的时候,如果要设置需要解锁的位,用户需要先解锁,否则操作不会成功。
虽然Cortex®-M0内核并不支持Bit-banding功能,但是NuMicro®家族的M0系列都支持寄存器Pin Data Input/Output,用户可以通过设定该寄存器来控制每一个GPIO的状态。
产品: | 微控制器 ,Arm Cortex-M0 微控制器 ,M051 系列 ,M0518 系列 ,M0519 系列 ,Mini51 系列 ,Nano100 / 102 系列 ,Nano110 / 112 LCD 系列 ,Nano120 USB 系列 ,Nano130 USB+LCD 系列 ,NUC029 系列 ,NUC100 / 200 系列 ,NUC120 / 122 / 123 / 220 USB 系列 ,NUC130 / 230 CAN 系列 ,NUC131/NUC1311 CAN 系列 ,NUC140 / 240 USB+CAN 系列 ,Arm Cortex-M4 微控制器 ,M451 Base 系列 ,M451M 系列 ,M452 USB 系列 ,M453 CAN 系列 ,NUC442 / 472 系列 ,NUC505 系列 |
---|---|
应用: | |
功能: | Peripherals,ARM,Cortex-M4,I/O,GPIO |