2015-06-05 07:07 AM
Hi everyone,
I need to put the maximum of my data in the CCM. This is already done for simple types like this :uint32_t memory_dur_init __attribute__ ((section(
''.ccm''
)));
I'm scratching my head for structures :
typedef
struct
Track Track;
struct
Track {
/* EFFETS */
uint8_t effect_count;
Effect* effect_tab[DEFAULT_EFFECT_NUMBER_MAX];
Pending_List* pending_list_note_on;
On_Off_List* on_off_list;
List_Out_List* list_out_list;
CC_Param_Pool* cc_param_pool;
uint64_t cc_rec_flags[CC_REC_FLAG_NUM];
};
I declare them like this :
Track* track = pvPortMalloc(
sizeof
(*track));
Is it possible to malloc them in the CCM..?
Cheers,
Ben
#stm32 #ccm
2015-06-05 08:01 AM
Yes, you'd basically need to refine your allocator code to understand the multiple arenas from which to draw memory. I've covered this for Keil and GNU/GCC on previous threads.