Jump to content
    

Добрый день.
Подскажите, пожалуйста: как правильно настроить Keil v5 для прошивки и в NAND Flash?
Камень - STM32F407.
NAND - mx60lf8g18ac-ti.
Пробую такие настройки:
Изображение
Пишет при верификации прошивки

Код:
Contents mismatch at: 70004000H (Flash=00H Required=DDH) !


Переменная объявлена так:

Код:
uint32_t keyFlash __attribute__((at(0x70004000UL))) = 0xAABBCCDD;


Нормально пишет/читает процедурами HAL_NAND_Write_Page_8b/HAL_NAND_Read_Page_8b.

Edited by jockerface

Share this post


Link to post
Share on other sites

Найти или написать файл FLM для прошивки NAND

Share this post


Link to post
Share on other sites

1 минуту назад, x893 сказал:

Найти или написать файл FLM для прошивки NAND

К сожалению, поиск пока ничего не дал.

Насколько я понял, можно взять шаблонный проект (_Template) и изменить его, переписав функции для очистки\записи\чтения flash.

Share this post


Link to post
Share on other sites

1 hour ago, jockerface said:

К сожалению, поиск пока ничего не дал.

Насколько я понял, можно взять шаблонный проект (_Template) и изменить его, переписав функции для очистки\записи\чтения flash.

Да

Share this post


Link to post
Share on other sites

4 минуты назад, x893 сказал:

Да

Подскажите, пожалуйста: как там запись/чтение организовать?

Share this post


Link to post
Share on other sites

8 минут назад, jockerface сказал:

Так там же SPI, а не параллельный интерфейс. Или это не играет роли?

Ну значит вам надо поправить под параллельный, а можно просто с нуля написать.

Я ссылку дал, что бы вы прочитали суть процессов и в какую сторону двигаться.

Share this post


Link to post
Share on other sites

3 часа назад, HardEgor сказал:

Ну значит вам надо поправить под параллельный, а можно просто с нуля написать.

Я ссылку дал, что бы вы прочитали суть процессов и в какую сторону двигаться.

Понял, буду разбираться.

Ещё такой вопрос: почему может быть такое, что HAL_NAND_Write_Page_8b вычитывает корректный буфер, а в переменой 

uint8_t keyFlash __attribute__((at(0x70001000UL)))

лежит значение 0xFF?

Edited by jockerface

Share this post


Link to post
Share on other sites

1 час назад, jockerface сказал:

Ещё такой вопрос: почему может быть такое, что HAL_NAND_Write_Page_8b вычитывает корректный буфер, а в переменой 

uint8_t keyFlash __attribute__((at(0x70001000UL)))

лежит значение 0xFF?

В отладчике надо пошагово смотреть что происходит.

Share this post


Link to post
Share on other sites

16 часов назад, HardEgor сказал:

В отладчике надо пошагово смотреть что происходит.

Значение переменной меняется с 0x00 на 0xFF в момент выполнения __FSMC_NAND_ENABLE.

Share this post


Link to post
Share on other sites

18 часов назад, jockerface сказал:

Ещё такой вопрос: почему может быть такое, что HAL_NAND_Write_Page_8b вычитывает корректный буфер, а в переменой 

uint8_t keyFlash __attribute__((at(0x70001000UL)))

лежит значение 0xFF?

Странно, что функция, содержащая в своём названии "Write" (и не содержащая "Read"), вообще у вас что-то "вычитывает".

Вы ничего не путаете?

Share this post


Link to post
Share on other sites

3 минуты назад, jcxz сказал:

Странно, что функция, содержащая в своём названии "Write" (и не содержащая "Read"), вообще у вас что-то "вычитывает".

Вы ничего не путаете?

Да, действительно, название функции перепутал.

HAL_NAND_Read_Page_8b имелось в виду.

Share this post


Link to post
Share on other sites

При попытке чтения ID функцией HAL_NAND_Read_ID возвращаются разные значения. Подозрение, что я где-то в настройках тайминга накосячил.

Share this post


Link to post
Share on other sites

1 hour ago, jockerface said:

Подозрение, что я где-то в настройках тайминга накосячил.

Надо раскосячивать.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...