Back after enabling Assertion. Last line of the assertion is:
*** ASSERT FAIL: <1> kapi.cxx [1250] Cyg_Check_Structure_Sizes::Cyg_Check_Structure_Sizes() Size check failed Seems that kernel is checking Cyg_SchedThread_Implementation class size and as I modified it it throws error. Is it safe, if I disable size check? Or is there any other way to overcome this problem? Regards, Nodir. On 23 January 2010 16:28, Nodir Kodirov <nodir.qodi...@gmail.com> wrote: > > Hi John, Fabian and all, > > > Fabian wrote: > > ah, sorry - the first parameter is meant to be some kind of generic > > scheduler information parameter not necessarily a static priority. I > > should have taken a closer look into the documentation before my first > > comment. > > Me too, I thought it to be priority. Thank you for light John! I am > following your advice. > > Now, I added: > > typedef struct > { > cyg_tick_count deadline; > cyg_tick_count wcet; > cyg_tick_count period; > } cyg_edf_sched_info; > typedef cyg_edf_sched_info cyg_edf_sched_info_t; > > to cyg/kernel/ktypes.h > Next, I built eCos library and linked my application to it. Run on my > x86 Advantech target board and it works fine. > > Next, I defined additional member variable (to be used in > Cyg_SchedThread_Implementation class Constructor, to extract > [deadline, wcet and period] properties from *sched_info* generic > parameter and use it for schedule() method) > > cyg_edf_sched_info_t *thread_edf_info; > to Cyg_SchedThread_Implementation class, where we can define scheduler > specific members for threads (file src/sched/edf.hxx line #252). You > can have a look at the same place with mlqueue.hxx. > > But, there is problem. > When I include thread_edf_info to Cyg_SchedThread_Implementation > class, I can build my eCos library, link it my eCos application and > port it to board. But, when I run eCos application in target board, > application halts after thread creation. However, I didn't modify any > place of neither Cyg_SchedThread_Implementation class constructor nor > cyg_thread_create() function yet. > > So, my question is, can I modify Cyg_SchedThread_Implementation class > (just adding one more class member variable)? > > Herein I have attached my simple eCos application source file also. > Note: in my target board application halts before printf("Threads are > created\n"); line. > > Any help is highly appreciated! > > Thanks, > Nodir. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss