I have continued to play with the update and so far I think this takes care of it...
Note: Maybe for next (after this fix) wish we had something like this in the imxrt1062_t41.ld file:
Code:
_heap_start = ADDR(.bss.dma) + SIZEOF(.bss.dma);
_heap_end = ORIGIN(RAM) + LENGTH(RAM);
_extram_end = ADDR(.bss.extram) + SIZEOF(.bss.extram);
I verified with the command line:
Code:
C:\Users\kurte\AppData\Local\Temp\arduino_build_CameraDisplay_ili9341_t3n.ino>\arduino-1.8.13\hardware\tools\arm\bin\arm-none-eabi-gcc-nm -n *.elf > foo
And my test sketch had the line: uint16_t ext_pixel[320*240] EXTMEM;
And the above command did give me the data:
Code:
70000000 B ext_pixel
70025800 B _extram_end
So if we then can add in a heap allocater for this area we can know where the sketch allocations ended...
Awhile ago we were playing with a simple allocate only function, that at the time either started at the end of EXTMEM and worked back toward the start. Or with this we could start at this memory location and work up till we get up to the end of this memory.
But again not expecting any of this is this upcoming build.