[STM32F4] 诡异的STM32F429I读写SDRAM问题

[复制链接]
1781|1
 楼主| Xflyan 发表于 2017-5-26 10:14 | 显示全部楼层 |阅读模式
测试代码如下
  1. while (1) {
  2.                
  3. //#define SDRAM_TEST_BYTE
  4. //#define SDRAM_TEST_SHORT
  5. #define SDRAM_TEST_LONG
  6.        
  7. #ifdef  SDRAM_TEST_BYTE
  8.                 for (uint32_t i = 0; i < SDRAM_DEVICE_SIZE; i += 0x01) {
  9.                        
  10.                         *(volatile uint8_t *)(SDRAM_DEVICE_ADDR + i) = 0xA5;
  11.                
  12.                         tmp = *(volatile uint8_t *)(SDRAM_DEVICE_ADDR + i);
  13.                        
  14.                         if (tmp == 0xA5) {
  15. #endif
  16.                
  17. #ifdef  SDRAM_TEST_SHORT
  18.                 for (uint32_t i = 0; i < SDRAM_DEVICE_SIZE; i += 0x02) {
  19.                        
  20.                         *(volatile uint16_t *)(SDRAM_DEVICE_ADDR + i) = 0xA512;
  21.                
  22.                         tmp = *(volatile uint16_t *)(SDRAM_DEVICE_ADDR + i);
  23.                        
  24.                         if (tmp == 0xA512) {
  25. #endif
  26.                
  27. #ifdef  SDRAM_TEST_LONG
  28.                 for (uint32_t i = 0; i < SDRAM_DEVICE_SIZE; i += 0x04) {
  29.                        
  30.                         *(volatile uint32_t *)(SDRAM_DEVICE_ADDR + i) = 0x12345678;
  31.                
  32.                         tmp = *(volatile uint32_t *)(SDRAM_DEVICE_ADDR + i);
  33.                        
  34.                         if (tmp == 0x12345678) {
  35. #endif
  36.                                 HAL_Delay(100);
  37.                                 BSP_LED_Toggle(LED1);
  38.                         } else {
  39.                                 HAL_Delay(100);
  40.                                 BSP_LED_Toggle(LED2);
  41.                         }
  42.                 }
  43.         }

焊了两片核心板,单片机是 STM32F429IGT6,SDRAM是 W9812G6GH-6,其中一块完全测试通过的,另外一块按8位或者16位测试也是通过的,但是按32位写读测试就有误,写进去是 0x12345678,读出来变成 0x12345634了,不知道是什么问题,有人遇到过吗?
其中一块测试无问题,说明软件时序应该是没问题;如果是硬件问题,那按8位16位测试又是正常的,真是邪了!!!
 楼主| Xflyan 发表于 2017-6-1 10:30 | 显示全部楼层
引脚初始化看错了一个,也是醉了,还一直折腾时序的问题!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:业精于专!做精密仪器 做舒适测量!www.tesoo.cc

3

主题

305

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部