Lazarus

Free Pascal => Other OS => Topic started by: Raul_ES on March 04, 2018, 02:39:43 am

Title: Mips + Windows Embeded CE 6.0
Post by: Raul_ES on March 04, 2018, 02:39:43 am
Hello,

I have no idea about cross-compiling and how to use it under Lazarus/FPC. Just a straight and clear question: It's possible to compile under x64 + linux or windows an executable for Mips + Windows CE 6.0 ? Do you know any other way?

regards
Title: Re: Mips + Windows Embeded CE 6.0
Post by: mischi on March 05, 2018, 02:05:25 pm
To the best of my knowledge, wince is only supported for arm and i386 and mips (mipsel) for linux, embedded and android. The host system is not relevant for this.
Title: Re: Mips + Windows Embeded CE 6.0
Post by: Raul_ES on March 05, 2018, 11:46:23 pm
I found some info here: (wikipedia)

https://en.wikipedia.org/wiki/Windows_Embedded_CE_6.0 (https://en.wikipedia.org/wiki/Windows_Embedded_CE_6.0)

Quote
"CE 6.0 is compatible with x86, ARM, SH4 (only up to R2)[7] and MIPS based processor architectures"

And this here: https://www.nxp.com/files-static/training_pdf/VFTF09_WINDOWS_CE6_0.pdf (https://www.nxp.com/files-static/training_pdf/VFTF09_WINDOWS_CE6_0.pdf)

Quote
"Microsoft includes in Windows CE 6.0 a choice of four
possible CPU “architectures” that can be used to base
your computer hardware on."

Pages 23-24 and on.
Title: Re: Mips + Windows Embeded CE 6.0
Post by: Raul_ES on March 05, 2018, 11:50:09 pm
Actually I want to make a small program for my Renault Clio IV "Media Nav Evolution" navigation and multimedia system. It's a Mips based board with Windows CE 6.0.
Title: Re: Mips + Windows Embeded CE 6.0
Post by: PascalDragon on March 12, 2018, 04:04:09 pm
FPC's WinCE port only supports ARM and i386. For MIPS you'd need to add a new port...
Title: Re: Mips + Windows Embeded CE 6.0
Post by: Raul_ES on March 16, 2018, 09:34:07 pm
Ok. How may I help then? :-)
Title: Re: Mips + Windows Embeded CE 6.0
Post by: PascalDragon on March 17, 2018, 02:46:50 pm
You can use this (http://wiki.freepascal.org/Porting_Free_Pascal) as a rough guide though I advice you to try to understand what the changes are doing exactly (Note to self: improve that guide). You'll also need to check inside the compiler where e.g. system_arm_wince or system_mips_wince are used and decide whether or not to use your new system_mipsel_wince/system_mipseb_wince as well. Also you need to find out whether WinCE on MIPS is using a different calling convention then what FPC supports there (if it is you'll have to extend the code generator to support it) and whether GNU binutils are available or if you need to use the Microsoft tools (which will need additional code to be usable). Then you can extend the WinCE RTL located in rtl/wince with the System unit being the most important one to get at least roughly working.

Of course you can ask for help if you encounter problems.
TinyPortal © 2005-2018