When I import the blink example and set it up for raspberrypi pico, it compiles just fine
When I add a new environment for arduino uno, and then compile just for pico, I then get a bunch of warnings, starting with
warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
I don’t get any warnings compiling for uno
It does still report success, and uploads fine to both modules
But I suspect I’m not using these defines…
my platformio.ini is as follows
[env:pico]
platform = raspberrypi
board = pico
framework = arduino
[env:uno]
platform = atmelavr
board = uno
framework = arduino
Any ideas as to how I can resolve these warnings?
What does ‘TIMER_BASE’ expand to?
Is the error on the #define line or where the macro is used?
Susan
It’s defined in addressmap.h, and is a simple define, in the same manner as all the rest of the defines in that file
#define ADC_BASE 0x4004c000
#define PWM_BASE 0x40050000
#define TIMER_BASE 0x40054000
#define WATCHDOG_BASE 0x40058000
#define RTC_BASE 0x4005c000
it’s used in timer.h, and I understand it’s used as a pointer to map a structure onto that address
typedef struct {
io_wo_32 timehw;
io_wo_32 timelw;
io_ro_32 timehr;
io_ro_32 timelr;
io_rw_32 alarm[NUM_TIMERS];
io_rw_32 armed;
io_ro_32 timerawh;
io_ro_32 timerawl;
io_rw_32 dbgpause;
io_rw_32 pause;
io_rw_32 intr;
io_rw_32 inte;
io_rw_32 intf;
io_ro_32 ints;
} timer_hw_t;
#define timer_hw ((timer_hw_t *const)TIMER_BASE)
These all look valid to me
The fact it works when it’s the only board configured suggests it’s some conflict with the uno configuration
But I can’t see from the error where that might be
Regards
David