被二进制和十六进制给搞晕

刚开始接触TI的DSP-TMS320F2812,总会遇到很多问题。苦想了一阵,顿悟,不过有以下几点需要声明:

1)F2812的外部存储器的XINTF Zone6的寻址范围为0x10 0000 ~ 0x18 0000;

2)F2812的外部地址总线为XA [18:0] ;

3)F2812的外部接有256K的SRAM,地址总线为XA [17:0] 。

困惑是:既然F2812的外部存储器的XINTF Zone6的寻址范围为0x10 0000 ~ 0x18 0000,那么外部的SRAM的0x00 0000 ~ 0x0F FFFF的存储空间就被白白浪费掉了。

不仔细推敲,很容易进入这个误区。

首先,外部存储器的XINTF Zone6的寻址范围为0x10 0000 ~ 0x18 0000,这里的地址是用24位的二进制来表示的,而事实上,F2812的内部地址总线共22位,用来表示内部地址总线的24位二进制实际只利用了22位,最高两位为0,而起始地址0x10 0000中的“1”是在XA[20]。

再看看外部地址总线XA [18:0] ,共19位,也就是说,外部的地址总线仅仅只是内部数据总线的低19位XA [18:0] 。只要外部存储器的地址范围小于等于0x00 0000 ~ 0x07 FFFF时,就不会出现存储空间被浪费,即每一个地址空间都会被访问。

F2812的外部接有256K的SRAM,地址总线为XA [17:0] ,其寻址空间为0x00 0000 ~ 0x07 FFFF,当DSP要访问外部的SRAM时,外部地址总线XA [17:0] 去读写SRAM,与其余的高4位地址无关。

这样,就豁然开朗了,原来是被二进制和十六进制给搞晕了!敲打

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值