Skip to content
This repository has been archived by the owner on Sep 18, 2022. It is now read-only.
/ voron Public archive

Experimental ARM based operating system for PandaBoard

License

Notifications You must be signed in to change notification settings

oblique/voron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voron is an experimental ARM based operating system for PandaBoard.

Features (until now)

  • Uniprocessor support only (for now)
  • Interrupt handling
  • Memory management
  • Simple kernel heap allocator (I will implement SLAB in the future)
  • Round-robin scheduler
  • Kernel threading
  • Locking primitives
  • Sleep/wakeup mechanism for processes

Compile

If you are not using an ARM architecture processor then you will need an ARM architecture toolchain, you can use arm-none-eabi from Sourcery CodeBench Lite. You will also need uboot-mkimage package. To compile voron, run

make

If you have another toolchain, for example arm-unknown-eabi, run

make CROSS_COMPILE=arm-unknown-eabi-

If you are using an ARM architecture processor, run

make CROSS_COMPILE=

Boot via SD card

First you must create a Fat32 or Fat16 partition in your SD card and mark it as boot. Then run (use CROSS_COMPILE if needed)

make bootloader

After this you must copy uImage, boot/boot.scr, boot/u-boot-linaro-stable/u-boot.bin and boot/u-boot-linaro-stable/MLO in your SD card. Insert the SD card into your PandaBoard and you are ready.

Boot via USB cable

Plug a USB cable at your PandaBoard and run

./scripts/panda_usbboot.sh

Output

I only use RS-232 Serial port for text output, so you will need minicom or screen. Run:

minicom -b 115200 -D /dev/ttyUSB0

OR

screen /dev/ttyUSB0 115200

License

I use FreeBSD license.

About

Experimental ARM based operating system for PandaBoard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published