İçindekiler:

Bir CFA735/CFA835 Hack: 4 Adım
Bir CFA735/CFA835 Hack: 4 Adım

Video: Bir CFA735/CFA835 Hack: 4 Adım

Video: Bir CFA735/CFA835 Hack: 4 Adım
Video: #390 - Crystalfontz CFA-631 USB LCD Modules 2024, Temmuz
Anonim
Bir CFA735/CFA835 hackleyin
Bir CFA735/CFA835 hackleyin

Ekrana, tuş takımına ve biraz belleğe ihtiyaç duyan bir projeniz var, ancak Crystalfontz CFA735 veya CFA835 modülüne önceden yüklenmiş ürün yazılımı tam olarak aradığınız şey değil mi? Şanslısınız - özel ürün yazılımı yüklemek için bu modülleri hackleyebilirsiniz.

CFA735 ve CFA835, çok yönlü akıllı LCD modülleridir. Hem Crystalfontz CFA735 hem de CFA835, CFA10052 donanım modülünü temel alır, bu nedenle bu eğitim sırasında CFA735 ve/veya CFA835, CFA10052 olarak anılacaktır. CFA10052, kendi özel ürün yazılımınızı çalıştırmak için yeniden programlanabilir.

  • STMicroelectronics STM32F401 mikrodenetleyici
  • ARM 32-bit Cortex™-M4 CPU @ 84 MHz
  • 256K Flaş, 64K RAM
  • 244 x 68 piksel arkadan aydınlatmalı LCD
  • Sitronix ST7529 32 gri tonlamalı grafik LCD denetleyici
  • Buck-boost anahtarlama kaynağı, geniş besleme voltajı aralığına izin verir
  • Tuş takımı ve LCD arka ışıklar için ayrı anahtarlamalı LED parlaklık kontrolörleri
  • 6 düğmeli arkadan aydınlatmalı tuş takımı
  • 4x iki renkli (kırmızı/yeşil) LED'ler
  • USB2 arayüzü
  • microSD kart yuvası
  • 5 genel amaçlı IO pini (GPIO'lar)
  • Çoklu seri/SPI/I2C/CAN arabirimleri (GPIO kullanımına bağlı olarak).

Bu eğitici, bir CFA10052'de gelen bellenimi aşağıdakileri sağlayacak yeni bellenimle nasıl değiştireceğinizi gösterecektir:

  1. Mevcut arka ışıklar, LCD kontrastı ve tuş takımı durum bilgileri ile LCD'de alternatif bir ızgara görüntüleyin;
  2. Tuş takımını kullanarak arka ışıkları ve LCD kontrastını kontrol edin.
  3. Dört LED'in rengini sırayla kırmızıdan yeşile değiştirin.
  4. USART seri portunu Header-1 pin 1 ve 2 (115200 baud) üzerinde etkinleştirin ve alınan tüm verileri yankılayın.
  5. USB sanal seri bağlantı noktasını etkinleştirin ve alınan verileri ana bilgisayara geri yansıtın.
  6. uSD okuma/yazma dosya erişimini içerir, ancak göstermez.

Tabii ki, kendi firmware'inizi yazabilir ve bu adımları kullanarak yükleyebilirsiniz.

ÖNEMLİ NOT:

Crystalfontz CFA10052 donanım modülü, bir önyükleyici ve CFA735/CFA835 bellenimi ile programlanmış olarak gönderilir. Önyükleyici ve CFA735/CFA835 üretici yazılımı açık kaynak değildir ve kullanıcı tarafından CFA10052'den kopyalanamaz ve kullanıcı tarafından CFA10052'ye programlanamaz. Sonunda CFA735/CFA835 ürün yazılımına geri dönmek isterseniz, yeniden programlanması için Crystalfontz'a geri göndermeniz gerekir.

Gereçler

  • Crystalfontz CFA10052 (donanım v1.1 veya üstü) Modül (CFA735/CFA835)
  • STM32CubeIDE ve STM32 ST-LINK Yardımcı Programının kurulu olduğu PC (Windows/Linux/OSX)
  • STMicroelectronics ST-LINK (V2 veya V3) programlama arayüzü
  • CFA10052 programlama kablosu (detaylar aşağıdadır)
  • Özel ürün yazılımı (veya burada bizimkini kullanın)
  • Windows 7/8/8.1/10 (veya eşdeğer Sunucu sürümleri) kullanıyorsanız ve USB sanal seri bağlantı noktasını test etmek istiyorsanız, sürücüleri buradan indirmeniz gerekir. USB seri bağlantı noktası, Windows 10+, Linux, OS-X üzerinde ek sürücüler gerektirmeden çalışacaktır.

1. Adım: Sarf Malzemelerini Toplayın/Oluşturun

Sarf Malzemeleri Topla/Oluştur
Sarf Malzemeleri Topla/Oluştur

Bu örnek üretici yazılımı projesini yüklemek ve kullanmak için STM32CubeIDE'yi kullanmanızı öneririz. STM32CubeIDE, STMicroelectronics tarafından STM32'ye özgü araçları içerecek şekilde değiştirilmiş Eclipse tabanlı ücretsiz bir IDE'dir. IDE, STM32CubeIDE web sayfasından indirilebilir.

STM cihaz konfigürasyon aracının doğru çalışmasını sürdürmek için, yalnızca eşleşen "KULLANICI KODU BAŞLANGIÇ xxx" ve "KULLANICI KODU END xxx" yorum blokları arasında oluşturulan kaynak kodunu düzenlemelisiniz.

Ardından, bir CFA10052 programlama kablosu için bizimle iletişime geçip geçmemeye veya kendinizinkini yapmaya karar verin. Bu eğitimde kabloyu ayrıntılı olarak yapmayacağız, ancak kendi CFA10052 programlama kablonuzu yapmak istiyorsanız, bağlantıları GitHub sayfasında bulabilirsiniz, bunu yapmanın en iyi yolu bir ile başlamaktır. on altı pimli şerit kablo ve bunu ST Link kablosuna bağlayın.

2. Adım: Mevcut Bellenimi Sil

Mevcut Bellenimi Sil
Mevcut Bellenimi Sil
Mevcut Bellenimi Sil
Mevcut Bellenimi Sil

CFA10052 modülünüz ürünle birlikte verilen CFA735 veya CFA835 bellenimi ile yüklüyse, yeni bellenimi yüklemeden önce mevcut bellenimi silmeniz gerekir. Flash bellek, okuma ve yazma korumalıdır ve özel ürün yazılımının yüklenebilmesi için önce çıkarılması gerekir.

Yüklü bellenimi kaldırmak için iki yöntem vardır:

  1. USB kablosunu (veya güç kaynağını) CFA10052 modülünden çıkarın.
  2. Programlama kablosunu (yukarıya bakın) kullanarak CFA10052'yi ST-LINK'e ve ST-LINK'i ana bilgisayara bağlayın.
  3. USB kablosunu CFA10052'ye (veya güç kaynağına) takarken CFA10052 üzerindeki yukarı ve aşağı tuşlarını basılı tutun. CFA10052 şimdi Crystalfontz Bootloader ekranını göstermelidir.
  4. STM32 ST-LINK Yardımcı Programını çalıştırın. "Hedef" menüsünde "Seçenek Baytları" penceresini açın. "Okuma Koruması" kutusunda, "Seviye 0"ı seçin. Uygula'ya tıklayın. Crystalfontz ürün yazılımı artık kaldırılmıştır ve herhangi bir özel ürün yazılımı artık programlanabilir.

Alternatif yöntem (tuşları basılı tutarak Crystalfontz Bootloader'a giremezseniz):

  1. USB kablosunu (veya güç kaynağını) CFA10052 modülünden çıkarın.
  2. BOOT0 test noktasını (CFA10052 modülünün arkasında, H1 konektörünün yanında bulunan küçük bir ped) 3,3V veya 5V'a bağlayın.
  3. Programlama kablosunu (yukarıya bakın) kullanarak CFA10052'yi ST-LINK'e ve ST-LINK'i ana bilgisayara bağlayın.
  4. CFA10052'yi açın (veya USB gücüne bağlayın). Ekran boş olmalıdır.
  5. STM32 ST-LINK Utility'yi çalıştırın. "Hedef" menüsünde "Option Bytes" penceresini açın. "Read Out Protection" kutusunda "Level 0" öğesini seçin. Uygula'ya tıklayın. Crystalfontz ürün yazılımı artık kaldırılmıştır ve herhangi bir özel ürün yazılımı artık programlanabilir.
  6. BOOT0 pininin 3.3V/5V'a bağlanmasına artık gerek yoktur.

Adım 3: Belleniminizi Derleyin ve CFA10052'ye Yükleyin

Belleniminizi Derleyin ve CFA10052'ye Yükleyin
Belleniminizi Derleyin ve CFA10052'ye Yükleyin

Crystalfontz tarafından sağlanan bellenim kaldırıldıktan sonra, kendi belleniminizi derlemeye ve yüklemeye hazırsınız. Bu öğreticinin amaçları doğrultusunda, arka ışık parlaklığı ve ekran kontrastı üzerinde tuş takımı kontrolü sağlayan bazı alternatif yazılımlar sağladık.

Bellenimi derlemek için:

  1. STM32CubeIDE'yi açın
  2. Dosya menüsünde İçe Aktar'ı ve ardından "Mevcut Projeleri Çalışma Alanına İçe Aktar"ı seçin.
  3. Kök dizin kutusunda, bu örnek üretici yazılımının dizinini seçin.
  4. Bitir düğmesini tıklayın.
  5. Proje Gezgini'nde cfa10052_example projesini seçin, ardından Src'yi ve "main.c" dosyasını açın.
  6. Proje menüsünde "Proje Oluştur" seçeneğini seçin.

Bellenimi CFA10052'de programlamak ve çalıştırmak için:

  1. USB kablosunu (veya güç kaynağını) CFA10052 modülünden çıkarın.
  2. Programlama kablosunu (yukarıya bakın) kullanarak CFA10052'yi ST-LINK'e ve ST-LINK'i ana bilgisayara bağlayın.
  3. USB kablosunu (veya güç kaynağını) CFA10052'ye bağlayın.
  4. Ürün yazılımı projesinin oluşturulduğundan emin olun (yukarıdaki adımlara bakın) ve Proje Gezgini'nde "cfa10052_example" altında "İkili dosyalar" belirir.
  5. "İkili dosyalar" görünmüyorsa, "cfa10052_example" projesine sağ tıklayın ve Yenile'yi seçin.
  6. Çalıştır menüsünü ve ardından "Yapılandırmalarda Hata Ayıklama"yı seçin.
  7. Soldaki hata ayıklama hedef türleri seçim kutusunda, "STM32 Cortex-M Uygulaması"na sağ tıklayın ve "Yeni Yapılandırma"yı seçin.
  8. Bir yapılandırma penceresi gösterilecektir. Varsayılan ayarlar tamamdır. Uygula'yı ve ardından Kapat düğmesini tıklayın.
  9. Çalıştır menüsünde, "Farklı Hata Ayıkla"yı ve ardından "STM32 Cortex Uygulaması"nı seçin. STM32CubeIDE şimdi ST-LINK'e bağlanmalı ve bellenimi CFA10052'ye yüklemeli ve çalıştırmalıdır.

Yukarıdaki adımlar yalnızca projeyi STM32CubeIDE'ye ilk kez yüklerken gereklidir. Firmware kaynak kodu değişiklikleri yapıldıktan sonra, sadece projenin yeniden oluşturulması (Ctrl-B kısayolu) ve CFA10052'nin (F11 tuş kısayolu) programlanması gerekir.

Bellenim, normal STM32 önyükleyici yöntemlerinden herhangi biri aracılığıyla da yüklenebilir (hata ayıklama yalnızca SWD arabirimi ve bir ST-LINK kullanılarak yapılabilir). Örneğin, seri bağlantı kullanılıyorsa, USART1 kullanılabilir (RX=H1-Pin1 ve TX=H1-Pin2). STM32 önyükleyici ve arayüzler hakkında daha ayrıntılı bilgi için, buradaki PDF'ye bakın.

4. Adım: Lisanslar

Crystalfontz tarafından sağlanan kaynak kodu, eserleri kamuya açık hale getiren hiçbir koşul içermeyen bir lisans olan The Unlicense kullanılarak sağlanır. Lisanssız çalışmalar, modifikasyonlar ve daha büyük çalışmalar farklı koşullar altında ve kaynak kodu olmadan dağıtılabilir. Ayrıntılar için UNLICENCE dosyasına veya unlicense.org'a bakın.

STM32CubeIDE tarafından oluşturulan kaynak kodu ve STMicroelectronics kitaplıkları Telif Hakkı (c) 2019 STMicroelectronics'e aittir. Her hakkı saklıdır. Yazılım bileşeni, ST tarafından BSD 3-Clause lisansı, "Lisans" kapsamında lisanslanmıştır; Bu dosyaları Lisansa uygun olmadıkça kullanamazsınız. Lisansın bir kopyasını opensource.org/licenses/BSD-3-Clause adresinden edinebilirsiniz.

Önerilen: