ููููุง ุนู ุชุนุฏุฏ ุงูู
ูุงู
ูู ู
ู ูุดุงุฑู ููู
ุง ุจุนุฏ ููู
ุ ุฃู ู
ู ุญุงูุฉ ุฅูู ุฃุฎุฑู ุ ูุดุงุฑู ูู ุจุฑู
ุฌุฉ ุฃุฏูุงุช ุงูุชุญูู
ุงูุฏูููุฉ ุ ุณูู ููุงุฌู ุงูุณุคุงู ุนุงุฌูุงู ุฃู
ุขุฌูุงู: ูู ูุฌุจ ุฃู ุฃุณุชุฎุฏู
ูุธุงู
ุชุดุบูู ู
ุชุนุฏุฏ ุงูู
ูุงู
ุ ููุฌุฏ ุงููุซูุฑ ู
ููู
ุนูู ุงูุดุจูุฉ ุ ูุงููุซูุฑ ู
ููู
ู
ุฌุงูู (ุฃู ุดุจู ู
ุฌุงูู). ููุท ุงุฎุชุฑ.
ุชูุดุฃ ุดููู ู
ู
ุงุซูุฉ ุนูุฏู
ุง ุชุตุงุฏู ู
ุดุฑูุนูุง ูุฌุจ ุนูู ุงูู
ุชุญููู
ุงูู
ุชุญูู
ููู ุชูููุฐ ุนุฏุฉ ุฅุฌุฑุงุกุงุช ู
ุฎุชููุฉ ูู ููุช ูุงุญุฏ. ุงูุจุนุถ ู
ููู
ุบูุฑ ู
ุชุตููู ุจุงูุขุฎุฑูู ุ ุจููู
ุง ุงูุจุงูู ุ ุนูู ุงูุนูุณ ู
ู ุฐูู ุ ูุง ูู
ูู ุฃู ูุฎูู ู
ู ุจุนุถูู
ุงูุจุนุถ. ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ูุฏ ูููู ููุงู ุงููุซูุฑ ู
ู ุงูุงุซููู. ู
ุง ูู "ุฃูุซุฑ ู
ู ุงููุงุฒู
" ูุนุชู
ุฏ ุนูู ู
ู ุณูููู
ุนู
ููุฉ ุงูุชุทููุฑ ุฃู ู
ู ุณูููู
ุจุชูููุฐูุง. ุญุณูุง ุ ุฅุฐุง ูุงู ูู ููุณ ุงูุดุฎุต.
ุจุฏูุงู ู
ู ุฐูู ุ ููู ููุณุช ู
ุณุฃูุฉ ูู
ูุฉ ุ ูููู ู
ุณุฃูุฉ ุงุฎุชูุงู ููุนู ูู ุงูู
ูุงู
ููู
ุง ูุชุนูู ุจุณุฑุนุฉ ุงูุชูููุฐ ุ ุฃู ุจุนุถ ุงูู
ุชุทูุจุงุช ุงูุฃุฎุฑู. ูุฏ ุชูุดุฃ ู
ุซู ูุฐู ุงูุฃููุงุฑ ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ุนูุฏู
ุง ูุญุชุงุฌ ุงูู
ุดุฑูุน ุฅูู ู
ุฑุงูุจุฉ ุฌูุฏ ุงูุฅู
ุฏุงุฏ ุจุงูุชุธุงู
(ูู ูู ู
ูููุฏุ) ุ ุบุงูุจูุง ู
ุง ููุฑุฃ ููุญูุธ ููู
ูู
ูุงุช ุงูู
ุฏุฎูุงุช (ูุง ุชุนุทู ุฑุงุญุฉ) ุ ูู
ุฑุงูุจุฉ ุฏุฑุฌุฉ ุงูุญุฑุงุฑุฉ ุฃุญูุงููุง ูุงูุชุญูู
ูู ุงูู
ุฑูุญุฉ (ูุง ููุฌุฏ ุดูุก ููุชููุณ) ุ ุชุญูู ู
ู ุดุงูุฏ ู
ุน ุดุฎุต ุชุซู ุจู (ู
ู ุงูุฌูุฏ ูู ุฃู ุชุชููู ุฃู
ุฑู) ุ ูุงูุจูุงุก ุนูู ุงุชุตุงู ู
ุน ุงูู
ุดุบู (ุญุงูู ุฃูุง ุชููุฌู) ุ ูุงูุชุญูู ู
ู ุงูู
ุฌู
ูุน ุงูุงุฎุชุจุงุฑู ููุฐุงูุฑุฉ ุงูุฏุงุฆู
ุฉ ููุจุฑูุงู
ุฌ ุจุญุซูุง ุนู ุงูุฎุฑู (ุนูุฏ ุชุดุบููู ุ ุฃู ู
ุฑุฉ ูุงุญุฏุฉ ูู ุงูุฃุณุจูุน ุ ุฃู ูู ุงูุตุจุงุญ).
ูู
ูู ุฃู ุชููู ูุฐู ุงูู
ูุงู
ุบูุฑ ุงูู
ุชุฌุงูุณุฉ ู
ุจุฑู
ุฌุฉ ูุฐุงุช ู
ุบุฒู ูุจูุฑูุง ุ ู
ุนุชู
ุฏุฉ ุนูู ู
ูู
ุฉ ุฎูููุฉ ูุงุญุฏุฉ ููุงุทุน ู
ุคูุช. ูู ู
ุนุงูุฌ ูุฐู ุงูู
ูุงุทุนุงุช ุ ูู ูู ู
ุฑุฉ ูุชู
ุชูููุฐ ูุงุญุฏุฉ ู
ู "ูุทุน" ุงูู
ูู
ุฉ ุงูุชุงููุฉ. ุงุนุชู
ุงุฏูุง ุนูู ุงูุฃูู
ูุฉ ุฃู ุงูุฅูุญุงุญ ุฃู ุงูุงุนุชุจุงุฑุงุช ุงูู
ู
ุงุซูุฉ ุ ุบุงูุจูุง ู
ุง ุชุชูุฑุฑ ูุฐู ุงูุชุญุฏูุงุช ูู ุจุนุถ ุงูู
ูุงู
ุ ูููู ูุงุฏุฑูุง ู
ุง ุชููู ูุจุนุถ ุงูู
ูุงู
ุงูุฃุฎุฑู. ูู
ุน ุฐูู ุ ูุฌุจ ุนูููุง ุงูุชุฃูุฏ ู
ู ุฃู ูู ู
ูู
ุฉ ุชููู
ุจุฌุฒุก ูุตูุฑ ู
ู ุงูุนู
ู ุ ุซู
ุชุณุชุนุฏ ููุฌุฒุก ุงูุตุบูุฑ ุงูุชุงูู ู
ู ุงูุนู
ู ุ ูู
ุง ุฅูู ุฐูู. ูุฐุง ุงูููุฌ ุ ุฅุฐุง ุงุนุชุฏุช ุนููู ุ ูุง ูุจุฏู ู
ุนูุฏูุง ููุบุงูุฉ. ูุญุฏุซ ุงูุฅุฒุนุงุฌ ุนูุฏู
ุง ุชุฑูุฏ ุฅูุดุงุก ู
ุดุฑูุน. ุฃู ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ููู ูุฌุฃุฉ ุฅูู ุขุฎุฑ. ุชุฌุฏุฑ ุงูุฅุดุงุฑุฉ ุฅูู ุฃู ุงูุซุงููุฉ ุบุงูุจุง ู
ุง ุชููู ุฃูุซุฑ ุตุนูุจุฉ ูุฏูู ุฃู ู
ูู
ุฉ ููู
ูุฉ ูุซูุฑุฉ.
ูููู ู
ุงุฐุง ูู ููุช ุชุณุชุฎุฏู
ูุธุงู
ุชุดุบูู ุฌุงูุฒ ูุฃุฏูุงุช ุงูุชุญูู
ุงูุฏูููุฉุ ุจุงูุชุฃููุฏ ุ ูุซูุฑ ููุนููู ุฐูู. ูุฐุง ุฎูุงุฑ ุฌูุฏ. ููู ู
ุคูู ูุฐู ุงูุณุทูุฑ ุ ุญุชู ุงูุขู ุ ูุงู ููุง ูุฒุงู ู
ุณุชู
ุฑุงู ุจุณุจุจ ููุฑุฉ ุฃูู ุณูููู ู
ู ุงูุถุฑูุฑู ููู
ุฐูู ุ ุจุนุฏ ูุถุงุก ุงููุซูุฑ ู
ู ุงูููุช ุ ุงุฎุชุฑ ู
ู ุจูู ู
ุง ุชู
ููุง ู
ู ุงูุญุตูู ุนููู ูุงุณุชุฎุฏุงู
ู
ุง ูู ู
ุทููุจ ุจุงููุนู ููุท ู
ู ูุฐุง. ูุงูุนู ูู ูุฐุง ุ ู
ุงูุน ูู ุ ุงูุฎูุถ ูู ุฑู
ุฒ ุดุฎุต ุขุฎุฑ! ูููุณ ููุงู ูููู ู
ู ุฃูู ูู ุบุถูู ุณุชุฉ ุฃุดูุฑ ูู ูุชูุฑุฑ ูุฐุง ุงูุฃู
ุฑ ุ ูุฃูู ุณูุชู
ูุณูุงูู.
ุจู
ุนูู ุขุฎุฑ ุ ูู
ุงุฐุง ุชุญุชุงุฌ ุฅูู ู
ุฌู
ูุนุฉ ูุงู
ูุฉ ู
ู ุงูุฃุฏูุงุช ูุงูุชุฑููุจุงุช ุฅุฐุง ุชู
ุชุฎุฒูู ุฏุฑุงุฌุฉ ูุงุณุชุฎุฏุงู
ูุง ููุงูุ
ูุฐูู ุ ูุงูุช ููุงู ุฑุบุจุฉ ูู ุฅุฌุฑุงุก ู
ูุงู
"ุชุจุฏูู" ุจุณูุทุฉ ู
ู ุฃุฌู Cortex-M4 ููุท (ุฑุจู
ุง ุ ุญุชู ุจุงููุณุจุฉ ุฅูู M3 ู M7). ููู ุงูุฑุบุจุฉ ุงููุฏูู
ุฉ ุงูุฌูุฏุฉ ูู ุนุฏู
ุชูุชูุฑ ุงููุซูุฑ ูู
ุชุฎุชู.
ูุฐูู ุ ูุญู ููุนู ุฃุจุณุท. ูุดุงุฑู ุนุฏุฏ ุตุบูุฑ ู
ู ุงูู
ูุงู
ููุช ุงูุชูููุฐ ุจุงูุชุณุงูู. ูู
ุง ูู ุงูุดูู 1 ุฃุฏูุงู ุ ุชููู
ุฃุฑุจุน ู
ูุงู
ุจุฐูู. ุฏุน ุงูุนูุตุฑ ุงูุฑุฆูุณู ุตูุฑุงู ุ ูุฃูู ู
ู ุงูุตุนุจ ุชุฎูู ุงูุขุฎุฑ.

ู
ู ุฎูุงู ุงูุนู
ู ุจูุฐู ุงูุทุฑููุฉ ุ ูุชู
ุถู
ุงู ุญุตูููู
ุนูู ุงููุงุตู ุงูุฒู
ูู ุฃู ุงููุชุฑุฉ ุงูุฒู
ููุฉ (ุงููุฑุงุฏ) ููุง ููุทูุจ ู
ููู
ู
ุนุฑูุฉ ูุฌูุฏ ู
ูุงู
ุฃุฎุฑู. ุณุชุญุตู ูู ู
ูู
ุฉ ุจุงูุถุจุท ุจุนุฏ 3 ุนูุงู
ุงุช ุนูู ูุฑุตุฉ ููููุงู
ุจุดูุก ู
ุง.
ูููู ุ ู
ู ูุงุญูุฉ ุฃุฎุฑู ุ ุฅุฐุง ูุงูุช ุฃู ู
ู ุงูู
ูุงู
ู
ุทููุจุฉ ูุงูุชุธุงุฑ ุญุฏุซ ุฎุงุฑุฌู ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ุงูุถุบุท ุนูู ุฒุฑ ุ ูุณูู ุชุถูุน ุจุบุจุงุก ููุชูุง ุซู
ูููุง ู
ู ู
ุชุญูู
ูุง. ูุง ูู
ูููุง ุฃู ูุชูู ู
ุน ูุฐุง. ููุฏููุง ุงูุถูุฏุน (ุงูุถู
ูุฑ) - ุฃูุถุง. ูุฌุจ ุงูููุงู
ุจุดูุก ู
ุง.
ูุฏุน ุงูู
ูู
ุฉ ุ ุฅุฐุง ูู
ููู ูุฏููุง ู
ุง ุชูุนูู ุญุชู ุงูุขู ุ ุฅุนุทุงุก ุงูููุช ุงูู
ุชุจูู ู
ู ุงููุฑุงุฏ ุฅูู ุฑูุงููุง ุ ุงูุฐูู ุนูู ุงูุฃุฑุฌุญ ูุญุฑุซูู ุจูู ููุชูู
.
ุจู
ุนูู ุขุฎุฑ ุ ุงูู
ุดุงุฑูุฉ ุถุฑูุฑูุฉ. ุฏุน ุงูู
ูู
ุฉ 2 ุชูุนู ุฐูู ุชู
ุงู
ูุง ุ ูู
ุง ูู ุงูุดูู 2.

ููู
ุงุฐุง ูุง ููุณู
ุญ ููู
ูู
ุฉ ุงูุฃุณุงุณูุฉ ูู ุงูุฎูููุฉ ุจุงูุชุฎูู ุนู ุจููุฉ ุงูููุช ุ ุฅุฐุง ุธู ุนููู ุงูุงูุชุธุงุฑุ ููุณู
ุญ ุจุฐูู. ูู
ุง ูู ู
ุจูู ูู ุงูุดูู 3.

ูุฅุฐุง ููุช ุชุนุฑู ุฃู ุจุนุถ ุงูู
ูุงู
ูู ุชุชุทูุจ ู
ูู ูุฑูุจูุง ุงูุชุญูู ู
ู ุดูุก ู
ุง ุฃู ุงูุนู
ู ููุทุ ููุฏ ุชุณู
ุญ ูููุณูุง ุจููุฉ ููู
ูุง ุ ูุจุฏูุงู ู
ู ุฐูู ุณุชุถูุน ููุชูุง ูุชุญุช ูุฏู
ูุง. ููุณ ุฃู
ุฑ ุ ูุฅูู ูุญุชุงุฌ ุฅูู ุฅุตูุงุญ. ุฏุน ุงูู
ูู
ุฉ 3 ุชููุช ูุทุนุฉ ูุงุญุฏุฉ ู
ู ููุชูุง (ุฃู ุฃูู). ูู
ุง ูู ู
ุจูู ูู ุงูุดูู 4.

ุญุณููุง ุ ูู
ุง ูุฑู ุ ุญุฏุฏูุง ุงูุชุนุงูุด ุงูุนุงุฏู ุจูู ุงูู
ูุงู
ุฃู ุดูุก ู
ู ูุฐุง ุงููุจูู. ูุฌุจ ุนูููุง ุงูุขู ุฌุนู ู
ูุงู
ูุง ุงููุฑุฏูุฉ ุชุชุตุฑู ุนูู ุงููุญู ุงูู
ูุตูุต ุนููู. ูุฅุฐุง ุญุงูููุง ุชูููู
ุงูููุช ุ ููุฌุจ ุฃู ูุชุฐูุฑ ูุบุฉ ุฐุงุช ู
ุณุชูู ู
ูุฎูุถ (ูุณุช ุฎุงุฆููุง ู
ู ุชุฌู
ูุน ุงูููู
ุงุช) ููุง ุฃุซู ุชู
ุงู
ูุง ูู ุงูู
ุชุฑุฌู
ู
ู ุฃู ูุบุฉ ุฃู ู
ุณุชูู ุนุงูู ุฃู ู
ุฑุชูุน ุฌุฏูุง. ูู ุงููุงูุน ุ ูู ุฃุนู
ุงู ูููุจูุง ุ ูุญู ุจุญุฒู
ุถุฏ ูู ุงูุชุจุนูุฉ. ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ุญูููุฉ ุฃููุง ูุณูุง ุจุญุงุฌุฉ ุฅูู ุฃู ุฃุฏุงุฉ ุชุฌู
ูุน ุ ูููู ููุท ู
ู Cortex-M4 ุ ุชุนู
ู ุนูู ุชุจุณูุท ุญูุงุชูุง.
ุจุงููุณุจุฉ ููู
ูุฏุณ ุ ูุฎุชุงุฑ ู
ูุทูุฉ ูุงุญุฏุฉ ู
ุดุชุฑูุฉ ู
ู ุฐุงูุฑุฉ ุงููุตูู ุงูุนุดูุงุฆู ุชู
ูุฃ ุ ุฃู ูู ุงุชุฌุงู ุชูููู ุนูุงููู ุงูุฐุงูุฑุฉ. ูู
ุงุฐุงุ ููุท ูุฃูู ูุง ูุนู
ู ุจุดูู ู
ุฎุชูู. ุณููุณู
ูุฐู ุงูู
ูุทูุฉ ุงููุงู
ุฉ ุนูููุงู ุฅูู ุฃูุณุงู
ู
ุชุณุงููุฉ ููููุง ูุนุฏุฏ ุงูุญุฏ ุงูุฃูุตู ุงูู
ุนูู ูู
ูุงู
ูุง. ููุถุญ ุงูุดูู 5 ูุฐุง ูุฃุฑุจุน ู
ูุงู
.

ุจุนุฏ ุฐูู ุ ูุฎุชุงุฑ ุงูู
ูุงู ุงูุฐู ุณูุฎุฒู ููู ูุณุฎ ู
ู ู
ุคุดุฑุงุช ุงูู
ูุฏุณ ููู ู
ูู
ุฉ. ุงูุขู ุ ู
ู ุฎูุงู ุงูู
ูุงุทุนุฉ ู
ู ุงูู
ุคูุช ุ ูุงูุชู ูุฃุฎุฐูุง ูุฌูุงุฒ ุชูููุช ูููุธุงู
ุ ูููู
ุจุญูุธ ุฌู
ูุน ุณุฌูุงุช ุงูู
ูู
ุฉ ุงูุญุงููุฉ ูู ู
ูุทูุฉ ู
ูุฏุณูุง (ุณุฌู SP ูุดูุฑ ุงูุขู ุฅูู ููุงู) ุ ุซู
ูุญูุธ ู
ุคุดุฑ ู
ูุฏุณู ูู ู
ูุงู ุฎุงุต (ูุญูุธ ููู
ุชู) ุ ูุญุตู ุนูู ู
ุคุดุฑ ู
ูุฏุณ ุงูู
ูู
ุฉ ุงูุชุงููุฉ ( ุฅุฑุณุงู ููู
ุฉ ุฌุฏูุฏุฉ ุฅูู ุงูุณุฌู SP) ู
ู ู
ูุงููุง ุงูุฎุงุต ูุงุณุชุนุงุฏุฉ ุฌู
ูุน ุณุฌูุงุชู. ูุดุงุฑ ุงูุขู ูุณุฎูู
ู
ู ูุจู ุณุฌู SP ู
ูู
ุชูุง ุงููุงุฏู
ุฉ. ุญุณูุง ุ ูุญู ูุฎุฑุฌ ู
ู ุงูู
ูุงุทุนุฉ ุ ุจุงูุทุจุน. ุนูุงูุฉ ุนูู ุฐูู ุ ูุธูุฑ ุงูุณูุงู ุงููุงู
ู ููู
ูู
ุฉ ุงูุชุงููุฉ ูู ุงููุงุฆู
ุฉ ูู ุงูุณุฌูุงุช.
ุฑุจู
ุง ุ ุณูููู ู
ู ุบูุฑ ุงูุถุฑูุฑู ุงูููู ุฃู ุงูุชุงูู ุจุนุฏ ุงูู
ูู
ุฉ 3 ูู ูุงุฆู
ุฉ ุงูุงูุชุธุงุฑ ุณูููู ุฑุฆูุณููุง. ูููุณ ู
ู ุงูุถุฑูุฑู ุ ุจุงูุทุจุน ุ ุฃู ูุชุฐูุฑ ุฃู Cortex-M4 ูุญุชูู ุจุงููุนู ุนูู ู
ุคูุช SysTick ูู
ูุงุทุนุฉ ุฎุงุตุฉ ู
ูู ุ ููุนุฑู ุงููุซูุฑ ู
ู ู
ุตูุนู ู
ุชุญูู
ุฏููู ุนู ุฐูู. ุณูู ูุณุชุฎุฏู
ูุง ููุฐุง ุงูุงููุทุงุน ุนูู ุงููุญู ุงูู
ูุดูุฏ.
ู
ู ุฃุฌู ุจุฏุก ู
ุคูุช ุงููุธุงู
ูุฐุง ุ ููุฐูู ุฅุฌุฑุงุก ุฌู
ูุน ุงูุฃุนู
ุงู ุงูุชุญุถูุฑูุฉ ูุงูุชุญููุงุช ุงููุงุฒู
ุฉ ุ ูุฌุจ ุนููู ุงุณุชุฎุฏุงู
ุงูุฅุฌุฑุงุก ุงูู
ุฎุตุต ููุฐุง ุงูุบุฑุถ.
U8 main_start_task_switcher(void);
ููุฑุฌุน ูุฐุง ุงูุฑูุชูู 0 ูู ุญุงูุฉ ู
ุฑูุฑ ุฌู
ูุน ุนู
ููุงุช ุงูุชุญูู ุฃู ุฑู
ุฒ ุฎุทุฃ ูู ุญุงูุฉ ุญุฏูุซ ุฎุทุฃ ู
ุง. ูุชู
ุชุญุฏูุฏู ุ ุจุดูู ุฃุณุงุณู ุ ู
ุง ุฅุฐุง ูุงู ุงูููู
ุฉ ู
ุญุงุฐุงุฉ ุจุดูู ุตุญูุญ ูู
ุง ุฅุฐุง ูุงูุช ููุงู ู
ุณุงุญุฉ ูุงููุฉ ูุฐูู ุ ููุฐูู ุชู
ุชูุฆ ุฌู
ูุน ุงูุฃู
ุงูู ุงูุฎุงุตุฉ ุจูุง ุจุงูููู
ุงูุฃูููุฉ. ุจุงุฎุชุตุงุฑ ุ ุงูู
ูู.
ุฅุฐุง ุฃุฑุงุฏ ุดุฎุต ู
ุง ุฅููุงุก ูุธุฑุฉ ุนูู ูุต ุงูุจุฑูุงู
ุฌ ุ ูุณูุชู
ูู ู
ู ุงูููุงู
ุจุฐูู ูู ููุงูุฉ ุงูุณุฑุฏ ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ ู
ู ุฎูุงู ุงูุจุฑูุฏ ุงูุดุฎุตู.
ูุนู
ุ ููุฏ ูุณูุช ุชู
ุงู
ูุง ุนูุฏู
ุง ูุฃุฎุฐ ุณุฌูุงุช ุงูู
ูู
ุฉ ุงูุชุงููุฉ ู
ู ุงูุชุฎุฒูู ูุฃูู ู
ุฑุฉ ูู ุญูุงุชูุง ุ ูู
ู ุงูุถุฑูุฑู ุฃู ุชุญุตู ุนูู ููู
ุฃุตููุฉ ุฐุงุช ู
ุนูู. ูุญูุซ ุฅููุง ุณุชููู
ุจุฅุญุถุงุฑูู
ู
ู ูุณู
ุงูู
ูุฏุณ ุงูุฎุงุต ุจูุง ุ ูุฃูุช ุจุญุงุฌุฉ ุฅูู ูุถุนูู
ู
ุณุจูุงู ูุชุญุฑูู ู
ุคุดุฑ ู
ูุฏุณูุง ุจุญูุซ ูููู ู
ูุงุฆู
ูุง. ููุฐุง ูุญู ุจุญุงุฌุฉ ุฅูู ุฅุฌุฑุงุก
U8 task_run_and_return_task_number(U32 taskAddress);
ุฅูู ูุฐุง ุงูุฑูุชูู ุงููุฑุนู ุ ูููู
ุจุงูุฅุจูุงุบ ุนู ุนููุงู 32 ุจุช ูุจุฏุงูุฉ ู
ูู
ุชูุง ุงูุชู ูุฑูุฏ ุชุดุบูููุง. ููู (ุงูุฑูุชูู ุงููุฑุนู) ุชุฎุจุฑูุง ุจุนุฏุฏ ุงูู
ูู
ุฉ ุ ุงูุชู ุชุญููุช ูู ุฌุฏูู ุนุงู
ุฎุงุต ุ ุฃู 0 ุฅุฐุง ูู
ููู ููุงู ู
ุณุงุญุฉ ูู ุงูุฌุฏูู. ุจุนุฏ ุฐูู ุ ูู
ูููุง ุชุดุบูู ู
ูู
ุฉ ุฃุฎุฑู ุ ุซู
ู
ูู
ุฉ ุฃุฎุฑู ุ ุนูู ุงูุฑุบู
ู
ู ุฃู ุงูุซูุงุซุฉ ุฌู
ูุนูู
ุฅุถุงูุฉ ุฅูู ู
ูู
ุชูุง ุงูุฑุฆูุณูุฉ ุงูุชู ูุง ุชูุชูู ุฃุจุฏูุง. ูู ุชุนุทููุง ุฃู ุฑูู
ุตูุฑู ูุฃู ุดุฎุต.
ุจุถุน ููู
ุงุช ุนู ุงูุฃููููุงุช. ูุงูุช ุงูุฃููููุฉ ุงูุฑุฆูุณูุฉ ููุง ุชุฒุงู ุนุฏู
ุฒูุงุฏุฉ ุชุญู
ูู ุงููุงุฑุฆ ุจุชูุงุตูู ุบูุฑ ุถุฑูุฑูุฉ.
ูููู ุนูู ู
ุญู
ู ุงูุฌุฏ ุ ูุฌุจ ุฃู ูุชุฐูุฑ ุฃู ููุงู ุงููุทุงุนุงุช ู
ู ุงูู
ูุงูุฐ ุงูุชุณูุณููุฉ ุ ู
ู ุนุฏุฉ ุงุชุตุงูุงุช SPI ุ ู
ู ู
ุญูู ุชู
ุซููู ุฅูู ุฑูู
ู ุ ูู
ู ู
ุคูุช ุขุฎุฑ ุ ุจุนุฏ ูู ุดูุก. ูู
ุงุฐุง ุณูุญุฏุซ ุฅุฐุง ููุง ููุชูู ุฅูู ู
ูู
ุฉ ุฃุฎุฑู (ุณูุงู ุงูุชุจุฏูู) ุนูุฏู
ุง ูููู ูู ููุน ู
ู ุงูู
ูุงุทุนุฉ. ุจุนุฏ ูู ุดูุก ุ ูู ุชููู ูุฐู ู
ูู
ุฉ ู
ุดุฑูุนุฉ ุ ูููู ุชูุชู ู
ุคูุช ููุจุฑูุงู
ุฌ. ูุณูู ูุญุงูุธ ุนูู ูุฐุง ุงูุณูุงู ุงูุบุฑูุจ ูููุน ู
ู ุงูู
ูู
ุฉ. ุณูููู ููุงู ุงุฑุชุจุงู: ุทูู ูุง ูุฑุจุท ุ ูุง ูุตูุญ ุงูุบุทุงุก. ุชููู ุ ูุง ุ ูุฐุง ู
ู ูุตุฉ ู
ุฎุชููุฉ.
ูู ุญุงูุชูุง ุ ูุฐุง ุจุจุณุงุทุฉ ูุง ูู
ูู ุงูุณู
ุงุญ ุจู. ูุฌุจ ุฃูุง ูุณู
ุญ ููุง ุจุชุจุฏูู ุงูุณูุงู ุฃุซูุงุก ู
ุนุงูุฌุฉ ุงูู
ูุงุทุนุฉ ุบูุฑ ุงูู
ุฎุทุท ููุง. ููู
ุง ููู ุฃููููุงุช ูุฐุง. ุนูููุง ููุท ุงูุงูุชุธุงุฑ ููููุงู ุ ูุนูุฏูุง ููุท ุ ุนูุฏู
ุง ุชูุชูู ูุฐู ุงูุฌุฑุฃุฉ ุบูุฑ ุงูู
ุณุจููุฉ ุ ุงูุชูู ุจูุฏูุก ุฅูู ู
ูู
ุฉ ุฃุฎุฑู. ุจุงุฎุชุตุงุฑ ุ ูุฌุจ ุฃู ุชููู ุฃููููุฉ ู
ูุงุทุนุฉ ุชุจุฏูู ุงูู
ูุงู
ุงูุฎุงุตุฉ ุจูุง ุฃุถุนู ู
ู ุฃููููุฉ ุฃู ู
ู ุงูู
ูุงุทุนุงุช ุงูุฃุฎุฑู ุงูู
ุณุชุฎุฏู
ุฉ. ูุฐุง ุ ุจุงูู
ูุงุณุจุฉ ุ ูุชู
ุฃูุถูุง ูู ุฅุฌุฑุงุก ุจุฏุก ุงูุชุดุบูู ุงูุฎุงุต ุจูุง ุ ูููุงู ูุชู
ุชุซุจูุชู ุ ููู ุงูุฃูุซุฑ ุนุฏู
ุฃููููุฉ ุนูู ุงูุฅุทูุงู.
ูู
ุฃูู ุฃุฑุบุจ ูู ุงูุชุญุฏุซ ุ ููู ูุงู ุนูู ุฃู ุฃุชุญุฏุซ. ูุดุชู
ู ู
ุนุงูุฌูุง ุนูู ูุถุนูู ููุชุดุบูู: ู
ุชู
ูุฒ ูุบูุฑ ู
ุชู
ูุฒ. ูุฃูุถูุง ุณุฌููู ูู
ุคุดุฑ ุงูู
ูุฏุณ:
SP ุงูุฑุฆูุณูุฉ ูุนู
ููุฉ SP. ูุฐูู ุ ูู ูุชุจุงุฏู ุงูุชุงูู ุ ุณูุณุชุฎุฏู
ุงููุถุน ุงูู
ู
ูุฒ ููุท ูู
ุคุดุฑ ุงูู
ูุฏุณ ุงูุฑุฆูุณู ููุท. ุนูุงูุฉ ุนูู ุฐูู ุ ุชู
ุฅุนุทุงุก ูู ูุฐุง ุจุงููุนู ูู ุจุฏุงูุฉ ูุญุฏุฉ ุงูุชุญูู
. ูุฐูู ุ ูุญู ูุณูุง ููุท ุชุนููุฏ ุญูุงุชูุง.
ูุจูู ุฃู ูุชุฐูุฑ ุฃู ูู ู
ูู
ุฉ ุ ุจุงูุชุฃููุฏ ุ ุชุฑุบุจ ูู ุฃู ุชููู ูุงุฏุฑุฉ ุนูู ุฅููุงุก ูู ุดูุก ุนูู ุงูุฌุญูู
ูููููุฉ ุงูุงุณุชุฑุฎุงุก. ููุฐุง ูู
ูู ุฃู ูุญุฏุซ ูู ุฃู ููุช ุฎูุงู ููู
ุงูุนู
ู ุ ุฃู ุฎูุงู ุงููุฑุงุฏ. ูููุฑ Cortex-M4 ูู
ุซู ูุฐู ุงูุญุงูุงุช ุฃู
ุฑ ุชุฌู
ูุน ุฎุงุต SVC ุ ูุงูุฐู ุณูู ูุชููู ู
ุน ู
ููููุง. ุฅูู ูุคุฏู ุฅูู ู
ูุงุทุนุฉ ุชุคุฏู ุจูุง ุฅูู ุงููุฏู. ูุณูุณู
ุญ ููู
ูู
ุฉ ููุณ ููุท ุจู
ุบุงุฏุฑุฉ ู
ูุงู ุงูุนู
ู ุจุนุฏ ุงูุบุฏุงุก ุ ูููู ููุณ ููู
ุฌูุก ุบุฏุง. ูู
ุงุฐุง ุ ุฏุนูุง ุชุฃุชู ุจุนุฏ ุงูุนุทูุฉ. ูุฅุฐุง ูุฒู
ุงูุฃู
ุฑ ุ ูุฏุนู ูุฃุชู ุนูุฏู
ุง ููุชูู ุงูุฅุตูุงุญ ุฃู ูุง ูุฃุชู ุนูู ุงูุฅุทูุงู. ููููุงู
ุจุฐูู ุ ููุงู ุฅุฌุฑุงุก ูู
ูู ุฃู ุชุณุจุจู ุงูู
ูู
ุฉ ููุณูุง.
void release_me_and_set_sleep_period(U32 ticks);
ูุญุชุงุฌ ูุฐุง ุงูุฑูุชูู ููุท ููุฅุดุงุฑุฉ ุฅูู ุนุฏุฏ ุงููุฑุงุฏ ุงูู
ุฎุทุท ููุฑุงุญุฉ. ุฅุฐุง ูุงูุช ุงูููู
ุฉ 0 ุ ููู
ููู ููุท ุงุณุชุฑุงุญุฉ ุจููุฉ ุงูุนูุงู
ุฉ ุงูุญุงููุฉ. ุฅุฐุง ูุงูุช 0xFFFFFFFF ุ ูุฅู ุงูู
ูู
ุฉ "ุชูุงู
" ุญุชู ูุณุชููุธ ุดุฎุต ู
ุง. ุชุดูุฑ ุฌู
ูุน ุงูุฃุฑูุงู
ุงูุฃุฎุฑู ุฅูู ุนุฏุฏ ุงูุนูุงู
ุงุช ุงูุชู ุณุชููู ุฎูุงููุง ุงูู
ูู
ุฉ ูู ุญุงูุฉ ููู
.
ุญุชู ูุชุณูู ูุดุฎุต ุขุฎุฑ ุฃู ูุณุชููุธ ุงูู
ูู
ุฉ ู
ู ุงูุฌุงูุจ ุฃู ูุฌุนูู ููุงู
ุ ุงุถุทุฑุฑุช ุฅูู ุฅุถุงูุฉ ู
ุซู ูุฐู ุงูุฅุฌุฑุงุกุงุช.
void task_wake_up_action(U8 taskNumber); void set_task_sleep_period(U8 taskNumber, U32 ticks);
ู ุ ููุท ูู ุญุงูุฉ ุ ุญุชู ู
ุซู ูุฐุง ุงูุฑูุชูู ุงููุฑุนู.
void task_remove_action(U8 taskNumber);
ุชุญุฏุซ ุชูุฑูุจูุง ุ ุชุดุทุจ ู
ูู
ุฉ ู
ู ูุงุฆู
ุฉ ุงูู
ูุธููู. ุจุตุฑุงุญุฉ ุ ูุง ุฃุนุฑู ุญุชู ุงูุขู ุณุจุจ ูุชุงุจุชูุง. ูุฌุฃุฉ ุชุฃุชู ูู ู
ุชูุงูู ุงููุฏููุ
ููุฏ ุญุงู ุงูููุช ูุฅุธูุงุฑ ููู ูุจุฏู ุงูู
ูุงู ุงูุฐู ูุชู
ููู ุงุณุชุจุฏุงู ู
ูู
ุฉ ู
ุง ุจู
ูู
ุฉ ุฃุฎุฑู ุ ุฃู ุงูุชุจุฏูู ููุณู.
ููุท ูู ุงูุญุงูุฉ ุ ุฏุนูุง ูุชุฐูุฑ ุฃู ุจุนุถ ุงูุณุฌูุงุช ุ ุนูุฏ ุงูุฏุฎูู ุฅูู ุงูู
ูุงุทุนุฉ ุ ูุชู
ุญูุธูุง ุนูู ุงูู
ูุฏุณ ุฏูู ู
ุดุงุฑูุชูุง ุ ุชููุงุฆููุง (ูู
ุง ูู ู
ุนุชุงุฏ ูู Cortex-M4). ูุฐูู ุ ูุญู ุจุญุงุฌุฉ ููุท ูุฅููุงุฐ ุงูุจุงูู. ูุฐุง ูู
ูู ุฃู ููุธุฑ ุฅููู ุฃุฏูุงู. ูุง ุชูุฒุนุฌ ู
ู
ุง ุชุฑุงู ุ ููุฐู ูู ุฅุฑุดุงุฏุงุช ู
ุฌู
ูุน Cortex-M4 (M3 ุ M7) ุ ูู
ุง ูู ู
ูุถุญ ูู ุทุงููุฉ ุนู
ู IAR Embedded.
ุฃููุฆู ุงูุฐูู ูู
ููุงุฌููุง ุจุนุฏ ุชุนููู
ุงุช ุงูุชุฌู
ูุน ุ ููุท ุตุฏูููู ุ ูู
ูุจุฏูู ููุฐุง ุจุงููุนู ูุฐู ูู ุงูุฌุฒูุฆุงุช ุงูุชู ุชุดูู ุฃู ุจุฑูุงู
ุฌ ุชุญุช ARM Cortex-M4.
SysTick_Handler STMDB SP!,{R4-R11} ; LDR R0,=timersTable ; LDR R1,=stacksTable ; LDR R2,[R0] ;R2 () STR SP,[R1,R2,LSL #2] ; SP (R2 * 4) __st_next_check ADD R2,R2,#1 ; CMP R2,#TASKS_LIMIT ;R2-TASKS_LIMIT BLO __st_no_border_yet ; MOV R2,#0 ; (main) LDR R3,[R1] ; main SP MOV SP,R3 B __st_timer_ok __st_no_border_yet ;; LDR SP,[R1,R2,LSL #2] ; (errata Cortex M4) ;; CMP SP,#0 ; LDR R3,[R1,R2,LSL #2] ; SP CMP R3,#0 ; =0 BEQ __st_next_check MOV SP,R3 LDR R3,[R0,R2,LSL #2] ; suspend timer CBZ R3,__st_timer_ok ; 0 , ; CMP R3,#0xFFFFFFFF ; , BEQ __st_next_check SUB R3,R3,#1 ; 1 STR R3,[R0,R2,LSL #2] ; suspend timer B __st_next_check __st_timer_ok STR R2,[R0] ; LDMIA SP!,{R4-R11} ; R4-R11 BX LR
ุชุจุฏู ู
ุนุงูุฌุฉ ุงูู
ูุงุทุนุฉ ุงูุชู ุทูุจุชูุง ุงูู
ูู
ุฉ ููุณูุง ุนูุฏู
ุง ุชูุฑุฌุน ุจููุฉ ุนูุงู
ุฉ ุงูุชุฌุฒุฆุฉ ู
ุชุดุงุจูุฉ. ุงููุฑู ุงููุญูุฏ ูู ุฃูู ูุง ูุฒุงู ุนููู ุงูููู ุจุดุฃู ุงูุญุตูู ุนูู ุงููููู ู
ู ุงูููู
ูุงุญููุง (ุฃู ุงูููู
ุชู
ุงู
ูุง). ููุงู ุฏูุฉ ูุงุญุฏุฉ. ูุฌุจ ุงูููุงู
ุจุนู
ููู ุ ุงูุชุจ ุงูุฑูู
ุงูู
ุฑุบูุจ ููู ูู ู
ุคูุช ุงูุณููู ููุชุณุจุจ ูู ู
ูุงุทุนุฉ SVC. ุญูููุฉ ุฃู ูุฐูู ุงูุฅุฌุฑุงุกูู ูุง ูุญุฏุซุงู ุฐุฑููุง (ุฃู ููุณ ููุงูู
ุง ูู ููุณ ุงูููุช) ุชููููู ููููุงู. ุชุฎูู ุฃู ูููู ูุฏููุง ุฌุฒุกูุง ู
ู ุงูุซุงููุฉ ู
ู ุงูุฒู
ู ุ ููุฏ ุงุณุชุนุฏูุง ู
ุคูุชูุง ุ ูุญูููุง ุญุงู ุงูููุช ููุนู
ู ูู ู
ูู
ุฉ ุฃุฎุฑู. ุจุฏุฃุช ุงูุฃุฎุฑู ุชููู ูุฑุงุฏูุง ุ ุจููู
ุง ุณุชููู ู
ูู
ุชูุง ุงูููู
ุงููุฑุงุฏ ุงูุชุงูู ุ ูู
ุง ูู ู
ุชููุน (ูุฃู ุชูููุชู ููุณ ุตูุฑุงู). ุจุนุฏ ุฐูู ุ ุนูุฏู
ุง ูุญูู ุงูููุช ุ ุณุชุชููู ู
ูู
ุชูุง ุนูุงู
ุฉ ูุณููุฏู
ูุง ุนูู ุงูููุฑ ูู
ูุงุทุนุฉ SVC ุ ุจุณุจุจ ุงูุฅุฌุฑุงุกูู ุงููุฐูู ูุง ูุฒุงู ูุชุนูู ุงูููุงู
ุจู. ูู ุฑุฃูู ุ ูู ูุญุฏุซ ุดูุก ุฑููุจ ุ ููู ุงูุฑูุงุณุจ ุณุชุจูู. ูุฐูู ุ ุณูู ููุนู ุฐูู. ูุชู
ูุถุน ู
ุคูุช ุงูููู
ูู ุงูู
ุณุชูุจู ูู ู
ูุงู ุฃููู. ูุคุฎุฐ ู
ู ููุงู ุจูุงุณุทุฉ ุฑูุชูู ุงูู
ูุงุทุนุฉ ููุณู ู
ู SVC. ุงูุฐุฑูุฉ ุ ูู
ุง ูุงูุช ุ ุชุชุญูู. ูุฐุง ู
ุจูู ุฃุฏูุงู.
SVC_Handler LDR R0,__sysTickAddr ; SysTick MOV R1,#6 ; CSR , STR R1,[R0] ;Stop SysTimer MOV R1,#7 ; , STR R1,[R0] ;Start SysTimer ; STMDB SP!,{R4-R11} ; LDR R0,=timersTable ; LDR R1,=stacksTable ; LDR R2,[R0] ;R2 () STR SP,[R1,R2,LSL #2] ; SP (R2 * 4) LDR R3,=tmpTimersTable ; tmpTimers LDR R3,[R3,R2,LSL #2] ;tmpTimer STR R3,[R0,R2,LSL #2] ; timer __svc_next_check ADD R2,R2,#1 ; CMP R2,#TASKS_LIMIT ;R2-TASKS_LIMIT BLO __svc_no_border_yet ; MOV R2,#0 ; (main) LDR R3,[R1] ; main SP MOV SP,R3 B __svc_timer_ok __svc_no_border_yet ;; LDR SP,[R1,R2,LSL #2] ;Restore SP does not work (errata Cortex M4) ;; CMP SP,#0 ; LDR R3,[R1,R2,LSL #2] ; SP CMP R3,#0 ; =0 BEQ __svc_next_check MOV SP,R3 LDR R3,[R0,R2,LSL #2] ; suspend timer CBZ R3,__svc_timer_ok ; 0 , B __svc_next_check __svc_timer_ok STR R2,[R0] ; LDMIA SP!,{R4-R11} ; R4-R11 BX LR
ุชุฌุฏุฑ ุงูุฅุดุงุฑุฉ ุฅูู ุฃู ูู ูุฐู ุงูุฑูุชูู ุงููุฑุนู ูู
ุนุงูุฌุงุช ุงูู
ูุงุทุนุฉ ุชุดูุฑ ุฅูู ู
ูุทูุฉ ู
ุนููุฉ ู
ู ุงูุจูุงูุงุช ุ ูุงูุชู ูุจุฏู ุฃู ูุคุฏููุง ุงูู
ุคูู ูู
ุง ูู ู
ุจูู ูู ุงูุดูู 7.
DATA SECTION .taskSwitcher:CODE:ROOT(2) __topStack DCD sfe(CSTACK) __botStack DCD sfb(CSTACK) __dimStack DCD sizeof(CSTACK) __sysAIRCRaddr DCD 0xE000ED0C __sysTickAddr DCD 0xE000E010 __sysSHPRaddr DCD 0xE000ED18 __sysTickReload DCD RELOAD ;******************************************************************************* ; Task table for concurrent tasks (main is number 0). ;******************************************************************************* SECTION TABLE:DATA:ROOT(2) DS32 1 ;stack shift due to FPU mainCopyCONTROL DS32 1 ;Needed to determine if FPU is used mainPSRvalue DS32 1 ;Copy from main ;*******************************************************************************
ููุชุฃูุฏ ู
ู ุฃู ูู ู
ุง ุณุจู ุฃู
ุฑ ู
ูุทูู ุ ูุงู ุนูู ุงูู
ุคูู ุฃู ููุชุจ ู
ุดุฑูุนูุง ุตุบูุฑูุง ุชุญุช ู
ูุถุฏุฉ IAR Embedded Workbench ุ ุญูุซ ุชู
ูู ู
ู ูุญุต ูู ุดูุก ุจุงูุชูุตูู ููู
ุณู. ุชู
ุงุฎุชุจุงุฑ ูู ุดูุก ุนูู ูุญุฏุฉ ุงูุชุญูู
STM32F303VCT6 (ARM Cortex-M4). ุฃู ุจุงูุฃุญุฑู ุ ุจุงุณุชุฎุฏุงู
ููุญุฉ STM32F3DISCOVERY. ููุงู ู
ุง ูููู ู
ู ุงูู
ุตุงุจูุญ ูุฅุนุทุงุก ูู ู
ูู
ุฉ ุงููุซูุฑ ู
ู ุงููู
ูุถ ู
ุน LED ุงูุฎุงุตุฉ ุจูุง ุจุดูู ู
ููุตู.
ููุงู ุนุฏุฏ ูููู ู
ู ุงูู
ูุฒุงุช ุงูุชู ูุฌุฏุชูุง ู
ููุฏุฉ. ุนูู ุณุจูู ุงูู
ุซุงู ุ ุฑูุชูู ูุฑุนู ูุญุณุจ ูู ูู ู
ูุทูุฉ ู
ูุฏุณ ุนุฏุฏ ุงูููู
ุงุช ุบูุฑ ุงูู
ุชุฃุซุฑุฉ ุ ุฃู ุ ูุณุงูู ุงูุตูุฑ. ูุฏ ูููู ุฐูู ู
ููุฏูุง ุนูุฏ ุชุตุญูุญ ุงูุฃุฎุทุงุก ุ ุนูุฏู
ุง ุชุญุชุงุฌ ุฅูู ุงูุชุญูู ู
ู
ุง ุฅุฐุง ูุงู ู
ูุก ุงูู
ูุฏุณ ุจู
ูู
ุฉ ุฃู ุฃุฎุฑู ูุฑูุจ ุฌุฏูุง ู
ู ู
ุณุชูู ุงูุญุฏ.
U32 get_task_stack_empty_space(U8 taskNum);
ุฃูุฏ ุฃู ุฃุฐูุฑ ูุธููุฉ ูุงุญุฏุฉ ุฃุฎุฑู. ูุฐู ูุฑุตุฉ ููู
ูู
ุฉ ููุณูุง ูู
ุนุฑูุฉ ุฑูู
ู ูู ุงููุงุฆู
ุฉ. ูู
ููู ุฃู ุชููู ูุดุฎุต ู
ุง ูู ููุช ูุงุญู.
;******************************************************************************* ; Example: U8 get_my_number(void); ; (). .. . ;******************************************************************************* get_my_number LDR R0,=timersTable ; (currentTaskNumber) LDR R0,[R0] ; BX LR ;==============================================================
ูุฐุง ุฑุจู
ุง ูู ุดูุก ูู ุงูููุช ุงูุฑุงูู.