bmillier
Well-known member
In my audio-based program, I use a large RAM array of 32-bit integers, and when I dimension it more than about 95000 (= 380k bytes), the combination of program code (~ 80K), audio library buffers (80), misc other variables, and this large array will exceed 50% of total SRAM. The linker then throws an error ".bss is not within region DTCM" at the end of the linking process. Actually, the program will fail to run when the memory usage approaches this 50% point, even before the compiler error occurs at the 50% value. And, when this happens, the T4 bootloader must be re-initialized by the 15 sec button push.
I see where the SRAM is split into 2 segments, only 1/2 of which is "closely coupled", and I know that the program in Flash is transferred to SRAM before execution. But, how does one make use of the upper half of the SRAM?. I could post my code (long) if helpful, but I think its only the combined size that is the determining factor
Thanks
I see where the SRAM is split into 2 segments, only 1/2 of which is "closely coupled", and I know that the program in Flash is transferred to SRAM before execution. But, how does one make use of the upper half of the SRAM?. I could post my code (long) if helpful, but I think its only the combined size that is the determining factor
Thanks