Quantcast
Channel: Intel Communities: Message List
Viewing all articles
Browse latest Browse all 20046

Re: DOOM on Edison with adafruit2.8 TFT

$
0
0

Hi B.

 

Thanks for the feed back, I appreciate that!

 

Regarding the steps involved :

 

I have developed an entire build environment called Velox that allows users to create projects (products) based on what

ever Linux and MCU platform they are using.

 

Velox was designed as a hybrid build environment supporting not only Linux based targets but also microcontroller

targets since most of the work I have done in the past has pretty much always contains a product based on a design

that had multiple CPU's of various types involved.  I was always annoyed that the code base/repos for the MCU's

was nearly always somewhere else and all the Linux build contained was a binary blob for the MCU target.

 

It supports developing code right within the environment too so everything is revision controlled and traceable.

 

Bootloader, Kernel, Busybox, filesystem (with a dose of supporting packages X11, GTK, QT, Networking etc) are built

from scratch and a deployable tarball is created that can be used.  So far I can support Beaglebone, BeagleBoneblack,

AM335X EVM, Edison, RPi and soon the new CI20 from the Imagination guys.  It also supports IoT type development like

Contiki and ChibiOS, again because I wanted a single repo for all my development.  Linux target wise it supports ARM,

MIPS, PPC, X86 but I guess most Linux targets could be added.   The idea is that you clone the master repo and add

your specifics to a proprietary directory. Any changes to the core can easily be pulled in.

 

Your MRAA is supported too but I don't use it yet

 

Is it any better that Buildroot, Yocto and the other environments? No, but I certainty found it useful!

Is it any good for developing user code? It's OK, currently based on CMAKE and can build libraries, exes, and KO's so

works for me!  The idea is to have build environment and code development for all CPU targets in one place..

 

Anyway enough of the blurb!!!

 

The modifications I made where mainly to the 3.10.17 Kernel (after upstream-edsion applied) to get it to compile out of

Yocto and fix (get working) loadable SPI based device drivers (well FBTFT anyhow).  I haven't created patches for

anything yet (since its a complete hack) but I have attached the modified files for the kernel and the modified source

for the FBTFT for adafruit2.8, FT6x06 touch driver and a script I launch at startup to configure the relevant pins.

 

Again the issue I'm seeing is really around lack of DMA support and general clocking speeds of the SPI device.  I was

using DOOM as a heavy weight test, but Ilixi/DirectFB and Q5.3 are all pretty slow too.

 

Also, if DMA is enabled in FBTFT it fails to alloc the memory (since its mapped to the SPI device I guess).

 

The script as mentioned sets the pins and loads the modules as below :

 

modprobe fbtft dma=0

modprobe fbtft_device name=adafruit28_edison cs=1 gpios=dc:183 busnum=5 fps=20 rotate=90

 

 

FBTFT is checkout at revision fcc562e1358e0065b27f382c22b0647670edce5f and I just copy over fbtft_device.c before compile.

It's compiled out of tree too hence the mods to Makefile to pass in EXTRA_CFLAGS (-DFB_TFT_EDISON)

There are also some pre-requests for the kernel config to get it to compile out of tree so I have attached my defconfig

 

 

If you are able to get FBTFT to work and see what I'm seeing then what would be great!

 

 

Thanks

Stew


Viewing all articles
Browse latest Browse all 20046

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>