原创 ADI DSP基础教程:Blackfin的寄存器详解(以BF533为例)

2017-5-5 11:13 1793 13 13 分类: 处理器与DSP

这一篇就来简单的讲一讲Blackfin中BF533的寄存器吧,其他型号均可作为参考。


从上图我们可以看到,红色框框内的是core component,剩下的则是memory unit。还是英文得了,中文好拗口哇。

Blackfin Processors are register-intensive devices

All computations are performed on data contained in registers

All peripherals are setup using registers

Memory is accessed using pointers in address registers


There are two ways to access registers on the ADSP-BF533

Directly by name

Memory-mapped registers (MMRs)


Register is very important for blackfin processors because blackfin processors are register-intensive devices. All Blackfin processor operation, such as computation, peripheral setup and memory accessing need register. We can see that blackfin can do nothing without register. Take bf533 as an example, there are two ways to access the registers. Then let’s see what register we can access.


ADSP-BF533 Core Registers:

Core registers accessed by name


Data Registers: R0-R7

Accumulator Registers: A0, A1

Pointer Registers: P0-P5, FP, SP,USP

DAG Registers: I0-I3, M0-M3, B0-B3, L0-L3

Cycle Counters: Cycles, cycles2

Program Sequencer: SEQSTAT

System Configuration Register: SYSCFG

Loop Registers: LT[1:0], LB[1:0], LC[1:0]

Interrupt Return Registers: RETI, RETX, RETN, RETE


For core register, All the registers in the list can accessed directly by name. ?This is the example. This instruction load data register R0 with contents of System configuration register.


You can see ,all the data register are 32-bit wide. They are referred to as dreg.


Data Registers: R0-R7

Accumulator Registers: A0, A1

Pointer Registers: P0-P5, FP, SP,USP


A majority of registers are memory mapped and must be accessed indirectly


Core MMRs are used to configure the core registers

They are listed in Appendix A of the HRM.

All Core MMRs must be accessed with 32-bit reads or writes.

System MMRs are used to configure all other peripherals

They are listed in Appendix B of the HRM.

Some System MMRs must be accessed with 32-bit reads or writes and others with 16-bit reads or writes (See the HRM for details).


The addresses of the core and system MMRs are defined in the defBF533.h, defBF532.h, defBF531.h and defLPblkfin.h header files.


MMRs can only be accessed in Supervisor mode.


Example:


P0.H = hi(MMR_NAME); // load upper 16-bits of MMR address to address register

But a majority of register are memory mapped and they can not accessed directly by name.


这种太技术化的厂家写好的描述性文章,我就不做翻译了,可能看英文会更清楚一些。

任何ADI DSP的问题,均可联系OP的QQ:5516164,微信:OpenADSP
OP的网站:www.openadsp.com
OP的论坛:www.openadsp.com/bbs
OP的官方淘宝店:https://shop108086345.taobao.com/
ADI DSP中文资料全集(含视频教程)的淘宝链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.12.Ck3v8f&id=39935721554

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
13
关闭 站长推荐上一条 /1 下一条