GithubHelp home page GithubHelp logo

karlzheng / freertos-gcc-arm926ejs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jkovacic/freertos-gcc-arm926ejs

0.0 1.0 0.0 992 KB

A port of FreeRTOS to the ARM 929EJ-S Versatile Platform Baseboard

License: Other

C 94.19% C++ 4.58% Makefile 0.75% Shell 0.48%

freertos-gcc-arm926ejs's Introduction

About

FreeRTOS ported to ARM Versatile Platform Baseboard, based on the ARM926EJ-S CPU.

The current version is based on FreeRTOS 10.2.1. The port will be regularly updated with newer versions of FreeRTOS when they are released.

The port is still at an early development stage and includes only very basic demo tasks. More complex tasks will be included in the future.

Prerequisites

  • GNU Arm Embedded Toolchain, based on GCC. See comments in setenv.sh for more details about download and installation.
  • GNU Make
  • Qemu (version 1.3 or newer, older versions do not emulate the interrupt controller properly!)

Build

A convenience Bash script setenv.sh is provided to set paths to toolchain's commands and libraries. You may edit it and adjust the paths according to your setup. To set up the necessary paths, simply type:

. ./setenv.sh

If you wish to run the image anywhere else except in Qemu, you will probably have to edit the linker script qemu.ld and adjust the startup address properly.

To build the image with the test application, just run make or make rebuild. If the build process is successful, the image file image.bin will be ready to boot.

Run

To run the target image in Qemu, enter the following command:

qemu-system-arm -M versatilepb -nographic -m 128 -kernel image.bin

A convenience Bash script start_qemu.sh is provided. If necessary, you may edit it and adjust paths to Qemu and/or target image.

The demo application will run infinitely so it must be stopped manually by "killing" the instance of Qemu (an "equivalent" to switching off the board). A convenience Bash script stop_qemu.sh (it must be run in another shell) is provided to automate the process. Note that it may not work properly if multiple instances of qemu-system-arm are running.

For more details, see extensive comments in both scripts.

License

All source and header files are licensed under the MIT license.

For the avoidance of any doubt refer to the comment included at the top of each source and header file for license and copyright information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.