Загружаем картинку на книжку!
Oct. 4th, 2012 06:52 pm Уж простят меня люди не в теме, но я пишу о том что мне важно и интересно!
Итак, открываем шампанское, заряжаем салюты и громко кричим ура: картинку удалось вывести на экран. Для этого даже была набросана и скомпилированна программа

Тот самый график, о котором я писал ранее
О моих терханиях можно почитать в комментариях к тому посту http://dlinyj.livejournal.com/609201.html
Собственно говоря, я поставил тулчейн, который мне посоветовал [Bad username or site: @ livejournal.com] мне не подошёл. И какие ухищрения я не использовал, заставить работать программу я не смог (спасибо за помощь
vshmuk и
paracloud ) . Путём многократного гугления, а так же с наводки товарища
22021977 оказалось, что для данного устройства энтузиастами пишется целый свой линукс! http://openinkpot.org/wiki (А вы говорите vogue-плееры) А следовательно должен быть и рабочий тулчейн.
Поиском "prs-505 toolchain" он был найден тут http://code.google.com/p/prs-plus/downloads/detail?name=arm-toolchain-sony-300.tar.gz&can=4&q= . После чего хелло ворд завёлся без проблем (даже без статика!). Ну дальше дело техники, согласно http://systemsand.me/sony-prs-300prs-505-hack/ набросал небольшую программку
Дефайны взял из кода драёвера с сайта Sony http://www.sony.net/Products/Linux/Audio/PRS-505.html файл 8track20070714.tgz (спасибо
paracloud за наводку.
Компилировал примитивнной коммандой с минимум опций : path to toolchain/arm-unknown-linux-gnu-gcc -static showpic.c -o showpic
Без статика не захотел работать. Дальше после монтирования всех устройств, запускаем:
И наслаждаемся картинкой в заглавии :).
Из неприятных багов было замечено, что картинку после гнуплота надо повернуть. Лечится переписыванием скрипта гнуплота.
Теперь осталось научится гасить консоль, пока не знаю как. Из процессов активно-запущенных, никто не вызывает подозрение
Поговаривают, что можно сделать usb-gadget, типа чтобы книжка виделась USB-Ethernet. Но это отдельный гемморой. Готов выслушать мысли и предложения.
Итак, открываем шампанское, заряжаем салюты и громко кричим ура: картинку удалось вывести на экран. Для этого даже была набросана и скомпилированна программа

Тот самый график, о котором я писал ранее
О моих терханиях можно почитать в комментариях к тому посту http://dlinyj.livejournal.com/609201.html
Собственно говоря, я поставил тулчейн, который мне посоветовал [Bad username or site: @ livejournal.com] мне не подошёл. И какие ухищрения я не использовал, заставить работать программу я не смог (спасибо за помощь
Поиском "prs-505 toolchain" он был найден тут http://code.google.com/p/prs-plus/downloads/detail?name=arm-toolchain-sony-300.tar.gz&can=4&q= . После чего хелло ворд завёлся без проблем (даже без статика!). Ну дальше дело техники, согласно http://systemsand.me/sony-prs-300prs-505-hack/ набросал небольшую программку
/* showpic.c */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> #include <sys/mman.h> #include <string.h> #define FBIO_EINK_GET_TEMPERATURE 0x46A1 //Returns temperature in degree Celsius #define FBIO_EINK_DISP_PIC 0x46A2 //Displays picture int main (int argc, char* argv[]) { printf ("Show image\n"); int *fb, *image; int pio_fd = open ( "/dev/fb0", O_RDWR); int f_image = open ( argv[1], O_RDWR); //open file into arg int t= ioctl (pio_fd, FBIO_EINK_GET_TEMPERATURE, NULL); //configure framebuffer fb= mmap(0, 800*600, PROT_WRITE, MAP_SHARED, pio_fd, 0); //map device into memory image= mmap(0, 800*600, PROT_READ, MAP_SHARED, f_image, 0); //load image into memory memcpy(fb,image,800*600); ioctl (pio_fd, FBIO_EINK_DISP_PIC, 0); close(pio_fd); close(f_image); return 0; }
Дефайны взял из кода драёвера с сайта Sony http://www.sony.net/Products/Linux/Audio/PRS-505.html файл 8track20070714.tgz (спасибо
Компилировал примитивнной коммандой с минимум опций : path to toolchain/arm-unknown-linux-gnu-gcc -static showpic.c -o showpic
Без статика не захотел работать. Дальше после монтирования всех устройств, запускаем:
root@(none):/tmp/t1# ./showpic send.raw Show image root@(none):/tmp/t1#
И наслаждаемся картинкой в заглавии :).
Из неприятных багов было замечено, что картинку после гнуплота надо повернуть. Лечится переписыванием скрипта гнуплота.
Теперь осталось научится гасить консоль, пока не знаю как. Из процессов активно-запущенных, никто не вызывает подозрение
ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 1292 532 ? S 00:00 0:00 init root 2 0.0 0.0 0 0 ? SW 00:00 0:00 [keventd] root 3 0.0 0.0 0 0 ? SWN 00:00 0:00 [ksoftirqd_CPU0] root 4 0.0 0.0 0 0 ? SW 00:00 0:00 [kswapd] root 5 0.0 0.0 0 0 ? SW 00:00 0:00 [bdflush] root 6 0.0 0.0 0 0 ? SW 00:00 0:00 [kupdated] root 7 0.0 0.0 0 0 ? SW 00:00 0:13 [mtdblockd] root 31 0.0 0.0 0 0 ? SWN 00:00 0:00 [jffs2_gcd_mtd16] root 52 0.0 0.0 0 0 ? SW 00:00 0:00 [sdbdrv_thread] root 68 0.0 0.0 0 0 ? SW 00:00 0:06 [file-storage-ga] root 69 0.0 0.0 0 0 ? SW 00:00 0:00 [fsg-mediacheck] root 147 0.0 1.7 2264 1072 ? S 00:00 0:00 /bin/bash /opt/so root 150 0.0 2.1 2348 1348 ? S 00:00 0:00 -bash root 151 0.0 30.6 40968 19180 ? SL 00:00 0:12 /opt/sony/ebook/a root 154 0.0 30.6 40968 19180 ? SL 00:00 0:00 /opt/sony/ebook/a root 155 0.0 30.6 40968 19180 ? SL 00:00 0:00 /opt/sony/ebook/a root 156 0.0 30.6 40968 19180 ? SL 00:00 0:00 /opt/sony/ebook/a root 158 0.0 30.6 40968 19180 ? SL 00:00 0:00 /opt/sony/ebook/a root 159 0.0 30.6 40968 19180 ? SL 00:00 0:00 /opt/sony/ebook/a root 183 0.0 30.6 40968 19180 ? RL 00:01 0:00 /opt/sony/ebook/a root 184 0.0 30.6 40968 19180 ? SL 00:01 0:00 /opt/sony/ebook/a root 239 0.0 1.3 2660 844 ? R 04:53 0:00 ps aux
Поговаривают, что можно сделать usb-gadget, типа чтобы книжка виделась USB-Ethernet. Но это отдельный гемморой. Готов выслушать мысли и предложения.
no subject
Date: 2012-10-04 03:58 pm (UTC)Со стороны с таким графиком как осцил
no subject
Date: 2012-10-04 04:09 pm (UTC)no subject
Date: 2012-10-04 06:59 pm (UTC)no subject
Date: 2012-10-04 07:14 pm (UTC)Для какой цели будет использоватьяс дисплей?
no subject
Date: 2012-10-04 07:35 pm (UTC)no subject
Date: 2012-10-04 09:43 pm (UTC)no subject
Date: 2012-10-05 04:10 am (UTC)no subject
Date: 2012-10-05 03:03 pm (UTC)Черная зависть.
no subject
Date: 2012-10-05 05:00 pm (UTC)Да я пробовал только то, что было под рукой :))). Вайфай эт да, было бы удобно.
no subject
Date: 2012-10-26 08:05 pm (UTC)если речь идет об экране, то у меня работает вот такая команда
root@arm9g45:~# echo -e "\033[9;1]\033[14;1]" > /dev/tty1
автовыключение через 1 минуту, прописав 0 можно выключить автовыключение..
народ еще юзает setterm, но это если она есть у тебя на рутовой..
для мгновенного выключения у меня поставлен ключ с управлением через gpio АРМа..
вполне вероятно, что у твоей соньки тоже есть прибамбас, упсс.. посмотрел фотку - это же ЕИнк? имхо, нечему там выключаться..
no subject
Date: 2012-10-26 08:21 pm (UTC)а смысл? у тебя на соньке есть WiFi? и есть драйвер? тогда можно пробовать заморачиваться..
иначе выгоднее собрать гаджет usb-flashdrive..
no subject
Date: 2012-10-27 08:41 am (UTC)no subject
Date: 2012-10-27 09:48 am (UTC)суть гаджета - организовать некий интерфейс, в твоем случае "сетевое устройство" (ethernet, wifi, bluetooth,ppp etc), где транспортом выступает usb..
сетки нет -> гаджет нереален..
no subject
Date: 2012-10-27 09:53 am (UTC)no subject
Date: 2012-10-27 11:06 am (UTC)сделать то можно почти что угодно, но в чем глубинный смысл? это примерно, как ходить в виндюках на собственный винчестер через сетевую шару.. или шилом в глазу ковырятся..
no subject
Date: 2012-10-27 11:41 am (UTC)no subject
Date: 2012-10-27 06:30 pm (UTC)Смотрите, в обычном режиме у воговского плеера всего два серъёзных интерфейса для связи с внешним миром: USB и UART. По первому монтируется флешка, на которую можно записать файл, по второму отладочная консоль и всё. Я конечно умалчиваю о GPIO и АЦП, но на мой взгляд они не играют большой роли.
Т.е. для работы с железкой надо работать через консоль юарта и кидать файлики через флешку, по моему не сильно разбежишься.
Когда поднимаешь USB-Ethernet, то появляется возможность по сети:
1. Перебрасывать файлы;
2. Поднять SSH (отпадает нужда в дополнительном интерфейсе UART);
3. Пробрасывать любые нужные протоколы, например вот сделать VNC-монитор: http://habrahabr.ru/post/121118/
4. Profit...
И всё это, только имея один гаджет. Так что не стоит его недооценивать.
Если вы считаете, что можно достичь этого другими путями с такой кривой железкой, то предложите ваш более удобный вариант.
no subject
Date: 2012-10-27 08:06 pm (UTC)не-не, считай меня некомпетентным и закроем тему..
извини, что влез в журнал..
no subject
Date: 2012-10-27 08:10 pm (UTC)Я не хотел обидеть, если что. Мир, дружба, linux :)))