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

    

Прошивки более 2Мб (для STM32)

256x64 - это размер LCD или размер одного символа?

-это разрешение ОЛЕД индикатора.

 

Попробуйте растеризовать кириллицу+латинницу и указаный вами диапазон для одного лишь нежирного Аrial 48

для LCD естесственно понадобятся значительно большие, если на пол-высоты крана цифири, а хотя бы на треть сообщния..

 

Естесственно соглашусь , что технически это всё тем или иным способом решается, просто было интересно, как можно обоити ограничения

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


Ссылка на сообщение
Поделиться на другие сайты
Попробуйте растеризовать кириллицу+латинницу и указаный вами диапазон для одного лишь нежирного Аrial 48

для LCD естесственно понадобятся значительно большие, если на пол-высоты крана цифири, а хотя бы на треть сообщния..

У себя с самого начала сделал нехитрый RLE. Для крупных шрифтов ужмётся в разы.

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


Ссылка на сообщение
Поделиться на другие сайты
У себя с самого начала сделал нехитрый RLE..

в EmWin-е вроде свои RLE есть, крупных шрфтов избыточность очевидна,

со шрифтами то я управлюсь , мне было интересно решение вопроса мегапрошивки в принципе.

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


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

Проблема "мегапрошивки в принципе" не решается.

Потому что для её решения нужно, как минимум, уметь читать.

 

В этой теме уже упоминалось, что некоторые LPC и STM умеют исполнять код из внешних SDRAM и QSPI флешек.

Также об этом написано в соответствующей документации.

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


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

А что всё SDRAM да SDRAM? Параллельная флэш-память подключается к шине. И размер программы ограничен только диапазоном адресного пространства, выделенного для такой памяти.

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


Ссылка на сообщение
Поделиться на другие сайты
Параллельная флэш-память подключается к шине.

 

NOR. Маленькая, ооочень многоногая и довольно дорогая.

Потому что с NAND по-человечески (с отображением в адресное пространство контроллера) не умеют работать ни STM32, ни LPC43...

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


Ссылка на сообщение
Поделиться на другие сайты
NOR. Маленькая, ооочень многоногая и довольно дорогая.

Потому что с NAND по-человечески (с отображением в адресное пространство контроллера) не умеют работать ни STM32, ни LPC43...

Так вопрос, скорее, теоретический.

Вот от Микрона документ, там можно поcмотреть.

https://www.micron.com/resource-details/b54...43-caf3e0a240e5

Осталась MT28EW серия, M29W уже не в моде.

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


Ссылка на сообщение
Поделиться на другие сайты
-это разрешение ОЛЕД индикатора.

Попробуйте растеризовать кириллицу+латинницу и указаный вами диапазон для одного лишь нежирного Аrial 48

А зачем? У меня максимальные используемые шрифты: "Verdana 14pt", "Verdana 20pt", "Georgia 20pt" - так даже на моём 320x240 буквы уже кажутся очень большими (используются только для крупных надписей). А "Аrial 48" да на 256x64 ?... там хоть один символ то влезает в этот LCD? Или нужно скроллить? :biggrin:

И нафига такой изврат нужен (на практике)?

 

для LCD естесственно понадобятся значительно большие, если на пол-высоты крана цифири, а хотя бы на треть сообщния..

Ну ладно - пускай там Вы может выводите бегущую строку по паре символов на экран (читаемость такой строки будет сомнительна), но зачем её выводить ещё и десятком разных шрифтов (все большие)??? :wacko:

А уж 1-2 шрифта даже такого размера вполне займут несколько десятков кБ. А это во много раз меньше 2MB.

 

PS: Описание задачи очень сильно смахивает на сферического коня... :laughing:

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


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

Наберите в гугле

linker overlay

прочитайте внимательно и используйте.

Как то люди используют с 1980-годов и не парятся

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


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

linker overlay

прочитайте внимательно и используйте.

Как то люди используют с 1980-годов и не парятся

В DOS-е такое было, на паскале пробовал. Вы утверждаете, что это сработает с stm32? Это интересно.

 

PS: Описание задачи очень сильно смахивает на сферического коня... :laughing:

Подозреваю, автор темы изучает гипотетическую возможность такового. Ничего предосудительного :)

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


Ссылка на сообщение
Поделиться на другие сайты
В DOS-е такое было, на паскале пробовал. Вы утверждаете, что это сработает с stm32? Это интересно.

У меня такое было на LPC4370. А в чём проблема? Почему может "не сработать"?

Тут разговор о другом: на МК с 2МБ флеша это вряд-ли будет нужно на практике.

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


Ссылка на сообщение
Поделиться на другие сайты
А что всё SDRAM да SDRAM? Параллельная флэш-память подключается к шине. И размер программы ограничен только диапазоном адресного пространства, выделенного для такой памяти.

Да подключить можно что угодно, но не будет ускорения, как во внутренней флеш, а это на порядок падение в скорости, если уж в устройстве используется графика, так наверняка есть СД-карта, грузите свою мегапрограмму в ОЗУ с карты и будет вам счастье :biggrin:

ЗЫ. А так конечно странно, что можно уложить в 2 мега, делал свою "мини ОС" на "тяжелом" камне аля "аллвиннеровские SOC", с поддержкой очень многочего, включая графику, сетевой стек, виртуальную машину, протоколы обмена и растеризованный шрифт по умолчанию... Потянуло меньше, чем 600кБайт, с оптимизацией, конечно.

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

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


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

Ну, 2МБайт Flash можно использовать по-разному, смотря что за приложение. Скажу за себя.

Делали одно устройство технологическое, объект находится за тысячу километров от рабочего стола. Больше отладиться, собственно, не на чем. Поэтому компилировал некоторые версии прошивок (с вариативным набором функций и алгоритмов работы особо интересных мест) и забивал ими Flash. При включении техник выбирал кнопочками на дисплее каждую подготовленную версию и она загружалась как текущая рабочая. По ней оглашались результаты и принималось дальнейшее решение, что и как писать в следующих ревизиях. В итоге, правда, оказалось, что отладили все достаточно быстро и пришлось убрать загрузчик с возможностью выбора боевой прошивки. Это был своего рода механизм быстрого отката назад при тестировании нового ПО, ведь основную работу устройство должно сделать так или иначе, а вот потестить его с новой версией ПО это как бы факультативное задание было :rolleyes:

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


Ссылка на сообщение
Поделиться на другие сайты
Ну, 2МБайт Flash можно использовать по-разному, смотря что за приложение. Скажу за себя.

Делали одно устройство технологическое, объект находится за тысячу километров от рабочего стола. Больше отладиться, собственно, не на чем. Поэтому компилировал некоторые версии прошивок (с вариативным набором функций и алгоритмов работы особо интересных мест) и забивал ими Flash. При включении техник выбирал кнопочками на дисплее каждую подготовленную версию и она загружалась как текущая рабочая. По ней оглашались результаты и принималось дальнейшее решение, что и как писать в следующих ревизиях. В итоге, правда, оказалось, что отладили все достаточно быстро и пришлось убрать загрузчик с возможностью выбора боевой прошивки. Это был своего рода механизм быстрого отката назад при тестировании нового ПО, ведь основную работу устройство должно сделать так или иначе, а вот потестить его с новой версией ПО это как бы факультативное задание было :rolleyes:

 

В принципе, их можно было б их хранить на карточке памяти, флешке (сейчас почти у каждого путного мк есть усб хост) да во внешней спи-флешке даже, а бутлоадер прошьет во флеш мк ту, которую выберет техник...

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

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


Ссылка на сообщение
Поделиться на другие сайты
Да подключить можно что угодно, но не будет ускорения, как во внутренней флеш, а это на порядок падение в скорости

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

Постоянно отлаживаю код в SDRAM в тех устройствах где оно есть. И на STM32F429 в том числе. Разница в загрузке процессора при работе из флешь и SDRAM незначительная. Так как есть такая вещь как кеш.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация