Daftar Isi:

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, Juli
Anonim
Meretas CFA735/CFA835
Meretas CFA735/CFA835

Apakah Anda memiliki proyek yang memerlukan tampilan, papan tombol, dan beberapa memori, tetapi firmware bawaan pada modul Crystalfontz CFA735 atau CFA835 tidak sesuai dengan yang Anda cari? Anda beruntung - Anda dapat meretas modul ini untuk memuat firmware khusus.

CFA735 dan CFA835 adalah modul LCD cerdas yang serbaguna. Baik Crystalfontz CFA735 dan CFA835 didasarkan pada modul perangkat keras CFA10052, jadi selama tutorial ini CFA735 dan/atau CFA835 akan disebut sebagai CFA10052. CFA10052 dapat diprogram ulang untuk menjalankan firmware kustom Anda sendiri.

  • STMicroelectronics Mikrokontroler STM32F401
  • ARM 32-bit Cortex™-M4 CPU @ 84 MHz
  • 256K Flash, 64K RAM
  • LCD dengan lampu latar 244 x 68 piksel
  • Sitronix ST7529 32 pengontrol LCD grafis skala abu-abu
  • Pasokan switching buck-boost memungkinkan rentang tegangan suplai yang lebar
  • Pengontrol kecerahan LED switching terpisah untuk keypad dan lampu latar LCD
  • Keypad dengan lampu latar 6 tombol
  • 4x LED dua warna (merah/hijau)
  • Antarmuka USB2
  • slot kartu microSD
  • 5 pin IO tujuan umum (GPIO)
  • Beberapa antarmuka serial/SPI/I2C/CAN (tergantung penggunaan GPIO).

Tutorial ini akan menunjukkan cara mengganti firmware yang dikirimkan pada CFA10052 dengan firmware baru yang akan:

  1. Menampilkan pada LCD grid bolak-balik, dengan lampu latar saat ini, kontras LCD dan informasi status keypad;
  2. Kontrol lampu latar dan kontras LCD menggunakan keypad.
  3. Ubah warna keempat LED dari merah menjadi hijau secara berurutan.
  4. Aktifkan port serial USART pada pin Header-1 1 & 2 (115200 baud), dan gema semua data yang diterima.
  5. Aktifkan port serial virtual USB, dan gema kembali semua data yang diterima ke host.
  6. Termasuk, tetapi tidak menunjukkan, akses file baca/tulis USD.

Tentu saja, Anda dapat menulis firmware Anda sendiri dan memuatnya menggunakan langkah-langkah ini.

CATATAN PENTING:

Modul perangkat keras Crystalfontz CFA10052 dikirimkan diprogram dengan bootloader dan firmware CFA735/CFA835. Bootloader dan firmware CFA735/CFA835 bukan open-source, dan tidak dapat disalin dari CFA10052 oleh pengguna, juga tidak dapat diprogram ke CFA10052 oleh pengguna. Jika Anda akhirnya ingin kembali ke firmware CFA735/CFA835, Anda harus mengirimkannya kembali ke Crystalfontz untuk memprogram ulang.

Perlengkapan

  • Crystalfontz CFA10052 (perangkat keras v1.1 atau lebih baru) Modul (CFA735 / CFA835)
  • PC (Windows/Linux/OSX) dengan STM32CubeIDE dan STM32 ST-LINK Utilitas terpasang
  • Antarmuka pemrograman STMicroelectronics ST-LINK (V2 atau V3)
  • Kabel pemrograman CFA10052 (detail di bawah)
  • Firmware khusus (atau gunakan milik kami di sini)
  • Jika Anda menggunakan Windows 7/8/8.1/10 (atau versi Server yang setara) dan ingin menguji port serial virtual USB, Anda harus mengunduh driver dari sini. Port serial USB akan berfungsi tanpa memerlukan driver tambahan di Windows 10+, Linux, OS-X.

Langkah 1: Kumpulkan/Buat Persediaan

Kumpulkan/Buat Persediaan
Kumpulkan/Buat Persediaan

Kami merekomendasikan menggunakan STM32CubeIDE untuk memuat dan menggunakan contoh proyek firmware ini. STM32CubeIDE adalah IDE gratis berdasarkan Eclipse yang telah dimodifikasi oleh STMicroelectronics untuk menyertakan alat khusus STM32. IDE dapat diunduh di halaman web STM32CubeIDE.

Untuk mempertahankan operasi yang benar dari alat konfigurasi perangkat STM, Anda hanya boleh mengedit alat konfigurasi perangkat yang dibuat kode sumber antara blok komentar "USER CODE BEGIN xxx" dan "USER CODE END xxx" yang cocok.

Selanjutnya, putuskan apakah akan menghubungi kami untuk kabel pemrograman CFA10052 atau membuatnya sendiri. Kami tidak akan membahas pembuatan kabel secara mendetail dalam tutorial ini, tetapi jika Anda ingin membuat kabel pemrograman CFA10052 Anda sendiri, Anda dapat menemukan koneksinya di halaman GitHub, cara terbaik untuk melakukannya adalah memulai dengan enam belas pin kabel pita dan sambungkan ke kabel untuk ST Link.

Langkah 2: Hapus Firmware yang Ada

Hapus Firmware yang Ada
Hapus Firmware yang Ada
Hapus Firmware yang Ada
Hapus Firmware yang Ada

Jika modul CFA10052 Anda dimuat dengan firmware CFA735 atau CFA835 yang disertakan, Anda harus terlebih dahulu menghapus firmware yang ada sebelum menginstal firmware baru. Memori flash dilindungi baca dan tulis dan harus dihapus sebelum firmware khusus dapat dimuat.

Ada dua metode untuk menghapus firmware yang diinstal:

  1. Cabut kabel USB (atau catu daya) dari modul CFA10052.
  2. Hubungkan CFA10052 ke ST-LINK menggunakan kabel pemrograman (lihat di atas), dan ST-LINK ke PC host.
  3. Tahan tombol atas & bawah pada CFA10052 sambil mencolokkan kabel USB ke CFA10052 (atau catu daya). CFA10052 sekarang akan menampilkan layar Crystalfontz Bootloader.
  4. Jalankan Utilitas ST-LINK STM32. Di menu "Target", buka jendela "Opsi Bytes". Di kotak "Bacakan Perlindungan", pilih "Level 0". Klik Terapkan. Firmware Crystalfontz sekarang telah dihapus dan setiap firmware khusus sekarang dapat diprogram.

Metode alternatif (jika Anda tidak dapat masuk ke Crystalfontz Bootloader dengan menahan tombol):

  1. Cabut kabel USB (atau catu daya) dari modul CFA10052.
  2. Hubungkan titik uji BOOT0 (pad kecil di bagian belakang modul CFA10052, di dekat konektor H1) ke 3.3V atau 5V.
  3. Hubungkan CFA10052 ke ST-LINK menggunakan kabel pemrograman (lihat di atas), dan ST-LINK ke PC host.
  4. Nyalakan CFA10052 (atau sambungkan ke daya USB). Tampilan harus kosong.
  5. Jalankan Utilitas ST-LINK STM32. Di menu "Target", buka jendela "Option Bytes". Di kotak "Read Out Protection", pilih "Level 0". Klik Terapkan. Firmware Crystalfontz sekarang telah dihapus dan setiap firmware khusus sekarang dapat diprogram.
  6. Koneksi pin BOOT0 ke 3.3V/5V tidak lagi diperlukan.

Langkah 3: Kompilasi dan Muat Firmware Anda Ke CFA10052

Kompilasi dan Muat Firmware Anda Ke CFA10052
Kompilasi dan Muat Firmware Anda Ke CFA10052

Setelah firmware yang disediakan Crystalfontz telah dihapus, Anda siap untuk mengkompilasi dan memuat firmware Anda sendiri. Untuk keperluan tutorial ini, kami telah menyediakan beberapa firmware alternatif yang memberikan kontrol keypad atas kecerahan lampu latar dan kontras tampilan.

Untuk mengkompilasi firmware:

  1. Buka STM32CubeIDE
  2. Di menu File, pilih Import, lalu "Import Existing Projects into Workspace".
  3. Di kotak direktori root, pilih direktori firmware contoh ini.
  4. Klik tombol Selesai.
  5. Di Project Explorer, pilih proyek cfa10052_example, lalu buka file Src, dan "main.c".
  6. Di menu Proyek, pilih "Bangun Proyek".

Untuk memprogram dan menjalankan firmware pada CFA10052:

  1. Lepaskan kabel USB (atau catu daya) dari modul CFA10052.
  2. Hubungkan CFA10052 ke ST-LINK menggunakan kabel pemrograman (lihat di atas), dan ST-LINK ke PC host.
  3. Hubungkan kabel USB (atau catu daya) ke CFA10052.
  4. Pastikan proyek firmware telah dibuat (lihat langkah-langkah di atas), dan "Binaries" muncul di bawah "cfa10052_example" di Project Explorer.
  5. Jika "Binaries" tidak terlihat, klik kanan proyek "cfa10052_example" dan pilih Refresh.
  6. Pilih menu Run, lalu "Debug Configurations".
  7. Di kotak pilihan jenis target debug di sebelah kiri, Klik Kanan "Aplikasi STM32 Cortex-M", dan pilih "Konfigurasi Baru".
  8. Sebuah jendela konfigurasi akan ditampilkan. Pengaturan default adalah OK. Klik Terapkan kemudian tombol Tutup.
  9. Di menu Run, pilih "Debug As", lalu "STM32 Cortex Application". STM32CubeIDE sekarang harus terhubung ke ST-LINK, dan mengunggah dan menjalankan firmware pada CFA10052.

Langkah-langkah di atas hanya diperlukan saat memuat proyek untuk pertama kalinya di STM32CubeIDE. Setelah perubahan kode sumber firmware dibuat, hanya membangun kembali proyek (pintasan Ctrl-B) dan memprogram CFA10052 (pintasan tombol F11) yang diperlukan.

Firmware juga dapat dimuat melalui salah satu metode bootloader STM32 normal (debugging hanya tersedia menggunakan antarmuka SWD dan ST-LINK). Misalnya, jika menggunakan koneksi serial, USART1 dapat digunakan (RX=H1-Pin1 dan TX=H1-Pin2). Untuk informasi lebih detail tentang bootloader dan antarmuka STM32, lihat PDF di sini.

Langkah 4: Lisensi

Kode sumber yang disediakan Crystalfontz disediakan menggunakan The Unlicense, sebuah lisensi tanpa syarat apapun yang mendedikasikan karya ke domain publik. Karya tanpa izin, modifikasi, dan karya yang lebih besar dapat didistribusikan dengan persyaratan yang berbeda dan tanpa kode sumber. Lihat file UNLICENCE, atau unlicense.org untuk detailnya.

STM32CubeIDE membuat kode sumber dan perpustakaan STMicroelectronics adalah Hak Cipta (c) 2019 STMicroelectronics. Seluruh hak cipta. Komponen perangkat lunak dilisensikan oleh ST di bawah lisensi 3 Klausul BSD, "Lisensi"; Anda tidak boleh menggunakan file-file ini kecuali sesuai dengan Lisensi. Anda dapat memperoleh salinan Lisensi di opensource.org/licenses/BSD-3-Clause.

Direkomendasikan: