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

GD32F450 Flash-память, время ожидания доступа

Добрый день, коллеги!

 

В описании на GD32F450 есть следующий текст:

image.thumb.png.37586521a70b5ae180bed394153acbd5.png

Не могу найти подробнее, что значит "long delay"? Сколько в машинных тактах? И непонятно, как они организовали нулевое время ожидания при доступе к первым 512 Кб памяти? В документации на микроконтроллеры STM32 эти моменты освещены более подробно, но даже в том случае здесь на форуме было доказано, что не всё так просто с ускорением доступа. Непонятно, что думать про GD32 без каких-либо дополнительных комментариев в их документации.

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


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

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

И непонятно, как они организовали нулевое время ожидания при доступе к первым 512 Кб памяти?

Кэширование в RAM. При запуске содержимое Flash копируется в RAM.

Вроде как там обычная отдельная SPI Flash и поэтому время доступа к ней относительно большое.

image.png.a68bca574939d5a32b3b7a97e77eaacd.png

 

Время доступа в кэшированный и обычный регионы есть в даташите:

image.thumb.png.1998095a2bb85c4d917643977cbf29ea.png

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


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

Может, они имеют в виду, что код выполняться может не только из Flash, но и, например, из внешнего чипа.

Вот и пишут, при исполнении из внутренней Flash получите zero-wait-state (ну, Вы же понимаете, что там банальная предвыборка и, возможно, ART-кэш). А за пределами Flash ничего не обещаем.

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


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

8 minutes ago, Daniil said:

Кэширование в RAM. При запуске содержимое Flash копируется в RAM.

Ах, да! Помню, что раньше читал об этом, но тогда ещё работал с STM32/LPC.

6 minutes ago, Arlleex said:

Может, они имеют в виду, что код выполняться может не только из Flash, но и, например, из внешнего чипа.

Нет, нет, они говорят именно про внутреннюю память FLASH.

image.thumb.png.5dc12241796ed1da8ff3d63ae3637b40.png

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


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

У них и так чип Flash внешний, только он лежит в том же корпусе поверх основного кристалла )

Они и запускаются медленнее STM32 (100-200ms), т.к. требуется время на копирования содержимого Flash в RAM.

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


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

9 minutes ago, Daniil said:

Время доступа в кэшированный и обычный регионы есть в даташите:

Тут меня сбивает с мысли их терминология: zero waitstates; non-zero waitstates; data flash и code flash.

1 minute ago, Daniil said:

Они и запускаются медленнее STM32 (100-200ms), т.к. требуется время на копирования содержимого Flash в RAM.

А у них это официально где-то прописано? Вот сейчас ещё раз просмотрел User Manual и Datasheet, и не могу ничего подобного найти...

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


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

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

А у них это официально где-то прописано? Вот сейчас ещё раз просмотрел User Manual и Datasheet, и не могу ничего подобного найти

Стр.68 даташита:

image.thumb.png.99e9449095c070d6a538ab905692e4ad.png

6 минут назад, haker_fox сказал:

Тут меня сбивает с мысли их терминология: zero waitstates; non-zero waitstates; data flash и code flash.

Да тут вроде очевидно - zero waitstates=code flash, non-zero waitstates=data flash

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


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

16 минут назад, Daniil сказал:

Вроде как там обычная отдельная SPI Flash

"Обычная SPI-flash" и "обычная quad-SPI-flash" (особенно если с DDR) - вещи несколько разные...

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


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

Только что, jcxz сказал:

"Обычная SPI-flash" и "обычная quad-SPI-flash" (особенно если с DDR) - вещи несколько разные...

Согласен, но это детали. Время выборки все равно сильно медленнее встроенной Flash.

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


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

ИМХО, уж лучше было эти 512 кБ (!!!) не под кэширование Flash отдать :cray: а просто юзеру под его нужды... А Flash сделать обычной.

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


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

27 минут назад, Arlleex сказал:

А Flash сделать обычной.

Если ничего не путаю, GD изначально занималась флеш-памятью. То есть это не к готовому ядру прикрутили внешнюю флеш, а к готовой флешке прикрутили ядро.

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


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

46 минут назад, Arlleex сказал:

ИМХО, уж лучше было эти 512 кБ (!!!) не под кэширование Flash отдать :cray: а просто юзеру под его нужды... А Flash сделать обычной.

Или хотя-бы: дать возможность задать размер этой ОЗУ, используемый под загрузку кода. Остальное оставив юзеру под его нужды!

512КБ кода далеко не каждый напишет.

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


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

On 3/14/2023 at 10:15 AM, jcxz said:

Или хотя-бы: дать возможность задать размер этой ОЗУ, используемый под загрузку кода. Остальное оставив юзеру под его нужды!

512КБ кода далеко не каждый напишет.

в зависимости от буквы есть 450 с разным размером коде и дата памяти. А про 512 не каждый напишет... у меня, например, оч много места занимают шрифты для дисплея и если они не сидят в коде мемори, то начинаются крайне жесткие тормоза

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


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

У вас прям в каждом проекте по полмегабайта шрифтов???  :shok:

 

PS: Допустим даже так. Но всё равно - у меня есть ощущение, что если бы был выбор:

или 1) использовать это ОЗУ для хранения шрифта (отображая на него флешь);

или 2) использовать её для видеобуфера - для рисования в ней;

то 2-й вариант выигрывал бы в скорости. И значительно.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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