Giter VIP home page Giter VIP logo

ppc_hw's Introduction

ppc_hw

helloworld powerpc-app on qemu-e500

This is a minimal program that prints to the serial port. A real program will have to do a lot more configuration. Documentation and source code from a more complete processor setup can be found at Freescale, search for AN2551.

##CREDITS

  • The program is based on a stripped version of the u-boot code, and the three header files in the inc folder have been copied from u-boot. A little hack was be done in processor.h (see AAA_HACK_DISABLE) to avoid having to include even more files .

  • The file startup.S is essentially the same file as the file EclipseDemos/Juno/POWERPC/Freescale_MPC5554Demo/crt0.S From and archive at macraigor

  • The file test.ld is adapted from an article on bare metal arm on qemu.

##SYNOPSIS At startup, tlb1, entry0 is mapped and code is executed from it. However, it is only 4kB so in real use this code will have to map more code into memory. Since entry0 is in use, entry1 is used for the ccsrbar mapping.

###FILES:

  • startup.S -- sets the stackpointer and calls c_entry
  • test.c -- implements c_entry which maps the ccsrbar to be able to access the serial port. Then it prints a message to the serial port.

##INSTRUCTIONS

Edit the makefile to set correct paths to the toolchain and qemu.

(You need to have a toolchain to cross-compile to ppc and an appropriate qemu-version. Instructions for these are forthcoming).

###Usage:

  • make -- compiles and links it.

  • make run -- let qemu run the compiled binary (exit with C-a x)

  • make debug -- start qemu, waiting for a gdb-connection.

  • make dis_test -- dumps the assembler to stdout

  • attaching with gdb (inside emacs) -- /home/ara/gnutools-bin/powerpc-eabi/bin/powerpc-eabi-gdb -i=mi test.elf in gdb: target remote localhost:1234

ppc_hw's People

Stargazers

jiawei avatar Peter Ivanov avatar Paweł Wodnicki avatar aramya avatar Will Lunniss avatar Trevor Rudolph avatar  avatar Alberto Morato avatar Reinar avatar  avatar  avatar

Watchers

 avatar

ppc_hw's Issues

Simulating e200 Bare Metal with QEMU

I'm reaching out to seek your expertise and assistance with a challenge I've encountered while attempting to simulate bare metal output "Hello, World" on an e200 architecture using QEMU. Despite my efforts, I've run into persistent issues and I'm uncertain about the next steps to take.

Would you be willing to offer guidance or perhaps share any insights or resources that could aid me in overcoming these obstacles? Your assistance would be immensely appreciated.

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.