稻草人1233 发表于 2020-8-21 11:50:32

H745调试外部norflash问题

       问题如下:
       1.使用stm32cube,配置生成的工程,在读写norflash时,在固定位置出现写入数据错误(大部分正确,小部分错误)。然而在直接使用STM32H743I-EVAL\Examples\FMC\FMC_NOR的例子下到H745ii上读写正常。
       2.使用STM32H743I-EVAL\Examples\FMC\FMC_NOR的例子关闭掉mpu的设置,同样会出现在固定位置出错(stm32cube配置生成的工程位置相同)。
       3.使用stm32cube,配置生成的工程,添加了mpu设置,代码运行后出现调试断开。

                              4:fmc配置:如下
/** Perform the NOR1 memory initialization sequence*/
hnor1.Instance = FMC_NORSRAM_DEVICE;
hnor1.Extended = FMC_NORSRAM_EXTENDED_DEVICE;
/* hnor1.Init */
hnor1.Init.NSBank = FMC_NORSRAM_BANK1;
hnor1.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE;
hnor1.Init.MemoryType = FMC_MEMORY_TYPE_NOR;
hnor1.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16;
hnor1.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_ENABLE;
hnor1.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW;
hnor1.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;
hnor1.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;
hnor1.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE;
hnor1.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE;
hnor1.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_ENABLE;
hnor1.Init.WriteBurst = FMC_WRITE_BURST_DISABLE;
hnor1.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ASYNC;
       
//hnor1.Init.WriteFifo = FMC_WRITE_FIFO_ENABLE;
//hnor1.Init.PageSize = FMC_PAGE_SIZE_NONE;
/* Timing */
Timing.AddressSetupTime = 9;
Timing.AddressHoldTime = 1;
Timing.DataSetupTime = 5;
Timing.BusTurnAroundDuration = 4;
Timing.CLKDivision = 4;
Timing.DataLatency = 2;
Timing.AccessMode = FMC_ACCESS_MODE_B;


页: [1]
查看完整版本: H745调试外部norflash问题