FreeRTOS

  • 314 Replies
  • 2130 Views
*

Offline tha

  • *****
  • 2950
    • View Profile
Re: FreeRTOS
« Reply #312 on: December 02, 2021, 10:14:27 am »
The event semaphore task

The event semaphore task ใช้ the FreeRTOS xSemaphoreTake() API function เพื่อรอสำหรับ the semaphore ที่ถูกให้โดย the RTOS tick hook function. The task เพิ่ม the ulCountOfReceivedSemaphores variable แต่ละครั้งที่ the semaphore ถูกรับ. ตามที่ the semaphore ถูกให้ทุกๆ 500ms (ทึกทักเอาว่า a tick frequency ที่ 1KHz), ค่าของ ulCountOfReceivedSemaphores จะเพิ่มขึ้น 2 ในแต่ละวินาที.

NOTE: A semaphore ถูกใช้สำหรับวัตถุประสงค์เป็นตัวอย่าง. ใน a real application มันควรใช้ a direct to task notification ดีกว่า, ซึ่งจะเร็วกว่าและใช้ RAM น้อยลง.

*

Offline tha

  • *****
  • 2950
    • View Profile
Re: FreeRTOS
« Reply #313 on: December 02, 2021, 10:41:06 am »
The idle hook (or callback) function

The idle hook function สอบถามจำนวนของ FreeRTOS heap space ที่เป็นอิสระพร้อมใช้งาน. ดู vApplicationIdleHook() ใน the code.

The malloc failed and stack overflow hook (or callback) functions

สอง hook functions นี้ถูกจัดให้มีเป็นตัวอย่าง, แต่ไม่ได้บรรจุฟังชันใดๆ.

Source Code

ค้นหาสำหรับ TODO ใน the source files เพื่อวางในที่ๆการแก้ไขอาจถูกต้องการ.
(ตัวอย่างโค้ดดูในลิ้งค์เอานะครับ)
https://www.freertos.org/Hardware-independent-RTOS-example.html

*

Offline tha

  • *****
  • 2950
    • View Profile
Re: FreeRTOS
« Reply #314 on: Today at 06:53:05 am »
https://www.freertos.org/porting-a-freertos-demo-to-different-hardware.html

Modifying a FreeRTOS Demo
เพื่อใช้ compiler อื่นหรือรันบน hardware อื่น

เพจนี้เกี่ยวกับอะไร

[โปรดดู "Creating a new FreeRTOS project"]

FreeRTOS ได้รวม demo applications จำนวนมากไว้แล้ว - แต่ละตัวมีเป้าหมายที่:

     1. A specific microcontroller.
     2. A specific development tool (compiler, debugger, etc.).
     3. A specific hardware platform (prototyping or evaluation board).

เหล่านี้ถูกทำเป็นเอกสารภายใต้ 'Supported Devices' ในกรอบเมนูทางด้านซ้าย.

ขออภัย เป็นไปไม่ได้ที่จะจัดให้มี a demo project สำหรับทุกชุดของ microcontroller, compiler and evaluation board - ดังนั้นอาจเป็นไปได้ว่า a demo application ไม่มีที่ตรงกันกับการเซ็ตอัฟที่ต้องการของคุณจริงๆ. หน้านี้จัดทำเอกสารวิธีที่ demo applications ที่มีอยู่สามารถถูกแก้ไขหรือถูกรวมเพื่อให้ตรงดีขึ้นกับ the setup ที่คุณต้องการ.

โดยทั่วไปเป็นงานง่ายที่เอา an existing demo สำหรับ evaluation board หนึ่งและแก้ไขมันไปรันบนอีกบอร์ดหนึ่ง - และซับซ้อนกว่าเล็กน้อยเท่านั้นในการเอา a demo สำหรับ compiler หนึ่งและแก้ไขมันไปใช้กับอีก compiler หนึ่ง. หน้านี้จัดให้มีคำแนะนำเกี่ยวกับเหล่านี้และ porting type activities ที่คล้ายกัน. มันไม่ง่ายนัก อย่างไรก็ตาม ในการใช้ a FreeRTOS port และแปลงมันเพื่อรันบน processor core architecture ที่แตกต่างจากเดิมโดยสิ้นเชิง, และยังไม่ได้ถูกรองรับ.  หน้านี้จึงไม่ครอบคุมหัวข้อของการสร้าง RTOS ports ใหม่อย่างสมบูรณ์, นอกจากนี้ยังมีหน้าแยกต่างหากซึ่งให้คำแนะนำเกี่ยวกับวิธีที่การพัฒนาดังกล่าวถูกเข้าใกล้.