Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > More E-Book Readers > iRex

Notices

Reply
 
Thread Tools Search this Thread
Old 12-12-2008, 03:03 AM   #1
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
Post DR1000s software development

Has anyone on the forum done any work on software development? If so I'd like to start a collection of information here related to software development for the DR1000s.
As for specific information I need, I'd like some help on how to interface to the hardware. Do you need to have a special cable for connecting up to the DR1000s? Or can you program the device using a USB connection?

Here's what I have so far:

Developer information for DR1000s:
Developer downloads and GPL Source code for iRex DR1000s
--http://developer.irexnet.com/pub/iOn/

linux development environment for embedded systems:
--http://wiki.openembedded.net/index.php/Main_Page
--http://wiki.openembedded.net/index.php/Getting_Started

Poky linux software development environment for iRex DR1000s:
--http://pokylinux.org/
--http://pokylinux.org/releases/pinky-3.1/
Poky development tool handbook:
--http://www.pokylinux.org/doc/poky-ha...v-external-sdk
Poky hardware reference guide:
--http://pokylinux.org/releases/pinky-3.1/readme.hardware

Anjuta plug-in for Poky:
Anjuta is a graphical integrated development environment targetting GTK/GNOME development.
--http://labs.o-hand.com/anjuta-poky-sdk-plugin/
Anjuta homepage:
--http://www.anjuta.org/

developer forums from mobileRead for iRex DR1000s
--https://www.mobileread.com/
--http://i-to-i.irexnet.com/

Other software projects:
FBreader for reading different formats of eBooks (includes open source):
--http://fbreader.org/about.php
--http://fbreader.org/downloads.php
--http://fbreader.org/documentation.php
FBreader Project on freshmeat webpage:
--http://freshmeat.net/projects/fbreader



-Vincent
vwinstead is offline   Reply With Quote
Old 12-12-2008, 07:36 AM   #2
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,697
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
I've ported FBReader and a soduku program to the iLiad. I've also updated the ContentBrowser to support FBReader extensions.

You'll do the programming in Anjuta (or vim if you're hardcore ). Then you'll cross compile, and test your programs in the Poky/Qemu emulator. In there you will have to create and test the necessary launchers. When that's all ready, only then will you copy the launchers to the SD card and test on your DR.

The physical device isn't necessary for most of development.
Adam B. is offline   Reply With Quote
Advert
Old 12-12-2008, 08:17 AM   #3
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
Well that's pretty good for software development - but I thought the source code for the device itself was able to be modified too. Is that incorrect? For example, is it possible to affect on-board peripherals like turning the LEDs on and off? Or does that just mean that the whole operating system is sitting on the SD card?
Also - if all you need is the USB connection for development, what is the big connection on the bottom right next to the USB port used for? It looks like it has about 20 or 30 pins on it.
vwinstead is offline   Reply With Quote
Old 12-12-2008, 08:36 AM   #4
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,697
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
There is an internal flash on the DR. You can't access this directly (that we know of), except through scripts. Take a look at my updated CTB script. This is a modification to an internal iRex application. I copy the updated binary from the SD card to the internal file system.

You can modify any of the programs found here: http://developer.irexnet.com/pub/iOn/Sources/1.0/

As far as I can tell, the bottom connector is for a serial connection. I don't know much more than that (or if that's even accurate). iRex hasn't release any plans or specifications.
Adam B. is offline   Reply With Quote
Old 12-12-2008, 08:53 AM   #5
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
Very interesting - I bet that mysterious port is what the developers at iRex use to program the chips on the DR1000s. Who do you think we can ask for more info on this?
vwinstead is offline   Reply With Quote
Advert
Old 12-12-2008, 08:55 AM   #6
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,697
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
Quote:
Originally Posted by vwinstead View Post
Very interesting - I bet that mysterious port is what the developers at iRex use to program the chips on the DR1000s. Who do you think we can ask for more info on this?
I would suspect it's what they use when they need to reflash manually (in case of a bad software install).

I doubt you'll get any answers, but you can try to ask on the iRex forum.
Adam B. is offline   Reply With Quote
Old 12-12-2008, 10:19 AM   #7
Tomek
Enthusiast
Tomek began at the beginning.
 
Posts: 29
Karma: 10
Join Date: Sep 2008
Location: USA
Device: Kindle DX
Thanks vwinstead! It's very convenient to have a list of all the resources needed to setup development in one place.

I just looked around the wiki pages but didn't see one dedicated to development on the Digital Reader. If one exists could someone point me to it? Otherwise, it may be a good idea to create one if only to capture all these links vwinstead provided in one place.
Tomek is offline   Reply With Quote
Old 12-13-2008, 07:11 AM   #8
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
You're welcome! I'm working on a website right now to post this and a few other things onto. Once I'm done with it I can post more info about DR1000s programming and what I've learned so far. It would be nice to get a step by step guide of sorts to give everyone a good idea of how to get started developing software for it. I think since iRex went through the trouble to make their code open source it's really up to the community to help each other out in this regards.
That said - if anyone has ANY input they'd like to submit on this subject (no matter how trivial it seems) I'd be happy to include it in my final results for the general public. The more people that get involved, the better!
vwinstead is offline   Reply With Quote
Old 12-15-2008, 07:25 AM   #9
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
further developments

Adam - I got to the point wehre I have the following accomplished:
--Ubuntu Hardy Heron is the distro I'm using for this
--/usr/local/poky has the SDK toolchain from iRex
--decompressed the rootfs and kernel files and threw them into /usr/local
--installed all dependencies for poky per documentation
--installed qemu
--tried to install poky-scripts, but found out that the intel developer has not yet adjusted the scripts for the "hardy" version yet. He said it'd be done today. Which distro are you using?
--installed Anjuta and Anjuta-plugin-sdk
--added poky plug-in to anjuta and configured the locations to point to the files supplied by iRex (kernel, rootfs...) I also pointed the SDK root to "usr/local/poky/eabi-glibc/arm" and set the "Toolchain triplet" to "arm-poky-linux-gnueabi"....is this correct?

None of these steps implies that you need to download pinky which is the latest poky version. How come? Don't you need this at some point? Or do we not need it since we have the toolchain from iRex?

But now what? I tried making a new project and that worked fine so I'm ready to DO something, I just need to get a little direction at this point. Is there a project available to look at for the DR1000? Is there some sample code? Documentation? Can you tell me how to proceed from here?

-Vincent
vwinstead is offline   Reply With Quote
Old 12-15-2008, 07:48 AM   #10
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,697
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
I'm using Hardy, but I installed the scripts from the Gutsy repo. I haven't had any problems.

I'm attaching my preferences screen.

See if you can start the emulator first. It's under tools, then "Start Qemu" when the poky plugin is enabled.

If that works, try to compile a program. Hello World from iRex's repo should be a good start.
Attached Thumbnails
Click image for larger version

Name:	Screenshot-Anjuta Preferences.png
Views:	415
Size:	74.4 KB
ID:	19228  
Adam B. is offline   Reply With Quote
Old 12-15-2008, 10:32 AM   #11
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
The preferences I'm using are the same that you're showing.
Tools -> Start QEMU works!
Opening up the Hello World project from iRex works too!

Now I have to figure out how to build the project and test it with QEMU.

Of course this was after a couple stumbling blocks. These are noteworthy:
Ran Tools -> Start QEMU but ran into the following error:
Error, please set /proc/sys/vm/mmap_min_addr to 0 since otherwise it can cause problems with QEMU
following line fixed that:
sudo sysctl -w vm.mmap_min_addr=0
What's that all about?
I also remembered an error I saw when I first ran "apt-get update". things went smoothly until I hit a "Hash Sum Mismatch" error with sources.bz2. See below for the error message during the update:
Hit http://security.ubuntu.com hardy-security/multiverse Packages
Hit http://security.ubuntu.com hardy-security/multiverse Sources
Hit http://us.archive.ubuntu.com hardy-updates/restricted Packages
Hit http://us.archive.ubuntu.com hardy-updates/main Sources
Hit http://us.archive.ubuntu.com hardy-updates/restricted Sources
Fetched 7452B in 10s (716B/s)
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/...pdates/Release Unable to find expected entry universedeb-src/binary-i386/Packages in Meta-index file (malformed Release file?)

W: Failed to fetch http://security.ubuntu.com/ubuntu/di...ce/Sources.bz2 Hash Sum mismatch

E: Some index files failed to download, they have been ignored, or old ones used instead.


Do you think this is a big problem? This still happens even after I changed the sources.list file from hardy to gutsy.

Unrelated questions:
I downloaded the pinky version of Poky. Is it useful for anything? Looks like the poky directory supplied by iRex is all I need, right?
What is OpenEmbedded cross-compile environment useful for? Is this part of the development process or is it one of the underlying pieces that we don't need to worry about?
vwinstead is offline   Reply With Quote
Old 12-15-2008, 10:36 AM   #12
vwinstead
Enthusiast
vwinstead began at the beginning.
 
Posts: 26
Karma: 26
Join Date: Nov 2008
Device: iRex DR1000S
Oh, and by the way - I've never seen such a HUGE and extensive version of Hello_World in my life!
vwinstead is offline   Reply With Quote
Old 12-16-2008, 08:35 AM   #13
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,697
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
Quote:
Originally Posted by vwinstead View Post
Error, please set /proc/sys/vm/mmap_min_addr to 0 since otherwise it can cause problems with QEMU
following line fixed that:
sudo sysctl -w vm.mmap_min_addr=0[/INDENT]
What's that all about?
It's a kernel configuration parameter. I'm not sure exactly what it does, but I did have to set this on my Ubuntu install.

Quote:
W: Failed to fetch http://security.ubuntu.com/ubuntu/di...ce/Sources.bz2 Hash Sum mismatch

E: Some index files failed to download, they have been ignored, or old ones used instead.[/B]

Do you think this is a big problem? This still happens even after I changed the sources.list file from hardy to gutsy.
Did you change all of your sources from hardy to gutszy? You should leave your apt sources alone. Changing from one repo version to a previous one could cause issues. I'm not sure how to fix it. Maybe run apt-get or aptitude with the clean option?

Quote:
Unrelated questions:
I downloaded the pinky version of Poky. Is it useful for anything? Looks like the poky directory supplied by iRex is all I need, right?
What is OpenEmbedded cross-compile environment useful for? Is this part of the development process or is it one of the underlying pieces that we don't need to worry about?
I think iRex has provided most of what's needed for poky. It's been a while though, so I'm not sure which external packages were needed and what was not.
Adam B. is offline   Reply With Quote
Old 12-19-2008, 03:26 PM   #14
Tomek
Enthusiast
Tomek began at the beginning.
 
Posts: 29
Karma: 10
Join Date: Sep 2008
Location: USA
Device: Kindle DX
FYI, I had problems setting up a VMWare image with Ubuntu 8.10. It appears that the anjuta-plugin is not compatible with that version. When I tried the same steps on 8.04 it worked much better. I simply installed anjuta from standard repository, added "deb http://debian.o-hand.com hardy/" to /etc/apt/sources.list, apt-get update, then install anjuta-plugin, and enable it in Edit->Preferences->Installed Plugins. That last step, enabling the plugin is what was failing in Ubuntu 8.10
Tomek is offline   Reply With Quote
Old 12-19-2008, 07:21 PM   #15
Tomek
Enthusiast
Tomek began at the beginning.
 
Posts: 29
Karma: 10
Join Date: Sep 2008
Location: USA
Device: Kindle DX
I get the following error when I try to deploy hello-world from iRex:

rsync error: unexplained error (code 255) at main.c(977) [sender=2.6.9]

And I don't see anything but the Settings on the Home screen of the emulator. Has anyone run into a similar problem?

Also, how do you get the emulated SD card to work? It looks like the SD card is not available when I start Qemu...

[update]
I guess the error doesn't affect much. It looks like hello-world still gets deployed and I can run it. It doesn't seem to do much though for all that code
Attached Files
File Type: txt hello-world-deploy.txt (6.1 KB, 287 views)

Last edited by Tomek; 12-20-2008 at 04:45 PM.
Tomek is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
DR1000 Public BETA of the DR1000S 2.0 software available rfog iRex 150 09-21-2010 12:00 PM
B&N new software development location Fbone News 1 08-25-2010 03:08 AM
I love my new DR1000S, thoughts & questions, 3rd Party Software Cliffe iRex 3 04-26-2009 10:02 AM
iRex DR1000 Software Development website vwinstead iRex 23 02-04-2009 12:21 PM


All times are GMT -4. The time now is 07:54 AM.


MobileRead.com is a privately owned, operated and funded community.