QNX on Gameboy Advance (GBA) ??

Hi all…

First, I am sorry if this thread happen to be in the wrong forum-group… its my first post.

So yea… Im new to the QNX realm… I tampered with it few years back… but after I graduated I decided to expand my interests… Anyways… back to the topic of this thread…

Ive recently downloaded the free QNX ISO version, and will be installing it very soon, once I have a decent box to work with… but I began researching and reading up on the ARM technology and realizied that the GBA uses the ARM chip… lightblub Any ideas if this is feasible? Can QNX be used on the GBA?

ideas, comments suggestions are welcomed… :slight_smile:

and thank you for having me aboard.


AFAIK the GBA does not have a MMU, so no, QNX won’t run on it.

correct, the ARM in the GBA is very basic and does not include the MMU. It is also very slow (7Mhz). You might want to checkout eQip though - eqip.sf.net/


thanx for the heads up… :slight_smile:


Sorry to dig up old bones with this post, but I was wondering about this recently and found something that might change the situation.

There is a company called Charmed Labs (www.charmedlabs.com) that makes boards to interface with the GBA. They use an FPGA to demux the memory and read/write to flash memory. (This implements the MMU, right?)

I have been programming a CAN driver in QNX and was going to use the GBA with the “Xport Dev Kit” to implement additional CAN nodes. If I could run QNX on the ARM with the Xport then there is a chance I could reuse much of my driver code once I configure the FPGA. With the Xport would it be possible to run QNX on this ARM processor, or would it still be too slow?

No MMU is much more complex concept then that.

what else would the FPGA have to do?

My guess is it cant emulate the ARM MMU, since i beleive the MMU must be using extra instruction.. I dont know nothing about ARM cpu but I guestimating based on other CPU.

Basicaly an MMU is setup with a table so that when an adress goes on the BUS (at this stage it`s a virtual address), the address must be translated to a physical address. The MMU must also monitor if a virtual address is valid and if not generated an exepction (SIGSEGV). The MMU also implementes permissions, as some area of memory can be setup as read/write/execute.

Get a manual on a ARM CPU and read the section on MMU.

If the GBA cpu is really running a 7Mhz as previous post stated ( I`m having a hard time beleiving that number since PDA and cell phones that have ARMs CPU are running in the 100Mzh and more) it would be totaly unusable. You would also have to write a graphic drivers.

I did a little more research. The ARM in the GBA runs at 16.7 MHz. Still slow, but not too slow.

I would need to write graphics drivers; however, there are extensive open source libraries, especially to do simple things like print text.

You’re correct about the ARM not having an MMU. I was under the impression that most embedded targets didn’t have MMUs. Can QNX be configured to run without an MMU for an embedded target?

scroll up and read rgallen’s comment: