Daftar Isi:

Mulai Mengembangkan STM32 di Linux: 4 Langkah
Mulai Mengembangkan STM32 di Linux: 4 Langkah

Video: Mulai Mengembangkan STM32 di Linux: 4 Langkah

Video: Mulai Mengembangkan STM32 di Linux: 4 Langkah
Video: stm32 development on Linux - installing stlink 2024, Juli
Anonim
Image
Image
Unduh Semua yang Anda Butuhkan
Unduh Semua yang Anda Butuhkan

Dalam Instruksi ini, saya akan menunjukkan kepada Anda betapa mudahnya untuk mulai mengembangkan program STM32 di Linux. Saya mulai menggunakan Linux sebagai mesin utama saya 2 tahun yang lalu dan belum pernah dikecewakan. Semuanya bekerja lebih cepat dan lebih baik daripada windows. Tentu saja kurang nyaman dari waktu ke waktu, tetapi memaksa Anda untuk mempelajari hal-hal lebih dalam sehingga Anda dapat menggunakannya.

Bagaimanapun, dalam instruksi ini, bagian dari seri yang saya mulai di sini DAN di youtube adalah tentang bagaimana memulainya. Pastikan untuk menonton video youtube saya juga di mana saya menjelaskan semuanya sebagai satu segmen dan Anda dapat membuat kode di samping saya.

Dalam seri ini saya akan menunjukkan kepada Anda bagaimana Anda dapat mengembangkan hanya menggunakan editor teks seperti notepad, SublimeText atau Atom, sehingga Anda tidak memerlukan perangkat lunak berpemilik atau IDE. Ini sangat sederhana dan ternyata sangat mudah.

Langkah 1: Unduh Semua yang Anda Butuhkan

Anda perlu mengunduh tiga bagian agar semuanya berfungsi:

  • Kompiler GCC untuk ARM
  • File firmware STM32
  • Utilitas St-link
  • Contoh Proyek

Compiler adalah bagian utama dari perangkat lunak yang mengkompilasi kode C kami dengan semua file perpustakaan lainnya ke dalam bahasa mesin yang dapat dipahami oleh pengontrol stm32 kami. Unduh versi pra-kompilasi terbaru dari kompiler ini.

Folder yang berisi firmware STM32 adalah folder yang menyimpan semua file startup dan inti yang diperlukan untuk pengoperasian prosesor utama. Kami akan menggunakan Perpustakaan Periferal Standar yang telah dilampaui oleh HAL. Saya lebih menyukai StPeriphLibrary karena perusahaan yang mengerjakan prosesor ini menggunakannya karena kuat dan lebih tua serta didukung. Itu juga lebih kasar. Itu tidak memotong pekerjaan yang harus Anda lakukan untuk menginisialisasi periferal atau menyalakan LED tetapi, sehingga memaksa Anda untuk mempelajari cara kerja prosesor ini. Dengan itu Anda memiliki lebih banyak pengetahuan tentang cara kerja bagian dalam sehingga masuk akal untuk memprogram tugas apa pun.

Bagian terakhir dari perangkat lunak untuk diunduh adalah utilitas st-link. Itu dipertahankan di github dan digunakan untuk mentransfer file biner yang dikompilasi ke prosesor menggunakan IC stlink di papan yang berfungsi sebagai programmer/debugger SWD / JTAG.

Juga saya telah menyediakan folder proyek sampel yang saya bicarakan nanti dan Anda dapat mengunduhnya. Itu ada di dalam folder VIDEO1 pertama.

Langkah 2: Menginstal Perangkat Lunak

Menginstal Perangkat Lunak
Menginstal Perangkat Lunak
Menginstal Perangkat Lunak
Menginstal Perangkat Lunak

Setelah Anda mengunduh semua file, saya sarankan Anda meletakkannya di dalam folder umum karena semuanya digunakan bersama untuk tujuan yang sama. Saya meletakkan semua folder di dalam folder bernama "Tertanam" di direktori HOME saya.

Kami akan mulai dengan yang paling mudah, perpustakaan STM32. Folder yang sudah Anda download bisa dibiarkan begitu saja. Pastikan untuk menggali untuk melihat di mana file yang sesuai disimpan. Oleh karena itu Anda dapat mengubah dan mengedit MakeFile utama agar dapat bekerja dengan platform Anda.

Kedua termudah adalah compiler. Anda juga tidak perlu melakukan apa pun untuk itu, tetapi kami akan menjadikan kompiler sebagai fungsi yang dapat diakses secara global sehingga Anda dapat memanggil kompiler dari folder mana pun terlepas dari jalurnya. Semua langkah dapat dilakukan di terminal atau di gui, tetapi saya suka menggunakan terminal karena ketika Anda berpengalaman, itu menjadi lebih cepat dan lebih mudah dan saya mendorong Anda untuk menggunakan terminal lebih banyak, jika Anda takut. Berikut langkah-langkahnya:

  1. Masuk ke folder home Anda "/home/YOURUSERNAME/" atau "~/" atau ketik cd ke terminal
  2. buka file ".bashrc" dengan mengetik: nano.bashrc
  3. gulir ke bawah ke akhir file dan tambahkan baris ini: export PATH=$PATH:~/Embedded/gcc-arm-none-eabi-8-2018-q4/bin
  4. keluar dengan menyimpan: CTRL+X, klik Y, ENTER
  5. jalankan perintah: source.bashrc untuk menyegarkan sumber terminal
  6. periksa apakah semuanya berfungsi dengan mengetik: arm-none-eabi-gcc --version, itu akan menampilkan versi terbaru dari kompiler

Untuk menginstal st-link, ekstrak arsip yang telah Anda unduh ke folder Embedded. Kemudian ikuti langkah-langkah ini:

  1. Jalankan: buat
  2. Masuk ke folder "build/Release": cd build/Release
  3. Ketik ls dan Anda akan melihat dua executable yang disebut "st-flash" dan "st-util"
  4. Pindahkan keduanya ke direktori induk stlink: mv st-flash st-util../../
  5. Anda dapat, jika Anda ingin menggunakan kedua fungsi ini secara global mengedit file ".bashrc" lagi dengan menambahkan:

    ekspor PATH=$PATH:~/Tertanam/stlink/

Itu saja! Anda memiliki semua yang Anda butuhkan. Sekarang ambil sendiri editor teks favorit Anda. Gunakan yang standar saja, yang lebih pintar seperti SublimeText atau Atom, itulah yang saya gunakan.

Langkah 3: Menyiapkan Proyek Contoh

Menyiapkan Proyek Contoh
Menyiapkan Proyek Contoh

Kami sekarang akan membuat proyek sampel yang dapat Anda gunakan untuk memulai setiap proyek. Ini seperti template dengan semua pengaturan utama sudah ditangani.

Anda dapat mengunduhnya di MEGA saya, tautannya ada di langkah pertama dari instruksi ini dan di bawah setiap video youtube saya. Di dalamnya ada file main.c kosong bersama dengan beberapa file startup untuk prosesor ini dan Makefile. Makefile adalah yang memberi tahu kompiler C di mana menemukan kompiler lengan, cara mengompilasi dan di mana semua perpustakaan. Untuk mendapatkan file yang sesuai untuk proyek Anda, Anda dapat masuk ke folder perpustakaan STM32 dan memeriksa folder "proyek" atau "contoh". Di dalamnya Anda akan melihat dan menyalin file-file ini: main.c, Makefile dan XXX_conf.h, system_XXX.c. Juga Anda akan membutuhkan file linker stm32_flash.ld yang dapat ditemukan di folder:

"/FLASH_Program/TrueSTUDIO/FLASH_Program/" yang ada di dalam folder contoh atau cari saja filenya.

Makefile dapat ditemukan online atau disalin dari folder saya, tetapi Anda perlu mengubah beberapa hal. Mari kita lihat file make saya dan apa yang bisa Anda ubah.

# Jalur ke folder stlink untuk mengunggah kode ke papan

STLINK=~/Embedded/stlink # Letakkan file sumber Anda di sini (*.c) SRCS=main.c system_stm32f4xx.c # File sumber perpustakaan #SRCS += stm32f4xx_rcc.c #SRCS += stm32f4xx_gpio.c # Binari akan dibuat dengan nama ini (.elf,.bin,.hex) PROJ_NAME=test # Letakkan direktori kode perpustakaan STM32F4 Anda di sini, ubah YOURUSERNAME menjadi milik Anda STM_COMMON=/home/matej/Embedded/STM32F4-Discovery_FW_V1.1.0 # Pengaturan kompiler. Hanya edit CFLAGS untuk menyertakan file header lainnya. CC=arm-none-eabi-gcc OBJCOPY=arm-none-eabi-objcopy # Compiler flags CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS += -DUSE_STDPERIPH_DRIVER CFLAGS += -mlittle-endian -mthumb -mcpu korteks-m4 -mthumb-interwork CFLAGS += -mfloat-abi=keras -mfpu=fpv4-sp-d16 CFLAGS += -I. # Sertakan file dari perpustakaan STM CFLAGS += -I$(STM_COMMON)/Libraries/CMSIS/Sertakan CFLAGS += -I$(STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Sertakan CFLAGS += -I$(STM_COMMON)/ Libraries/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I$(STM_COMMON)/Utilities/STM32F4-Discovery # tambahkan file startup untuk membangun SRCS += $(STM_COMMON)/Libraries/CMSIS/ST/STM32F4xx/Sumber/Templates/True. s OBJS = $(SRCS:.c=.o) vpath %.c $(STM_COMMON)/Libraries/STM32F4xx_StdPeriph_Driver/src \. PHONY: proj semua: proj proj: $(PROJ_NAME).elf $(PROJ_NAME).elf: $(SRCS) $(CC) $(CFLAGS) $^ -o $@ $(OBJCOPY) -O ihex $(PROJ_NAME).elf $(PROJ_NAME).hex $(OBJCOPY) -O binary $(PROJ_NAME).elf $(PROJ_NAME).bin clean: rm -f *.o $(PROJ_NAME).elf $(PROJ_NAME).hex $(PROJ_NAME).bin # Flash pembakaran STM32F4: proj $(STLINK)/st-flash write $(PROJ_NAME).bin 0x80000000

  • Anda dapat mengedit baris pertama untuk mengubah jalur ke folder utilitas stlink Anda
  • Anda dapat mengubah baris ke tujuan folder Anda dengan perpustakaan dan YOURUSERNAME

    STM_COMMON=/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0

  • Juga periksa bagian di mana semua perpustakaan ditautkan. Ini dapat berubah tergantung pada platform yang Anda gunakan, jadi harap periksa perubahan di pohon file. Semua hal lain yang menyertakan jalur apa pun ke file tertentu, seperti baris berikutnya dengan file startup dapat diubah.

Setelah Anda mengedit semua hal ini di dalam Makefile, Anda dapat memeriksa apakah itu berfungsi dengan membuka terminal di dalam direktori Anda dan mengetik: make. Jika itu mengkompilasi semuanya tanpa masalah, maka Anda sudah siap. Jika tidak, lihat kesalahan kompiler dan edit file Makefile.

Juga, ketika saya menggunakan Atom, saya meletakkan dua potong kode secara berdampingan. Biasanya main.c dan Makefile di sebelah kiri karena Anda hanya perlu mengedit Makefile sekali dan perpustakaan di sebelah kanan. Anda dapat melihat pada gambar bahwa saya telah membuka folder yang berisi file.c dan.h untuk masing-masing perpustakaan. Anda dapat melihat semua ini di video.

Langkah 4: Selesai

Selesai!
Selesai!

Sekarang setelah Anda membuat Makefile dikonfigurasi dan kompiler berfungsi, Anda dapat menggunakan folder ini untuk semua proyek sebagai templat, jadi pastikan Anda menyimpan salinan folder ini.

Anda juga dapat menguji program st-flash dan st-info dengan mencolokkan papan pengembangan Anda dan mengetik ke terminal:

st-info --probe

Anda dapat melihat platform yang dikenali oleh perangkat lunak stlink dan keluarga IC bersama dengan cache dan hal-hal lain. Anda dapat mengetikkan:

st-info

untuk melihat semua parameter yang tersedia.

Sekarang Anda dapat memulai pemrograman. Dalam instruksi dan video berikutnya, saya akan menunjukkan kepada Anda dasar-dasar GPIO dan jam. Keduanya adalah dasar untuk segala sesuatu yang lain karena hampir semua yang berinteraksi dengan papan adalah melalui GPIO dan semuanya bekerja pada jam dan Anda akan melihat pola untuk memprogram prosesor ini.

Sampai saat itu, terima kasih telah melihat instruksi saya dan video youtube saya, jika Anda belum melakukannya.

Direkomendasikan: