------------------------------------------------------------------------------------------------------------------------------------------------------------
/*
* If HOLD_AUTO_START is included in Procursors of Compile Options, a task_id and a particular Task Processor
* should be particularly designed for the hold-up period
*/
#ifdef HOLD_AUTO_START
extern void Wizard_1_HandleKeys( byte shift, byte keys );
extern void Holding_Up_Init( byte task_id );
extern UINT16 Wizard_1_Holding_Up(byte task_id,UINT16 events );
#endif
------------------------------------------------------------------------------------------------------------------------------------------------------------------
This is what I've added in Wizard_1.h*(GenericApp.h), for a HOLDING-UP task.
*Here, GenericApp is given another name, Wizard_1. All of my modification is made in CoordinatorEB
Both of task_id and the "particular" Task Processor for HOLDING-UP period are specified in Wizard_1.c( GenericApp.c) .
QUESTION 1: So this"particular" Task Processor cannot share (call) any functions with other task processors (even if there're no collisions) ?
Besides, I also add the following line into OSAL_Wizard_1.c
osalTaskAdd( Holding_Up_Init, Wizard_1_Holding_Up, OSAL_TASK_PRIORITY_LOW);
and a compile error is indicated. (I'm sure THIS LINE is THE ONLY CAUSE of error ,since everything's fine again if only it was deleted.)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Error[e16]: Segment XDATA_I (size: 0x52f align: 0) is too long for segment definition. At least 0x16 more bytes needed. The problem occurred while
processing the segment placement command "-Z(XDATA)XDATA_N,XDATA_Z,XDATA_I=_XDATA_START-_XDATA_END", where at the moment of
placement the available memory ranges were "XDATA:f9e7-feff" ....
Reserved ranges relevant to this placement:
XDATA:e000-e007 XDATA_AN
XDATA:e008-e307 XSTACK
XDATA:e308-feff XDATA_Z
BIT:0-7 BREG
BIT:80-97 SFR_AN
BIT:a0-af SFR_AN
BIT:b8-c7 SFR_AN
BIT:d8-df SFR_AN
BIT:e8-ef SFR_AN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Q2: Why does this error happen?
Q3: Is cross-layer-talk possible during the holding-up period(use AF to transfer messages) ?