Hi Nodir

Nodir Kodirov wrote:

>> TRACE: cstartup.cxx [91] void cyg_iso_c_start()   'Resuming 
>> cyg_libc_main_thread'
>> TRACE: kapi.cxx [1238] void 
>> Cyg_Check_Structure_Sizes::Cyg_Check_Structure_Sizes()    'Size of C struct 
>> cyg_thread != size of C++ struct Cyg_Thread'
>> ASSERT FAIL: <1> kapi.cxx [1250] 
>> Cyg_Check_Structure_Sizes::Cyg_Check_Structure_Sizes()    Size check failed
>> ASSERT FAIL: kapi.cxx [1250] 
>> Cyg_Check_Structure_Sizes::Cyg_Check_Structure_Sizes()    Size check failed

First, focus on eliminating the structure size mismatch. Whatever member
variables are added to the C++ classes must be mirrored by definitions
in kapidata.h or nothing else will make any sense. Add your changes for
EDF one at a time and ensure the structure sizes match with each change.

Second, are you sure you need to take the address of sched_info in the
following line:

>>    edf_info = (cyg_edf_info_t *) &sched_info;
>>    priority = (cyg_priority) edf_info->deadline;

sched_info should already be a pointer to a struct cyg_edf_info_t.

I hope this helps...

John Dallaway
eCos maintainer

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to