Spisu treści:

Zhakuj CFA735/CFA835: 4 kroki
Zhakuj CFA735/CFA835: 4 kroki

Wideo: Zhakuj CFA735/CFA835: 4 kroki

Wideo: Zhakuj CFA735/CFA835: 4 kroki
Wideo: Raspberry Pi, USB-Serial, Crystalfonts CFA633 2024, Lipiec
Anonim
Zhakuj CFA735/CFA835
Zhakuj CFA735/CFA835

Czy masz projekt, który wymaga wyświetlacza, klawiatury i trochę pamięci, ale fabrycznie załadowane oprogramowanie układowe modułu Crystalfontz CFA735 lub CFA835 nie jest tym, czego szukasz? Masz szczęście - możesz zhakować te moduły, aby załadować niestandardowe oprogramowanie.

CFA735 i CFA835 to wszechstronne inteligentne moduły LCD. Zarówno Crystalfontz CFA735, jak i CFA835 są oparte na module sprzętowym CFA10052, więc podczas tego samouczka CFA735 i/lub CFA835 będą określane jako CFA10052. CFA10052 można przeprogramować, aby uruchomić własne niestandardowe oprogramowanie układowe.

  • Mikrokontroler STMicroelectronics STM32F401
  • 32-bitowy procesor ARM Cortex™-M4 przy 84 MHz
  • 256K Flash, 64K RAM
  • Podświetlany wyświetlacz LCD 244 x 68 pikseli
  • Sitronix ST7529 32 graficzny sterownik LCD w skali szarości
  • Zasilanie przełączające buck-boost umożliwia szeroki zakres napięcia zasilania
  • Oddzielne przełączające kontrolery jasności LED dla podświetlenia klawiatury i LCD
  • 6-przyciskowa podświetlana klawiatura
  • 4x dwukolorowe (czerwone/zielone) diody LED
  • Interfejs USB2
  • gniazdo kart microSD
  • 5 pinów IO ogólnego przeznaczenia (GPIO)
  • Wiele interfejsów szeregowych/SPI/I2C/CAN (w zależności od użycia GPIO).

Ten samouczek pokaże Ci, jak wymienić oprogramowanie sprzętowe dostarczane w CFA10052 na nowe oprogramowanie, które:

  1. Wyświetlanie na LCD naprzemiennej siatki, z aktualnym podświetleniem, kontrastem LCD i informacją o stanie klawiatury;
  2. Steruj podświetleniem i kontrastem LCD za pomocą klawiatury.
  3. Zmień kolejno kolor czterech diod LED z czerwonego na zielony.
  4. Włącz port szeregowy USART na stykach 1 i 2 nagłówka-1 (115200 bodów) i powtórz wszystkie odebrane dane.
  5. Włącz wirtualny port szeregowy USB i prześlij wszystkie odebrane dane z powrotem do hosta.
  6. Obejmuje, ale nie demonstruje, dostęp do plików do odczytu/zapisu uSD.

Oczywiście możesz napisać własne oprogramowanie i załadować je, wykonując poniższe czynności.

WAŻNA UWAGA:

Moduł sprzętowy Crystalfontz CFA10052 jest dostarczany z zaprogramowanym bootloaderem i oprogramowaniem CFA735/CFA835. Bootloader i oprogramowanie CFA735/CFA835 nie są oprogramowaniem typu open source i nie mogą być kopiowane z CFA10052 przez użytkownika, ani też nie mogą być programowane przez użytkownika w CFA10052. Jeśli w końcu będziesz chciał wrócić do oprogramowania CFA735/CFA835, będziesz musiał odesłać go do Crystalfontz, aby go przeprogramować.

Kieszonkowe dzieci

  • Crystalfontz CFA10052 (sprzęt v1.1 lub nowszy) Moduł (CFA735/CFA835)
  • PC (Windows/Linux/OSX) z zainstalowanym STM32CubeIDE i STM32 ST-LINK Utility
  • Interfejs programowania STMicroelectronics ST-LINK (V2 lub V3)
  • Kabel do programowania CFA10052 (szczegóły poniżej)
  • Niestandardowe oprogramowanie układowe (lub użyj naszego tutaj)
  • Jeśli używasz systemu Windows 7/8/8.1/10 (lub równoważnej wersji serwerowej) i chcesz przetestować wirtualny port szeregowy USB, musisz pobrać sterowniki stąd. Port szeregowy USB będzie działał bez dodatkowych sterowników w systemach Windows 10+, Linux, OS-X.

Krok 1: Zbierz/utwórz materiały eksploatacyjne

Zbieraj/Twórz Zaopatrzenie
Zbieraj/Twórz Zaopatrzenie

Zalecamy użycie STM32CubeIDE do załadowania i używania tego przykładowego projektu oprogramowania układowego. STM32CubeIDE to darmowe IDE oparte na Eclipse, które zostało zmodyfikowane przez STMicroelectronics, aby zawierało narzędzia specyficzne dla STM32. IDE można pobrać ze strony internetowej STM32CubeIDE.

Aby utrzymać prawidłowe działanie narzędzia konfiguracji urządzenia STM, należy edytować tylko kod źródłowy utworzony w narzędziu konfiguracji urządzenia między pasującymi blokami komentarza „KOD UŻYTKOWNIKA POCZĄTEK xxx” i „KOD UŻYTKOWNIKA KONIEC xxx”.

Następnie zdecyduj, czy chcesz się z nami skontaktować w sprawie kabla do programowania CFA10052, czy też stworzyć własny. Nie będziemy omawiać szczegółowo tworzenia kabla w tym samouczku, ale jeśli chcesz stworzyć własny kabel do programowania CFA10052, możesz znaleźć połączenia na stronie GitHub, najlepszym sposobem na to jest rozpoczęcie od szesnastopinowy kabel taśmowy i połącz go z kablem łącza ST.

Krok 2: Usuń istniejące oprogramowanie układowe

Usuń istniejące oprogramowanie układowe
Usuń istniejące oprogramowanie układowe
Usuń istniejące oprogramowanie układowe
Usuń istniejące oprogramowanie układowe

Jeśli do modułu CFA10052 załadowano dostarczone oprogramowanie układowe CFA735 lub CFA835, przed zainstalowaniem nowego oprogramowania układowego należy najpierw skasować istniejące oprogramowanie układowe. Pamięć flash jest chroniona przed odczytem i zapisem i musi zostać usunięta przed załadowaniem niestandardowego oprogramowania układowego.

Istnieją dwie metody usuwania zainstalowanego oprogramowania układowego:

  1. Odłącz kabel USB (lub zasilacz) od modułu CFA10052.
  2. Podłącz CFA10052 do ST-LINK za pomocą kabla do programowania (patrz powyżej), a ST-LINK do komputera hosta.
  3. Przytrzymaj klawisze góra/dół na CFA10052 podczas podłączania kabla USB do CFA10052 (lub zasilacza). CFA10052 powinien teraz wyświetlić ekran Bootloadera Crystalfontz.
  4. Uruchom narzędzie STM32 ST-LINK. W menu „Cel” otwórz okno „Bajty opcji”. W polu „Ochrona odczytu” wybierz „Poziom 0”. Kliknij Zastosuj. Oprogramowanie układowe Crystalfontz zostało usunięte i można teraz zaprogramować dowolne niestandardowe oprogramowanie układowe.

Alternatywna metoda (jeśli nie możesz wejść do Bootloadera Crystalfontz przytrzymując klawisze):

  1. Odłącz kabel USB (lub zasilacz) od modułu CFA10052.
  2. Podłącz punkt testowy BOOT0 (mała podkładka z tyłu modułu CFA10052, w pobliżu złącza H1) do 3,3 V lub 5 V.
  3. Podłącz CFA10052 do ST-LINK za pomocą kabla do programowania (patrz powyżej), a ST-LINK do komputera hosta.
  4. Włącz CFA10052 (lub podłącz go do zasilania USB). Wyświetlacz powinien być pusty.
  5. Uruchom narzędzie STM32 ST-LINK. W menu „Cel” otwórz okno „Bajty opcji”. W polu „Ochrona odczytu” wybierz „Poziom 0”. Kliknij Zastosuj. Oprogramowanie układowe Crystalfontz zostało usunięte i można teraz zaprogramować dowolne niestandardowe oprogramowanie układowe.
  6. Podłączenie pinu BOOT0 do 3,3V/5V nie jest już potrzebne.

Krok 3: Skompiluj i załaduj oprogramowanie układowe do CFA10052

Skompiluj i załaduj oprogramowanie układowe do CFA10052
Skompiluj i załaduj oprogramowanie układowe do CFA10052

Po usunięciu oprogramowania sprzętowego dostarczonego przez Crystalfontz, możesz skompilować i załadować własne oprogramowanie sprzętowe. Na potrzeby tego samouczka dostarczyliśmy alternatywne oprogramowanie, które umożliwia sterowanie z klawiatury jasnością podświetlenia i kontrastem wyświetlacza.

Aby skompilować oprogramowanie:

  1. Otwórz STM32CubeIDE
  2. W menu Plik wybierz Importuj, a następnie „Importuj istniejące projekty do obszaru roboczego”.
  3. W polu katalogu głównego wybierz katalog tego przykładowego oprogramowania układowego.
  4. Kliknij przycisk Zakończ.
  5. W Eksploratorze projektów wybierz projekt cfa10052_example, a następnie otwórz plik Src i „main.c”.
  6. W menu Projekt wybierz "Buduj projekt".

Aby zaprogramować i uruchomić oprogramowanie układowe na CFA10052:

  1. Odłącz kabel USB (lub zasilacz) od modułu CFA10052.
  2. Podłącz CFA10052 do ST-LINK za pomocą kabla do programowania (patrz powyżej), a ST-LINK do komputera hosta.
  3. Podłącz kabel USB (lub zasilacz) do CFA10052.
  4. Upewnij się, że projekt oprogramowania układowego został zbudowany (patrz kroki powyżej), a „Binaries” pojawia się pod „cfa10052_example” w Eksploratorze projektów.
  5. Jeśli „Binaries” nie są widoczne, kliknij prawym przyciskiem myszy projekt „cfa10052_example” i wybierz opcję Odśwież.
  6. Wybierz menu Uruchom, a następnie „Konfiguracje debugowania”.
  7. W polu wyboru typów docelowych debugowania po lewej stronie kliknij prawym przyciskiem myszy „Aplikacja STM32 Cortex-M” i wybierz „Nowa konfiguracja”.
  8. Wyświetlone zostanie okno konfiguracji. Domyślne ustawienia są OK. Kliknij przycisk Zastosuj, a następnie przycisk Zamknij.
  9. W menu Uruchom wybierz „Debuguj jako”, a następnie „Aplikacja STM32 Cortex”. STM32CubeIDE powinien teraz połączyć się z ST-LINK, wgrać i uruchomić firmware na CFA10052.

Powyższe kroki są wymagane tylko przy pierwszym załadowaniu projektu w STM32CubeIDE. Po wprowadzeniu zmian w kodzie źródłowym oprogramowania układowego, potrzebne jest tylko przebudowanie projektu (skrót Ctrl-B) i zaprogramowanie CFA10052 (skrót klawiszowy F11).

Oprogramowanie układowe można również załadować za pomocą dowolnej z normalnych metod bootloadera STM32 (debugowanie jest dostępne tylko przy użyciu interfejsu SWD i ST-LINK). Na przykład, jeśli używasz połączenia szeregowego, można użyć USART1 (RX=H1-Pin1 i TX=H1-Pin2). Więcej szczegółowych informacji na temat bootloadera STM32 i interfejsów można znaleźć w pliku PDF tutaj.

Krok 4: Licencje

Kod źródłowy dostarczony przez Crystalfontz jest dostarczany przy użyciu The Unlicense, licencji bez żadnych warunków, która dedykuje utwory do domeny publicznej. Nielicencjonowane dzieła, modyfikacje i większe dzieła mogą być rozpowszechniane na innych warunkach i bez kodu źródłowego. Szczegółowe informacje można znaleźć w pliku UNLICENCE lub na stronie unlicense.org.

Stworzony przez STM32CubeIDE kod źródłowy i biblioteki STMicroelectronics są objęte prawami autorskimi (c) 2019 STMicroelectronics. Wszelkie prawa zastrzeżone. Komponent oprogramowania jest licencjonowany przez ST zgodnie z 3-klauzulową licencją BSD, „Licencja”; Nie możesz używać tych plików, chyba że zgodnie z Licencją. Kopię Licencji można uzyskać na stronie opensource.org/licenses/BSD-3-Clause.

Zalecana: