上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
Blackfin的技术文章和教学视频连载4:Blackfin的寄存器-Blackfin-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> Blackfin 今天是:
技术中心  
SigmaDSP
SHARC
A2B音频总线
Blackfin
ADI操作系统
ADSP-218X
TigerSAHRC
ADI DSP仿真器
产品导航
ADI DSP仿真器
SigmaDSP开发板
ADI A2B总线开发板
SHARC DSP开发板
销售网络
Blackfin  
Blackfin的技术文章和教学视频连载4:Blackfin的寄存器
[ 作者:OP ] [ 来源:ADSP开源社区 ] [ 发布时间:2014-8-4 ]

     这一篇就来简单的讲一讲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.
 
 
联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1