Skip to content

aslansq/freertos_intro_qemu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

all_builds

freertos_intro_qemu

FreeRTOS Introduction with Qemu in VSCode

This repo implements concepts from Digi-Key FreeRTOS introduction.

Introduction to RTOS | Digi-Key Electronics

Youtube Demo Challenge Solution
Introduction to RTOS Part 3 - Task Scheduling 3_task_scheduling 3_task_scheduling_challenge
Introduction to RTOS Part 4 - Memory Management 4_memory 4_memory_challenge
Introduction to RTOS Part 5 - Queue 5_queue 5_queue_challenge
Introduction to RTOS Part 6 - Mutex 6_mutex 6_mutex_challenge
Introduction to RTOS Part 7 - Semaphore 7_semaphore 7_semaphore_challenge
Introduction to RTOS Part 8 - Software Timer 8_sw_timers 8_sw_timers_challenge
Introduction to RTOS Part 9 - Hardware Interrupts 9_hw_int 9_hw_int_challenge
Introduction to RTOS Part 10 - Deadlock and Starvation 10_deadlock_starvation 10_deadlock_starvation_challenge
Introduction to RTOS Part 11 - Priority Inversion 11_priority_inversion 11_priority_inversion_challenge

Usecase

You dont have hardware and you dont care about any specific hardware but learning FreeRTOS.

Prerequisites

  • Install C/C++ extension in VSCode.
  • Install(download and unzip path of your choice) arm-none-eabi-gcc.
  • Create environment variable GCC_ARM_NONE_EABI_BIN_PATH which points to binaries.
  • Install GNU make utility.
  • Install CMake utility.
  • Update submodules recursively. git submodule update --init --recursive
  • Give execute permission files under shell. chmod +x shell/*.sh
  • After all satisfied, run configure.sh. configure.sh checks prerequisities.

Running with VSCode

  1. Open VSCode to this folder.
  2. On the VSCode left side panel, select the “Run and Debug” button.
  3. Then select “Launch QEMU demo of your choice” from the dropdown on the top right and press the play button.
  4. This will build, run, and attach a debugger to the demo program.

Manual Build and Run QEMU

Use the scripts under shell. Examples:

./shell/rebuild_run_qemu.sh 9_hw_int_challenge/
./shell/rebuild.sh 9_hw_int_challenge/
./shell/rebuild_all.sh

Tip

If you make environment variable FREERTOS_INTRO_QEMU_TERM, it will try to launch and connect serial hardware display. Tested with gnome-terminal. In case something fails see the err.txt under build folder. Example
export FREERTOS_INTRO_QEMU_TERM=gnome-terminal

Versions

Exact versions are not mandatory. Given as example.

Tool Version
qemu-system-arm 6.2.0
arm-none-eabi-gcc 10.3-2021.10
make 4.3
cmake 3.25.1
Tracealyzer 4.10.2

About

FreeRTOS Introduction with Qemu in VSCode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published