Isi kandungan:

Meretas CFA735 / CFA835: 4 Langkah
Meretas CFA735 / CFA835: 4 Langkah

Video: Meretas CFA735 / CFA835: 4 Langkah

Video: Meretas CFA735 / CFA835: 4 Langkah
Video: Интеграция ЖК-дисплея Crystalfontz с Raspberry Pi 2024, Julai
Anonim
Hack CFA735 / CFA835
Hack CFA735 / CFA835

Adakah anda mempunyai projek yang memerlukan paparan, pad kekunci, dan sedikit memori, tetapi firmware yang telah dimuatkan pada modul Crystalfontz CFA735 atau CFA835 tidak seperti yang anda cari? Anda bernasib baik - anda boleh menggodam modul ini untuk memuatkan firmware tersuai.

CFA735 dan CFA835 adalah modul LCD pintar serba boleh. Kedua-dua Crystalfontz CFA735 dan CFA835 didasarkan pada modul perkakasan CFA10052, jadi semasa tutorial ini CFA735 dan / atau CFA835 akan disebut sebagai CFA10052. CFA10052 dapat diprogramkan semula untuk menjalankan firmware tersuai anda sendiri.

  • Pengawal mikro STMicroelectronics STM32F401
  • CPU ARM 32-bit Cortex ™ -M4 @ 84 MHz
  • Flash 256K, RAM 64K
  • LCD dengan lampu latar 244 x 68 piksel
  • Sitronix ST7529 32 pengawal LCD grafik skala kelabu
  • Bekalan beralih Buck-boost membolehkan julat voltan bekalan yang luas
  • Pengawal kecerahan LED beralih berasingan untuk papan kekunci dan lampu latar LCD
  • Pad kekunci lampu latar 6 butang
  • 4x LED dua warna (merah / hijau)
  • Antara muka USB2
  • slot kad microSD
  • 5 pin IO tujuan am (GPIO)
  • Antaramuka pelbagai siri / SPI / I2C / CAN (bergantung pada penggunaan GPIO).

Tutorial ini akan menunjukkan kepada anda cara mengganti firmware yang dihantar pada CFA10052 dengan firmware baru yang akan:

  1. Paparkan pada grid grid bergantian, dengan lampu latar semasa, kontras LCD dan maklumat status papan kekunci;
  2. Kawal lampu latar dan kontras LCD menggunakan pad kekunci.
  3. Tukar warna keempat LED dari merah ke hijau mengikut urutan.
  4. Aktifkan port bersiri USART pada pin Header-1 pin 1 & 2 (115200 baud), dan dapatkan data yang diterima.
  5. Aktifkan port bersiri maya USB, dan ganti semua data yang diterima kembali ke hos.
  6. Termasuk, tetapi tidak menunjukkan, akses fail baca / tulis uSD.

Sudah tentu, anda boleh menulis firmware anda sendiri dan memuatkannya menggunakan langkah-langkah ini.

NOTA PENTING:

Modul perkakasan Crystalfontz CFA10052 dihantar dengan bootloader dan firmware CFA735 / CFA835. Bootloader dan firmware CFA735 / CFA835 bukan sumber terbuka, dan tidak dapat disalin dari CFA10052 oleh pengguna, dan juga tidak dapat diprogramkan ke CFA10052 oleh pengguna. Sekiranya anda akhirnya mahu kembali ke firmware CFA735 / CFA835, anda perlu menghantarnya kembali ke Crystalfontz untuk memprogramnya semula.

Bekalan

  • Modul Crystalfontz CFA10052 (perkakasan v1.1 atau lebih baru) (CFA735 / CFA835)
  • PC (Windows / Linux / OSX) dengan STM32CubeIDE dan STM32 ST-LINK Utility dipasang
  • Antara muka pengaturcaraan STMicroelectronics ST-LINK (V2 atau V3)
  • Kabel pengaturcaraan CFA10052 (perincian di bawah)
  • Firmware tersuai (atau gunakan perisian kami di sini)
  • Sekiranya anda menggunakan Windows 7/8 / 8.1 / 10 (atau versi Server yang setara) dan ingin menguji port bersiri maya USB, anda perlu memuat turun pemacu dari sini. Port bersiri USB akan berfungsi tanpa memerlukan pemacu tambahan pada Windows 10+, Linux, OS-X.

Langkah 1: Kumpulkan / Buat Bekalan

Kumpulkan / Buat Bekalan
Kumpulkan / Buat Bekalan

Kami mengesyorkan menggunakan STM32CubeIDE untuk memuat dan menggunakan contoh projek firmware ini. STM32CubeIDE adalah IDE percuma berdasarkan Eclipse yang telah dimodifikasi oleh STMicroelectronics untuk memasukkan alat khusus STM32. IDE boleh dimuat turun di laman web STM32CubeIDE.

Untuk mengekalkan pengoperasian alat konfigurasi peranti STM dengan betul, anda hanya perlu mengedit alat konfigurasi peranti yang dibuat kod sumber antara blok komen "USER CODE BEGIN xxx" dan "USER CODE END xxx" yang sepadan.

Seterusnya, tentukan sama ada untuk menghubungi kami untuk mendapatkan kabel pengaturcaraan CFA10052 atau membuat sendiri. Kami tidak akan membuat kabel secara terperinci dalam tutorial ini, tetapi jika anda ingin membuat kabel pengaturcaraan CFA10052 anda sendiri, anda boleh mendapatkan sambungan di halaman GitHub, cara terbaik untuk melakukannya adalah dengan memulakan dengan kabel pita enam belas pin dan sambungkannya ke kabel untuk Pautan ST.

Langkah 2: Padam Firmware Yang Ada

Padamkan Firmware Yang Ada
Padamkan Firmware Yang Ada
Padamkan Firmware Yang Ada
Padamkan Firmware Yang Ada

Sekiranya modul CFA10052 anda dimuatkan dengan firmware CFA735 atau CFA835 yang disediakan, anda perlu terlebih dahulu memadam firmware yang keluar sebelum memasang firmware baru. Memori kilat dibaca dan ditulis dilindungi dan mesti dikeluarkan sebelum firmware tersuai dapat dimuat.

Terdapat dua kaedah untuk membuang firmware yang dipasang:

  1. Putuskan sambungan kabel USB (atau bekalan kuasa) dari modul CFA10052.
  2. Sambungkan CFA10052 ke ST-LINK menggunakan kabel pengaturcaraan (lihat di atas), dan ST-LINK ke PC hos.
  3. Pegang kekunci atas & bawah pada CFA10052 sambil menyambungkan kabel USB ke CFA10052 (atau bekalan kuasa). CFA10052 sekarang harus menunjukkan skrin Crystalfontz Bootloader.
  4. Jalankan Utiliti STM32 ST-LINK. Di menu "Target", buka tetingkap "Bytes Pilihan". Dalam kotak "Baca Keluar", pilih "Tahap 0". Klik Terapkan. Firmware Crystalfontz kini telah dihapus dan mana-mana firmware tersuai kini boleh diprogramkan.

Kaedah alternatif (jika anda tidak dapat memasuki Bootloader Crystalfontz dengan menahan kekunci):

  1. Putuskan sambungan kabel USB (atau bekalan kuasa) dari modul CFA10052.
  2. Sambungkan titik ujian BOOT0 (pad kecil di bahagian belakang modul CFA10052, berhampiran penyambung H1) ke 3.3V atau 5V.
  3. Sambungkan CFA10052 ke ST-LINK menggunakan kabel pengaturcaraan (lihat di atas), dan ST-LINK ke PC hos.
  4. Hidupkan CFA10052 (atau sambungkan ke kuasa USB). Paparan hendaklah kosong.
  5. Jalankan Utiliti STM32 ST-LINK. Dalam menu "Sasaran", buka tetingkap "Bytes Pilihan". Dalam kotak "Baca Keluar", pilih "Tahap 0". Klik Terapkan. Firmware Crystalfontz kini telah dihapus dan mana-mana firmware tersuai kini boleh diprogramkan.
  6. Sambungan pin BOOT0 ke 3.3V / 5V tidak diperlukan lagi.

Langkah 3: Kumpulkan dan Muatkan Firmware Anda ke CFA10052

Kompilasi dan Muatkan Perisian Firm Anda ke CFA10052
Kompilasi dan Muatkan Perisian Firm Anda ke CFA10052

Setelah firmware yang disediakan Crystalfontz dikeluarkan, anda sudah bersedia untuk menyusun dan memuatkan firmware anda sendiri. Untuk tujuan tutorial ini, kami telah menyediakan beberapa firmware alternatif yang memberikan kawalan keypad pada kecerahan lampu latar dan kontras paparan.

Untuk menyusun firmware:

  1. Buka STM32CubeIDE
  2. Dalam menu Fail, pilih Import, kemudian "Import Projek Sedia Ada Ke Ruang Kerja".
  3. Di kotak direktori root, pilih direktori firmware contoh ini.
  4. Klik butang Selesai.
  5. Dalam Project Explorer, pilih projek cfa10052_example, kemudian buka fail Src, dan "main.c".
  6. Dalam menu Project, pilih "Build Project".

Untuk memprogram dan menjalankan firmware pada CFA10052:

  1. Putuskan sambungan kabel USB (atau bekalan kuasa) dari modul CFA10052.
  2. Sambungkan CFA10052 ke ST-LINK menggunakan kabel pengaturcaraan (lihat di atas), dan ST-LINK ke PC hos.
  3. Sambungkan kabel USB (atau bekalan kuasa) ke CFA10052.
  4. Pastikan projek firmware telah dibina (lihat langkah di atas), dan "Binaries" muncul di bawah "cfa10052_example" di Project Explorer.
  5. Sekiranya "Binari" tidak kelihatan, klik kanan projek "cfa10052_example" dan pilih Refresh.
  6. Pilih menu Jalankan, kemudian "Konfigurasi Debug".
  7. Dalam kotak pilihan jenis sasaran debug di sebelah kiri, Klik kanan "Aplikasi STM32 Cortex-M", dan pilih "Konfigurasi Baru".
  8. Tetingkap konfigurasi akan ditunjukkan. Tetapan lalai adalah OK. Klik butang Terapkan kemudian Tutup.
  9. Dalam menu Run, pilih "Debug As", kemudian "STM32 Cortex Application". STM32CubeIDE kini harus menyambung ke ST-LINK, dan memuat naik dan menjalankan firmware pada CFA10052.

Langkah-langkah di atas hanya diperlukan semasa memuatkan projek untuk pertama kalinya di STM32CubeIDE. Setelah perubahan kod sumber firmware dibuat, hanya membina semula projek (pintasan Ctrl-B) dan memprogram CFA10052 (pintasan kunci F11) diperlukan.

Firmware juga dapat dimuat melalui salah satu kaedah bootloader STM32 biasa (debugging hanya tersedia menggunakan antara muka SWD dan ST-LINK). Sebagai contoh, jika menggunakan sambungan bersiri, USART1 dapat digunakan (RX = H1-Pin1 dan TX = H1-Pin2). Untuk maklumat yang lebih terperinci mengenai pemuat boot dan antara muka STM32, lihat PDF di sini.

Langkah 4: Lesen

Kod sumber yang disediakan oleh Crystalfontz disediakan menggunakan The Unlicense, lesen tanpa syarat apa pun yang mendedikasikan karya untuk domain awam. Karya, pengubahsuaian, dan karya yang tidak berlesen boleh diedarkan dengan syarat yang berbeza dan tanpa kod sumber. Lihat fail UNLICENCE, atau unlicense.org untuk maklumat lebih lanjut.

STM32CubeIDE yang dibuat sumber-kod dan perpustakaan STMicroelectronics adalah Hak Cipta (c) STMicroelectronics 2019. Hak cipta terpelihara. Komponen perisian dilesenkan oleh ST di bawah lesen 3 Klausa BSD, "Lesen"; Anda tidak boleh menggunakan fail ini kecuali mematuhi Lesen. Anda boleh mendapatkan salinan Lesen di opensource.org/licenses/BSD-3- Klausa.

Disyorkan: