สารบัญ:

การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit: 14 ขั้นตอน
การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit: 14 ขั้นตอน

วีดีโอ: การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit: 14 ขั้นตอน

วีดีโอ: การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit: 14 ขั้นตอน
วีดีโอ: FreeRTOS Setup with TrueStudio and the STM32F4 Discovery Board 2024, กรกฎาคม
Anonim
การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit
การตั้งค่า FreeRTOS ตั้งแต่เริ่มต้นบน STM32F407 Discovery Kit

การเลือก FreeRTOS เป็นระบบปฏิบัติการแบบเรียลไทม์สำหรับโปรเจ็กต์ฝังตัวของคุณเป็นตัวเลือกที่ดี FreeRTOS เป็นบริการฟรีอย่างแท้จริง และมีคุณสมบัติ RTOS ที่เรียบง่ายและมีประสิทธิภาพมากมาย แต่การตั้งค่า freeRTOS ตั้งแต่เริ่มต้นอาจเป็นเรื่องยากหรืออาจพูดได้ว่าสับสนเล็กน้อย เนื่องจากต้องมีการปรับแต่งบางอย่าง เช่น การเพิ่มไฟล์เฉพาะของไมโครคอนโทรลเลอร์ การตั้งค่าพาธของไฟล์ส่วนหัว ฯลฯ ในคำแนะนำนี้ ฉันจะแนะนำวิธีตั้งค่า FreeRTOS บน รายละเอียดชุด STM32F407 Discovery ของคุณโดยใช้ Kiel uVision IDE

เสบียง

  • คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ FreeRTOS ได้ที่ freertos.org
  • คู่มือการดาวน์โหลด FreeRTOS คำแนะนำในการดาวน์โหลดซอร์สโค้ด RTOS
  • รายละเอียดทั้งหมดเกี่ยวกับ STM32F407 Discovery Kit เริ่มต้นใช้งาน STM32F407 Discovery KIt
  • Github Repository FreeRTOS บน STM32F407 Discovery Kit

ขั้นตอนที่ 1: เปิด Keil UVision IDE

เปิด Keil UVvision IDE
เปิด Keil UVvision IDE

เปิด Keil uVision IDE คลิกที่โปรเจ็กต์แล้วเลือก New uVision Project…จากนั้นเลือกไดเร็กทอรีการทำงานของคุณและตั้งชื่อโปรเจ็กต์ที่คุณต้องการ

ขั้นตอนที่ 2: เลือกอุปกรณ์

เลือกอุปกรณ์
เลือกอุปกรณ์

เมื่อคุณตั้งชื่อให้กับโปรเจ็กต์แล้ว ขั้นตอนต่อไป คุณต้องเพิ่มอุปกรณ์ เรากำลังเพิ่ม STM32F407VG Micronconroller จาก STMicroelectronics เลือก STM32F407VG จากนั้นคลิก ตกลง

ขั้นตอนที่ 3: จัดการสภาพแวดล้อมรันไทม์

จัดการสภาพแวดล้อมรันไทม์
จัดการสภาพแวดล้อมรันไทม์

ขั้นตอนต่อไปคือการเลือกองค์ประกอบไลบรารี/ไดรเวอร์ในแท็บจัดการสภาพแวดล้อมรันไทม์ ที่นี่เลือกส่วนประกอบทั้งหมดตามที่แสดงในภาพด้านบน เมื่อคุณตรวจสอบฟิลด์ที่เหมาะสมทั้งหมดแล้ว คลิก แก้ไข จากนั้นคลิก ตกลง

ขั้นตอนที่ 4: คัดลอก FreeRTOS ลงในโฟลเดอร์โครงการของคุณ

คัดลอก FreeRTOS ลงในโฟลเดอร์โครงการของคุณ
คัดลอก FreeRTOS ลงในโฟลเดอร์โครงการของคุณ

ตอนนี้ คุณต้องคัดลอกโฟลเดอร์ FreeRTOS ทั้งหมดลงในโฟลเดอร์โครงการของคุณ

ขั้นตอนที่ 5: เพิ่มไฟล์ FreeRTOS ไปยัง Project

เพิ่มไฟล์ FreeRTOS ไปยัง Project
เพิ่มไฟล์ FreeRTOS ไปยัง Project

เมื่อคุณคัดลอกโฟลเดอร์ FreeRTOS ภายในโฟลเดอร์โครงการของคุณแล้ว คุณต้องเพิ่มไฟล์ FreeRTOS ที่จำเป็นทั้งหมดลงในโครงการของคุณ

  1. ใน Keil เลือก Target1 คลิกขวาแล้วเลือกเพิ่มกลุ่มใหม่ เปลี่ยนชื่อกลุ่มนี้เป็น FreeRTOS
  2. ตอนนี้ คลิกที่กลุ่ม FreeRTOS คลิกขวาเลือก Add Existing files to Group "FreeRTOS…"
  3. เพิ่มไฟล์ FreeRTOS ทั้งหมดตามที่แสดงในภาพด้านบน

เส้นทางในการค้นหาไฟล์เหล่านี้ในโฟลเดอร์ FreeRTOS คือ:

  • ไฟล์: croutine, event_groups, รายการ, คิว, stream_buffer, งานและตัวจับเวลา เส้นทาง: (….\FreeRTOSv10.2.1\FreeRTOS\Source)
  • ไฟล์: heap_4 (มีไฟล์การจัดการหน่วยความจำ 4 ไฟล์เพิ่มใครก็ได้) เส้นทาง: (….\FreeRTOSv10.2.1\FreeRTOS\Source\portable\MemMang)
  • ไฟล์: port.c (นี่คือไฟล์เฉพาะของ MCU) เส้นทาง: (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

หมายเหตุ: เวอร์ชัน FreeRTOS อาจมีการเปลี่ยนแปลง เพียงใช้เวอร์ชันล่าสุดที่มี

ขั้นตอนที่ 6: กำหนดค่าเส้นทางของไฟล์ส่วนหัว FreeRTOS

กำหนดค่าเส้นทางของไฟล์ส่วนหัว FreeRTOS
กำหนดค่าเส้นทางของไฟล์ส่วนหัว FreeRTOS

เมื่อคุณเพิ่มไฟล์ต้นทาง FreeRTOS แล้ว คุณต้องบอกคอมไพเลอร์ว่าไฟล์ส่วนหัวนั้นอยู่ที่ใด ดังนั้นเราต้องกำหนดค่าตัวเลือกคอมไพเลอร์

คลิกขวาที่ตัวเลือก Target1 สำหรับเป้าหมาย "Target1.. " เส้นทางรวม C/C++ ตรวจสอบให้แน่ใจว่าคุณได้รวมเส้นทางเหล่านี้:

  1. รวมโฟลเดอร์ใน FreeRTOS (…\FreeRTOSv10.2.1\FreeRTOS\Source\include)
  2. ไดเร็กทอรี RVDS (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

หมายเหตุ: หากคุณมีไฟล์ส่วนหัว ตรวจสอบให้แน่ใจว่าคุณได้รวมพาธของไฟล์ส่วนหัวเหล่านี้ตามที่อธิบายไว้ข้างต้น

ขั้นตอนที่ 7: เพิ่มไฟล์ "FreeRTOSConfig.h" ไปที่ Project

เพิ่ม
เพิ่ม

FreeRTOS มีไฟล์ส่วนหัวที่สำคัญหนึ่งไฟล์ชื่อ FreeRTOSConfig.h ไฟล์นี้มีการปรับแต่งเฉพาะแอปพลิเคชัน (ในกรณีของเราเฉพาะสำหรับ Cortex M4F MCU) เพื่อความง่าย ฉันได้คัดลอกไฟล์ FreeRTOSConfig.h เฉพาะ MCU ของเราในไดเร็กทอรี RVDS และในขั้นตอนที่ 6 เราได้เพิ่มเส้นทาง RVDS แล้ว หากคุณกำลังเพิ่มด้วยตนเอง คุณต้องเพิ่มไฟล์นี้ในโครงการของคุณ และตรวจสอบให้แน่ใจว่าคุณได้รวมเส้นทางของไฟล์นี้ตามที่อธิบายไว้ในขั้นตอนที่ 6

ในกรณีที่คุณต้องการเพิ่มไฟล์ FreeRTOSConfig.h ด้วยตนเองในไดเร็กทอรีที่คุณต้องการ เราได้รวมไฟล์นี้ไว้ด้านล่าง

สำหรับข้อมูลเพิ่มเติม คลิกที่นี่ FreeRTOSConfig.h

ขั้นตอนที่ 8: เพิ่มไฟล์ "main.c" ด้วยเทมเพลตพื้นฐาน

เพิ่ม
เพิ่ม
  • ตอนนี้สร้างกลุ่มผู้ใช้ใหม่ (ฉันได้เปลี่ยนชื่อเป็น "แอปพลิเคชันผู้ใช้")
  • เพิ่มไฟล์ C ใหม่ในกลุ่มนี้ (ฉันได้เพิ่มไฟล์ชื่อ main.c)
  • นี่คือไฟล์ที่มีฟังก์ชัน main() อยู่ ฉันได้รวมฟังก์ชันและส่วนหัวที่จำเป็นขั้นต่ำทั้งหมดไว้ในไฟล์นี้เพื่อให้โครงการรวบรวมได้สำเร็จ

คุณสามารถค้นหาไฟล์ main.c ที่มีเทมเพลตพื้นฐานด้านล่าง

ขั้นตอนที่ 9: เชื่อมต่อ STM32F407 Discovery Kit ของคุณกับพีซี/แล็ปท็อป

เชื่อมต่อ STM32F407 Discovery Kit กับพีซี/แล็ปท็อป
เชื่อมต่อ STM32F407 Discovery Kit กับพีซี/แล็ปท็อป

ขั้นตอนที่ 10: เลือก ST-Link Debugger ใน Compiler Configuration

เลือก ST-Link Debugger ใน Compiler Configuration
เลือก ST-Link Debugger ใน Compiler Configuration

คลิกขวาที่ Target1 จากนั้นคลิกที่ตัวเลือกสำหรับเป้าหมาย "Target1.. " จากนั้นไปที่แท็บ Debug และเลือก ST-Link-Debugger ตามที่แสดงในภาพด้านบน

ขั้นตอนที่ 11: กำหนดค่า ST-Link Debugger

กำหนดค่าโปรแกรมแก้ไขข้อบกพร่อง ST-Link
กำหนดค่าโปรแกรมแก้ไขข้อบกพร่อง ST-Link

หลังจากเลือก ST-Link Debugger ในขั้นตอนที่ 10 แล้ว ให้คลิกที่ Settings จากนั้นเลือก Trace และตรวจสอบฟิลด์ทั้งหมดตามที่แสดงในภาพด้านบน

ขั้นตอนที่ 12: สร้างและอัปโหลดโค้ด

สร้างและอัปโหลดโค้ด
สร้างและอัปโหลดโค้ด

หลังจากเสร็จสิ้นขั้นตอนทั้งหมดแล้ว ให้สร้างโครงการและตรวจดูให้แน่ใจว่าไม่มีข้อผิดพลาดในโค้ด หลังจากคอมไพล์สำเร็จแล้ว ให้อัปโหลดโค้ดไปยัง Discovery Kit

ขั้นตอนที่ 13: ไปที่หน้าต่างดีบักและเปิด Serial Monitor

ไปที่หน้าต่างดีบักและเปิด Serial Monitor
ไปที่หน้าต่างดีบักและเปิด Serial Monitor

หลังจากอัปโหลดไปที่ debug windowviewSerial WindowsDebug(printf) Viewer ดังแสดงในภาพด้านบน

ขั้นตอนที่ 14: เรียกใช้รหัสเพื่อดู Ouput บน Debug Printf Window

เรียกใช้โค้ดเพื่อดูเอาต์พุตบน Debug Printf Window
เรียกใช้โค้ดเพื่อดูเอาต์พุตบน Debug Printf Window

ขั้นตอนสุดท้ายคือการรันโค้ดตามที่แสดงในภาพเพื่อดูผลลัพธ์ในหน้าต่าง printf ที่นี่ใน main.c ฉันได้ใช้งาน 2 งานง่าย ๆ ที่เรียกว่า task1 และ task2 งานทั้งสองมีลำดับความสำคัญเท่ากันและพิมพ์ชื่องานเท่านั้น เนื่องจากลำดับความสำคัญเดียวกัน คุณจึงเห็นทั้งสองรายการทำงานและพิมพ์ชื่อได้

แนะนำ: