【发布时间】:2019-01-28 18:27:25
【问题描述】:
如何读取每页的闪存?我无法按扇区读取它。
我必须读取 2 个内存扇区(2*16kbytes)。
我在 FreeRtos 下,我正在使用 STM32F401RE。
我使用的是指针,我只需要读取内存闪存的两个扇区。
uint32_t data_store0[4096] = {0};
uint32_t data_store1[4096] = {0};
uint32_t *words0 = (uint32_t *) BASE_ADDR_SECTOR_0;
uint32_t *words1 = (uint32_t *) BASE_ADDR_SECTOR_1;
unsigned int buffer_firmware[8192] = {0};
unsigned char firmware[32768] = {0};
int k, m, i, j = 0;
int count_time = 0;
for(int i=0; i<4096; i++)
{
data_store0[i] += words0[i];
buffer_firmware[i] = data_store0[i];
}
for(int j=0; j<4096; j++)
{
data_store1[j] += words1[j];
}
for(m = 0, k = 4096; k < 8192 && m < 4096; m++, k++)
{
buffer_firmware[k] = data_store1[m];
}
SHA256Input(&ctx, (const uint8_t *) buffer_firmware, 8192);
【问题讨论】:
-
你到底想做什么?要读取闪存,您需要做的就是取消引用一个指针。
-
感谢您的回复#Colin,我正在使用指针,我只需要读取内存闪存的两个扇区。但我无法在 freeRTOS 中执行代码!
-
什么是牵引扇区?
标签: memory stm32 freertos stm32f4discovery flash-memory