你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

发布bitBanding例子程序

[复制链接]
qazwsx-19104 发布时间:2008-9-3 19:30
Cortex?-M3 将片内外设和SRAM都做了位映射。=====这么处理,单片机就无法直接支持4G字节内存。哈。
; s9 K$ B* r: q& l$ Y- ]6 J: Q/ _3 f
/ ]) t6 b# R% ~% S. v$ d/ o% O(08年,笔记本电脑正在4G内存热炒,也来凑个热闹)
, W& u& _% D% k4 J6 d- W
# o2 B' V8 ^: M1 Y7 r) M5 \5 vSRAM空间2000... 映射到2200...+ M8 Y7 B0 h; g  ~6 l
实际上,为片内SRAM仅保留了2000,0000 - 200f,ffff。. }" z# o) c  d3 w
Cortex?-M3 仅保留1Mbyte空间,马马虎虎====要知道,受到07年的飞身直落,08年的DDR2仅相当于1M折合1元人民币!(不好意思,又来了。20080313Hy512M DDR2-667仅58元人民币--板上8颗芯片?每颗芯片64Mbyte不到8元?实际上DDR芯片非存储部分占用了相当大面积,近乎一半,不能简单除法。内存与逻辑生产工艺也不相同。片内SRAM相当占面积,更不要提主流CPU内的高速缓存RAM......)
: ~3 V1 s( _- }: {1 q2 Q. R) [, n! c, k; m6 t: W+ U; L$ Q

+ a1 ?0 W5 b% ?$ j* n* d9 K闲话少说,言归正传:
- B/ @; t2 I( D& |7 q0 Y0x2000 0000   bit0 对应   0x2200 0000
5 n& `( n; Z, E  Y( h( D6 P0x2000 0000   bit1 对应   0x2200 0004, t$ Y- a9 c/ a8 X. `  \" o
0x2000 0000   bit2 对应   0x2200 0008# w) `6 u! R" W9 _' p8 `$ ?
......  ~2 i0 l5 u6 u
0x200f ffff   bit15对应   0x23ff fffc    呵呵
3 J1 [: v! m4 ?6 n6 ^3 y$ d" n  @9 P% T: L% q9 ~* y. G
# `: P  h0 R/ I
由于32位系统,一次处理4个字节比较直观;所以,总是把4个字节一起处理;于是,字节地址0123就被一/ m2 P8 ]- j: w

/ g8 I! X5 l" E" e7 {4 o2 f+ y次性处理掉了;总之,地址没有123那样连续,而是0,4,8,c,0这样蹦蹦跳跳。9 w6 r0 n' ]; {3 _& x# C
=======为每一个bit分配一个 “32bit MCU 可以方便处理的地址”,需要占用32倍地址空间。
$ Y0 C  a" Y2 j2 A8 }- v$ Q/ F! c6 g
因此,嗯,是这样的,地址的计算公式,稍微复杂了点:+ Z; o3 J# r6 [9 E6 ?
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)
9 e+ C; H0 Z/ b" d6 r7 Q
8 x. A+ s; z6 _. o4 ?SRAM
: W( t) c0 F9 ~4 d7 V% y9 p  a2200 0000 加上偏移0 \+ |, h8 ^/ {7 e/ _" ], d
SRAM_BB_BASE
) G! I; V0 w! T/ H  _- {" |; `: Y
' m3 _2 q& k1 a2 _. uvoid get_bit(u8 db8)) Y+ j- p/ U$ B+ @5 Q
{
, W) h( b+ u, Q* l- J0 H  vu32 VarAddr;. q$ R* O2 r  z9 A# w" y' D
  VarAddr = (u32)&db8;
! ~) I; S4 g9 `% g- ^+ y1 Q  VarAddr = (0x22000000 | ((VarAddr - 0x20000000)
收藏 评论0 发布时间:2008-9-3 19:30

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版