新手上路
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2021-3-13
- 在线时间
- 4 小时
|
发表于 2021-3-25 17:35:29
|
显示全部楼层
(1)FSMC中文翻译是灵活的静态存储控制器,首先FSMC是控制器,不是内存,你想扩大内存需要加内存芯片。例如IS61WV102416ALL芯片!其中SRAM部分有四个片选对应四片SRAM地址从6000000h-6fffffffh对应扩展内存256MB,也就是说扩展SRAM单片最大容量是64MB一共可以扩展出4片。也就是你要用扩展SRAM方法来画图做电路板你想将内存扩展到256MB,那么你必须要买1片STM32F103ZET6和4片IS61WV102416ALL,通过不同的片选信号来访问地址6000000h-6fffffffh这段地址空间。如果你不买3片IS61WV102416ALL贴在板子上,程序也能编译通过,但是你访问地址空间是虚的。就像你用银行卡在ATM机中取钱,虽然你输入密码正确了,但是你卡里没钱,你就没法取得正确数据。(2)FSMC控制器可以NOR/PSRAM可寻址的空间是6000000h-6fffffffh,一共是4*64MB,对应4个片选信号,你可以1号片选挂NORFLASH 2号片选挂SRAM,3号片选挂NORFLASH,4号片选挂SRAM,等等想怎么挂就怎么挂。FSMC总线的总寻址空间是1GB,60000000h-9fffffffh,一共四个BANK,每个bank又对应4个片选,其中您问的是bank1,bank1可以挂载4片NORFLASH/SRAM.这并不是谁分享给谁的问题,这是FSMC寻址问题,只要FSMC要访问地址6000000h-6fffffffh,那么你只能用NORFLASH芯片或者SRAM芯片。不挂载芯片不能实现功能,挂载非NORFLASH芯片或者SRAM芯片也不行。同样道理bank2和bank3只能挂载nandflah芯片,如果挂的不是nandflash芯片是实现不了功能的,bank4只能挂载PC card,挂载的不是PC card功能是实现不了的。
(3)FSMC寻址能力是60000000h-9fffffffh,你可想象一下这是1GB个门牌号,就像你们公司在一个科技园区,这个园区一共有1GB个公司,那么FSMC可以找到门派号是60000000h的公司,也可找到60000001h,也可以找到9fffffffh公司,但是你要是想进入这些公司,那么这些公司就是必须存在的,60000000h-9fffffffh只是门牌号,门派号对应的公司就是你挂载的IS61WV102416ALL芯片,如果你板子上没焊接IS61WV102416ALL芯片,你也可以找到门牌号,但是你不能进入公司。
(4)这个东西就是电脑的寻址总线,你的电脑可扩展16GB内存,但是你只给他在内存条卡槽上插了一个8GB内存条,你的电脑寻址能力还是16GB,但是你只能在8GB范围内进行操作,这不是电脑寻址能力不行,是你只插了一根8GB内存条。
(5)对应的微机原理和C语言就是指针问题,一个是取地址符号& ,一个是*取值符号,在60000000h-9fffffffh,你可以用&寻址符号去寻址,但是你不能用*取值符号去取值,一旦取值那么你得到数据是不确定的,如果你向60000000h地址写入了0x05,但是你要是没焊接IS61WV102416ALL芯片,你再去读取的时候,读回来的数据99.99999%不是0x05!
|
|