hallo leute,
wollte an dieser stelle nur mal darauf hinweisen, das im kernel die treiber für das "kiss frontpanel" enthalten sind!
bin mir nicht ganz sicher wie das bewerkstelligt wird, da im code letztendes direkt an eine bestimmte adresse geschrieben wird, das frontpanel also direkt mit der physikalischen adresse angesprochen werden kann!
hab das aber noch nicht genauer angeguckt, kann auch sein, das für diesen treiber im atmega88 eine andere firmware benötigt wird, irgendwas "flackert" aber wenn man den treiber initialisiert ;-)
hier mal was zum testen .. fip_test.c:
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#define CONFIG_TANGOX_FIP_REF1 1
#include <asm/tango2/fip.h>
#define FIP_DEVICE "/dev/em8xxxfip"
int main( int argc, char **argv )
{
int i, fd;
char buffer[128];
printf("open device!\n");
if ((fd = open(FIP_DEVICE, O_RDWR)) == -1)
{
perror("error while opening fip_device!\n");
goto error;
}
printf("FIP_IOCCLEAR\n");
if ((i = ioctl(fd, FIP_IOCCLEAR)) == -1)
{
perror("ioctl on fip_device failed!\n");
goto error;
}
printf("FIP_IOCDISPTEXT\n");
if ((i = ioctl(fd, FIP_IOCDISPTEXT)) == -1)
{
perror("ioctl on fip_device failed!\n");
goto error;
}
printf("FIP_IOCDISPTEXT\n");
if ((i = ioctl(fd, FIP_IOCDISPTEXT, 0x1122)) == -1)
{
perror("ioctl on fip_device failed!\n");
goto error;
}
printf("write to device!\n");
if (write(fd, "t-hack", 6) == -1)
{
perror("write on fip_device failed!\n");
goto error;
}
close(fd);
return 0;
error:
close(fd);
return -1;
}
Cheers,
Andi