
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

У вас есть проект, которому нужен дисплей, клавиатура и немного памяти, но предварительно загруженная прошивка на модуль Crystalfontz CFA735 или CFA835 - не совсем то, что вы ищете? Вам повезло - вы можете взломать эти модули, чтобы загрузить кастомную прошивку.
CFA735 и CFA835 - универсальные интеллектуальные ЖК-модули. И Crystalfontz CFA735, и CFA835 основаны на аппаратном модуле CFA10052, поэтому в этом руководстве CFA735 и / или CFA835 будут называться CFA10052. CFA10052 можно перепрограммировать для работы с вашей собственной прошивкой.
- Микроконтроллер STMicroelectronics STM32F401
- 32-битный процессор ARM Cortex ™ -M4 @ 84 МГц
- 256 КБ флэш-памяти, 64 КБ ОЗУ
- ЖК-дисплей с подсветкой 244 x 68 пикселей
- Sitronix ST7529 32-дюймовый графический ЖК-контроллер в градациях серого
- Импульсный импульсный источник питания обеспечивает широкий диапазон питающего напряжения.
- Отдельное переключение контроллеров яркости светодиодов для подсветки клавиатуры и ЖК-дисплея
- 6-кнопочная клавиатура с подсветкой
- 4 двухцветных (красный / зеленый) светодиода
- Интерфейс USB2
- слот для карты microSD
- 5 контактов ввода-вывода общего назначения (GPIO)
- Несколько последовательных интерфейсов / SPI / I2C / CAN (в зависимости от использования GPIO).
Из этого туториала Вы узнаете, как заменить встроенное ПО, поставляемое с CFA10052, на новое встроенное ПО, которое:
- Отображение на ЖК-дисплее переменной сетки с текущей подсветкой, контрастностью ЖК-дисплея и информацией о состоянии клавиатуры;
- Управляйте подсветкой и контрастностью ЖК-дисплея с помощью клавиатуры.
- Последовательно измените цвет четырех светодиодов с красного на зеленый.
- Включите последовательный порт USART на контактах 1 и 2 заголовка 1 (115200 бод) и отобразите все полученные данные.
- Включите виртуальный последовательный порт USB и отправьте все полученные данные обратно на хост.
- Включает, но не демонстрирует, доступ к файлам для чтения / записи uSD.
Конечно, вы можете написать свою собственную прошивку и загрузить ее, выполнив следующие действия.
ВАЖНАЯ ЗАМЕТКА:
Аппаратный модуль Crystalfontz CFA10052 поставляется с запрограммированным загрузчиком и прошивкой CFA735 / CFA835. Загрузчик и прошивка CFA735 / CFA835 не имеют открытого исходного кода и не могут быть скопированы с CFA10052 пользователем, а также не могут быть запрограммированы пользователем на CFA10052. Если вы в конечном итоге захотите вернуться к прошивке CFA735 / CFA835, вам придется отправить ее обратно в Crystalfontz, чтобы перепрограммировать.
Запасы
- Модуль Crystalfontz CFA10052 (аппаратная версия 1.1 или новее) (CFA735 / CFA835)
- ПК (Windows / Linux / OSX) с установленной утилитой STM32CubeIDE и STM32 ST-LINK
- Программный интерфейс STMicroelectronics ST-LINK (V2 или V3)
- Кабель для программирования CFA10052 (подробности ниже)
- Кастомная прошивка (или воспользуйтесь нашей здесь)
- Если вы используете Windows 7/8 / 8.1 / 10 (или эквивалентные серверные версии) и хотите протестировать виртуальный последовательный порт USB, вам необходимо загрузить драйверы отсюда. Последовательный порт USB будет работать без дополнительных драйверов в Windows 10+, Linux, OS-X.
Шаг 1. Соберите / создайте припасы

Мы рекомендуем использовать STM32CubeIDE для загрузки и использования этого примера проекта прошивки. STM32CubeIDE - это бесплатная IDE, основанная на Eclipse, которая была модифицирована STMicroelectronics для включения специальных инструментов STM32. IDE можно загрузить на веб-странице STM32CubeIDE.
Чтобы поддерживать правильную работу инструмента конфигурации устройства STM, вы должны только редактировать исходный код инструмента конфигурации устройства, созданный между соответствующими блоками комментариев «USER CODE BEGIN xxx» и «USER CODE END xxx».
Затем решите, обращаться ли к нам за кабелем для программирования CFA10052 или сделать свой собственный. Мы не собираемся подробно разбирать кабель в этом руководстве, но если вы хотите сделать свой собственный программный кабель CFA10052, вы можете найти подключения на странице GitHub, лучший способ сделать это - начать с Шестнадцатиконтактный ленточный кабель и соедините его с кабелем ST Link.
Шаг 2. Удалите существующую прошивку


Если в ваш модуль CFA10052 загружена входящая в комплект прошивка CFA735 или CFA835, вам необходимо сначала стереть существующую прошивку перед установкой новой прошивки. Флэш-память защищена от чтения и записи и должна быть удалена перед загрузкой пользовательской прошивки.
Есть два метода удаления установленной прошивки:
- Отсоедините USB-кабель (или блок питания) от модуля CFA10052.
- Подключите CFA10052 к ST-LINK с помощью кабеля для программирования (см. Выше), а ST-LINK к главному компьютеру.
- Удерживайте кнопки вверх и вниз на CFA10052 при подключении кабеля USB к CFA10052 (или источнику питания). CFA10052 теперь должен отображать экран загрузчика Crystalfontz.
- Запустите утилиту STM32 ST-LINK. В меню «Target» откройте окно «Option Bytes». В поле «Защита от чтения» выберите «Уровень 0». Нажмите Применить. Прошивка Crystalfontz была удалена, и теперь можно запрограммировать любую кастомную прошивку.
Альтернативный метод (если вы не можете войти в загрузчик Crystalfontz, удерживая клавиши):
- Отсоедините USB-кабель (или блок питания) от модуля CFA10052.
- Подключите контрольную точку BOOT0 (небольшая площадка на задней панели модуля CFA10052, рядом с разъемом H1) к 3,3 В или 5 В.
- Подключите CFA10052 к ST-LINK с помощью кабеля для программирования (см. Выше), а ST-LINK к главному компьютеру.
- Включите CFA10052 (или подключите его к источнику питания USB). Дисплей должен быть пустым.
- Запустите утилиту STM32 ST-LINK. В меню «Target» откройте окно «Option Bytes». В поле «Read Out Protection» выберите «Level 0». Нажмите Применить. Прошивка Crystalfontz была удалена, и теперь можно запрограммировать любую кастомную прошивку.
- Подключение вывода BOOT0 к 3.3V / 5V больше не требуется.
Шаг 3: скомпилируйте и загрузите прошивку на CFA10052

После удаления прошивки, поставляемой Crystalfontz, вы готовы скомпилировать и загрузить свою собственную прошивку. Для целей этого руководства мы предоставили альтернативную прошивку, которая позволяет с клавиатуры управлять яркостью подсветки и контрастностью дисплея.
Для компиляции прошивки:
- Откройте STM32CubeIDE
- В меню «Файл» выберите «Импорт», затем «Импортировать существующие проекты в рабочую область».
- В поле корневого каталога выберите каталог с этим примером прошивки.
- Щелкните кнопку Готово.
- В обозревателе проектов выберите проект cfa10052_example, затем откройте файлы Src и main.c.
- В меню «Проект» выберите «Создать проект».
Чтобы запрограммировать и запустить прошивку на CFA10052:
- Отсоедините USB-кабель (или блок питания) от модуля CFA10052.
- Подключите CFA10052 к ST-LINK с помощью кабеля для программирования (см. Выше), а ST-LINK к главному компьютеру.
- Подключите кабель USB (или блок питания) к CFA10052.
- Убедитесь, что проект встроенного ПО был собран (см. Шаги выше) и «Двоичные файлы» отображаются в разделе «cfa10052_example» в Project Explorer.
- Если «Двоичные файлы» не отображаются, щелкните правой кнопкой мыши проект «cfa10052_example» и выберите «Обновить».
- Выберите меню «Выполнить», затем «Конфигурации отладки».
- В поле выбора типов целей отладки слева щелкните правой кнопкой мыши «Приложение STM32 Cortex-M» и выберите «Новая конфигурация».
- Откроется окно конфигурации. Настройки по умолчанию в порядке. Нажмите кнопку «Применить», затем кнопку «Закрыть».
- В меню «Выполнить» выберите «Отладить как», затем «Приложение STM32 Cortex». STM32CubeIDE должен теперь подключиться к ST-LINK, загрузить и запустить прошивку на CFA10052.
Вышеуказанные шаги требуются только при первой загрузке проекта в STM32CubeIDE. После того, как были внесены изменения в исходный код прошивки, потребуется только перекомпоновка проекта (сочетание клавиш Ctrl-B) и программирование CFA10052 (сочетание клавиш F11).
Прошивку также можно загрузить с помощью любого из обычных методов загрузчика STM32 (отладка доступна только с использованием интерфейса SWD и ST-LINK). Например, при использовании последовательного соединения можно использовать USART1 (RX = H1-Pin1 и TX = H1-Pin2). Для получения более подробной информации о загрузчике STM32 и интерфейсах см. PDF-файл здесь.
Шаг 4: Лицензии
Исходный код, поставляемый Crystalfontz, предоставляется с использованием Безлицензии, лицензии без каких-либо условий, которая посвящает произведения общественному достоянию. Нелицензионные произведения, модификации и более крупные произведения могут распространяться на других условиях и без исходного кода. Подробности см. В файле UNLICENCE или на unlicense.org.
Исходный код, созданный STM32CubeIDE, и библиотеки STMicroelectronics защищены авторским правом (c) 2019 STMicroelectronics. Все права защищены. Компонент программного обеспечения лицензирован ST в соответствии с лицензией BSD 3-Clause, «Лицензия»; Вы не можете использовать эти файлы, кроме как в соответствии с Лицензией. Вы можете получить копию лицензии на сайте opensource.org/licenses/BSD-3-Clause.
Рекомендуемые:
Взломать GMC Geigercounter с помощью Blynk: 4 шага

Взломать GMC Geigercounter с помощью Blynk: Несмотря на то, что мой GMC-320 Plus Geigercounter имеет встроенный Wi-Fi, я не смог его использовать. Вот почему я хотел создать Устройство, которое может передавать записанные данные на мой мобильный телефон / в Интернет, добавляя при этом дополнительные функции, такие как совокупная доза, Wi
Как взломать датчик температуры для увеличения срока службы батареи: 4 шага

Как взломать датчик температуры для увеличения срока службы батареи: Inkbird IBS-TH1 - отличное маленькое устройство для регистрации температуры и влажности в течение нескольких часов или дней. Его можно настроить на регистрацию каждую секунду или каждые 10 минут, и он передает данные через Bluetooth LE на смартфон Android или iOS. Приложение
Как взломать замок: 3 шага

Как взломать замок: в этом руководстве я покажу вам, как отмывать основной замок. Пожалуйста, не используйте эти знания для чего-либо незаконного. Если вам нравится это руководство, пожалуйста, дайте мне голос
Взломать Canon Digital Rebel 300d: 4 шага

Взломайте Canon Digital Rebel 300d: это покажет вам, как превратить обычного канонического цифрового повстанца в 10d. Просто обновите прошивку менее чем за 5 минут. Старая, но надежная и прочная камера идеально подходит для людей, которые хотят купить дешевую старую камеру для своего хобби. (смеется, не
Как сделать джейлбрейк (взломать) Ipod / Iphone: 4 шага

Как сделать джейлбрейк (взломать) Ipod / Iphone: Я знаю, что вы видели кого-то из своих знакомых или слышали о том, что у кого-то есть один из этих «взломанных» iPhone или iPod Touch. Взломанный один из них также может сэкономить вам кучу денег. Версии с джейлбрейком могут загрузить бесплатное приложение AppStore и