4410|8

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教一个FSMC的使用问题 [复制链接]

                                 在用STM32F103VET6的时候,操作FSMC总线,用到Bank1的PSRAM2模式(操作液晶)。在设置FSMC Register的时候对0xA0000008地址访问没有任何反应(从memory窗口读出),编译环境为Keil。已经看到汇编指令里边有STR  r1,[r3,r2,LSL #2]指令,其中R3为0xA000000,r1为0x00001000,r2为0x00000002,但执行完此条指令后地址0xA0000008中的数据依然为零。仿真的时候0xA0000008数据有变化,如果将FSMC_R_BASE的地址设置为0x20000000(Ram的地址),实时调试的时候Ram的空间也有变化,但一旦换回0xA0000000就没有反应,定义一个变量读这个地址得到的数据都是零。
此帖出自stm32/stm8论坛

最新回复

                                 因为使用了configuration Wizard的一个统一初始化文件,就把例程中配置端口状态的的LCD_CtrlLinesConfig给屏蔽了,结果忘记了里边不止配置了IO端口,还配置了时钟,加入RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);还有  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE |, ENABLE);就完全OK了   详情 回复 发表于 2008-8-9 23:30
点赞 关注
 

回复
举报

58

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

如何配置FSMC的?

                                  
此帖出自stm32/stm8论坛
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复主题:请教一个FSMC的使用问题

详细流程如下
首先stm32f10x_map.h里边定义了
#define FSMC_R_BASE           ((u32)0xA0000000)
#define FSMC_Bank1_R_BASE     (FSMC_R_BASE + 0x0000)

#define FSMC_Bank1          ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE)
然后再程序里边定义了
/* FSMC NOR/SRAM Init structure definition */
typedef struct
{
  u32 FSMC_Bank;
  u32 FSMC_DataAddressMux;
  u32 FSMC_MemoryType;
  u32 FSMC_MemoryDataWidth;
  u32 FSMC_BurstAccessMode;
  u32 FSMC_WaitSignalPolarity;
  u32 FSMC_WrapMode;
  u32 FSMC_WaitSignalActive;
  u32 FSMC_WriteOperation;
  u32 FSMC_WaitSignal;
  u32 FSMC_ExtendedMode;
  u32 FSMC_AsyncWait;
  u32 FSMC_WriteBurst;
  /* Timing Parameters for write and read access if the  ExtendedMode is not used*/
  FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct;
  /* Timing Parameters for write access if the  ExtendedMode is used*/
  FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct;
}FSMC_NORSRAMInitTypeDef;

对此结构体初始化后使用
  /* Bank1 NOR/SRAM control register configuration */ 
  FSMC_Bank1->BTCR[FSMC_NORSRAMInitStruct->FSMC_Bank] = 
            (u32)FSMC_NORSRAMInitStruct->FSMC_DataAddressMux |
            FSMC_NORSRAMInitStruct->FSMC_MemoryType |
            FSMC_NORSRAMInitStruct->FSMC_MemoryDataWidth |
            FSMC_NORSRAMInitStruct->FSMC_BurstAccessMode |
            FSMC_NORSRAMInitStruct->FSMC_WaitSignalPolarity |
            FSMC_NORSRAMInitStruct->FSMC_WrapMode |
            FSMC_NORSRAMInitStruct->FSMC_WaitSignalActive |
            FSMC_NORSRAMInitStruct->FSMC_WriteOperation |
            FSMC_NORSRAMInitStruct->FSMC_WaitSignal |
            FSMC_NORSRAMInitStruct->FSMC_ExtendedMode |
            FSMC_NORSRAMInitStruct->FSMC_AsyncWait |
            FSMC_NORSRAMInitStruct->FSMC_WriteBurst;
语句付值,由于FSMC_Bank1地址为0xA000 0000,所以应该从从memory窗口看到这个地方值的变化,但是JTAG仿真的时候这个地方的值没有任何变化.软仿的时候有变化.如果设定一个变量,
如tempsee=  FSMC_Bank1->BTCR[FSMC_NORSRAMInitStruct->FSMC_Bank];
在软仿的时候读出来的值是对的,但是JTAG仿真的时候读出来的是0,而且似乎这个地方Datasheet上说Reset value: 0x0000 30XX,不知道为什么,两块板子都一样,芯片是103VE,下载线是ulink
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 

可能硬件上有问题?

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复主题:请教一个FSMC的使用问题

                                 这个和硬件没有什么关系吧...都没有什么外部操作..都是内部寄存器阿,而且我换了两颗芯片都是一样的,除非是芯片的问题
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复主题:请教一个FSMC的使用问题

                                 有人知道这个问题么,郁闷了N久。。继续郁闷中
此帖出自stm32/stm8论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

7
 

是否使能FSMC的时钟?

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复主题:请教一个FSMC的使用问题

                                 恩,谢谢香版主,确实如此。。忘记加时钟了。。。哎,现在越来越粗心了。。郁闷了一天,十分感谢十分感谢
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

9
 

回复主题:请教一个FSMC的使用问题

因为使用了configuration Wizard的一个统一初始化文件,就把例程中配置端口状态的的LCD_CtrlLinesConfig给屏蔽了,结果忘记了里边不止配置了IO端口,还配置了时钟,加入RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
还有  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE |, ENABLE);就完全OK了
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表