Перейти к содержанию
    

Добрый день.
Подскажите, пожалуйста: как правильно настроить 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.

Изменено пользователем jockerface

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jockerface said:

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

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

Да

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Да

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

http://forum.easyelectronics.ru/viewtopic.php?f=35&t=45825

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

Изменено пользователем jockerface

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, jockerface said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...