Hi,
The gdb of this version unfortunately doesn't run on Ubuntu 24.10:
folkert@snsv ~/.arduino15 $ ./packages/teensy/tools/teensy-compile/11.3.1/arm/bin/arm-none-eabi-gdb
./packages/teensy/tools/teensy-compile/11.3.1/arm/bin/arm-none-eabi-gdb...
Hi,
I was missing a stack-trace thing for when my program crashes.
I came up with something that works reasonably well for my use-case (not really a stack-trace but it'll do for now).
Every interesting point in the source-code, I add a...
There are indeed differences (I checked with a led blinker compile).
BUT: both the arduino ide version AND platformio use the -fno-exceptions switch. And thus a 'new something[]();' will fail silently when running out of memory.
Then it dawned...
I'm running Linux with platformio.
I'm kind of certain that I got the right version of addr2line:
/home/folkert/.platformio/packages/toolchain-gccarmnoneeabi-teensy/bin/arm-none-eabi-addr2line
as there's teensy in thee directory-name, and it is...
I did. In csdDmp (line 71 of SdInfo.ino) it says "erasesize is ... blocks" but it did not specify how big a block is (as 512 bytes is not a given these days, some media have 4k sectors).
Also it says 64512 blocks. Shouldn't that be a power of 2...
Could you please describe the addr2line?
Because everytime a program of mine crashes, e.g.:
Code was executing from address 0x41F24
addr2line never seems to be able to convert that:
$...
Haha yes indeed I forgot that seek in the test-code. What I saw though without the seek was not the data of the earlier iteration (what was expected) but garbage. *with* the seek, I get all correct data. Puzzled.
I've reduced my code 100-fold (6k lines to 56 lines) and this shows it failing:
#include <SD.h>
FsFile file;
void setup() {
Serial.begin(115200);
if (SD.sdfs.begin(SdioConfig(DMA_SDIO)))
Serial.println(F("Init SD-card...
Yeah so that makes:
arm_dcache_flush_delete(buffer, block_size);
ssize_t rc = file.read(buffer, block_size);
to make sure that after the file.read, it will go through the cache and fetch from ram.
And write...
Hi,
I would like to optimize SD write access.
So ideally I would like to group multiple writes into one that fits in a erase-sector.
For that I need to know what offset ina file is for what erase-sector.
Is it possible to obtain that information...
I got back to my project to see if I can do any performance tweaks.
In the March version of my project I just did a arm_dcache_flush_delete for both read and writes, but that may be a bit overdoing it? Especially as @jmarsh wrote that (only)...