One more question (hope the last in this trhread). Installing new ver of Lazarus I noticed that now it is 2.3.0. My main ver is 2.2.6, so once again I tested blinky example under Lazarus 2.2.6 with exactly the same options as in 2.3.0 with of course path to the blinky example file where there are no spaces:)
This time however I got:
Compile Project, OS: embedded, CPU: arm, Target: blinky.elf: Exit code 1, Errors: 5, Hints: 4
Hint: Start of reading config file C:\fpcupdeluxe3\fpcupdeluxe\fpc\bin\x86_64-win64\fpc.cfg
Hint: End of reading config file C:\fpcupdeluxe3\fpcupdeluxe\fpc\bin\x86_64-win64\fpc.cfg
Verbose: Free Pascal Compiler version 3.2.2-r0d122c49 [2023/11/05] for arm
Verbose: Copyright (c) 1993-2021 by Florian Klaempfl and others
Verbose: Target OS: Embedded
Verbose: Compiling blinky.lpr
Verbose: Compiling C:\fpcupdeluxe3\fpcupdeluxe\fpc\units\arm-embedded\units\pico_gpio_c.pas
Verbose: Compiling C:\fpcupdeluxe3\fpcupdeluxe\fpc\units\arm-embedded\units\pico_c.pas
Verbose: Compiling C:\fpcupdeluxe3\fpcupdeluxe\fpc\units\arm-embedded\units\pico_sync_c.pas
Verbose: Assembling pico_sync_c
pico_c.pas(103,17) Hint: Parameter "fmt" not used
pico_c.pas(103,33) Hint: Parameter "Args" not used
pico_c.pas(195,15) Error: Identifier not found "resets"
pico_c.pas(196,17) Error: Identifier not found "resets"
pico_c.pas(198,10) Error: Identifier not found "resets"
pico_c.pas(200,17) Error: Identifier not found "resets"
pico_c.pas(202,10) Error: Identifier not found "resets"
pico_c.pas(230,0) Verbose: There were 5 errors compiling module, stopping
Verbose: Compilation aborted
Verbose: C:\fpcupdeluxe3\fpcupdeluxe\fpc\bin\x86_64-win64\ppcrossarm.exe returned an error exitcode
All applies to unit pico_c and resets (Register?) is used here:
procedure runtime_init;
const
RESETS_SAFE_BITS= %1111111111100110110111111;
RESETS_PRECLOCK_BITS= %0001111000100110110111110;
//RESETS_POSTCLOCK_BITS=%1110000111000000000000001;
RESETS_RESET_BITS =%1111111111111111111111111;
begin
hw_set_bits(resets.reset_done,RESETS_SAFE_BITS);
hw_clear_bits(resets.reset,RESETS_PRECLOCK_BITS);
repeat
until (resets.reset_done and RESETS_PRECLOCK_BITS) = RESETS_PRECLOCK_BITS;
clocks_init;
hw_clear_bits(resets.reset,RESETS_RESET_BITS);
repeat
until (resets.reset_done and RESETS_RESET_BITS) = RESETS_RESET_BITS;
spin_locks_reset;
end;
I can't find where "resets" Register comes from? Where is it defined? It is because of trunk version of Lazarus 2.3.0?
------------
Update: I think I understand where the problem is coming from, and it is indeed the newer version of Lazarus (2.3.0) that contains information about Pico. In Lazarus 2.2.6, e.g. under this directory
..\fpcupdeluxe\fpcsrc\rtl\embedded\arm
there is not the file rp2040.pp and exactly in this file is written configuration of Pico. In ver 2.3.0 this file exists, so that was my problem (I suppose so)