Questions Before Buying


scryed_reaper

Still Fresh
Joined
Jul 21, 2006
Messages
2
Hello all!

I have been interested and following the scene sence the GP32 first came out but due to lack of knowledge i never read much into it. Here are some questions i would like to figure out before buying a 2x (yes i know the answers are probably on the forums but my eyes hurt from hours of reading already)

I am by no means an intermediate level programmer but i can make sence of any sourcecode throwen at me it just takes a really long time, I am taking distance education courses for c/c++ but just started. I am however quite capable in linux and quite often out of bordom compile and create my own custom setups with the soul pourpose of making it lightning fast with a small footprint.

Questions!!!:

1) /usr/gp2x/gp2xmenu because i dont have a device to poke around on im not sure the structure the GUI uses. I am wondering if during boot the linux kernel creates a framebuffer and the menu is all custom written with no implimentation of x11. What is the base subsystem to handle the screen? Im interested in OS development and would like to start creating everything ground up but sofar only know how to do so on xfree86 and x11 bases, i have been reading on doing direct framebuffer handling in each applications file but lack of test server and expereance im quite lost.

2) Is the flash rom home to the entire kernel and userspace? Gumstix uses a flash to house the kernel/initrd and boot manager while the userspace resides in removable memory. Is it the same except the userspace is in the 64mb nand? Sence im constantly dinking around with kernels having a failsafe kernel and an experemental one is benifical as i often make mistakes but if thats not a viable option on the gp2x some of my ideas must be scrapped. ## My idea was to have a bootloader with the defulat kernel and one that only suports the i/o, video, serial hardware to increase batt life and just make it easier to program a stable base system before adding more features ##

As you can probably tell i am interested in developing embeded systems with compleatly custom os and software and i think the gp2x is a great all in one device in a sleek package. I was going to choose the Gumstix 400Mhz because its x64 compatable but compleate lack of lcd support is a major drawback as i dont poses the tools and knowledge to make my own controller pcbs and such.

Well thats for the help everyone!
 
Those are some refreshingly different questions from your usual "before I buy, can GPX32 run XBox 360 at full speed yet?" variety. Anyway!

#1: The default interface in the firmware uses the SDL Library, you are probably familiar with it, but if not, just google it. It's quite powerful and easy to use, although if you are more of the low-level programming sort you may want to give writing C or C++ with some ARM9 ASM added to taste (;)), along with the Minimal Lib that helps ease the use of base hardware functions like writing straight to the framebuffer.

#2: The kernel and firmware are all stored in NAND, which in Firmware V2.0.0 is partitioned so that about half of it is devoted to the OS and kernel, and the other empty space for free use with whatever you like. Working at a lower level than the kernel is probably not going to get you very much benefit, as linux is quite lightweight in terms of how many CPU cycles it occupies. Its RAM footprint is kind of big, but it doesn't put much of a dent in 64 MB (about 40 MB is usually free to use, more if you don't mind stomping on some unused stuff in the upper 32MB used by hardware MPEG4 decoding and other such things; they can always be written back later when you USE those functions.)

If you're used to writing efficient, fast code with a small memory footprint .. you just might be a great programmer for games or applications on this machine and probably a valuable asset to the community! I'd encourage you to pick up a GP2X (if you are doing any major development as you clearly will be, GET AN AC ADAPTER!) You may also want a breakout board (although you might want to wait for the newer ones with an enclosure) to hook up USB devices more easily, video, JTAG, and all of those goodies.

Good luck and looking forward to seeing some great projects from you in the future.
 
Claym99 posted on Jul 20 2006 at 10:38 PM said:
If I had a nickel for everytime I saw a thread titled similiarly
Yes, but these questions were not about DOES IT PLAY WMA AND QUICKTIME LOLZ! This was more serious dev based questions.
 
Last edited by a moderator:
daclassicgamingmaster posted on Jul 20 2006 at 10:44 PM said:
it still belongs in the list of threads with the same name ;)
I dont see that thread lol.
 
Last edited by a moderator:
Thanks for the info Epicenter.

I have used sdl before, i touched on it before putzzing around in direct x and opengl because it was platform independed and microsoft didnt own it lol.

Just to clarify things i now know the sdl is an api for hardware control and being such is quite handy as i would like to compeatly write my gui ground up and would be easy to port to a different embeded design if i choose. Is their a more conventional setup like x11 where one can use say fluxbox or another gui with minimal deifficulty or am i litteraly going to be building 100% groud up?

U said that the kernel, firmware and os are all stored in upper nand so it would be readable as well as writable. When i read the bricking while flashing problems i thought the firmware contained the kernel itself. I dont know the tecnical way to describe it but lets try it this way. Is the gp2x more similar to: ipaq pda were the flash containes the kernel, OS and interperters so nobody can bugger them. A pc were the bios controls and tweaks hardware before passing control to a kernel/os in memory. or a psp like system were the firmware contains the OS and always has master control of the hardware and all acces is directed through it.

I wonder because as i stated before i would have sever kernal images on the go for testing and tinkering, if they were in freely writable memory and all the firmware loader does is look for a kernel in '/boot/" and load the first one it would be easy to try new kernels whenever i would like. If the kernel exists in the flashed firmware itself i would need to reflash every time and an error would be quite difficult to recove from.

Sence im new to the embeded scene i still think like a pc guy, give'r a go and see what happens instead of being sure it will work in the first place but hey half the fun is recovering from the critical errors lol

Thanks again!
 
Back
Top