экраны будут от 0,96 до 3.2 в том то и дело, хотелось код адаптировать минимально
ua6em, тут основная "адаптация" будет не к размеру экрана, а к глубине цвета.
При этом слово "адаптация" я не зря взял в кавычки - тут просто разные подходы к формированию изображения, а потому "адаптация" может быть реализована лишь путем чудовищного перерасхода ресурсов, которых у МК и так мало.
экраны будут от 0,96 до 3.2 в том то и дело, хотелось код адаптировать минимально
ua6em, тут основная "адаптация" будет не к размеру экрана, а к глубине цвета.
При этом слово "адаптация" я не зря взял в кавычки - тут просто разные подходы к формированию изображения, а потому "адаптация" может быть реализована лишь путем чудовищного перерасхода ресурсов, которых у МК и так мало.
цвета там вообще некритичны, главное, чтобы они были как данность, классика, не более 3-х цветов на экране, контрастных
Добавил в "старое ядро от Кларка" конфиг для "старшего" блекпила F411CE (512к флеш, 128к RAM) - для начала просто редактированием конфига от младшего F401CC. Вроде компилируется и работает. Во всяком случае мои любимые скетчики для светодиодных матриц отрабатывают без ошибок.
Единственное только - не смог запустить на частоте 100Мгц. Причем похоже дело не в плате, а в аддоне. Нашел в коде туманное замечание, что частота ядра должна быть кратна 48, 24 или 12 МГц. Пришлось поставить 96 Мгц - на такой частоте работает без проблем.
И да, как уже писал для F401 - надо править конфиг линкера, иначе динамическое выделение памяти завешивает контроллер. Похоже это баг в аддоне. Выше в своем форке этот момент тоже поправил.
Единственное только - не смог запустить на частоте 100Мгц. Причем похоже дело не в плате, а в аддоне. Нашел в коде туманное замечание, что частота ядра должна быть кратна 48, 24 или 12 МГц. Пришлось поставить 96 Мгц - на такой частоте работает без проблем.
Отрыжка пресловутой универсальности... Это ряд частот для правильной работы USB... привязка по сути... даже если это и нафик не нужно...
продолжу про аддон Кларка, старый как г... мамонта...
Попробовал поиграться с платками F103C6 - урезанными версиями блюпила, они сейчас на Али стоят в 3 раза дешевле обычной Нано.
Изложу свои некоторые (впрочем вполне очевидные) соображения, если кто захочет использовать С6 с аддоном Кларка.
1. Стоит сразу отказаться от USB-бутлоадера, так как бутлоадер Кларка непомерно большой и отжирает от флеша 8к. А у С6 всего 32к... Прошивать через программатор - Стлинк, Jlink или BlackMagic.
2. При прошивке через Ст-линк автоматически активируется дебаг, что блокирует задействованные для него пины - PB3 PB4 PA15... Чтобы использовать эти пины в своем коде и не потерять возможность загрузки нового кода, необходимо поместить в setup() следующую строчку:
enableDebugPorts();
3. Даже после избавления от бутлоадера особо в памяти С6 не развернешся. Чтобы уменьшить размер кода, рекомендую обновить тулчейн arm-eabi на более новую версию(как это сделать, подробно описано в #477) и включить LTO-оптимизацию. По умолчанию ЛТО для STM32f1 у Кларка заблокировано, так как его включение дает кучу ошибок, поэтому предлагаю попробовать мою патченную версию (эта версия включает также добавления для чипов F4, описанные в #557. Cтавить вместо оригинальной)
Полно библиотек для дисплеев под стм32. Самая крутая mcufriend -только одна эта либа поддерживает дисплеев тридцать минимум
я что за UTFT вцепился, там поддержка большого количества контроллеров, лёгкость перехода на экран иного размера
Для меня такая аргументация непонятна: в каждом конкретном проекте мы используем (обычно) один конкретный контроллер и экран фиксированного размера.
я что за UTFT вцепился, там поддержка большого количества контроллеров, лёгкость перехода на экран иного размера
Для меня такая аргументация непонятна: в каждом конкретном проекте мы используем (обычно) один конкретный контроллер и экран фиксированного размера.
экраны будут от 0,96 до 3.2 в том то и дело, хотелось код адаптировать минимально
экраны будут от 0,96 до 3.2 в том то и дело, хотелось код адаптировать минимально
При этом слово "адаптация" я не зря взял в кавычки - тут просто разные подходы к формированию изображения, а потому "адаптация" может быть реализована лишь путем чудовищного перерасхода ресурсов, которых у МК и так мало.
экраны будут от 0,96 до 3.2 в том то и дело, хотелось код адаптировать минимально
При этом слово "адаптация" я не зря взял в кавычки - тут просто разные подходы к формированию изображения, а потому "адаптация" может быть реализована лишь путем чудовищного перерасхода ресурсов, которых у МК и так мало.
цвета там вообще некритичны, главное, чтобы они были как данность, классика, не более 3-х цветов на экране, контрастных
цвета там вообще некритичны, главное, чтобы они были как данность, классика, не более 3-х цветов на экране, контрастных
Вы рассуждаете с точки зрения пользователя, а не программиста.
Добавил в "старое ядро от Кларка" конфиг для "старшего" блекпила F411CE (512к флеш, 128к RAM) - для начала просто редактированием конфига от младшего F401CC. Вроде компилируется и работает. Во всяком случае мои любимые скетчики для светодиодных матриц отрабатывают без ошибок.
Единственное только - не смог запустить на частоте 100Мгц. Причем похоже дело не в плате, а в аддоне. Нашел в коде туманное замечание, что частота ядра должна быть кратна 48, 24 или 12 МГц. Пришлось поставить 96 Мгц - на такой частоте работает без проблем.
Ссылка на репо https://github.com/board707/Arduino_STM32/tree/blackpill_F411
И да, как уже писал для F401 - надо править конфиг линкера, иначе динамическое выделение памяти завешивает контроллер. Похоже это баг в аддоне. Выше в своем форке этот момент тоже поправил.
Единственное только - не смог запустить на частоте 100Мгц. Причем похоже дело не в плате, а в аддоне. Нашел в коде туманное замечание, что частота ядра должна быть кратна 48, 24 или 12 МГц. Пришлось поставить 96 Мгц - на такой частоте работает без проблем.
Отрыжка пресловутой универсальности... Это ряд частот для правильной работы USB... привязка по сути... даже если это и нафик не нужно...
продолжу про аддон Кларка, старый как г... мамонта...
Попробовал поиграться с платками F103C6 - урезанными версиями блюпила, они сейчас на Али стоят в 3 раза дешевле обычной Нано.
Изложу свои некоторые (впрочем вполне очевидные) соображения, если кто захочет использовать С6 с аддоном Кларка.
1. Стоит сразу отказаться от USB-бутлоадера, так как бутлоадер Кларка непомерно большой и отжирает от флеша 8к. А у С6 всего 32к... Прошивать через программатор - Стлинк, Jlink или BlackMagic.
2. При прошивке через Ст-линк автоматически активируется дебаг, что блокирует задействованные для него пины - PB3 PB4 PA15... Чтобы использовать эти пины в своем коде и не потерять возможность загрузки нового кода, необходимо поместить в setup() следующую строчку:
3. Даже после избавления от бутлоадера особо в памяти С6 не развернешся. Чтобы уменьшить размер кода, рекомендую обновить тулчейн arm-eabi на более новую версию(как это сделать, подробно описано в #477) и включить LTO-оптимизацию. По умолчанию ЛТО для STM32f1 у Кларка заблокировано, так как его включение дает кучу ошибок, поэтому предлагаю попробовать мою патченную версию (эта версия включает также добавления для чипов F4, описанные в #557. Cтавить вместо оригинальной)