RR2021 1 13 апреля, 2022 Опубликовано 13 апреля, 2022 · Жалоба В связи с последними событиями , интересует вопрос по миландрам надо заменять ну к примеру stm32f427ZI (256Кб и 2 Мб), у них очень маленький объём флеша 128 Кбайт и 48 Кбайт ОЗУ. Написано вроде что можно подключать внешнюю память " Контроллер внешней системной шины, позволяющий работать с внешними микросхемами статического ОЗУ и ПЗУ, NAND Flash памятью и другими периферийными устройствами" Кто проделывал подобное ? интересует : 1 если прошивка большая будет она из внешней флэшки работать ? 2 как это выглядит ну т.е. по какому интерфейсу подключается как это прошивать? stm там условно открыл STM32 ST-LINK Utility залил хекс или бинарник , а тут если внешняя память как её видеть программатор будет? 3 программаторы только родные или китайский ULINK2 2 справится? а может STlink адаптировать можно ? ну так вроде пока всё мож чё ещё вспомню Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 13 апреля, 2022 Опубликовано 13 апреля, 2022 · Жалоба 2 часа назад, RR2021 сказал: В связи с последними событиями , интересует вопрос по миландрам надо заменять ну к примеру stm32f427ZI (256Кб и 2 Мб), у них очень маленький объём флеша 128 Кбайт и 48 Кбайт ОЗУ. Написано вроде что можно подключать внешнюю память " Контроллер внешней системной шины, позволяющий работать с внешними микросхемами статического ОЗУ и ПЗУ, NAND Flash памятью и другими периферийными устройствами" Кто проделывал подобное ? интересует : 1 если прошивка большая будет она из внешней флэшки работать ? 2 как это выглядит ну т.е. по какому интерфейсу подключается как это прошивать? stm там условно открыл STM32 ST-LINK Utility залил хекс или бинарник , а тут если внешняя память как её видеть программатор будет? 3 программаторы только родные или китайский ULINK2 2 справится? а может STlink адаптировать можно ? ну так вроде пока всё мож чё ещё вспомню У меня есть LDM-HELPER-K1986BE1QI-WEB версии 1.05. Там подключена внешняя память: FLASH-NOR внешняя:128 Мб, SRAM внешняя:8 Мб. Думаю, можно из внешней флешки загрузить код во внешнее ОЗУ и там его исполнить. Прошивать, скорее всего, по UART - утилитка есть. Пока не использовал. Есть сомнения, что Миландр будет в будущем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 11 13 апреля, 2022 Опубликовано 13 апреля, 2022 · Жалоба C К1986ВЕ92QI работаю без проблем через перепрошитый ST-Link (Segger): Кейлу отчитывается, что он J-Link. В свое время все наводки давала сама техподдержка Миландра. Но да, по поводу будущего терзают смутные сомнения. Говорят, к сентябрю отчитаются о своих планах... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 12 часов назад, RR2021 сказал: 3 программаторы только родные или китайский ULINK2 2 справится? а может STlink адаптировать можно ? С эмулятором как раз проще всего: выкинете все свои ST-Link-и и купите наконец нормальный J-Link. Судя по документации, хоть ITCM-шина нарисована только до внутренней флешь, но указано: Цитата Область External code: Область отображения шины AHB-Lite в адресное пространство области программы. Предназначена для хранения кода программ во внешних микросхемах памяти, подсоединенных к внешней системной шине. Так что скорей всего - исполняться код должен и из внешней памяти. Хотя выборка кода может оказаться существенно более медленной, чем из внутренней флешь. А Вы уже написали > 128КБ кода? Или только в планах? 10 часов назад, adnega сказал: Думаю, можно из внешней флешки загрузить код во внешнее ОЗУ и там его исполнить. А какой в этом смысл? Если код из внешней ОЗУ выполняется, то значит он и из внешней флеши выполняться будет. Флеши подключенной на ту же внешнюю шину. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 14 минут назад, jcxz сказал: А какой в этом смысл? Если код из внешней ОЗУ выполняется, то значит он и из внешней флеши выполняться будет. Флеши подключенной на ту же внешнюю шину. На той плате, что у меня есть, внешняя ПЗУ подключена по SPI. Если подключить ПЗУ на параллельную шину, то можно исполнять прямо из ПЗУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 2 минуты назад, adnega сказал: На той плате, что у меня есть, внешняя ПЗУ подключена по SPI. Если подключить ПЗУ на параллельную шину, то можно исполнять прямо из ПЗУ. До возможности выполнения кода из флешь, подключенной по SPI (как во многих современных МК) "на лету", Миландр похоже ещё не дорос. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 231 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 3 минуты назад, jcxz сказал: До возможности выполнения кода из флешь, подключенной по SPI (как во многих современных МК) "на лету", Миландр похоже ещё не дорос. Какая при этом будет производительность, даже если SPI разогнать на 50 МГц и гнать данные в четырехпроводном режиме? Если без кеша в ядре, то всё стухнет на уровне интерфейса и получится колосс на глиняных ногах. Кому такой нужен? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 3 минуты назад, makc сказал: Какая при этом будет производительность, даже если SPI разогнать на 50 МГц и гнать данные в четырехпроводном режиме? Если без кеша в ядре, то всё стухнет на уровне интерфейса и получится колосс на глиняных ногах. Кому такой нужен? Ясен пень, что кеш тут просто необходим. С кешем, на том МК, на котором работал в таком режиме (LPC4370), я не заметил на глаз никакой разницы в скорости выполнения обычного кода (я не говорю про особые случаи, типа: больших таблиц во флешь с произвольным доступом; или редко возникающих, но требующих быстрой обработки, прерываний). Из внутренней флешь, если выполнять без кеша на МК с высокой тактовой, тоже будет очень медленно. Так как латентность флешь будет высокой. PS: Другой вопрос, выпадающий за рамки скорости, при выполнении из внешней памяти - это защита кода. От стыривания. Об этом не стоит забывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 31 минуту назад, jcxz сказал: PS: Другой вопрос, выпадающий за рамки скорости, при выполнении из внешней памяти - это защита кода. От стыривания. Об этом не стоит забывать. Для этого можно использовать внутренние ПЗУ и ОЗУ. Можно подгружать код порциями по мере необходимости, расшифровывая/проверяя в процессе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 6 минут назад, adnega сказал: Можно подгружать код порциями по мере необходимости, расшифровывая/проверяя в процессе. С 48KB много не поподгружаешь. Ещё и на данные место нужно. Другое дело что 128КБ - имхо вполне достаточно для подавляющего большинства программ. А там где недостаточно, то это скорее из-за каких-то данных (шрифты, картинки, содержимое HTTP-сервера и.т.п). А такое можно отделить от кода и хранить незашифрованным, во внешней памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 1 час назад, jcxz сказал: С 48KB много не поподгружаешь. Ещё и на данные место нужно. Другое дело что 128КБ - имхо вполне достаточно для подавляющего большинства программ. А там где недостаточно, то это скорее из-за каких-то данных (шрифты, картинки, содержимое HTTP-сервера и.т.п). А такое можно отделить от кода и хранить незашифрованным, во внешней памяти. У меня практика обратная - и 32кБ озу много на что хватает. А вот 128к флеш - тесновато. АРМ жрет флешку как не в себя, особенно ниже М3. даже на Atmega8 я подходил вплотную к 120кб на средненьком проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 14 апреля, 2022 Опубликовано 14 апреля, 2022 (изменено) · Жалоба 1 час назад, AlexRayne сказал: даже на Atmega8 я подходил вплотную к 120кб на средненьком проекте. Е-мое это ж чего такого в атмегу можно насочинять на 120Кб? Либо вообше при 0й оптимизации. Был у меня проект на атмеге 1284 лет 8 назад, флеша заняло 85 килобайт, а именно, ОС с файловой системой интерпретатор вирт. задачи, граф. интерфейс, с мелким дисплеем, полностью независимый обработчик работы с модемом (процессор АТ команд), всякие модбасы, воспроизведение аудиофайла 12КГц и еще много по-мелочам... А тут 120Кил...Да еще и средний проект... Изменено 14 апреля, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RR2021 1 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 5 часов назад, jcxz сказал: А Вы уже написали > 128КБ кода? Или только в планах? На stm32f427 по более 128 написано , сейчас возможно будет задача всё это на российские контроллеры перенести Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 1 час назад, RR2021 сказал: На stm32f427 по более 128 написано Это именно только код, без больших данных? И всё обосновано, такой объём? Или можно сильно урезать осетра оптимизировать? PS: А то может как только выкинется какой-нить кубокал и ещё что-нить подобное монструозное, включится полная оптимизация по размеру, так и окажется что вполне всё влезает в 128КБ + ещё вагон свободного места остаётся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 14 апреля, 2022 Опубликовано 14 апреля, 2022 · Жалоба 6 минут назад, jcxz сказал: Или можно сильно урезать осетра оптимизировать? А хочется-ли?)))))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться