Free Pascal + E-BOOK

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Free Pascal + E-BOOK

Сообщение finder » 19.05.2009 19:30:40

Всем, доброго дня!
Сначала прелюдия:
Есть украинская компания PocketBook, которая сделала отличную прошивку для своей электронной (based-Linux) книги на ARM-проце (если точнее, то железо делает китайская компания Нетроникс, она для многих делает).
Для независимых разработчиков она выложила SDK http://sourceforge.net/project/showfiles.php?group_id=256609

Разработчиками уже сделаны некоторые приложения и игры, такие как шахматы, сапер, ГО...
Исходный код простейшего приложение для этой книги, на С(ях):
Код: Выделить всё
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mount.h>
#include <dlfcn.h>
#include "inkview.h"

int main_handler(int type, int par1, int par2) {
   int i;
   if (type == EVT_SHOW) {
      ClearScreen();
      FullUpdate();
      DrawRect(10, 18, 580, 104, 0);
      for(i=0; i<16; i++) {
         FillArea(12+i*36, 20, 36, 100, i*0x111111);
      }
             FullUpdate();
      FineUpdate();
   }
   if (type == EVT_KEYPRESS) {
      CloseApp();
   }
   return 0;
}

int main(int argc, char **argv) {
   InkViewMain(main_handler);
   return 0;
}


где, все нужные ф-ции и типы определенны в "inkview.h", что можно перевести в юнит с помощью h2pas.

строка сборки ехе файла для виндовс в make.bat
gcc -static -Wall -O2 -fomit-frame-pointer %INCLUDE% -o %OUTPUT% src/*.c %IMAGES% %LIBS%

строка сборки файла для АРМ в makearm.bat, выходной файл c расширением app
gcc -Wall -O2 -fomit-frame-pointer %INCLUDE% -I./src -o %OUTPUT% src/*.c %IMAGES% %LIBS%

А вот теперь собственно вопрос:
Так как, все время писал на FP или в Делфях, то очень не хочется вспоминать Си, а написать что-то интересное есть желание, поэтому хотел бы узнать Ваше мнение возможно ли, используя данные библиотеки и SDK, писать приложения на FP?
Меня смущают вопросы линковки, так как под виндовс используется (как мне кажется) статическая библиотека libinkview.a, а под АРМ libinkview.so - динамическая.
И если я правильно понял сам эмулятор(точнее он будет встроен в ехе-файл) сделан на основанни cygwin и mingw.

Благодарю за ответы.
finder
незнакомец
 
Сообщения: 1
Зарегистрирован: 19.05.2009 18:34:38

Re: Free Pascal + E-BOOK

Сообщение Юра » 20.05.2009 15:33:57

Похоже, что можно заставить fpс генерить программы под этот девайс, т.к. arm-linux поддерживается.
Нужно просто установить/настроить все для кросс-компиляции под arm-linux.
А вот с эмулятором, вероятно, придется помучиться, т.к. скорее всего libinkview.a использует C rtl...
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Re: Free Pascal + E-BOOK

Сообщение maxerist » 01.07.2011 13:35:40

Кому интересно, удалось эмулятор на linux-е запустить

Нужен
- Lazarus на linux
- SDK 2.0.6 для PocketBook Pro под Linux, берется с http://pocketbook-free.sourceforge.net/index.shtml (предыдущие sdk скорее всего не подойдут, они под wine сделаны)

- Далее

1. хедер понятно, что нужно сконвертировать, я еще этого не сделал, так как автоматически созданный (тулзой из Lazarus) выдает много ошибок, я видимо буду из него копировать фрагменты в текущий по мере необходимости

2. Все функции нужно править на привязку к динамической библиотеке. Пример определения функции

const
inkviewlibname = 'libinkview.so';

procedure InkViewMain(h:iv_handler);cdecl;external inkviewlibname name 'InkViewMain';

3. желательно довести до запуска пример из комплектного sdk (например sources/inkdemo/makepc.sh). В этом случае все необходимые библиотеки будут подгружены, да и вообще для спокойствия. Жмем-доставляем-жмем..., пока не появится inkdemo

4. В unit-е, который за inkview отвечает, нужно добавить {$linklib libcurl.so}

5. Где угодно (либо если package, либо в самом проекте в путях дать fpc знать где лежит liblinkview.so. То есть где-то должно оказаться FRSCSDK/lib

на этом месте все должно компиляться. А на получившийся исполняемый стоит натравить ldd и проверить что все нашлось.

6. Делаем symlink в той папке где экзешник на system из SDK.

Теперь запускаем. Понятно, что это должен быть хотя бы примитивный аналог с вызовом InkViewMain
maxerist
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.07.2011 13:22:02

Re: Free Pascal + E-BOOK

Сообщение vada » 01.07.2011 15:40:45

А ты девайс зарутил?
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Free Pascal + E-BOOK

Сообщение maxerist » 01.07.2011 16:58:21

vada писал(а):А ты девайс зарутил?


Девайса пока нет. Другие знаете, для которых можно что-то писать? Просто PocketBook официально SDK представляет, других не знаю, но они в железе отстают, например никак не разродятся на устройства с экраном Pearl, да и вообще они дороже остальных. Я не хотел вкладываться с этои дело, не будучи уверенным, что программы можно будет писать.
maxerist
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.07.2011 13:22:02

Re: Free Pascal + E-BOOK

Сообщение vada » 01.07.2011 17:35:55

У меня вот такой http://www.ferra.ru/online/epads/110161/ (красный) :)
Но кроме паскаля я еще и java владею, а для нее все в шоколаде с SDK и Eclipse, поэтому и мысли не возникало паскаль на костылях прикручивать. Да и поломать сначало надо :) Рута получить. Не заморачивался пока этим.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Free Pascal + E-BOOK

Сообщение maxerist » 01.07.2011 18:10:29

vada писал(а):У меня вот такой http://www.ferra.ru/online/epads/110161/ (красный) :)
Но кроме паскаля я еще и java владею, а для нее все в шоколаде с SDK и Eclipse, поэтому и мысли не возникало паскаль на костылях прикручивать. Да и поломать сначало надо :) Рута получить. Не заморачивался пока этим.


А, тогда первый вопрос стал понятен. Как я понимаю, в pocketbook-овских "чернильных" читалках нет Android-слоя. Чистый arm-linux и каждое приложение - это просто ELF-бинарник, который получает весь экран и пользуется функциями из libinkview, библиотеки предназначенной сугубо для eInk (причем включая их же встроенные). Поэтому и люди рутом не особо заморачиваются и мой пост с подробностями для вашего устройства конечно не подходит.
maxerist
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.07.2011 13:22:02

Re: Free Pascal + E-BOOK

Сообщение mk15 » 24.06.2014 13:10:57

подскажите ,у вас получилось сделать?Щас думаю купить новый покут бук 626 или что то другое на андройде
mk15
незнакомец
 
Сообщения: 1
Зарегистрирован: 24.06.2014 13:03:18


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru
cron