Menyiapkan Papan Pil Biru dalam STM32CubeIDE: 8 Langkah
Menyiapkan Papan Pil Biru dalam STM32CubeIDE: 8 Langkah
Anonim
Menyiapkan Papan Pil Biru di STM32CubeIDE
Menyiapkan Papan Pil Biru di STM32CubeIDE

Blue Pill adalah papan pengembangan ARM tulang kosong yang sangat murah. Ia mempunyai STM32F103C8 sebagai pemprosesnya yang mempunyai 64 kbytes flash dan 20 kbytes memori RAM. Ia berjalan hingga 72 MHz dan merupakan cara termurah untuk memasuki pengembangan perisian tertanam ARM.

Sebilangan besar contoh projek dan cara menerangkan pengaturcaraan papan Blue Pill menggunakan persekitaran Auduino. Walaupun ini berfungsi dan merupakan cara untuk memulakannya, ia mempunyai batasannya. Persekitaran Arduino melindungi anda sedikit dari perkakasan yang mendasari - itulah tujuan reka bentuknya. Oleh kerana itu, anda tidak akan dapat memanfaatkan semua ciri yang ditawarkan oleh pemproses, dan mengintegrasikan sistem operasi masa nyata tidak benar-benar disokong. Ini bermaksud bahawa persekitaran Arduino tidak banyak digunakan dalam industri. Sekiranya anda ingin membuat karier dalam pengembangan perisian tertanam, Arduino adalah tempat permulaan yang baik, tetapi anda perlu terus maju dan menggunakan persekitaran pengembangan yang digunakan secara industri. ST membantu menyediakan rangkaian persekitaran pembangunan sepenuhnya percuma untuk pemproses mereka yang disebut STM32CubeIDE. Ini digunakan secara meluas dalam industri, jadi bagus untuk terus maju.

Walau bagaimanapun, dan ini adalah yang besar, STM32CubeIDE sangat rumit dan merupakan perisian yang menakutkan untuk digunakan. Ia menyokong semua ciri semua prosesor ST dan membolehkannya dikonfigurasi dengan sempurna, yang tidak anda temui di Arduino IDE kerana semuanya dilakukan untuk anda.

Anda perlu menyediakan papan anda sebagai langkah pertama dalam STM32CubeIDE. IDE mengetahui tentang papan pengembangan ST sendiri dan menyediakannya untuk anda, tetapi Blue Pill, semasa menggunakan pemproses ST, ia bukan produk ST, jadi anda sendiri di sini.

Instruksional ini membawa anda melalui proses menyiapkan papan Pill Biru, mengaktifkan port bersiri, dan menulis beberapa teks. Ia tidak banyak, tetapi ini adalah langkah pertama yang penting.

Bekalan

STM32CubeIDE - muat turun dari laman web ST. Anda perlu mendaftar dan memerlukan beberapa saat untuk memuat turun.

Papan Pil Biru. Anda boleh mendapatkannya dari ebay. Anda memerlukan prosesor yang mempunyai pemproses ST asli kerana ada yang tidak. Di ebay zoom pada gambar dan cari logo ST pada pemproses.

Pengecas / pengaturcara ST-LINK v2 tersedia dari ebay dengan harga beberapa paun.

Kabel bersiri FTDI TTL ke USB 3.3V untuk output dan 2 wayar header lelaki ke wanita untuk menyambungkannya.

Program terminal bersiri seperti PuTTY.

Langkah 1: Membuat Projek Baru

Membuat Projek Baru
Membuat Projek Baru
Membuat Projek Baru
Membuat Projek Baru
  1. Mulakan STM32CubeIDE dan kemudian dari menu pilih Fail | Baru | Projek STM32.
  2. Dalam kotak Carian Nombor Bahagian masukkan STM32F103C8.
  3. Dalam Senarai MCU / MPU anda harus melihat STM32F103C8. Pilih baris ini seperti dalam gambar di atas.
  4. Klik Seterusnya.
  5. Dalam dialog Project Setup beri nama projek kepada anda.
  6. Tinggalkan semua yang lain dan klik Selesai. Projek anda akan muncul di sebelah kiri di panel Project Explorer.

Langkah 2: Mengkonfigurasi Pemproses

Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
Mengkonfigurasi Pemproses
  1. Di panel Project Explorer, buka projek anda dan klik dua kali fail.ioc.
  2. Pada tab Projek & Konfigurasi kembangkan Sistem Teras kemudian pilih SYS.
  3. Di bawah Mod dan Konfigurasi SYS dalam drop-down Debug pilih Serial Wire.
  4. Sekarang pilih RCC dalam senarai Core System tepat di atas SYS yang anda pilih di atas.
  5. Di bawah Mod & Konfigurasi RCC dari drop-down Jam Berkelajuan Tinggi (HSE) pilih Crystal / Ceramic Resonator.
  6. Sekarang di bawah Kategori sekali lagi, buka Kesambungan dan pilih USART2.
  7. Di bawah Mod USART2 dan Konfigurasi dari menu lungsur turun pilih Asynchronous.
  8. Sekarang pilih tab Konfigurasi Jam dan pergi ke langkah seterusnya.

Langkah 3: Mengkonfigurasi Jam

Mengkonfigurasi Jam
Mengkonfigurasi Jam

Anda kini dapat melihat gambarajah jam yang agak menakutkan, tetapi hanya perlu disiapkan sekali sahaja. Ini paling sukar untuk dijelaskan di sini kerana rajahnya kompleks. Semua perkara yang perlu anda ubah diserlahkan dalam gambar di atas.

  1. Papan Blue Pill dilengkapi dengan kristal 8 MHz di papan dan itulah yang ditetapkan oleh rajah konfigurasi jam, jadi kita tidak perlu mengubahnya.
  2. Di bawah PLL Source Mux pilih pilihan yang lebih rendah, HSE.
  3. Hanya ke kanan set PLLMul ke X9.
  4. Di sebelah kanan lagi di bawah Sistem Jam Mux pilih PLLCLK.
  5. Di sebelah kanan lagi di bawah APB1 Prescalar pilih / 2.
  6. Itu sahaja. Sekiranya anda melihat bahagian rajah yang diserlahkan dengan warna ungu, anda telah melakukan sesuatu yang salah.

Langkah 4: Simpan dan Bina

  1. Simpan konfigurasi.ioc dengan Ctrl-S. Apabila anda ditanya sama ada anda ingin menghasilkan kod pilih Ya (dan tandakan Ingat keputusan saya supaya anda tidak diminta setiap masa). Anda boleh menutup fail.ioc.
  2. Sekarang buat build dari menu Project | Build Project.

Langkah 5: Menambah Beberapa Kod

Menambah Beberapa Kod
Menambah Beberapa Kod
Menambah Beberapa Kod
Menambah Beberapa Kod

Sekarang kita akan menambahkan beberapa kod untuk menggunakan port bersiri yang kita konfigurasikan.

  1. Di Project Explorer buka Core / Src dan klik dua kali main.c untuk mengeditnya.
  2. Tatal ke bawah sehingga anda menemui fungsi utama () dan tambahkan kod yang ditunjukkan di bawah tepat di bawah komen / * KOD PENGGUNA MULAI 3 * / kemudian buat lagi.

HAL_UART_Transmit (& huart2, (uint8_t *) "Helo, dunia! / R / n", 15U, 100U);

Seterusnya ia menyambungkan perkakasan ke atas dan mencuba.

Langkah 6: Menyambungkan Perkakasan

Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan

Menyambungkan ST-LINK v2

ST-LINK v2 semestinya dilengkapi dengan kabel reben header wanita hingga wanita 4 wayar. Anda perlu membuat sambungan berikut:

Pil Biru ke ST-LINK v2

GND ke GND

CLK ke SWCLK

DIO ke SWDIO

3.3 hingga 3.3V

Lihat gambar pertama di atas.

Menyambungkan Kabel Bersiri

Sekiranya anda kembali ke fail.ioc dan melihat gambarajah cip di sebelah kanan anda akan melihat bahawa garis Tx UART2 ada pada pin PA2. Oleh itu, sambungkan pin berlabel PA2 pada papan Pill Biru ke sambungan dengan wayar kuning pada kabel FTDI Serial. Sambungkan juga salah satu pin ground Blue Pill (berlabel G) ke wayar hitam pada kabel bersiri FTDI.

Lihat gambar kedua di atas.

Langkah 7: Menyahpepijat

Menyahpepijat
Menyahpepijat
Menyahpepijat
Menyahpepijat

Pasangkan kabel Serial FTDI anda dan hidupkan terminal bersiri pada 115200 baud. Kemudian pasangkan ST-LINK v2 anda dan anda sudah bersedia untuk pergi.

  1. Dari STM32CubeIDE pilih Run | Debug. Apabila dialog Debug as muncul, pilih Aplikasi STM32 Cortex-M C / C ++ dan OK.
  2. Apabila dialog Edit Konfigurasi muncul, tekan OK.
  3. Debugger akan pecah pada baris pertama utama (). Dari menu pilih Run | Resume dan periksa mesej di terminal bersiri.

Langkah 8: Melakukan Lebih Banyak

Itu sahaja, aplikasi STM32CubeIDE pertama anda dikonfigurasi dan berjalan. Contoh ini tidak banyak - hanya menghantar beberapa data dari port bersiri.

Untuk menggunakan periferal lain dan menulis pemacu untuk peranti luaran, anda harus mengatasi penyunting konfigurasi yang menakutkan itu lagi! Untuk membantu, saya telah menghasilkan satu siri projek contoh STM32CubeIDE yang mengkonfigurasi dan menjalankan semua periferal pada pemproses Blue Pill dalam projek kecil yang mudah difahami. Semuanya adalah sumber terbuka dan anda bebas melakukan apa sahaja yang anda mahu dengan mereka. Setiap periferal dikonfigurasi dan kemudian mempunyai kod contoh untuk menggunakannya secara terpisah (hampir!) Sehingga anda dapat menumpukan perhatian untuk mendapatkan satu periferal sekali gus.

Terdapat juga pemacu untuk peranti luaran dari cip EEPROM sederhana ke sensor tekanan, LCD teks dan grafik, modem SIM800 untuk TCP, HTTP dan MQTT, pad kekunci, modul radio, USB dan juga penyatuan dengan FatFS, kad SD dan FreeRTOS.

Kesemuanya boleh didapati di Github di sini…

github.com/miniwinwm/BluePillDemo

Disyorkan: