phrozen.org >> FOX-VHDL

FOX-VHDL Intro


I will keep track of how far i have gotten with the development of the kernel modules and framebuffer driver for the fox-vhdl board, which i am developing in cooperation with acmesystems.it, on this page.

It is our aim to achieve the following things
  • General Kernel support for the FOX-VHDL Board
  • Create a kernel module for flashing the FOX-VHDL Board, using the JTAG interface, directly from the FOX
  • Create a custom framebuffer driver
  • port libsvga, fbset, ...
  • and finally port opie.handhelds.org to the fox


FOX-VHDL
28.03.2006 - Initial tests - compile framebuffer support into kernel
29.03.2006 - Duplicate VFB driver to base the FOX version on it. Driver is called fox_vhdl_fb
31.03.2006 - swap to kernel 2.6.15
01.04.2006 - compile first version of fox_vhdl_fb. All handling is done in memory at the moment
02.04.2006 - compiled Virtual terminal/console driver and fonts into kernel
02.04.2006 - MMU Opps panic due to at keyboard / ps2 Mouse ?
02.04.2006 - Added the new Version 2 of my MMC driver to the kernel tree.
03.04.2006 - FOX successfully boot with the custom fb. I am now waiting on my vhdl board to arrive



FOX-VHDL Compile
In order for the framebuffer to run, the kernel must first support the subsystem.
Here is how you get the kernel to know it :
  • Install sdk as described on acmesystems.it
  • Download the newest kernel from axis http://developer.axis.com/download/distribution/os-linux-2.6-tag--devboard-R2_01-1.tar.gz
  • Unpack it in the devboard folder and ln -s it to ./os/linux-2.6/
  • Now we need to modify the Kconfig scripts, such that make menu config will show the 'Graphics Settings' as an option. Do this by copying this file to os/linux-2.6/arch/cris/Kconfig
  • Now we need to add our own FB driver to the source tree. Copy this file and this file to os/linux-2.6/drivers/video/
  • Now we need to setup the kernel. Enter the folder os/linx-2.6/ and run make menuconfig
  • Go to Character Devices
  • Enable Virtual Terminal support
  • Enable Support for console on VT
  • Go to 'Graphis Settings'
  • Enable FB support
  • Enable FOX VHDL support
  • Enter Console Display
  • Diable VGA Console
  • Enable Framebuffer Console Support
  • Enable 8x8 font
  • In the future there will be some extra options here
  • Go to Input devices, leave mouse and keyboard support enabled, but remove ps2 mouse and at keyboard
  • Exit & Save
  • cd ../..
  • Finally we need to make sure that the device files are setup correctly. Do this by copying this file to packages/devices/axis-2.4
  • make the new image
  • Flash the new image using bootlinux


FOX-VHDL MMC V2.1
To include the new Version2 of the MMC driver you need to follow these steps :

  • Edit makefiles such that the mmc devices are created with major id 126. Do this by copying this file to packages/devices/axis-2.4
  • Extract this file into the os/linux-2.6/arch/cris/drivers/ directory
  • Then make menuconfig in the kernel root
  • Enter the menu 'Drivers for built in interfaces'
  • The last last entry is FOX MMC Support. Enable it
  • Optionally you can also enable debugging here
  • Finally you can change the pin configuration
  • Save the configuration and make the fimage as usual


FOX-VHDL Boot up
Here is the current boot output
Mount-cache hash table entries: 1024
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
JFFS version 1.0, (C) 1999, 2000 Axis Communications AB
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
Initializing Cryptographic API
io scheduler noop registered
io scheduler cfq registered
_________________FOX_VHDL_FB_startup
_________________FOX_VHDL_FB_probe
fb0: Virtual frame buffer device, using 1024K of video memory
_________________FOX_VHDL_FB_finished loading
i8042.c: i8042 controller self test timeout.
ETRAX 100LX serial-driver 1.25 $, (c) 2000-2004 Axis Communications AB
ttyS0 at 0xb0000060 is a builtin UART with DMA
ttyS2 at 0xb0000070 is a builtin UART with DMA
ttyS3 at 0xb0000078 is a builtin UART with DMA
fast_timer_init()


FOX-VHDL Links
Framebuffer Library
general info
Framebuffer API
browse the kernel tree
FB on cPad

Got any good links ? Let me know please so i can add them !


© 2006 BY PHROZEN.BIZ IMPRESSUM SITE BY BRAVE NEW MEDIA