Difference between revisions of "WinCE port"

From Free Pascal wiki
Jump to navigationJump to search
(Fixing a typo.)
m (Move platform template to page template; remove category already in page template)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Platform only|Windows|Windows|Windows}}
 
 
{{WinCE port}}
 
{{WinCE port}}
  
Line 63: Line 62:
 
== See Also ==
 
== See Also ==
  
* [[Tested Unstable Revisions]]
+
* [[WinCE_port_Hints|WinCE port hints]]
 
* [http://wiki.lazarus.freepascal.org/Windows_CE_Interface Windows CE interface for Lazarus]
 
* [http://wiki.lazarus.freepascal.org/Windows_CE_Interface Windows CE interface for Lazarus]
 
* [http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes Windows CE Development Notes]
 
* [http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes Windows CE Development Notes]
Line 85: Line 84:
  
 
== Contacts ==
 
== Contacts ==
 +
 
Write any questions regarding WinCE port to [mailto:yury_sidorov@mail.ru Yury Sidorov]
 
Write any questions regarding WinCE port to [mailto:yury_sidorov@mail.ru Yury Sidorov]
 
[[Category:WinCE]]
 

Latest revision as of 02:15, 9 August 2020

WinCE Logo.png

This article applies to Windows CE only.

See also: Multiplatform Programming Guide

English (en) italiano (it) português (pt) русский (ru) 中文(台灣)‎ (zh_TW)

WinCE port is quite complete and usable. The port was started and maintained by Yury Sidorov. Oliver (Oro06) ported WinCE API headers.

Status

  • FPC 2.2.0 or later supports WinCE target.
  • CPU support for WinCE target:
    • ARM CPU is fully supported. See arm-wince how to setup a crosscompiling enviroment.
      There are readymade crosscompiler package available(See Lazarus download sources)
    • i386 CPU support was not tested too much and may contain bugs. Patches are welcome.
      Normally there is no readymade crosscompiler package for this CPU. See i386-wince howto setup a cross compile enviroment(Win32 Host)
  • The following platforms are supported:
    • Devices based on WinCE 3.0 or later
    • Pocket PC 2002 – WinCE version: 3.0
    • Pocket PC 2003 – WinCE version: 4.20
    • Pocket PC 2003 Second Edition – WinCE version: 4.21
    • Windows Mobile 5 – WinCE version: 5.0
    • Windows Mobile 6 – WinCE version: 5.2
    • Windows Mobile 6.5 - WinCE version: 5.2.1
  • RTL and FCL units are working.

Debugging WinCE applications

GDB can be used to debug your WinCE applications remotely via ActiveSync. Download GDB 6.4 for Win32 host and arm-wince target here: ftp://ftp.freepascal.org/pub/fpc/contrib/cross/gdb-6.4-win32-arm-wince.zip

Some hints:

  • Pass --tui parameter to GDB to enable TUI interface which makes debugging more comfortable.
  • Use unix line endings (LF only) in your pascal source files. Otherwise GDB will show sources incorrctly.

How to use:

First, make ActiveSync connection to your Pocket PC device.

Then launch gdb:

gdb --tui <your_executable_at_local_pc>

On gdb prompt type:

run or just r

GDB will copy your executable to the device in \gdb folder and run it.

Here is a short list of most needed GDB commands:

  • r args - run program with args arguments.
  • s - step into.
  • n - step over.
  • ni - step over instrument.step over assembly instruction.
  • c - continue execution.
  • br <function_name> - set a breakpoint at function_name. Use PASCALMAIN to set a breakpoint at program start.
  • br <source_file>:<line_number> - set a breakpoint at specified source line.
  • disas - show disassembly of current location.
  • x/fmt address - dump memory at address with special format.use "help x" for more informations.
  • bt - back trace.print back trace of the call stack.
  • where - Display the current line and function and the stack of calls that got you there.
  • q - Quit gdb.

To learn more how to use GDB read its documentation here: http://www.gnu.org/software/gdb/documentation


For example you want to build FCL. Go to fpc\fcl folder and execute the command above. You will get FCL compiled units in fpc\fcl\units\arm-wince.

See Also

Links

Here are some links related to ARM CPU Architecture

Contacts

Write any questions regarding WinCE port to Yury Sidorov