İçindekiler:

STM32CubeIDE'de Blue Pill Board Kurulumu: 8 Adım
STM32CubeIDE'de Blue Pill Board Kurulumu: 8 Adım

Video: STM32CubeIDE'de Blue Pill Board Kurulumu: 8 Adım

Video: STM32CubeIDE'de Blue Pill Board Kurulumu: 8 Adım
Video: ST-Link V2 ile Bluepill STM32F103C8T6 Programlama - ST-Link Utility 2024, Kasım
Anonim
STM32CubeIDE'de Mavi Hap Panosu Kurulumu
STM32CubeIDE'de Mavi Hap Panosu Kurulumu
STM32CubeIDE'de Mavi Hap Panosu Kurulumu
STM32CubeIDE'de Mavi Hap Panosu Kurulumu

Blue Pill, çok ucuz bir çıplak kemik ARM geliştirme kartıdır. 64 kbyte flash ve 20 kbyte RAM belleğe sahip işlemcisi olarak bir STM32F103C8'e sahiptir. 72 MHz'e kadar çalışır ve ARM gömülü yazılım geliştirmeye girmenin en ucuz yoludur.

Çoğu örnek proje ve Auduino ortamını kullanarak Blue Pill panosunu programlamayı nasıl açıklar. Bu işe yarar ve başlamanın bir yolu olsa da, sınırlamaları vardır. Arduino ortamı sizi temel donanımdan biraz korur - bu onun tasarım hedefidir. Bu nedenle, işlemcinin sunduğu tüm özelliklerden yararlanamayacaksınız ve gerçek zamanlı bir işletim sistemini entegre etmek gerçekten desteklenmiyor. Bu, Arduino ortamının endüstride yaygın olarak kullanılmadığı anlamına gelir. Gömülü yazılım geliştirmede kariyer yapmak istiyorsanız, Arduino iyi bir başlangıç noktasıdır, ancak ilerlemeniz ve endüstriyel olarak kullanılan bir geliştirme ortamı kullanmanız gerekir. ST, işlemcileri için STM32CubeIDE adlı tamamen ücretsiz bir geliştirme ortamı paketi sağlar. Bu, endüstride yaygın olarak kullanılmaktadır, bu yüzden devam etmek için iyi bir şeydir.

Bununla birlikte, ve bu büyüktür, ancak STM32CubeIDE korkunç derecede karmaşıktır ve kullanımı göz korkutucu bir yazılım parçasıdır. Tüm ST işlemcilerinin tüm özelliklerini destekler ve bunların tamamen sizin için yapıldığı için Arduino IDE'de rastlamadığınız, yakından yapılandırılmalarına izin verir.

STM32CubeIDE'de ilk adım olarak kartınızı kurmanız gerekir. IDE, ST'nin kendi geliştirme kartlarını bilir ve sizin için kurar, ancak Blue Pill, bir ST işlemci kullanırken, bir ST ürünü değildir, yani burada tek başınızasınız.

Bu talimat, Blue Pill kartınızı kurma, bir seri bağlantı noktası etkinleştirme ve bir miktar metin yazma sürecinde sizi yönlendirir. Çok değil, ama önemli bir ilk adım.

Gereçler

STM32CubeIDE - ST'nin web sitesinden indirin. Kayıt olmanız gerekiyor ve indirmeniz biraz zaman alıyor.

Bir Mavi Hap tahtası. Onları ebay'den alabilirsiniz. Bazılarında olmadığı gibi üzerinde gerçek bir ST işlemcisi olan bir işlemciye ihtiyacınız var. Ebay'de resmi yakınlaştırın ve işlemcideki ST logosunu arayın.

Bir ST-LINK v2 hata ayıklayıcı/programlayıcı, ebay'den birkaç pound karşılığında alınabilir.

Çıkış için bir FTDI TTL - USB 3.3V seri kablosu ve bunu bağlamak için 2 erkek - dişi başlık kablosu.

PuTTY gibi bir seri terminal programı.

Adım 1: Yeni Bir Proje Oluşturma

Yeni Proje Oluşturma
Yeni Proje Oluşturma
Yeni Proje Oluşturma
Yeni Proje Oluşturma
  1. STM32CubeIDE'yi başlatın ve ardından menüden Dosya|Yeni|STM32 Projesi'ni seçin.
  2. Parça Numarası Arama kutusuna STM32F103C8 yazın.
  3. MCU'lar/MPU'lar Listesinde STM32F103C8'i görmelisiniz. Bu satırı yukarıdaki resimdeki gibi seçin.
  4. Sonrakine tıkla.
  5. Proje Kurulumu iletişim kutusunda projenize bir ad verin.
  6. Her şeyi olduğu gibi bırakın ve Bitir'e tıklayın. Projeniz, Proje Gezgini bölmesinde solda görünecektir.

Adım 2: İşlemciyi Yapılandırma

İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
İşlemciyi Yapılandırma
  1. Proje Gezgini bölmesinde projenizi açın ve.ioc dosyasına çift tıklayın.
  2. Proje ve Yapılandırma sekmesinde Sistem Çekirdeği'ni genişletin ve ardından SYS'yi seçin.
  3. Hata Ayıklama açılır menüsündeki SYS Modu ve Yapılandırma altında Seri Kablo'yu seçin.
  4. Şimdi, yukarıda seçtiğiniz SYS'nin hemen üstündeki Sistem Çekirdeği listesinden RCC'yi seçin.
  5. Yüksek Hızlı Saat (HSE) açılır menüsünden RCC Modu ve Yapılandırma altında Kristal/Seramik Rezonatör'ü seçin.
  6. Şimdi tekrar Kategoriler altında, Bağlantı'yı açın ve USART2'yi seçin.
  7. USART2 Modu ve Mod açılır menüsünden Yapılandırma altında Asenkron'u seçin.
  8. Şimdi Saat Yapılandırma sekmesini seçin ve bir sonraki adıma geçin.

Adım 3: Saatleri Yapılandırma

Saatleri Yapılandırma
Saatleri Yapılandırma

Artık oldukça göz korkutucu bir saat şeması görebilirsiniz, ancak yalnızca bir kez ayarlanması gerekir. Diyagram karmaşık olduğu için burada tarif edilmesi en zor olanı. Değiştirmeniz gereken tüm şeyler yukarıdaki resimde vurgulanmıştır.

  1. Blue Pill panosu, panoda 8 MHz kristal ile birlikte gelir ve saat yapılandırma şemasının varsayılan değeri budur, bu yüzden bunu değiştirmemize gerek yoktur.
  2. PLL Source Mux altında daha düşük seçenek olan HSE'yi seçin.
  3. Hemen sağa PLLMul'u X9'a ayarlayın.
  4. System Clock Mux altında tekrar sağa doğru PLLCLK'yi seçin.
  5. APB1 Prescalar altında tekrar sağda /2'yi seçin.
  6. Bu kadar. Diyagramın herhangi bir bölümünün morla vurgulandığını görürseniz, yanlış bir şey yaptınız.

4. Adım: Kaydet ve Oluştur

  1. .ioc yapılandırmasını Ctrl-S ile kaydedin. Kod oluşturmak isteyip istemediğiniz sorulduğunda Evet'i seçin (ve her seferinde sorulmamak için Kararımı hatırla'yı işaretleyin)..ioc dosyasını kapatabilirsiniz.
  2. Şimdi Project|Build Project menüsünden bir yapı yapın.

Adım 5: Bazı Kodlar Ekleme

Bazı Kod Ekleme
Bazı Kod Ekleme
Bazı Kod Ekleme
Bazı Kod Ekleme

Şimdi yapılandırdığımız seri portu kullanmak için bazı kodlar ekleyeceğiz.

  1. Project Explorer'da Core\Src dosyasını açın ve düzenlemek için main.c'ye çift tıklayın.
  2. main() işlevini bulana kadar aşağı kaydırın ve aşağıda gösterilen kodu /* USER CODE BEGIN 3 */ yorumunun hemen altına ekleyin ve ardından yeniden bir derleme yapın.

HAL_UART_Transmit(&huart2, (uint8_t *)"Merhaba dünya!\r\n", 15U, 100U);

Ardından, donanımı bağlayın ve deneyin.

Adım 6: Donanımı Bağlama

Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama

ST-LINK v2'yi bağlama

ST-LINK v2, 4 telli dişi-dişi başlık şerit kablosuyla birlikte gelmiş olmalıdır. Aşağıdaki bağlantıları yapmanız gerekir:

ST-LINK v2'ye Mavi Hap

GND'den GND'ye dönüştürücü

CLK'den SWCLK'ye dönüştürücü

DIO'den SWDIO'ye dönüştürücü

3,3 ila 3,3V

Yukarıdaki ilk resme bakın.

Seri Kablonun Bağlanması

.ioc dosyasına geri dönerseniz ve sağdaki çip şemasına bakarsanız UART2'nin Tx hattının PA2 pininde olduğunu göreceksiniz. Bunun için Blue Pill panosundaki PA2 etiketli pimi, FTDI Seri kablo üzerindeki sarı kablo ile bağlantıya bağlayın. Ayrıca Blue Pill'in topraklama pimlerinden (G etiketli) birini FTDI seri kablosundaki siyah kabloya bağlayın.

Yukarıdaki ikinci resme bakın.

7. Adım: Hata Ayıklama

hata ayıklama
hata ayıklama
hata ayıklama
hata ayıklama

FTDI Seri kablonuzu takın ve 115200 baud'da bir seri terminali çalıştırın. Ardından ST-LINK v2'nizi takın ve gitmeye hazırsınız.

  1. STM32CubeIDE'den Run|Debug'u seçin. Hata Ayıklama iletişim kutusu açıldığında STM32 Cortex-M C/C++ Uygulaması'nı seçin ve Tamam'ı seçin.
  2. Bir Yapılandırmayı Düzenle iletişim kutusu açıldığında sadece Tamam'a basın.
  3. Hata ayıklayıcı, main() öğesinin ilk satırında bozulur. Menüden Run|Resume öğesini seçin ve seri terminaldeki mesajları kontrol edin.

8. Adım: Daha Fazlasını Yapmak

İşte bu kadar, ilk STM32CubeIDE uygulamanız yapılandırılmış ve çalışıyor. Bu örnek fazla bir şey yapmaz - sadece seri bağlantı noktasından bazı veriler gönderir.

Diğer çevre birimlerini kullanmak ve harici aygıtlar için sürücü yazmak için bu göz korkutucu yapılandırma düzenleyicisini tekrar ele almanız gerekir! Yardımcı olmak için, Blue Pill'in işlemcisindeki tüm çevre birimlerini küçük, anlaşılması kolay projelerde yapılandıran ve çalıştıran bir dizi STM32CubeIDE örnek proje ürettim. Hepsi açık kaynak kodludur ve onlarla istediğinizi yapmakta özgürsünüz. Her bir çevre birimi yapılandırılır ve ardından, her seferinde yalnızca bir çevre birimini çalıştırmaya konsantre olabilmeniz için, onu ayrı ayrı (neredeyse!) çalıştırmak için örnek koda sahiptir.

Ayrıca basit EEPROM çiplerinden basınç sensörlerine, metin ve grafik LCD'lere, TCP, HTTP ve MQTT için SIM800 modeme, tuş takımlarına, radyo modüllerine, USB'ye ve ayrıca FatFS, SD kartlar ve FreeRTOS ile entegrasyona kadar harici cihazlar için sürücüler vardır.

Hepsi burada Github'da bulunabilir…

github.com/miniwinwm/BluePillDemo

Önerilen: