Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leodido99/RaspberryPi1-FreeRTOSv9.0.0
FreeRTOS v9.0.0 port for Raspberry Pi 1
https://github.com/leodido99/RaspberryPi1-FreeRTOSv9.0.0
bare-metal baremetal bcm2835 freertos raspberry-pi raspberrypi
Last synced: 4 days ago
JSON representation
FreeRTOS v9.0.0 port for Raspberry Pi 1
- Host: GitHub
- URL: https://github.com/leodido99/RaspberryPi1-FreeRTOSv9.0.0
- Owner: leodido99
- Created: 2017-11-17T14:28:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-09-15T07:08:37.000Z (almost 6 years ago)
- Last Synced: 2024-03-13T07:33:02.115Z (4 months ago)
- Topics: bare-metal, baremetal, bcm2835, freertos, raspberry-pi, raspberrypi
- Language: C
- Size: 5.79 MB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Lists
- Awesome-Embedded - Sample source: FreeRTOS v9.0.0 port for Raspberry Pi 1
README
# RaspberryPi1-FreeRTOSv9.0.0
FreeRTOS v9.0.0 port for Raspberry Pi 1This port includes:
- FreeRTOS v9.0.0 and the required modification to run on Raspberry Pi 1
- BCM2835 library to interface most of the devices present in the BCM2835 chip (I2C, SPI, GPIOS...). This library was originally written for Linux, I adapted it to run in bare metal
- A driver to use the miniuart on GPIO pins 14 and 15Credit to the following people:
- James Walmsley who made the original FreeRTOS v7.2.0 - https://github.com/jameswalmsley/RaspberryPi-FreeRTOS
- David Welch who wrote a lot of bare metal related stuff - https://github.com/dwelch67/raspberrypi
- Mike McCauley who wrote the BCM2835 library for Linux - http://www.airspayce.com/mikem/bcm2835/Requires:
- arm-none-eabi Toolchain: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
- Edit file FreeRTOS/Demo/ARM6_BCM2835/MakefileRPI1.cfg to change TOOLCHAINROOT to the root of the toolchainTodo list:
- Finish cleaning up BCM2835 lib
- Finish and test mini UART driver
- Use System Timer for FreeRTOS scheduling instead of ARM TimerHow to compile using docker:
- Create the image
- Mount the project directory to the container
- Run the container and connect to its console
- Navigate to the path specified when mounting the project directory `.../FreeRTOS/Demo/ARM6_BCM2835`
- run `make` command
- output should be in the `out` directory in `/FreeRTOS/Demo/ARM6_BCM2835`