12

Does anyone know of a PCI card suitable for Android development?

I find the emulator unusably slow (Linux 64-bit, quad-core, 8GB RAM), and a card I could hide in my desktop would be nice. I know there are USB options out there, but that means yet more kit I need to find a shelf for... or suitably chasis-mount a USB board

The reasons for doing wanting this, the reasons are:

  1. QEMU ARM emulation is unusably slow for me
  2. A phone won't allow me to test against multiple Android versions
  3. A phone won't allow me to test against multiple Android display resolutions
  4. Not an issue for me, but in a classroom environment, a PCI card inside a PC has distinct advantages over multiple phones.

If there isn't a card that already has Android-specific capabilities, then I would be happy with an generic ARM card with shared memory. A graphics co-processor would be useful, but not essential.

I'm happy with my reasons for wanting to do this, and happy to write any driver code I need.

Thanks in advance,

Phil Lello

RzR
  • 3,068
  • 29
  • 26
Phil Lello
  • 8,377
  • 2
  • 25
  • 34
  • I've also looked at Android-x86 in a VM but it doesn't really seem suitable - it's more Android-for-desktops than embedded-Android-on-x86 – Phil Lello Apr 06 '11 at 21:19
  • I was just wondering, how would you deal with different resolutions and versions using such a board? – Will Kru Apr 29 '11 at 22:02
  • @Will I would expect the ROM/FLASH area to be writable from the host (and probably RAM mapped to the right address). The different versions & resolutions would come from writing different system image to the ROM/FLASH area. Graphics subsystems & chipsets generally support multiple resolutions, so I don't anticipate a problem. – Phil Lello Apr 29 '11 at 23:21
  • 1
    I'd love a PCI embeddable ARM board. shared RAM would be great, and would allow all sorts of uses beyond just using it as an Android emulator. – Arelius May 02 '11 at 21:37

4 Answers4

4

I didn't try this solution myself (yet) but here is what I would do if in the same situation:

Buy a BeagleBoard or a Panda Board which are small (and low cost) ARM boards (3" x 3" for the BeagleBoard) and, as someone else suggested, hide it inside your PC and hook it using an internal USB connector on your motherboard. Both will let you run Android.

Symbiosoft
  • 4,681
  • 6
  • 32
  • 46
2

I don't know of any PCI boards that are in the market right now. Your best chance is probably just getting one of those USB based boards.

tr4656
  • 1,298
  • 9
  • 16
  • I'd accept as correct, but I'm really holding out for a PCI version – Phil Lello Apr 27 '11 at 16:41
  • 2
    You do know that you can attach such an USB device inside your PC chasis, right? – skolima Apr 29 '11 at 10:26
  • 1
    @skolima Yes, and that's probably what I'll end up doing; the main advantage I'd hope to get from a PCI-based version is shared memory (local to card, available to system), so I could blit the framebuffer across to the host in real-time, and worry less about breaking the bootloader. That said, the JTAG interface should allow me to recover from any bootloader issues. – Phil Lello Apr 29 '11 at 16:07
1

The Beagleboard may suit your needs. However, you must be aware that it requires patience and time (compiling, building the images, etc.). Besides this, you cannot grab the official source-code (as one can typically do when using the emulator) and run it the Beagleboard. For that, you will need to port or use the several ports already available, which may be found here Beagleboard-Projects.

Regarding PCI versions, as far as I know there aren't any in the market. And I'm not sure if they will ever be available. So, without this kind of PCI boards, I would reconsider to either stick to the emulator or buy a Beagleboard just for the fun of it.

As a side note, I've also experienced (some times) the same emulator problem in my 64-bit machine, especially when building all the source-code and run it in the emulator. Have you ever tried to use the emulator that it is shipped with the SDK to see if the problem holds?

I hope this helps.

CRM
  • 4,569
  • 4
  • 27
  • 33
  • I'm using the ready-made binaries, as this is really something I was hoping for before compiling the sources (mostly I use them as research materials). I'm going to award the bounty here, due to the extra detail on ports (which should benefit future readers). – Phil Lello May 01 '11 at 18:44
  • @Phil Lello Actually, you should try to build the sources as the experience with the emulator may change. It will be easy if you follow the instructions provided [here](http://source.android.com/source/index.html). If you need help you can contact me. Thank you for considering my answer helpful. – CRM May 01 '11 at 19:12
0

Depending on how much you'd be willing to spend, and how much work you want to put into setting it up, you could try getting an arm FPGA dev board that plugs into a PCIe slot. That's probably more complicated than just fitting a USB board inside the case though

WindowsNT
  • 83
  • 1
  • 1
  • 6