Sisukord:

Häkkida CFA735/CFA835: 4 sammu
Häkkida CFA735/CFA835: 4 sammu

Video: Häkkida CFA735/CFA835: 4 sammu

Video: Häkkida CFA735/CFA835: 4 sammu
Video: Raspberry Pi, USB-Serial, Crystalfonts CFA633 2024, Juuli
Anonim
Häkkida CFA735/CFA835
Häkkida CFA735/CFA835

Kas teil on projekt, mis vajab ekraani, klahvistikku ja mälu, kuid Crystalfontz CFA735 või CFA835 mooduli eellaaditud püsivara pole päris see, mida otsite? Teil on õnne - saate neid mooduleid häkkida, et laadida kohandatud püsivara.

CFA735 ja CFA835 on mitmekülgsed intelligentsed LCD -moodulid. Nii Crystalfontz CFA735 kui ka CFA835 põhinevad riistvaramoodulil CFA10052, nii et selle õpetuse ajal nimetatakse CFA735 ja/või CFA835 CFA10052. CFA10052 saab ümber programmeerida, et käivitada oma kohandatud püsivara.

  • Mikrokontroller STMicroelectronics STM32F401
  • ARM 32-bitine Cortex ™ -M4 protsessor @ 84 MHz
  • 256K välklamp, 64K RAM
  • 244 x 68 piksliga taustvalgustusega LCD
  • Sitronix ST7529 32 halltoonides graafiline LCD -kontroller
  • Buck-boost lülitustoide võimaldab laia toitepinge vahemikku
  • Eraldi lülitatavad LED -heleduse regulaatorid klaviatuuri ja LCD -taustvalgustuse jaoks
  • 6 nupuga taustvalgustusega klaviatuur
  • 4x kahevärvilised (punased/rohelised) LED-id
  • USB2 liides
  • microSD -kaardi pesa
  • 5 üldotstarbelist IO tihvti (GPIO)
  • Mitu jada-/SPI/I2C/CAN -liidest (olenevalt GPIO kasutamisest).

See õpetus näitab teile, kuidas asendada CFA10052 -ga kaasas olev püsivara uue püsivaraga, mis:

  1. Kuvage vedelkristallekraanil vahelduv võrk koos praeguste taustvalgustite, LCD kontrastsuse ja klaviatuuri olekuteabega;
  2. Juhtige klaviatuuri abil taustvalgustust ja LCD kontrasti.
  3. Muutke nelja LED -i värvi järjestikku punasest roheliseks.
  4. Lubage päise-1 tihvtidel 1 ja 2 (115200 baud) USART jadaport (115200 baud) ja kajastage vastuvõetud andmeid.
  5. Lubage virtuaalne USB -jadaport ja kajastage vastuvõetud andmed hostile tagasi.
  6. Sisaldab, kuid ei demonstreeri juurdepääsu uSD lugemis-/kirjutamisfailidele.

Loomulikult saate oma püsivara kirjutada ja neid samme kasutades laadida.

TÄHTIS MÄRKUS:

Riistvara moodul Crystalfontz CFA10052 tarnitakse koos alglaaduri ja CFA735/CFA835 püsivaraga. Alglaadur ja CFA735/CFA835 püsivara ei ole avatud lähtekoodiga ning kasutaja ei saa neid CFA10052-st kopeerida ega kasutaja CFA10052-le programmeerida. Kui soovite lõpuks CFA735/CFA835 püsivara juurde tagasi pöörduda, peate selle uuesti programmeerimiseks Crystalfontzi saatma.

Tarvikud

  • Crystalfontz CFA10052 (riistvara v1.1 või uuem) moodul (CFA735 / CFA835)
  • Arvuti (Windows/Linux/OSX), kuhu on installitud STM32CubeIDE ja STM32 ST-LINK Utility
  • STMicroelectronics ST-LINK (V2 või V3) programmeerimisliides
  • CFA10052 programmeerimiskaabel (üksikasjad allpool)
  • Kohandatud püsivara (või kasutage meie oma siin)
  • Kui kasutate operatsioonisüsteemi Windows 7/8/8.1/10 (või samaväärseid serveriversioone) ja soovite testida USB virtuaalset jadaporti, peate draiverid siit alla laadima. USB jadaport töötab ilma täiendavate draiveriteta Windows 10+, Linux, OS-X puhul.

Samm: koguge/looge tarvikuid

Koguge/looge tarvikuid
Koguge/looge tarvikuid

Selle näite püsivara projekti laadimiseks ja kasutamiseks soovitame kasutada STM32CubeIDE. STM32CubeIDE on tasuta IDE, mis põhineb Eclipse'il ja mida on STMicroelectronics modifitseerinud, et see hõlmaks STM32 spetsiifilisi tööriistu. IDE saab alla laadida STM32CubeIDE veebisaidilt.

STM-seadme konfigureerimistööriista korrektse toimimise säilitamiseks peate redigeerima ainult seadme konfiguratsioonitööriista loodud lähtekoodi vastavate kommentaariplokkide "USER CODE BEGIN xxx" ja "USER CODE END xxx" vahel.

Seejärel otsustage, kas võtate meiega ühendust CFA10052 programmeerimiskaabli saamiseks või teete ise. Me ei kavatse selles õpetuses kaabli valmistamist üksikasjalikult käsitleda, kuid kui soovite ise CFA10052 programmeerimiskaabli valmistada, leiate ühendused GitHubi lehelt, parim viis seda teha on alustada kuusteist nõelaga lintkaablit ja ühendage see ST -lingi kaabli külge.

Samm: kustutage olemasolev püsivara

Kustuta olemasolev püsivara
Kustuta olemasolev püsivara
Kustuta olemasolev püsivara
Kustuta olemasolev püsivara

Kui teie CFA10052 moodul on laaditud kaasasoleva CFA735 või CFA835 püsivaraga, peate enne uue püsivara installimist kustutama väljuva püsivara. Välkmälu on lugemis- ja kirjutuskaitsega ning see tuleb enne kohandatud püsivara laadimist eemaldada.

Installitud püsivara eemaldamiseks on kaks meetodit:

  1. Ühendage USB -kaabel (või toiteallikas) CFA10052 moodulist lahti.
  2. Ühendage CFA10052 programmeerimiskaabli abil ST-LINK-iga (vt ülal) ja ST-LINK hostarvutiga.
  3. Hoidke CFA10052 üles- ja allaklahve, ühendades USB -kaabli CFA10052 -ga (või toiteallikaga). CFA10052 peaks nüüd näitama Crystalfontz Bootloaderi ekraani.
  4. Käivitage utiliit STM32 ST-LINK. Avage menüüs "Target" aken "Option Bytes". Valige väljal "Loe kaitse" välja "Tase 0". Klõpsake nuppu Rakenda. Crystalfontzi püsivara on nüüd eemaldatud ja kohandatud püsivara võidakse nüüd programmeerida.

Alternatiivne meetod (kui te ei saa klahve all hoides Crystalfontzi alglaadurisse siseneda):

  1. Ühendage USB -kaabel (või toiteallikas) CFA10052 moodulist lahti.
  2. Ühendage BOOT0 testpunkt (väike padi CFA10052 mooduli tagaküljel, H1 pistiku lähedal) 3,3 V või 5 V pingega.
  3. Ühendage CFA10052 programmeerimiskaabli abil ST-LINK-iga (vt ülal) ja ST-LINK hostarvutiga.
  4. Lülitage CFA10052 sisse (või ühendage see USB -toitega). Ekraan peaks olema tühi.
  5. Käivitage utiliit STM32 ST-LINK. Avage menüüs "Target" aken "Option Bytes". Valige kastis "Read Out Protection" "Level 0". Klõpsake nuppu Rakenda. Crystalfontzi püsivara on nüüd eemaldatud ja kohandatud püsivara võidakse nüüd programmeerida.
  6. BOOT0 kontakti ühendamine 3.3V/5V pole enam vajalik.

Samm: kompileerige ja laadige püsivara CFA10052 -sse

Kompileerige ja laadige püsivara CFA10052 -sse
Kompileerige ja laadige püsivara CFA10052 -sse

Kui Crystalfontzi kaasasolev püsivara on eemaldatud, olete valmis oma püsivara kompileerima ja laadima. Selle õpetuse jaoks oleme pakkunud alternatiivset püsivara, mis võimaldab klahvistikul juhtida taustvalgustuse heledust ja ekraani kontrastsust.

Püsivara kompileerimiseks:

  1. Avage STM32CubeIDE
  2. Valige menüüst Fail Import ja seejärel käsk "Impordi olemasolevad projektid tööruumi".
  3. Valige juurkataloogi kastis selle näite püsivara kataloog.
  4. Klõpsake nuppu Lõpeta.
  5. Valige Project Exploreris projekt cfa10052_example, seejärel avage Src ja fail "main.c".
  6. Valige menüüst Projekt "Ehita projekt".

CFA10052 püsivara programmeerimiseks ja käitamiseks toimige järgmiselt

  1. Ühendage USB -kaabel (või toiteallikas) CFA10052 moodulist lahti.
  2. Ühendage CFA10052 programmeerimiskaabli abil ST-LINK-iga (vt ülal) ja ST-LINK hostarvutiga.
  3. Ühendage USB -kaabel (või toiteallikas) CFA10052 -ga.
  4. Veenduge, et püsivara projekt on loodud (vt ülaltoodud samme) ja Project Exploreris kuvatakse jaotises "cfa10052_example" "Binaarfailid".
  5. Kui "Binaarfailid" pole nähtavad, paremklõpsake projekti "cfa10052_example" ja valige Värskenda.
  6. Valige menüü Käivita ja seejärel "Silumisseadistused".
  7. Paremklõpsake vasakul silumissihikute valikukastis "STM32 Cortex-M Application" ja valige "New Configuration".
  8. Kuvatakse konfiguratsiooniaken. Vaikesätted on OK. Klõpsake nuppu Rakenda ja seejärel nuppu Sule.
  9. Valige menüüst Käivita "Silumine kui", seejärel "STM32 Cortexi rakendus". STM32CubeIDE peaks nüüd ühenduma ST-LINKiga ning laadima püsivara üles ja käivitama selle CFA10052-l.

Ülaltoodud sammud on vajalikud ainult projekti esmakordsel laadimisel STM32CubeIDE -sse. Pärast püsivara lähtekoodi muutmist on vaja ainult projekti uuesti üles ehitada (otsetee Ctrl-B) ja programmeerida CFA10052 (klahvikombinatsioon F11).

Püsivara saab laadida ka mis tahes tavalise STM32 alglaadimismeetodi kaudu (silumine on saadaval ainult SWD-liidese ja ST-LINK-i abil). Näiteks jadaühenduse kasutamisel võib kasutada USART1 (RX = H1-Pin1 ja TX = H1-Pin2). Üksikasjalikumat teavet STM32 alglaaduri ja liideste kohta leiate siit PDF-failist.

4. samm: litsentsid

Crystalfontzi tarnitud lähtekoodi pakub The Unlicense-litsents ilma tingimusteta, mis pühendab teoseid avalikule omandile. Litsentseerimata teoseid, modifikatsioone ja suuremaid teoseid võib levitada erinevatel tingimustel ja ilma lähtekoodita. Vaadake üksikasju UNLICENCE failist või unlicense.org.

STM32CubeIDE loodud lähtekood ja STMicroelectronics teegid on autoriõigusega (c) 2019 STMicroelectronics. Kõik õigused kaitstud. Tarkvarakomponendil on ST litsents BSD 3-klausli litsentsi all, "Litsents"; Te ei tohi neid faile kasutada muul viisil kui vastavalt litsentsile. Litsentsi koopia saate hankida aadressilt opensource.org/licenses/BSD-3-Clause.

Soovitan: