C++ microcontroller/processor selection

Write your question here.
I am having trouble selecting a microcontroller/processor from http://www.kynix.com/Product/Cate/35.html for a robotics project in C++. I have a program working on my computer that is 1.5+ KLOC and relies on data in twenty other files to function, so please do not suggest I use another language. I tried translating it to C, but could not get it to work, perhaps because of the program's heavy reliance on fstream and strings. The program is about 1 MB on my computer right now and takes up 3 MB while running, so I suppose the microcontroller/processor would need either to be capable of supporting 4 MB of ram if it is von-Neumann/MHA and 1 MB of flash and 3 MB of ram for Harvard. I need PWM, SPI and UART/USART on the processor to communicate with other sensors, and I plan to use a hard drive for the other files and external ram for the program and its data. I will need at least 90 IO pins (40 IDE + 40 servos + sensors).

Summary:

>90 IO pins
PWM
SPI
UART/USART
if von-Neumann/MHA, capable of supporting >4 MB of ram
if Harvard, >1 MB program flash and >3 MB of ram
supports C++
What do you suggest? Please also provide information on how to program the processor, if possible.

So far, I have found Freescale’s i.mx25, but I am not sure how to connect this processor to my computer for programming, if it uses C++, or the details of how to turn my current Windows .exe program into a .hex compatible with this processor.

closed account (48T7M4Gy)
Have you eliminated an Arduino et al from your selection options?
So one additional concern is the presence of a C++ compiler and a standard library. <fstream>, in particular, requires at least some system support. Free embedded filesystems are available.

Re. actually getting your code onto the processor:
You'll cross-compile your program using the vendor's cross-compiler and usually run it through a program like GNU Objcopy (I think the Windows equivalent is called LIB.exe) to get a hex file from the PE or ELF file you've generated.

You can then send that to the processor via some serial protocol using a program provided by the vendor. Usually this is done using a programmer (a pre-built board) which has the required sockets built-in.
Last edited on
Topic archived. No new replies allowed.