3

I'm new to embedded software, I want to build a Image processing application for my AT91SAM9261-EK development board by Atmel. To make it simple i want to use the OpenCV functions, but i'm not sure how am I going to generate a .bim file for flashing on the brd. Also can anyone you help me understand the flow / software structure for these kind of applications? Like, will I need Linux or any other OS, if so where does the actual image processing code which i intend to write using opencv sit ? Till now for simple codes like Basic LCD project, for this board i'm compiling the code using IAR workbench, so if I want to use the same for opencv functions, is there a way ? Is there any other open source image processing libraries similar to opencv & easy to integrate with IAR or any other ARM compiler ?

Also it would be really useful if there are any links to some learning documents regarding this Thanks in advance ?

  • http://github.com/dwelch67 I have many low level examples of how to create flash images for a number of arm microcontrollers using free gnu and llvm tools. Not sure if it helps but may give you an idea a path to take using open source tools. you want your code in .text so it is in the rom, likewise .data if any needs to be in rom and copied to ram by the bootloader before calling main(). – old_timer Jan 17 '12 at 20:54
  • my mbed_examples have long winded descriptions on using these tools in an embedded fashion. If your code relies too heavily on libraries which rely to heavily on libraries you might get to the point where it is too difficult to port without using an operating system. – old_timer Jan 17 '12 at 20:55
  • http://www.computer-vision-software.com/blog/2009/03/arm-wrestling-with-opencv/ Doesn't look too promising. I would look for something more lightweight or write the functions yourself. – so12311 Jan 17 '12 at 23:13
  • Can you be more explicit about the functions you plan to use ? –  Feb 20 '12 at 11:59

1 Answers1

0

Depending on your application, I think that CPU is not going to be powerful enough to do any kind of image processing; plus the weirdness of working with a foreign system is not going to make your life any easier.

If using this exact CPU is not super important I'd recommend a Beagleboard or Pandaboard, mainly because Ubuntu has installers targeted to the boards and Ubuntu/Debian offers OpenCV packages out of the box, and this is going to remove a whole lot of hurdles if you're new to embedded development -- basically it turns your dev board into a full-featured computer, just plug in a monitor, keyboard and mouse.

The Raspberry Pi looks to be promising in this regard as well, and you certainly can't argue with the price! (You may be able to install Debian on your board and get access to OpenCV packages this way, but I can't vouch for the ease-of-use of this method compared to Ubuntu, which is difficult enough, especially if you're new to Linux).

damian
  • 3,604
  • 1
  • 27
  • 46