[fpc-pascal] Armv7 fpc openocd v8
Michael Ring
mail at michael-ring.org
Sat May 17 10:35:58 CEST 2014
First step would be to visit
http://wiki.freepascal.org/TARGET_Embedded
This page helps to set up basic things like cross toolchain for arm and
to compile trunk of fpc.
Once you have worked through this you are ready to go.
ppcrossarm -i should give you a list of available controllers, when you
use trunk you should see:
LPC1343FBD48 and LPC1343FHN33 in the list of supported controllers.
When you have followed the steps of the instructions you have also
checked out latest FPC from trunk, you should now make yourself familiar
with the file ./rtl/embedded/arm/lpc13xx.pp, this file holds all the
register information.
If you want I can send you a newer version of this file, it also
includes translations of most of the #defines of the original header
files, but for learning first steps the checked in version is perhaps
easier, it is not that big.
Now you are ready to compile your first hello.pas, this is the
commandline that I usually use:
ppcrossarm -MObjFPC -Ch1024 -Cs1024 -Tembedded -Parm -vi -Cparmv7m
-WpLPC1343FBD48 -XParm-none-eabi- hello.pas
When you use objects you need to initialize the heap, change -Ch
(Heapsize) and -Cs (Stacksize) to your needs. -vi give you info about
code and data size.
arm-none-eabi- is the prefix of your binutils binaries for cross
compiling, if they are not in you path you can also put the full path in
the commandline, but remember to only use the prefix. something like
/usr/local/bin/arm-none-eabi- will work, C:\tools\bin\arm-none-aebi-
should also work
For debugging you need gdb compiled as a cross debugger, I built my own
gdb to support text UI, so --tui brings you into a basic GUI inside of
gdb, without this you end up in plain gdb commandline.
arm-none-eabi-gdb hello.elf --tui --eval-command="target extended :3333"
--eval-command="monitor reset halt" --eval-command="set mem
inaccessible-by-default off" --eval-command="load"
After this you are ready to debug.
I have written an integration into lazarus looooong time ago, not sure
if it still compiles after the huge changes thst Martin did in the last
months, once you have everything up and running so far we can work on
the integration into lazarus.
Michael
Am 17.05.14 01:33, schrieb Justin Smyth:
> Hi everyone,
>
> I have recently got open ocd v8 to talk to my nxp lpc 1343 via a
> stlinkv2 , should fpc ( 2.6.4 or higher support this type of CPU and
> does anyone have any ideas how to hook up gdb to openocd ? I am
> thinking of using Lazarus to step through some code if possible)
>
> Justin
>
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20140517/fe4e36e7/attachment.html>
More information about the fpc-pascal
mailing list