GithubHelp home page GithubHelp logo

mountaniol / arm926-utils Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sonlazio/arm926-utils

0.0 2.0 0.0 372 KB

A collection of drivers and test routines for ARM926EJ-S

License: Apache License 2.0

Makefile 1.72% C 90.59% Shell 3.93% Assembly 3.75%

arm926-utils's Introduction

##About A simple collection of drivers and test cases for the ARM Versatile Platform Baseboard, based on the ARM926EJ-S CPU. The design is modular enough (e.g. some board specific data are separated from drivers and test cases) to simplify porting to other boards with similar hardware. The project is experimental and its main purpose is to provide necessary code that would facilitate porting FreeRTOS to this board and possibly other similar ARM based boards.

Only drivers for Qemu supported peripherals are available at the moment, e.g. a vector interrupt controller, timers, UARTs and a real time clock. Additional drivers may be implemented in the future.

Provided build scripts will prepare an image, suitable to run in Qemu. In order to run it anywhere else or even on a real board, qemu.ld must be edited appropriately.

##Prerequisites

  • Sourcery CodeBench Lite Edition for ARM EABI toolchain (now owned by Mentor Graphics), 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.

When the test application completes, it ends running in an infinite loop. The instance of Qemu must be "killed" manually. 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 several instances of qemu-system-arm are running.

For more details, see extensive comments in both scripts.

##License The source code is licenced under the Apache 2.0 license. See LICENSE.txt and http://www.apache.org/licenses/LICENSE-2.0 for more details.

##Author The author of the application is Jernej Kovačič.

arm926-utils's People

Contributors

jkovacic avatar

Watchers

Vsevolod Mountaniol avatar James Cloos avatar

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.