OK. Here it goes. Flash size looks ok, but RAM is too small. According to my 
calculations it should be at least 305 Kb (and it’s 256 Kb). I’m searching for 
new developer board with microcontroller with larger RAM and let’s see where it 
will take me.

Thank for the help.

B.

> On 24 Mar 2020, at 13:58, Boštjan Jerko <boje...@gmail.com> wrote:
> 
> 
> 
>> On 24 Mar 2020, at 13:49, Christof Ressi <i...@christofressi.com> wrote:
>> 
>> I think a stack of 16 kB should be enough, but watch out for certain objects 
>> that might do large stack allocations, e.g. [sigmund~]. A modern OS usually 
>> has a stack size of at least 1 MB...
>> 
>> Regarding heap memory, you could get a rough idea by writing a small libpd 
>> test program on your Desktop with Pd's memory debug option or some external 
>> memory debugging tool like valgrind.
>> 
>> Also don't forget that the code itself also has to be loaded into memory. 
>> Then there are of course the actual Pd patches, which also need memory.
>> 
>> Finally, note that depending on the actual memory allocator, memory usage 
>> might not be deterministic. There are things like heap fragmentation to look 
>> out for. Pd might do heap allocations repeatedly during run time, e.g. 
>> [vline~] or any list larger than 100 atoms, and with such a small heap, 
>> fragmentation is very likely. One bigger allocation and boom - you're 
>> basically out of memory.
>> 
>> I don't know whether it's much fun to use Pd in such a constrained 
>> environment. Sound very brittle to me... You might be better of with an 
>> actual signal processing library, where you can control every aspect of your 
>> program.
> 
> That’s more and more on my mind. Since the pd code I’m trying to move to 
> microcontroller is not that simple I dread I’ll have constant problems with 
> memory.
> I’ll look into what I need for signal processing regarding the code I’m 
> porting and see what I can do here.
> 
> 
>> 
>> Is there anyone who has actually used or tried to use libpd under such 
>> extreme memory constraints and can share their experience?
>> 
>> Christof
> 
> Thanks.
> 
> B.
> 
>> 
>> On 24.03.2020 11:49, Boštjan Jerko wrote:
>>> Do you know what are the minimum values for the stack and heap? At least 
>>> rough estimation.
>>> 
>>> B.
>>> 
>>>> On 24 Mar 2020, at 11:30, Christof Ressi <i...@christofressi.com> wrote:
>>>> 
>>>> Check how much memory Pd is using. I mean, a 16 kB stack and 130 kB heap 
>>>> is still pretty small... (if those hex numbers mean bytes). Pd hasn't 
>>>> really been designed to run on microcontrollers ;-). Anyway, have a look 
>>>> at m_memory.c, there are some heap memory debug options, in case your 
>>>> developer tools don't provide this.
>>>> 
>>>> Christof
>>>> 
>>>> On 24.03.2020 09:25, Boštjan Jerko wrote:
>>>>> I don’t use PDINSTANCE, but after checking some online stuff I thought 
>>>>> maybe the size of the stack is the problem so I’ve changed it from 0x400 
>>>>> to 0x4000 and heap size from 0x200 to 0x2000, but no success.
>>>>> Still - I guess there is something going on with the memory so I’ll be 
>>>>> checking this some more.
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Pd-dev mailing list
>>>> Pd-dev@lists.iem.at
>>>> https://lists.puredata.info/listinfo/pd-dev
>> 
>> 
>> 
>> _______________________________________________
>> Pd-dev mailing list
>> Pd-dev@lists.iem.at
>> https://lists.puredata.info/listinfo/pd-dev

_______________________________________________
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev

Reply via email to