Page 1 of 1
Astrobe for RP2040: Valid Code Range Rejected
Posted: Thu Nov 14, 2024 9:31 am
by gray
With Astrobe for RP2040 (v9.3), if I set
Code: Select all
Code Range 013000100H, 013200000H
I get an error message [1], and the linking fails, even though the above code range is valid to access XIP bypassing the cache.
See RP2040 datasheet section 2.2.2, p25, 'XIP_NOCACHE_NOALLOC_BASE'
[1] As pop-up, titled "Bin2UF2", text "Error: invalid entry".
Update: same problem with Astrobe for RP2350, v9.3
Re: Astrobe for RP2040: Valid Code Range Rejected
Posted: Fri Nov 15, 2024 11:07 pm
by cfbsoftware
Thank you for your report. Currently v9.3 Astrobe for RP2040 and RP2350 only support “Normal cache operation” i.e. XIP access, cacheable, allocating. We will update the documentation to reflect this.
However, if you wish to experiment with other cache options and are prepared to do any additional work required (e.g. modifying the second stage boot loader?) without support from us, we could modify the validation check to be a warning rather than an error.
Re: Astrobe for RP2040: Valid Code Range Rejected
Posted: Sun Nov 17, 2024 9:30 am
by gray
I wish it was for something fancy as that. :) No, I wrote a test program to measure code loading times and rates from flash memory cached and un-cached, from SRAM, and pre-cached:
https://oberon-rtk.org/examples/v2/codeloading/. To measure the loading times from raw, un-cached flash memory, I wanted to compile the test code for the corresponding aliased address spaces of the RP2040 and RP2350. But I have now simply disabled the cache in the XIP control register for this measurement (XIP_CTRL).
So I have no immediate need for a change from error to warning, but it might turn out useful in other use cases. Thanks.
Re: Astrobe for RP2040: Valid Code Range Rejected
Posted: Mon Nov 25, 2024 11:31 pm
by cfbsoftware
This has been addressed in Astrobe for RP2350 which has now been released. The Astrobe for RP2040 update will follow shortly. For more information see:
What's New in Astrobe for RP204 and RP2350