Hi Koenraad
I have also started recently on using arm-embedded on an STM32 based
board, I have build arm-embedded for mac a few days ago and the windows
version two or three weeks ago. So on what OS do you need the arm
crosscompiler (it could be mac or linux (more likely) but I think you
I could reproduce the problem on Fedora 18 x86_64. The error shows up in
revision 23457, the only file changed in this revision is
compiler/arm/aoptcpu.pas.
Checkin comment for file was:
Revision *23457*
http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revisionrevision=23457
- (view
LPC1343 Board uses a special JTAG interface that does not have open
sourced driver support.
So if you do not want to use their GUI (based on Eclipse if I remember
correctly) which is mainly C/C++ based then the easiest way is to cut
the board in two pieces and to then connect it to an
I did some digging and found the following post:
http://www.redhat.com/archives/rhl-devel-list/2007-October/msg01192.html
and
http://www.redhat.com/archives/rhl-devel-list/2007-October/msg01196.html
It's quite old so I am not sure if this still is of relevance but at
this time Freepascal did
? ( this one i have -
http://microcontrollershop.com/product_info.php?cPath=110_161products_id=1106
)
Kind Regards
Justin
-Original Message- From: Michael Ring
Sent: Thursday, January 31, 2013 2:31 AM
To: FPC-Pascal users discussions
Subject: Re: [fpc-pascal] Arm Embedded Question
are still able to to
debug your binary, I did not go that far.
I hope that helped,
Michael
Am 30.01.13 19:02, schrieb Michael Ring:
I did some digging and found the following post:
http://www.redhat.com/archives/rhl-devel-list/2007-October/msg01192.html
and
http://www.redhat.com/archives/rhl
.
Am 14.02.13 20:41, schrieb Jeppe Græsdal Johansen:
Den 14-02-2013 20:39, Florian Klämpfl skrev:
Am 14.02.2013 20:08, schrieb Michael Ring:
I might have found a hack to solve your linking problem for
arm-embedded
on linux, unfortunately I am not an expert on gnu ld, but perhaps this
here gives
binutils 2.23.1 from
ftp.gnu.org, built on fedora 18 x86_64
Michael
Am 17.02.13 16:15, schrieb Florian Klämpfl:
Am 17.02.2013 09:28, schrieb Florian Klämpfl:
Am 14.02.2013 21:34, schrieb Michael Ring:
I did a grep through the fpc sourcecode and found a reference in
./compiler/systems
I did a quick check on Mac Linux, on both platforms compiling
loading resulting .elf file into gdb works fine.
Thank you very much,
Michael
Am 17.02.13 19:57, schrieb Florian Klämpfl:
Am 17.02.2013 17:50, schrieb Michael Ring:
Hi Florian, I am not sure if this was completely clear to you
My guess is that you use an old version of ppcrossarm:
Looking at your error message ppcrossarm is located in:
/usr/bin/ppcrossarm
which is a quite unusual place for it when you install it from trunk.
Michael
Am 18.02.13 14:16, schrieb Koenraad Lelong:
On 17-02-13 20:27, Michael Ring wrote
Objects work fine on ARM embedded, the documentation on this topic might
be a little thin
The minimum thing you need to do is to initialize the heap, after you
have a valid Heapmanager you can use objects out of the box:
program hellofpc;
{$mode objfpc}
uses
heapmgr;
begin
I also like their products, especially the development boards are very
well designed. The IDE+debugger is nice complete and the support fo
the software is also very good.
The things I do not like are that you have to buy a license for each
compiler family (PIC, PIC16, PIC 32, ARM), the
propblems during the devlopment, besides my own project problems.
Am Friday 15 March 2013 07:48:25 schrieb Michael Ring:
I also like their products, especially the development boards
are very
well designed. The IDE+debugger is nice complete and the
support fo
Those two links may help:
The first article references the 2nd:
http://www.eevblog.com/forum/beginners/help-on-arm-cortex-m3-development-tools-ide/20/?wap2
https://github.com/mossmann/hackrf/wiki/LPC43xx-Debugging
Michael
Am 16.03.13 03:13, schrieb Justin Smyth:
I'm using a LPC 1343
am waiting to hear back regarding some suggest changes
that were
suggest in the debugging section that Michael Ring was working on a
while
ago, i want to write some code in lazarus for my ARM Cortex M3 and
debug it
in lazarus ( via gdb using gdb from openOCD) so i can see whats
going on ,
just
For a quick start I did the following:
for file in /data/subversion/svn/jcl/source/common/*.pas
/data/subversion/svn/jcl/source/unix/*.pas ; do fpc -FE.
-Fu/data/subversion/svn/jcl/source/common/
-Fi/data/subversion/svn/jcl/source/ $file 21 ; done | grep -i Error |
sort | uniq
This tries
I've started porting, so far I have ported about 50% of jcl.
Right now I am stuck with a few questions:
fpc 2.1.1 does have better support for WideStrings. Any idea when a
stable version will be released, because no code needs to be implemented
for JclWideStrings to work (Next 6 Month, This
I've browsed through this thread, as fas as I can see you are still on your
intel-based linux box and you are trying to build a crosscompiler for mipsel.
If this is still correct then your problem at this stage is that you did not
define the BINUTILSPREFIX correctly. When you leave this
The other Michael answering now ;-)
Just for fun I downloaded the deb-file you described below, the deb
package seems to include the correctly named binaries at correct places:
x ./usr/bin/
x ./usr/bin/mipsel-linux-gnu-addr2line
x ./usr/bin/mipsel-linux-gnu-c++filt
x
Small mixup:
Please see that
BINUTILSPREFIX=mipsel-linux-gnu-
is set when you buid your corosscompiler and make sure that
-XPmipsel-linux-gnu- is present on your commandline when compiling a
program.
Michael
Am 12.06.13 12:08, schrieb Michael Ring:
The other Michael answering now
I am confused, in all of your other mail till now you were talking about
littleendian and now you talk about big endian, which one is right?
A little endian binary will never ever run on a big endian system and
your crosscompiler will need to also be configured build with the
correct endian.
Seems that the assembler is not understanding the $xx notation for the
registers.
Instead of trying to change the toolchain I would fire up gdb on your device
and single step through the initialisation code of the helloworld.pas file.
From my point of view it is more likely that you will find
I think I remember that we had a discussion on build-id before, it did
not work on linux but I thought that Florian has created a fix and I
think I have verified that it works after that on my linux system.
Are you on Linux? And using trunk compiler? If you do not use trunk then
please try to
This article describes what build-id does:
https://fedoraproject.org/wiki/Releases/FeatureBuildId
your fix should get applied to trunk, the gnu-build section should end
up somewhere, best place is flash, it will not get used anyway.
Michael
Am 23.10.13 19:33, schrieb Michael Ring:
I think
I think this is an ARMV6 specific Problem, I also realized while
debugging on embedded target that it does not work anymore, same code
compiled for ARMV7 debugs (and runs) just fine...
Until now I did not find the time to search for the revision that broke
armv6m.
Michael
Am 10.01.14
-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-
boun...@lists.freepascal.org] De la part de Michael Ring
Envoyé : vendredi 10 janvier 2014 13:40
À : FPC-Pascal users discussions
Objet : Re: [fpc-pascal] ARM Linux crosscompiler: compiles but...
executable gives segmentation fault
I think
I had a look at armv6m yesterday evening, parts of my code run fine in
gdb, the code crashes in the init of a procedure when trying to prepare
the access to contents of a set.
The address of the set seems to get calculated totally wrong ending up
in a memory access at the end of the chip's
] ARM Linux crosscompiler: compiles but... executable
gives segmentation fault
Til: fpc-pascal@lists.freepascal.org
On 13/01/2014 12:34, Michael Ring wrote:
I had a look at armv6m yesterday evening, parts of my code run fine in
gdb, the code crashes in the init of a procedure when trying to prepare
);
begin
DIR := DIR and (not (1 shl bit)) or (longWord(direction) shl bit);
end;
var
i : integer;
begin
i := 0;
GPIO0.setDirection(i,GPIO_Output);
end.
Am 13.01.14 15:39, schrieb Michael Ring:
I guess not, when I remember correctly this has already been repaired
for armv6m. The problem for me
code
working for nxp and stm chips...
Michael
Am 14.01.14 20:29, schrieb Jeppe Græsdal Johansen:
Should be fixed now. The cpupi code estimated that it needed a copy of
the TGPIO_Registers record on the stack even though it was passed by
reference :)
Den 14-01-2014 09:47, Michael Ring skrev:
I
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
...@smythconsulting.net both route to me
-Original Message-
From: Michael Ring m...@michael-ring.org
To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
Date: Sat, 17 May 2014 10:35:58 +0200
Subject: Re: [fpc-pascal] Armv7 fpc openocd v8
First step would
Joost, I saw some of your posts but did not know that your debugger has
a console version. Is it possible to connect to a gdb-server with fpd?
Michael (not trying to hijack this thread)
Am 08.09.14 um 17:39 schrieb Joost van der Sluis:
On 09/07/2014 05:42 PM, Felipe Monteiro de Carvalho
Zhis is what I use on my Mac:
make clean all CPU_TARGET=x86_64 INSTALL_PREFIX=$HOME/3.0.1
Michael
Am 16.01.15 um 22:23 schrieb Ewald:
On 01/16/2015 10:08 PM, Anthony Walter wrote:
Details: The problem I am having is that even on a 64bit Mac, the
make all command builds i386-darwin. When I
clean all install CPU_TARGET=x86_64 INSTALL_PREFIX=$HOME/3.0.1
Michael
Am 17.01.15 um 09:40 schrieb Sven Barth:
Am 16.01.2015 23:14 schrieb Michael Ring m...@michael-ring.org
mailto:m...@michael-ring.org:
Zhis is what I use on my Mac:
make clean all CPU_TARGET=x86_64 INSTALL_PREFIX=$HOME
If you are interested in bare metal development (without linux as a host
OS) then the ST Nucleo boards are a very interesting choice, they come
with an integrated ST-Link Debugger interface and have
Arduino-compatible headers. Cost is about €12,--
Make sure to get a model with Cortex-M3 or
Please try compiling with -O0, when I remember correctly this solves the
problem
Michael
Am 28.02.15 um 04:42 schrieb Bee:
Hi,
I just got my Raspberry 1 B+ and I wanted to install latest FPC (and
Lazarus) on it. I got FPC v.2.6.4 installed from the linux-arm
package. But then it failed to
At least for debian the values for Floating point should be OK for the
Wandboard:
Currently the Debian armhf port requires at least an ARMv7 CPU with
Thumb-2 and VFP3D16. (https://wiki.debian.org/ArmHardFloatPort)
Michael
Am 29.06.15 um 14:41 schrieb Jonas Maebe:
Andrew Brunner wrote on
, Michael Ring wrote:
I am using parameters suggested on this page (modified for armv7a):
http://michellcomputing.co.uk/blog/2014/05/freepascal-2-7-1-on-raspberry-pi/
OPT=-dREVINC -dFPC_ARMHF -CX -CpARMV7A -CfVFPV3_D16 -OpARMV7A -O2
-OoFASTMATH -XX -Xs
as your error seems to be caused by some
I am using parameters suggested on this page (modified for armv7a):
http://michellcomputing.co.uk/blog/2014/05/freepascal-2-7-1-on-raspberry-pi/
OPT=-dREVINC -dFPC_ARMHF -CX -CpARMV7A -CfVFPV3_D16 -OpARMV7A -O2
-OoFASTMATH -XX -Xs
as your error seems to be caused by some conditional parsing
I just compiled the same svn version 31185 on MacOSX 10.10; worked fine
for me.
I am using this fpc:
fpc -v
Free Pascal Compiler version 2.6.4 [2014/02/26] for i386
I cannot spot a relevant difference to your commandline. Did you try a
new checkout in an empty directory?
make clean
This is how I build fpc trunk cross compiler:
echo Building fpchf-linux from trunk
SUBARCH=armv7
CROSSOPT=-dREVINC -dFPC_ARMHF -CX -CpARMV7A -CfVFPV3_D16 -OpARMV7A
-O2 -OoFASTMATH -XX -Xs
//CROSSOPT=-dREVINC -dFPC_ARMHF -CX -CpARMV6 -CfVFPV2 -OpARMV6 -O2
-OoFASTMATH -XX -Xs
Try this link for instructions on how to compile:
http://michellcomputing.co.uk/blog/2014/05/freepascal-2-7-1-on-raspberry-pi/
Von meinem iPad gesendet
Am 19.08.2015 um 06:11 schrieb Chris Moody inqu...@greensnakedesign.com:
On 08/18/2015 02:34 PM, Chris Moody wrote:
On 08/18/2015
...@greensnakedesign.com wrote:
On 08/18/2015 01:24 AM, Michael Ring wrote:
This is how I build fpc trunk cross compiler:
echo Building fpchf-linux from trunk
SUBARCH=armv7
CROSSOPT=-dREVINC -dFPC_ARMHF -CX -CpARMV7A -CfVFPV3_D16
-OpARMV7A -O2 -OoFASTMATH -XX -Xs
Jeppe would be the best person to answer your question anyway as he is
the master of (nearly) all files in the embedded directory.
I just checked, when I created my own units for other devices I included
those const's, it seems that they never were in Jeppe's files could it
be that you saw
STM32F407 and STM32F429 share the same reference Manual so they should
be highly compatible. Which Board do you own, a Discovery board or
MicroE Board?
Michael
Am 12.10.15 um 03:31 schrieb Andrew Haines:
Hi,
I've seen on the list that the STM32F429 has some support in fpc now!
A couple of
EDT, Michael Ring
<m...@michael-ring.org> wrote:
STM32F407 and STM32F429 share the same reference Manual so they should
be highly compatible. Which Board do you own, a Discovery board or
MicroE Board?
Michael
Am 12.10.15 um 03:31 schrieb Andrew Haines:
Hi, I'v
;-)
There's a lot of use in embedded targets:
const
ADC1_BASE = $40012000;
var
ADC1 : TADC_Registers absolute ADC1_BASE;
Am 13.10.15 um 21:14 schrieb Bart:
On 10/13/15, Graeme Geldenhuys wrote:
So what is (code example) of
Chiming in ;-)
There are two more options:
https://github.com/yunkot/pxl
There are units available for higher level access to STM32F4, Teensy and
some Freescale Devices. Very usable for devices that have >64k of Flash,
a number of displays and sensors are supported out of the box.
When
What version of Delphi do you use?
CrossFPC is compatible to only rather 'old' Versions, the documentation
on main page says XE4.
I was subscribed to the Mailinglist but have not received a single mail
for the last years so propably the mailinglist is dead.
Michael
Am 24.01.16 um 16:03
Most likely that Embarcadero has shut down their development Branch in
Spain, about 80 people involved.
Michael
Am 27.06.16 um 15:24 schrieb Tony Caduto:
What events of the last few days is Boian talking about in his
announcement?
On Jun 27, 2016 5:51 AM, "Victor Campillo"
It's already on Heise News (german):
http://www.heise.de/newsticker/meldung/Stiftung-fuer-Free-Pascal-und-Lazarus-gegruendet-3249526.html
Am 27.06.16 um 12:51 schrieb Victor Campillo:
On 27/06/16 10:00, Michael Van Canneyt wrote:
How did you manage to find this site ? I didn't make a public
At least not from me, I felt already ripped off by Embarcadero by not
delivering on their promise to bring Linux last summer (Fortunately I
did not renew my Pro-Subscription). Seeing that they wanted to do a 2nd
rip off by only giving it to Enterprise customers reassured me that that
decision
I am looking for an easy way to have all cortex-m compilers available at
the same time to be able to do automated building/testing
Inspired by the -V parameter of fpc I started my journey and ended up
with something different.
My question is now did I go down the correct path or is there a
Hi Florian!
I would like to work on this patch, can you share it with me?
Thank you,
Michael
Am 03.12.17 um 19:05 schrieb Florian Klämpfl:
Am 29.11.2017 um 06:36 schrieb Christo:
On Sun, 2017-11-26 at 17:19 +0100, Michael Ring wrote:
I am looking for an easy way to have all cortex-m
R=/usr/local/lib/fpc/3.1.1/units/arm-embedded/$SUBARCH/rtl
|| exit 1
#cp /usr/local/lib/fpc/3.1.1/ppcrossarm
/usr/local/lib/fpc/3.1.1/ppcrossarm-$SUBARCH
ln -sf /usr/local/lib/fpc/3.1.1/ppcrossarm /usr/local/bin/ppcarm
Am 22.02.18 um 21:35 schrieb Christo:
On Mon, 2017-12-04 at 08:22 +010
For me, the easiest way to solve this (on a microcontroller, not a
raspberry) was using SPI, you can create a pretty precise timing with
that method. And looking at the code in the repository you provided it
looks like the SPI of the Raspberry is DMA-Enabled in kernel.
In my own code I use
I have uploaded my Code to github:
https://github.com/michael-ring/mbf.git
In the Patches directory you will find a patch to add all STM32L4 chips
to a vanilla fpc-trunk installation.
Please pm me for questions or use github, documentation is still very
sparse ;-)
The Blinky Example
Both STM32F407 & 446 Chips are already in fpc-trunk, so no patches are
needed to use those chips, mbf should work ok for you, I have a
development kit for STM32F407VC (Mikroe EasyMXPro V7) and I should also
have a NUCLEOF446RE Board somewhere here, so in case something does not
work I may be
@R0b0t1:
FYI, I have now implemented Clock Configuration and gpio for stm32l4
chips, the blinky program works now, please pull latest mdf libs from
github.
Why do you think STM32 chips are poorly documented?
The Reference Manuals are pretty good an the code generated by
STM32CubeMX is very
The process is completely automated and is based on converting the
header files that come in the CMSIS packages of the processors.
I will send you the file for that chip via pm, you will also have to
tweak compiler/systems/t_embed.pas compiler/arm/cpuinfo.pas but this is
pretty
What are you planing to implement? Do you need the RAM and FLASH of the
stm32l432 or the low power features?
If not then I'd suggest to start wit a more simple CPU like the
STM32F303K8 or, if you are okay with standard size nucleo boards the
STM32F401RE or STM32F411RE are a good choice.
On
Am 28.02.18 um 03:22 schrieb R0b0t1:
On Tue, Feb 27, 2018 at 2:43 AM, Michael Ring <m...@michael-ring.org> wrote:
The process is completely automated and is based on converting the header
files that come in the CMSIS packages of the processors.
Excellent! What about the startup assembly
I just realized on a freshly set up computer that there is one more
issue, I tried to build the trunk x86_64 compiler and compile fails:
/bin/mkdir -p x86_64/units/x86_64-darwin
/Applications/Xcode.app/Contents/Developer/usr/bin/make ./msg2inc
/usr/local/bin/ppcx64 -Ur -Xs -O2 -n -Fux86_64
this discussion here ;-)
I am not trying to solve something for myself, my own builds are working
for quite a long time on Mojave, just wanted to make sure that compiling
trunk keeps as straightforward as ever
Michael
Am 09.10.18 um 19:51 schrieb Jonas Maebe:
On 08/10/18 23:19, Michael Ring
Did you include the HeapMgr unit? This unit enables heap memory
allocation for arm+pic cpu's, hopefully it also works for avr.
Michael
Am 26.01.19 um 10:29 schrieb Dimitrios Chr. Ioannidis via fpc-pascal:
Hi,
AFAIU dynamic allocation memory does not exist for AVR platform (
tried to
Use search on fpc-devel + fpc-pascal lists and look for embedded/arm/avr
topics, they are often a goldmine of knowledge
Michael
Am 26.01.19 um 11:58 schrieb Dimitrios Chr. Ioannidis via fpc-pascal:
Hi,
Στις 26/1/2019 12:40 μ.μ., ο Michael Ring έγραψε:
Did you include the HeapMgr unit
Startup Code and Modules for chips had a license that Florian was not
happy with. So those parts are missing.
I have not built mipsel for pic for a while but if you need a working
solution then I check if things compile with latest fpc and update my
gitlab.
Michael
Am 28.11.21 um 16:27
68 matches
Mail list logo