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

В связи с последними событиями , интересует вопрос по миландрам надо заменять ну к примеру stm32f427ZI (256Кб и 2 Мб), у них очень маленький объём флеша 128   Кбайт  и 48 Кбайт ОЗУ. Написано вроде что можно подключать внешнюю память " Контроллер внешней системной шины, позволяющий работать с внешними микросхемами статического ОЗУ и ПЗУ, NAND Flash памятью и другими периферийными устройствами" Кто проделывал подобное ? интересует :

если прошивка большая будет она из внешней флэшки работать ?

2 как это выглядит ну т.е. по какому интерфейсу подключается как это прошивать? stm там условно открыл STM32 ST-LINK Utility залил хекс или бинарник , а тут если внешняя память как её видеть программатор будет? 

3 программаторы только родные или китайский  ULINK2 2 справится? а может STlink адаптировать можно ?

ну так вроде пока всё мож чё ещё вспомню 

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


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

2 часа назад, RR2021 сказал:

В связи с последними событиями , интересует вопрос по миландрам надо заменять ну к примеру stm32f427ZI (256Кб и 2 Мб), у них очень маленький объём флеша 128   Кбайт  и 48 Кбайт ОЗУ. Написано вроде что можно подключать внешнюю память " Контроллер внешней системной шины, позволяющий работать с внешними микросхемами статического ОЗУ и ПЗУ, NAND Flash памятью и другими периферийными устройствами" Кто проделывал подобное ? интересует :

если прошивка большая будет она из внешней флэшки работать ?

2 как это выглядит ну т.е. по какому интерфейсу подключается как это прошивать? stm там условно открыл STM32 ST-LINK Utility залил хекс или бинарник , а тут если внешняя память как её видеть программатор будет? 

3 программаторы только родные или китайский  ULINK2 2 справится? а может STlink адаптировать можно ?

ну так вроде пока всё мож чё ещё вспомню 

У меня есть LDM-HELPER-K1986BE1QI-WEB версии 1.05.

Там подключена внешняя память: FLASH-NOR внешняя:128 Мб, SRAM внешняя:8 Мб.

Думаю, можно из внешней флешки загрузить код во внешнее ОЗУ и там его исполнить.

Прошивать, скорее всего, по UART - утилитка есть.

Пока не использовал. Есть сомнения, что Миландр будет в будущем.

 
   

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


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

C К1986ВЕ92QI работаю без проблем через перепрошитый ST-Link (Segger): Кейлу отчитывается, что он J-Link. В свое время все наводки давала сама техподдержка Миландра.

Но да, по поводу будущего терзают смутные сомнения. Говорят, к сентябрю отчитаются о своих планах...

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


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

12 часов назад, RR2021 сказал:

3 программаторы только родные или китайский  ULINK2 2 справится? а может STlink адаптировать можно ?

С эмулятором как раз проще всего: выкинете все свои ST-Link-и и купите наконец нормальный J-Link.  :wink:

Судя по документации, хоть ITCM-шина нарисована только до внутренней флешь, но указано:

Цитата

Область External code: 
Область  отображения  шины  AHB-Lite  в  адресное  пространство  области  программы. 
Предназначена для хранения кода программ во внешних микросхемах памяти, подсоединенных 
к внешней системной шине. 

Так что скорей всего - исполняться код должен и из внешней памяти. Хотя выборка кода может оказаться существенно более медленной, чем из внутренней флешь.

А Вы уже написали > 128КБ кода? Или только в планах?  :wink:

 

10 часов назад, adnega сказал:

Думаю, можно из внешней флешки загрузить код во внешнее ОЗУ и там его исполнить.

А какой в этом смысл? :scratch_one-s_head:  Если код из внешней ОЗУ выполняется, то значит он и из внешней флеши выполняться будет. Флеши подключенной на ту же внешнюю шину.

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


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

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

А какой в этом смысл? :scratch_one-s_head:  Если код из внешней ОЗУ выполняется, то значит он и из внешней флеши выполняться будет. Флеши подключенной на ту же внешнюю шину.

На той плате, что у меня есть, внешняя ПЗУ подключена по SPI. Если подключить ПЗУ на параллельную шину, то можно исполнять прямо из ПЗУ.

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


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

2 минуты назад, adnega сказал:

На той плате, что у меня есть, внешняя ПЗУ подключена по SPI. Если подключить ПЗУ на параллельную шину, то можно исполнять прямо из ПЗУ.

До возможности выполнения кода из флешь, подключенной по SPI (как во многих современных МК) "на лету", Миландр похоже ещё не дорос.  :wink:

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


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

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

До возможности выполнения кода из флешь, подключенной по SPI (как во многих современных МК) "на лету", Миландр похоже ещё не дорос.  :wink:

Какая при этом будет производительность, даже если SPI разогнать на 50 МГц и гнать данные в четырехпроводном режиме? Если без кеша в ядре, то всё стухнет на уровне интерфейса и получится колосс на глиняных ногах. Кому такой нужен?

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


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

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

Какая при этом будет производительность, даже если SPI разогнать на 50 МГц и гнать данные в четырехпроводном режиме? Если без кеша в ядре, то всё стухнет на уровне интерфейса и получится колосс на глиняных ногах. Кому такой нужен?

Ясен пень, что кеш тут просто необходим. С кешем, на том МК, на котором работал в таком режиме (LPC4370), я не заметил на глаз никакой разницы в скорости выполнения обычного кода (я не говорю про особые случаи, типа: больших таблиц во флешь с произвольным доступом; или редко возникающих, но требующих быстрой обработки, прерываний).

Из внутренней флешь, если выполнять без кеша на МК с высокой тактовой, тоже будет очень медленно. Так как латентность флешь будет высокой.

 

PS: Другой вопрос, выпадающий за рамки скорости, при выполнении из внешней памяти - это защита кода. От стыривания. Об этом не стоит забывать.

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


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

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

PS: Другой вопрос, выпадающий за рамки скорости, при выполнении из внешней памяти - это защита кода. От стыривания. Об этом не стоит забывать.

Для этого можно использовать внутренние ПЗУ и ОЗУ. Можно подгружать код порциями по мере необходимости, расшифровывая/проверяя в процессе.

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


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

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

Можно подгружать код порциями по мере необходимости, расшифровывая/проверяя в процессе.

С 48KB много не поподгружаешь. Ещё и на данные место нужно.

Другое дело что 128КБ - имхо вполне достаточно для подавляющего большинства программ. А там где недостаточно, то это скорее из-за каких-то данных (шрифты, картинки, содержимое HTTP-сервера и.т.п). А такое можно отделить от кода и хранить незашифрованным, во внешней памяти.

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


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

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

С 48KB много не поподгружаешь. Ещё и на данные место нужно.

Другое дело что 128КБ - имхо вполне достаточно для подавляющего большинства программ. А там где недостаточно, то это скорее из-за каких-то данных (шрифты, картинки, содержимое HTTP-сервера и.т.п). А такое можно отделить от кода и хранить незашифрованным, во внешней памяти.

У меня практика обратная - и 32кБ озу много на что хватает. А вот 128к флеш -  тесновато. АРМ жрет флешку как не в себя, особенно ниже М3.  даже на Atmega8 я подходил вплотную к 120кб на средненьком проекте.

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


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

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

даже на Atmega8 я подходил вплотную к 120кб на средненьком проекте.

Е-мое это ж чего такого в атмегу можно насочинять на 120Кб? Либо вообше при 0й оптимизации. Был у меня проект на атмеге 1284 лет 8 назад, флеша заняло 85 килобайт, а именно, ОС с файловой системой интерпретатор вирт. задачи, граф. интерфейс, с мелким дисплеем, полностью независимый обработчик работы с модемом (процессор АТ команд), всякие модбасы, воспроизведение аудиофайла 12КГц и еще много по-мелочам... А тут 120Кил...Да еще и средний проект...

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

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


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

5 часов назад, jcxz сказал:

 А Вы уже написали > 128КБ кода? Или только в планах?  :wink:

 

 

На stm32f427 по более 128 написано , сейчас возможно будет задача всё это на российские контроллеры перенести 

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


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

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

На stm32f427 по более 128 написано

Это именно только код, без больших данных? И всё обосновано, такой объём? Или можно сильно урезать осетра оптимизировать?

PS: А то может как только выкинется какой-нить кубокал и ещё что-нить подобное монструозное, включится полная оптимизация по размеру, так и окажется что вполне всё влезает в 128КБ + ещё вагон свободного места остаётся.  :smile:

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


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

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

Или можно сильно урезать осетра оптимизировать?

А хочется-ли?))))))))

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


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

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

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

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

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

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

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

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

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

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