рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдЖрд░рдЯреАрдУрдПрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рдпреЛрдЬрди рдФрд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджреЗрдЦрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ:
рдЕрдиреБрдЪреНрдЫреЗрдж # 9 рд╕рдордпрдмрджреНрдзрдХ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдЕрдиреБрдЪреНрдЫреЗрдж # 8 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдЖрдВрддрд░рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдЕрдиреБрдЪреНрдЫреЗрдж # 7 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдкрд░рд┐рдЪрдпрдЕрдиреБрдЪреНрдЫреЗрдж # 6 рдЕрдиреНрдп RTOS рд╕реЗрд╡рд╛рдПрдВрдЕрдиреБрдЪреНрдЫреЗрдж # рел рдХрд╛рд░реНрдп рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдирдЕрдиреБрдЪреНрдЫреЗрдж # 4 рдХрд╛рд░реНрдп, рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ, рдФрд░ рд╡реНрдпрд╡рдзрд╛рдирдЕрдиреБрдЪреНрдЫреЗрдж # рей рдХрд╛рд░реНрдп рдФрд░ рдпреЛрдЬрдирд╛рдЕрдиреБрдЪреНрдЫреЗрдж # 2 рдЖрд░рдЯреАрдУрдПрд╕: рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЛрдб
рдЕрдиреБрдЪреНрдЫреЗрдж # 1ред рдЖрд░рдЯреАрдУрдПрд╕: рдкрд░рд┐рдЪрдпред
рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдпрд╛, рдЬреЛ рд╕реНрдореГрддрд┐ рдФрд░ / рдпрд╛ рд╕рдордп рдкрд░ рдмрдЪрд╛рддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рд╕реНрдердЧрд┐рдд рдХрд░реЗрдВ
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ
рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓реЗрдЦ , рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд░реБрдХреЗ рд╣реБрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рдФрд░ рдЗрд╕реЗ
nuse_config.h рдореЗрдВ
NUSE_SUSPEND_ENABLE рдкреНрд░рддреАрдХ рджреНрд╡рд╛рд░рд╛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐
TRUE рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛
NUSE_Task_Status [] рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд▓рдВрдмрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд╕рд░рдгреА рдкреНрд░рдХрд╛рд░
U8 рдХрд╛ рд╣реИ , рдЬрд╣рд╛рдВ 2 nibbles рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐рдЪрд▓реЗ 4 рдмрд┐рдЯ рдореЗрдВ рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ:
NUSE_READY, NUSE_PURE_SUSPEND ,
NUSE_SLEEP_SUSPEND ,
NUSE_MAILBOX_SUSPEND , рдЖрджрд┐ рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ API рдХреЙрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
NUSE_MAILBOX_SUSPEND ) рджреНрд╡рд╛рд░рд╛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдЪреНрдЪ 4 рдмрд┐рдЯреНрд╕ рдореЗрдВ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрд┐рдд рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рдВрд╕рд╛рдзрди рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реЗрдбреНрдпреВрд▓рд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
NUSE_Suspend_Task () рдФрд░
NUSE_Wake_Task () ред
NUSE_Suspend_Task () рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдлрд╝рдВрдХреНрд╢рди рдХрд╛рд░реНрдп рдХреА рдирдИ рд╕реНрдерд┐рддрд┐ (рд╕рднреА 8 рдмрд┐рдЯреНрд╕) рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд╕реНрдкреЗрдВрдб_рдХреЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрдм рдЖрдк рд▓реЙрдХрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ (рдиреАрдЪреЗ "рд▓реЙрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рджреЗрдЦреЗрдВ"), рддреЛ
NUSE_SUCCESS рд░рд┐рдЯрд░реНрди рдХреЛрдб
рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдЕрдЧрд▓рд╛,
NUSE_Reschedule () рдХреЛ рдЕрдЧрд▓реЗ рдХрд╛рд░реНрдп рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
NUSE_Wake_Task () рдХреЛрдб рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:

рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐
NUSE_READY рдкрд░ рд╕реЗрдЯ рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖрдиреЗ рддрдХ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
NUSE_Reschedule () рдХреЛ рдХрд╛рд░реНрдп рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдгрддрд╛ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдп рдХреА рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдЙрд╕реЗ рддреБрд░рдВрдд рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
API рдХреЙрд▓ рдХреЛ рд▓реЙрдХ рдХрд░реЗрдВ
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХрдИ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдХреЛ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрд╕рд╛рдзрди рдлрд┐рд░ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдпрд╣ рддрдВрддреНрд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ: рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдореЗрдореЛрд░реА рдЦрдВрдб рдореЗрдВ, рдЗрд╡реЗрдВрдЯ рд╕рдореВрд╣, рдореЗрд▓рдмреЙрдХреНрд╕, рдХрддрд╛рд░, рдЪреИрдирд▓ рдпрд╛ рд╕реЗрдорд╛рдлреЛрд░ рдореЗрдВ рд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддрд░рд╣, рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рдФрд░ рдЗрд╕реЗ
NUSE_BLOCKING_ENABLE рдкреНрд░рддреАрдХ рджреНрд╡рд╛рд░рд╛
nuse_config.h рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐
TRUE рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
NUSE_Task_Blocking_Return [] рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд░рд┐рдЯрд░реНрди рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ; рдпрд╣
NUSE_SUCCESS рдпрд╛
NUSE_MAILBOX_WAS_RESET рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдХрд╛рд░реНрдп рдмрдВрдж рдерд╛, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд░реАрд╕реЗрдЯ рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдЬрдм рд▓реЙрдХрд┐рдВрдЧ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛рдЙрдВрдЯрд░
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдХрд┐рддрдиреА рдмрд╛рд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдВрддрд┐рдо рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рдФрд░ рдЗрд╕реЗ
NUSE_SCHEDULE_COUNT_SUPPORT рдкреНрд░рддреАрдХ рджреНрд╡рд╛рд░рд╛
nuse_config.h рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐
TRUE рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ , рддреЛ
U16 рдЯрд╛рдЗрдк
NUSE_Task_Schedule_Count [] рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА
рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ , рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред
рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛
рдЬрдм рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдп рдмрдирддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рддреИрдпрд╛рд░ рдпрд╛ рд░реЛрдХрд╛ рдЧрдпрд╛ред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдХрд╛рд░реНрдп рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рддреИрдпрд╛рд░ рд╣реИрдВред
NUSE_INITIAL_TASK_STATE_SUPPORT рдкреНрд░рддреАрдХ рдХреЗ рд╕рд╛рде
nuse_config.h рдореЗрдВ рдЪрдпрдирд┐рдд рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд░рд╛рдЬреНрдп рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
NUSE_Task_Initial_State [] рд╕рд░рдгреА рдХреЛ
nuse_config.c рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛
рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрд╡реЗрджрди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП
NUSE_READY рдпрд╛
NUSE_PURE_SUSPEND рдХреЗ рдЖрд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдмрдЪрдд рдХрд╛ рдкреНрд░рд╕рдВрдЧ
рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░, рдЖрд░рдЯреАрд╕реА (рд░рди рдЯреВ рдХрдВрдкреНрд▓реАрд╢рди) рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд▓реЗрдЦ # 3 "рдЯрд╛рд╕реНрдХ рдФрд░ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ" рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдВрджрд░реНрдн рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ 32-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╕реНрдЯреИрдХреНрд╕ рдХрд╛ рдирд╣реАрдВред
ADDR рдкреНрд░рдХрд╛рд░ рдХрд╛ рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА
NUSE_Task_Context [] [] рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрдВрдХреНрддрд┐рдпрд╛рдБ
NUSE_TASK_NUMBER (рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рд╣реИрдВ, рд╕реНрддрдВрдн
NUSE_REGISTERS рд╣реИрдВ (рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░
nuse_types.h рдореЗрдВ рд╕реЗрдЯ рд╣реИ
) ред
рдмреЗрд╢рдХ, рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдХреЛрдб рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдирд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдФрд░ рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ (рдФрд░ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг) рд╕реЗ рдмрдВрдзрд╛ рдПрдХрдорд╛рддреНрд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛрдб рд╣реИред рдореИрдВ ColdFire рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡ / рд░рд┐рд╕реНрдЯреЛрд░ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдпрджреНрдпрдкрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдкреБрд░рд╛рдиреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХрд╛рд░рдг рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдбрд╛рдВрддрд░рдХ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХреЛрдбрд╛рдВрддрд░рдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЕрдиреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:

рдЬрдм рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдХреЛрдб NUSE_Context_Swap рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
NUSE_Task_Active , рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ, рдЬрд┐рд╕рдХрд╛ рд╕рдВрджрд░реНрдн рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
NUSE_Task_Next , рдЙрд╕ рдХрд╛рд░реНрдп рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдЬрд┐рд╕рдХрд╛ рд╕рдВрджрд░реНрдн рдЖрдк рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╡реИрд╢реНрд╡рд┐рдХ рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ)ред
рд╕рдВрджрд░реНрдн рд╕рдВрд░рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ:
- рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдП 0 рдФрд░ рдбреА 0 рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- A0 рдХреЛ рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ NUSE_Task_Context [] [] рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- D0 рдХреЛ NUSE_Task_Active рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ 72 рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (ColdFire рдореЗрдВ 18 рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП 72 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ);
- рддрдм D0 рдХреЛ A0 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдм рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ;
- рдлрд┐рд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдкрд╣рд▓реЗ A0 рдФрд░ D0 (рд╕реНрдЯреИрдХ рд╕реЗ), рдлрд┐рд░ D1-D7 рдФрд░ A1-A6 , рдлрд┐рд░ SR рдФрд░ рдкреАрд╕реА (рд╕реНрдЯреИрдХ рд╕реЗ, рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ), рдФрд░ рдЕрдВрдд рдореЗрдВ рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рди рдХреНрд░рдо рд╣реИ:
- A0 рдХреЛ рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ NUSE_Task_Context [] [] рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- D0 рдХреЛ NUSE_Task_Active , incremented рдФрд░ 72 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдХреЗ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдлрд┐рд░ D0 рдХреЛ A0 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдм рдирдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдЕрдиреБрдХреНрд░рдо рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рд░рд┐рд╡рд░реНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░ рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИ);
- рдлрд┐рд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ рд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░, рдлрд┐рд░ рдкреАрд╕реА рдФрд░ рдПрд╕рдЖрд░ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ D1-D7 рдФрд░ A1-A6 рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ D0 рдФрд░ A0 рдХреЗ рдЕрдВрдд рдореЗрдВред
рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рд░рд╛рдЬреНрдп рд░рдЬрд┐рд╕реНрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪ рдХрдИ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╣реИ (рдХреЛрд▓реНрдбрдлрд╝реЗрдпрд░ рдХреЗ рд▓рд┐рдП, рдпрд╣
рдПрд╕рдЖрд░ рд╣реИ )ред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рд░реБрдХрд╛рд╡рдЯ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдкреНрд░реЛрдЧреНрд░рд╛рдо рд░реБрдХрд╛рд╡рдЯ рдпрд╛ рд╕рд╢рд░реНрдд рд╢рд╛рдЦрд╛ рд░реБрдХрд╛рд╡рдЯ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг
рдПрд╕рдЖрд░ рдкреАрд╕реА рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдХ рдкрд░ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣реИ рдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛрд▓реНрдбрдлрд╛рдпрд░ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдХреНрд░реЛ
NUSE_CONTEXT_SWAP () рдХреЛ
nuse_types.h рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛
рдЧрдпрд╛ рд╣реИ , рдЬреЛ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рд╣реИ:
asm ("рдЯреНрд░реИрдк # 0");рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрдн рдХреЛрдб (
NUSE_Init_Task () nuse_init.c рдореЗрдВ ) рд╣реИ:

рдпрд╣ рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░,
рдкреАрд╕реА рдФрд░
рдПрд╕рдЖрд░ рдХрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рджреЛ рдХреЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛
nuse_config.c рдореЗрдВ
рджрд┐рдП рдЧрдП
рдорд╛рди рд╣реИрдВ ред
SR рдХрд╛ рдорд╛рди
nuse_STATUS_REGISTER рдЪрд░рд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ
nuse_types.h рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ColdFire рдХреЗ рд▓рд┐рдП, рдпрд╣ рдорд╛рди
0x40002000 рд╣реИ ред
рд╡реИрд╢реНрд╡рд┐рдХ рдбреЗрдЯрд╛
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдЕрдиреБрд╕реВрдЪрдХ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рд░реИрдо рдбреЗрдЯрд╛
рд╢реЗрдбреНрдпреВрд▓рд░ ROM рдореЗрдВ рд╕реНрдерд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ 2 рд╕реЗ 5 рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд░реИрдо рдореЗрдВ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ (рд╕рднреА
nuse_globals.c рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП
рдЬрд╛рддреЗ рд╣реИрдВ ), рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- NUSE_Task_Active - рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░ U8 рдХрд╛ рдПрдХ рдЪрд░;
- NUSE_Task_State - рдкреНрд░рдХрд╛рд░ U8 рдХрд╛ рдПрдХ рдЪрд░ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд╛рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреЛрдб рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдХрд╛рд░реНрдп, рдПрдХ рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдпрд╛ рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рд╕рдВрднрд╡ рдорд╛рди рд╣реИрдВ: NUSE_TASK_CONTEXT , NUSE_STARTUP_CONTEXT , NUSE_NISR_CONTEXT рдФрд░ NUSE_MISR_CONTEXT ;
- NUSE_Task_Saved_State - рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рд╡реНрдпрд╡рдзрд╛рди рдореЗрдВ NUSE_Task_State рдХреЗ рдорд╛рди рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ U8 рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░;
- NUSE_Task_Next - рдЕрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд░ U8 рдХрд╛ рдПрдХ рдЪрд░, рдЬрд┐рд╕реЗ RTC рдХреЗ рд╕рд╛рде рд╕рднреА рдЕрдиреБрд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
- NUSE_Time_Slice_Ticks - рдкреНрд░рдХрд╛рд░ U16 рдХрд╛ рдПрдХ рдЪрд░ рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рд╕реНрд▓рд╛рдЗрд╕ рдХрд╛ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИ; рдХреЗрд╡рд▓ рдЯреАрдПрд╕ рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдордпрдмрджреНрдзрдХ рдбреЗрдЯрд╛ рдкрджрдЪрд┐рд╣реНрди
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдЕрдиреБрд╕реВрдЪрдХ рд░реЛрдо рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ RAM рдбреЗрдЯрд╛ рдХреА рд╕рд╣реА рдорд╛рддреНрд░рд╛ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ:
- RTC рдХреЗ рд▓рд┐рдП - 2 рдмрд╛рдЗрдЯреНрд╕ ( NUSE_Task_Active рдФрд░ NUSE_Task_State );
- RR рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП - 4 рдмрд╛рдЗрдЯреНрд╕ ( NUSE_Task_Active , NUSE_Task_State , NUSE_Task_Saved_State рдФрд░ NUSE_Task_Next );
- TS рдХреЗ рд▓рд┐рдП, 6 рдмрд╛рдЗрдЯреНрд╕ ( NUSE_Task_Active , NUSE_Task_State , NUSE_Task_Saved_State , NUSE_Task_Next рдФрд░ NUSE_Time_Slice_Ticks )ред
рдЕрдиреНрдп рдирд┐рдпреЛрдЬрди рддрдВрддреНрд░реЛрдВ рдХрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ 4 рдЕрдиреБрд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ, рдЦреБрд▓реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЖрдкрдХреЛ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рдЕрд╡рд╕рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рдордп рдЯреБрдХрдбрд╝рд╛ рдХрд░рдиреЗ рдХреА рдХреНрд░рд┐рдпрд╛
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА
рд▓реЗрдЦ # 3, "рдХрд╛рд░реНрдп рдФрд░ рдирд┐рд░реНрдзрд╛рд░рдг" рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ
, рд╕рд░рд▓ рд╕рдордп рд╕реНрд▓рд╛рдЗрд╕ рдЯрд╛рдЗрдо рд╢реЗрдбреНрдпреВрд▓рд░ рдХреА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХрддрдо рд╕рдордп рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рд╡рд┐рдХрд▓реНрдк рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд░реБрдХреЗ рд╣реБрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рд╕реА рднреА рд╕реНрд▓реЙрдЯ рдкрд░ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рд╕реНрд▓реЙрдЯ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдореБрдХреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рд╕рдордп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд╕рд╛рде рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рд░рд╛рдЙрдВрдб рд░реЙрдмрд┐рди (RR)
рдЕрдзрд┐рдХрд╛рдВрд╢ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдХреЛрд░ рдореЗрдВ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЕрдиреБрд╕реВрдЪрдХ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд╡рд┐рдкрд░реАрдд рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реНрддрд░ рдкрд░ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЕрдиреВрдард╛ рд╕реНрддрд░ рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдмрд╛рдж рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЕрдиреБрд╕реВрдЪрдХ рдХреЛрдбред рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рд░реЛрдо рдФрд░ рд░реИрдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдХреЙрд▓рд┐рди рд╡рд╛рд▓реНрд╕ рддреАрд╕ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдЕрдм рдореЗрдВрдЯрд░ рдПрдВрдмреЗрдбреЗрдб (рдореЗрдВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рдЧ) рдореЗрдВ рдПрдХ рдлрд░реНрдорд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИред рдХреЙрд▓рд┐рди рд╡реЙрд▓реНрд╕ рдЕрдХреНрд╕рд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рд╕реЗрдорд┐рдирд╛рд░реЛрдВ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реИрдВ, рдХрдИ рддрдХрдиреАрдХреА рд▓реЗрдЦреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░ рджреЛ рдХрд┐рддрд╛рдмреЗрдВред рдмреНрд░рд┐рдЯреЗрди рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред
рдХреЙрд▓рд┐рди рдХрд╛ рдкреЗрд╢реЗрд╡рд░
рдмреНрд▓реЙрдЧ , рдИ-рдореЗрд▓: colin_walls@mentor.comред
рдЕрдиреБрд╡рд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рд▓реЗрдЦреЛрдВ рдХреА рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧ рд░рд╣реА рдереА рдХрд┐ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреБрд░рд╛рдиреЗ рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд▓реЗрдЦрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдУрдПрд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдкрд╛рдардХ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЦреБрдж
рд░реВрд╕реА рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреА рдЯреАрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реВрдВ, рдЬрд┐рд╕реЗ рд╣рдо
рдореБрдлреНрдд рдореЗрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ , рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рд╛рдЗрдХрд┐рд▓ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред