FreeRTOS SMP on the RP2040 Tutorial - Symmetric Multiprocessing with FreeRTOS!

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 มิ.ย. 2024
  • To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/LearnEmbeddedSy.... The first 200 of you will get 20% off Brilliant’s annual premium subscription.
    In this tutorial we will walk through how to use SMP in a FreeRTOS environment on the RP2040 chip. Specifically, we will set up a FreeRTOS SMP project whilst explaining how SMP works. We will tell you about some of the things you need to look out for, like the fact that now two tasks can run truly concurrently and we will also give you two demonstration projects for you to work on.
    Links Mentioned:
    Tutorial Write Up: learnembeddedsystems.co.uk/fr...
    GitHub FreeRTOS template Repo: github.com/LearnEmbeddedSyste...
    FreeRTOS on the RP2040 Tutorial Playlist: • FreeRTOS Tutorial
    Embedded Computing Design Article (Daniel Gross): embeddedcomputing.com/technol...
    Timestamps:
    00:00 Introduction
    01:14 Brilliant
    02:21 Multicore FreeRTOS Architecture
    04:02 SMP vs Single Core
    06:23 FreeRTOS SMP Functions
    08:31 Project Setup
    10:14 Demo 1: Blinky
    12:27 Demo 2: Core pinning
    14:50 Conclusion
    You can find more embedded systems tutorials and projects on our website learnembeddedsystems.co.uk
    -- Equipment we use regularly --
    The following links are affiliate links where we may make a small percentage on qualifying sales through these links. Use the respective UK or US links listed.
    Budget Soldering Iron: UK: amzn.to/3pQpvUu US: amzn.to/3bBawIJ
    Breadboards: UK: amzn.to/3solZCe US: amzn.to/3dGsHiS
    Jumper Cables: UK: amzn.to/37JfToi US: amzn.to/3r384S9
    Camera: UK: amzn.to/3qKLwFr US: amzn.to/3pK0V7C
    Lens: UK: amzn.to/380lQxp US: amzn.to/3knH3WL
    Tripod: UK: amzn.to/37H0Nzw US: amzn.to/3byKHsV
    All videos and tutorials on this channel and mentioned websites are for educational purposes only.
    This video was sponsored by Brilliant.

ความคิดเห็น • 9

  • @LearnEmbeddedSystems
    @LearnEmbeddedSystems  9 หลายเดือนก่อน +1

    To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/LearnEmbeddedSystems. The first 200 of you will get 20% off Brilliant’s annual premium subscription.

  • @noealves8400
    @noealves8400 9 หลายเดือนก่อน +3

    Explaining such complex concepts in a simple way is an art form! Thank you for taking the time to put this together! It is an awesome video.

  • @GrandDenilay
    @GrandDenilay 9 หลายเดือนก่อน +2

    Thank you for continuing. One of the best RP2040 tutorials.

  • @EPICfranky
    @EPICfranky 6 หลายเดือนก่อน

    Amazing tutorial. Thank you!

  • @adhipshukla6632
    @adhipshukla6632 หลายเดือนก่อน

    Nice video, I have a doubt, which core does the kernel/scheduler run on, because obviously some tasks will be interrupted to run scheduler, but how is it decided whether on core0 or core1.

  • @mkosmo
    @mkosmo 7 หลายเดือนก่อน

    Since it appears that semaphores are unique per processor (not in shared memory), is there a better answer to SMP mutexes rather than a single message task and queue?

  • @nigelwillis1573
    @nigelwillis1573 9 หลายเดือนก่อน +1

    Thanks, excellent tutorial. As a small aside I found I had to add "#define configUSE_MINIMAL_IDLE_HOOK 0" to the FreeRTOSConfig.h file in src before the blink example would compile.

  • @mohdrais5908
    @mohdrais5908 4 หลายเดือนก่อน

    Cannot run the simple blink program because did not define configUSE_IDLE_HOOK , configUSE_PASSIVE_IDLE_HOOK and vApplicationPassiveIdleHook. How to fulfill this requirements? I am using FreeRTOSv202212.01

  • @rjnbarrass
    @rjnbarrass 8 หลายเดือนก่อน

    Hello, I've enjoyed the whole series of videos, but while taking the rp2040-freertos-template (with recursive) i get an error with the CMakeList.txt in FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040 - the line project(FreeRTOS-Kernel C CXX)
    the output shows "nmake '-?' failed with: the system cannot find the file specified.
    this is an installation on Windows with the Pico SDK1.5.1 which I've used successfully for other (non FreeRTOS) related projects