<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/626b99ee7ae5df2aa7180120/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626b99ee7ae5df2aa7180120/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Nucleus<span class="_ _0"> </span><span class="ff2">分析报告</span></div><div class="t m0 x2 h4 y3 ff3 fs1 fc0 sc0 ls0 ws0">Nucleus<span class="_ _1"> </span><span class="ff2 sc1">实时操作系统分析报告</span></div><div class="t m0 x3 h5 y4 ff2 fs2 fc0 sc0 ls0 ws0">目 录</div><div class="t m0 x4 h6 y5 ff2 fs3 fc0 sc1 ls0 ws0">一、 <span class="ff4 sc0">NUCLEUS<span class="_ _0"> </span></span>的内核(<span class="ff4 sc0">KE<span class="_ _2"></span>RNEL</span>)<span class="ff4 sc0">........................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>4</span></div><div class="t m0 x5 h6 y6 ff1 fs3 fc0 sc0 ls0 ws0">1.1 <span class="ff2">系统启动</span>....................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>4</div><div class="t m0 x5 h6 y7 ff1 fs3 fc0 sc0 ls0 ws0">1.2 <span class="ff2">初始化线程</span>................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>5</div><div class="t m0 x5 h6 y8 ff1 fs3 fc0 sc0 ls0 ws0">1.3 <span class="ff2">线程调度</span>....................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>5</div><div class="t m0 x6 h7 y9 ff5 fs3 fc0 sc0 ls0 ws0">1.3.1 </div><div class="t m1 x7 h8 y9 ff2 fs4 fc0 sc0 ls0 ws0">任务的调度</div><div class="t m0 x8 h7 y9 ff5 fs3 fc0 sc0 ls0 ws0">.............................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>6</div><div class="t m0 x6 h7 ya ff5 fs3 fc0 sc0 ls0 ws0">1.3.2 </div><div class="t m1 x7 h8 ya ff2 fs4 fc0 sc0 ls0 ws0">中断的调度</div><div class="t m0 x8 h7 ya ff5 fs3 fc0 sc0 ls0 ws0">....................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>1<span class="_ _3"></span>1</div><div class="t m0 x6 h7 yb ff5 fs3 fc0 sc0 ls0 ws0">1.3.3 </div><div class="t m1 x7 h8 yb ff2 fs4 fc0 sc0 ls0 ws0">操作系统数据结构的保护</div><div class="t m0 x9 h7 yb ff5 fs3 fc0 sc0 ls0 ws0">...................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>16</div><div class="t m0 x5 h6 yc ff1 fs3 fc0 sc0 ls0 ws0">1.4 <span class="ff2">任务间通信</span>..............................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>18</div><div class="t m0 x6 h7 yd ff5 fs3 fc0 sc0 ls0 ws0">1.4.1 </div><div class="t m1 x7 h8 yd ff2 fs4 fc0 sc0 ls0 ws0">消息管道(</div><div class="t m0 x8 h7 yd ff5 fs3 fc0 sc0 ls0 ws0">Pipes</div><div class="t m1 xa h8 yd ff2 fs4 fc0 sc0 ls0 ws0">)</div><div class="t m0 xb h7 yd ff5 fs3 fc0 sc0 ls0 ws0">...........................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>19</div><div class="t m0 x5 h6 ye ff1 fs3 fc0 sc0 ls0 ws0">1.5 <span class="ff2">任务的同步</span>..............................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>24</div><div class="t m0 x5 h6 yf ff1 fs3 fc0 sc0 ls0 ws0">1.6 <span class="ff2">定时器</span>......................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>24</div><div class="t m0 x5 h6 y10 ff1 fs3 fc0 sc0 ls0 ws0">1.7 <span class="ff2">内存管理</span>..................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>25</div><div class="t m0 x5 h6 y11 ff1 fs3 fc0 sc0 ls0 ws0">1.8 <span class="ff2">输入</span>/<span class="ff2">输出设备驱动</span>....................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>26</div><div class="t m0 x5 h6 y12 ff1 fs3 fc0 sc0 ls0 ws0">N<span class="fs5">UCLEUS<span class="_"> </span></span><span class="ff2">内核总结:</span>.......................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.26</div><div class="t m0 x4 h6 y13 ff2 fs3 fc0 sc1 ls0 ws0">二、 <span class="ff4 sc0">NUCLEUS<span class="_ _0"> </span></span>的开发工具<span class="ff4 sc0">.......................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>28</span></div><div class="t m0 x5 h7 y14 ff1 fs3 fc0 sc0 ls0 ws0">2.1 N<span class="fs5">UCLEUS</span> C++........................................................................................................................................<span class="_ _2"></span>28</div><div class="t m0 x5 h7 y15 ff1 fs3 fc0 sc0 ls0 ws0">2.2 N<span class="fs5">UCLEUS</span> MNT..............................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>28</div><div class="t m0 x5 h7 y16 ff1 fs3 fc0 sc0 ls0 ws0">2.3 N<span class="fs5">UCLEUS</span> VNET.......................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>28</div><div class="t m0 x5 h7 y17 ff1 fs3 fc0 sc0 ls0 ws0">2.4 N<span class="fs5">UCLEUS</span> PC+.......................................................................................................................................<span class="_ _2"></span>.28</div><div class="t m0 x5 h7 y18 ff1 fs3 fc0 sc0 ls0 ws0">2.5 N<span class="fs5">UCLEUS</span> FILE...................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>28</div><div class="t m0 x5 h7 y19 ff1 fs3 fc0 sc0 ls0 ws0">2.6 N<span class="fs5">UCLEUS</span> CLIB....................................................................................................................................<span class="_ _2"></span>..<span class="_ _2"></span>29</div><div class="t m0 x5 h7 y1a ff1 fs3 fc0 sc0 ls0 ws0">2.7 N<span class="fs5">UCLEUS</span> GRAFIX........................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>29</div><div class="t m0 x5 h7 y1b ff1 fs3 fc0 sc0 ls0 ws0">2.8 N<span class="fs5">UCLEUS</span> EDE.............................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>..<span class="_ _2"></span>29</div><div class="t m0 x5 h7 y1c ff1 fs3 fc0 sc0 ls0 ws0">2.9 N<span class="fs5">UCLEUS</span> UDB...................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>30</div><div class="t m0 x5 h7 y1d ff1 fs3 fc0 sc0 ls0 ws0">2.10 N<span class="fs5">UCLEUS</span> DEBUG+.........................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>.30</div><div class="t m0 x5 h6 y1e ff1 fs3 fc0 sc0 ls0 ws0">2.1<span class="_ _4"></span>1 <span class="ff2">第三方产品的支持</span>............................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>32</div><div class="t m0 x5 h7 y1f ff1 fs3 fc0 sc0 ls0 ws0">2.12 SDS S<span class="fs5">INGLE</span>S<span class="fs5">TEP</span>......................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>32</div><div class="t m0 x4 h6 y20 ff2 fs3 fc0 sc1 ls0 ws0">三、 <span class="ff4 sc0">NUCLEUS<span class="_ _0"> </span></span>的网络支持<span class="ff4 sc0">.......................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>34</span></div><div class="t m0 x5 h6 y21 ff1 fs3 fc0 sc0 ls0 ws0">3.1 I<span class="fs5">NTERNET<span class="_"> </span></span><span class="ff2">套件</span>..................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>34</div><div class="t m0 x6 h7 y22 ff5 fs3 fc0 sc0 ls0 ws0">Nucleus NET.........................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>34</div><div class="t m0 x6 h7 y23 ff5 fs3 fc0 sc0 ls0 ws0">Nucleus SNMP.........................................................................................................................................<span class="_ _2"></span>34</div><div class="t m0 x6 h7 y24 ff5 fs3 fc0 sc0 ls0 ws0">Nucleus RMON.....................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>35</div><div class="t m0 x6 h7 y25 ff5 fs3 fc0 sc0 ls0 ws0">Nucleus SP<span class="_ _5"></span>AN................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>..<span class="_ _2"></span>..<span class="_ _2"></span>35</div><div class="t m0 x5 h7 y26 ff1 fs3 fc0 sc0 ls0 ws0">3.2 N<span class="fs5">UCLEUS</span> W<span class="fs5">EB</span>S<span class="fs5">ER<span class="_ _3"></span>V<span class="fs3">...............................................................................................................................<span class="_ _2"></span>35</span></span></div><div class="t m0 x5 h7 y27 ff1 fs3 fc0 sc0 ls0 ws0">3.3 N<span class="fs5">UCLEUS</span> J<span class="fs5">VI</span>....................................................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>35</div><div class="t m0 x5 h7 y28 ff1 fs3 fc0 sc0 ls0 ws0">3.4 N<span class="fs5">UCLEUS</span> EPILOGUE...........................................................................................................<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>...<span class="_ _2"></span>.<span class="_ _2"></span>35</div></div><div class="t m0 xc h9 y29 ff1 fs0 fc0 sc0 ls0 ws0">1</div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626b99ee7ae5df2aa7180120/bg2.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Nucleus<span class="_ _0"> </span><span class="ff2">分析报告</span></div></div><div class="t m0 xc h9 y29 ff1 fs0 fc0 sc0 ls0 ws0">2</div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626b99ee7ae5df2aa7180120/bg3.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Nucleus<span class="_ _0"> </span><span class="ff2">分析报告</span></div><div class="t m0 x2 h4 y3 ff3 fs1 fc0 sc0 ls0 ws0">Nucleus<span class="_ _1"> </span><span class="ff2 sc1">实时操作系统分析报告</span></div><div class="t m0 x6 h5 y4 ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_ _6"> </span><span class="ff2">实时操作系统是<span class="_ _7"> </span></span>Accelerater T<span class="_ _8"></span>echnology<span class="_ _6"> </span><span class="ff2">公司开发的嵌入式<span class="_ _7"> </span></span>R<span class="_ _3"></span>TOS<span class="_ _0"> </span><span class="ff2">产品,只需一次性</span></div><div class="t m0 x4 h5 y2a ff2 fs2 fc0 sc0 ls0 ws0">购买<span class="_ _6"> </span><span class="ff1">Licenses</span>,就可以获得操作系统的源码。</div><div class="t m0 x6 h5 y2b ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_ _6"> </span><span class="ff2">购<span class="_ _2"></span>买的<span class="_ _2"></span>灵活<span class="_ _2"></span>性<span class="_ _2"></span>比较<span class="_ _2"></span>大:<span class="_ _9"></span></span>Kernel<span class="ff2">,<span class="_ _2"></span></span>Networking<span class="_ _2"></span><span class="ff2">,</span>File Syste<span class="_ _2"></span>m<span class="_ _2"></span><span class="ff2">,</span>W<span class="_ _3"></span>eb T<span class="_ _8"></span>echnology<span class="_ _2"></span><span class="ff2">,<span class="_ _2"></span></span>T<span class="_ _3"></span>arget</div><div class="t m0 x4 h5 y2c ff1 fs2 fc0 sc0 ls0 ws0">Debugger<span class="_"> </span><span class="ff2">可以<span class="_ _2"></span>分<span class="_ _2"></span>开<span class="_ _2"></span>购<span class="_ _2"></span>买<span class="_ _2"></span>,<span class="_ _9"></span>如果<span class="_ _2"></span>我<span class="_ _2"></span>们<span class="_ _2"></span>只<span class="_ _2"></span>需<span class="_ _2"></span>要<span class="_ _2"></span>微<span class="_ _2"></span>内<span class="_ _9"></span>核的<span class="_ _2"></span>话<span class="_ _2"></span>只<span class="_ _2"></span>要<span class="_ _2"></span>购<span class="_ _2"></span>买<span class="_ _a"> </span></span>Kernal<span class="_ _6"> </span><span class="ff2">和<span class="_ _7"> </span></span>Debugger<span class="_ _9"></span><span class="ff2">,当<span class="_ _2"></span>前<span class="_ _2"></span>的<span class="_ _2"></span>下</span></div><div class="t m0 x4 h5 y2d ff2 fs2 fc0 sc0 ls0 ws0">位机就<span class="_ _2"></span>是这样<span class="_ _2"></span>配置的<span class="_ _2"></span>。但是<span class="_ _2"></span>,如<span class="_ _2"></span>果以后<span class="_ _2"></span>我们要<span class="_ _2"></span>开发接<span class="_ _2"></span>入服务<span class="_ _2"></span>器和<span class="_ _1"> </span><span class="ff1">IP<span class="_ _3"></span> Phone<span class="_"> </span><span class="ff2">的话就必须购<span class="_ _2"></span>买一堆</span></span></div><div class="t m0 x4 h5 y2e ff2 fs2 fc0 sc0 ls0 ws0">网络<span class="_ _2"></span>协<span class="_ _2"></span>议;<span class="_ _2"></span>上<span class="_ _2"></span>位<span class="_ _2"></span>机要<span class="_ _2"></span>用<span class="_ _2"></span>的话<span class="_ _2"></span>还<span class="_ _2"></span>要<span class="_ _2"></span>购买<span class="_ _2"></span>文<span class="_ _2"></span>件系<span class="_ _2"></span>统<span class="_ _2"></span>。<span class="_ _9"></span><span class="ff1">V<span class="_ _4"></span>xW<span class="_ _8"></span>o<span class="_ _2"></span>rks<span class="_"> </span><span class="ff2">就不是<span class="_ _2"></span>这<span class="_ _2"></span>样,<span class="_ _2"></span>其<span class="_ _7"> </span></span>OS<span class="_ _6"> </span><span class="ff2">基<span class="_ _2"></span>本<span class="_ _2"></span>部<span class="_ _2"></span>分中<span class="_ _2"></span>已<span class="_ _2"></span>经</span></span></div><div class="t m0 x4 h5 y2f ff2 fs2 fc0 sc0 ls0 ws0">包<span class="_ _0"> </span>括<span class="_ _b"></span>了<span class="_ _b"> </span>很<span class="_ _0"> </span>多<span class="_ _b"> </span>基<span class="_ _0"> </span>本<span class="_ _b"> </span>的<span class="_ _0"> </span>网<span class="_ _b"> </span>络<span class="_ _0"> </span>协<span class="_ _b"> </span>议<span class="_ _0"> </span>,<span class="_ _b"> </span>只<span class="_ _0"> </span>有<span class="_ _b"> </span>一<span class="_ _0"> </span>些<span class="_ _b"> </span>比<span class="_ _0"> </span>较<span class="_ _b"> </span>特<span class="_ _0"> </span>殊<span class="_ _b"> </span>的<span class="_ _0"> </span>网<span class="_ _b"> </span>络<span class="_ _0"> </span>协<span class="_ _b"> </span>议<span class="_ _0"> </span>需<span class="_ _b"> </span>要<span class="_ _0"> </span>单<span class="_ _b"> </span>独<span class="_ _0"> </span>购<span class="_ _b"> </span>买<span class="_ _0"> </span>,<span class="_ _b"> </span>比<span class="_ _0"> </span>如<span class="_ _b"> </span>:</div><div class="t m0 x4 h5 y30 ff1 fs2 fc0 sc0 ls0 ws0">SNMP1/2<span class="ff2">,</span>OSPF2<span class="_ _2"></span><span class="ff2">,</span>IPX<span class="_ _7"> </span><span class="ff2">等。当<span class="_ _2"></span>然,<span class="_ _2"></span></span>Nucleus<span class="_ _6"> </span><span class="ff2">的好<span class="_ _2"></span>处在<span class="_ _2"></span>于各层<span class="_ _2"></span>协议都<span class="_ _2"></span>提供的<span class="_ _2"></span>是源码<span class="_ _2"></span>,<span class="_ _9"></span></span>Vxworks<span class="_ _0"> </span><span class="ff2">则</span></div><div class="t m0 x4 h5 y31 ff2 fs2 fc0 sc0 ls0 ws0">不提供。</div><div class="t m0 x6 h5 y32 ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_ _6"> </span><span class="ff2">的另一大好处是程序员不用写板支持软件包(</span>BSP<span class="ff2">),因为操作系统已经开放给程</span></div><div class="t m0 x4 h5 y33 ff2 fs2 fc0 sc0 ls0 ws0">序员,不同<span class="_ _2"></span>的目标板在操<span class="_ _2"></span>作系统<span class="_ _7"> </span><span class="ff1">BOOT<span class="_"> </span></span>时可以通过修改源码进<span class="_ _2"></span>行不同的配置<span class="_ _2"></span>。对于程序员<span class="_ _2"></span>来说<span class="_ _9"></span>,</div><div class="t m0 x4 h5 y34 ff2 fs2 fc0 sc0 ls0 ws0">写<span class="_ _6"> </span><span class="ff1">BSP<span class="_ _6"> </span></span>是<span class="_ _2"></span>一项比<span class="_ _2"></span>较繁琐<span class="_ _2"></span>的任务<span class="_ _2"></span>,有<span class="_ _2"></span>了<span class="_ _1"> </span><span class="ff1">OS<span class="_ _6"> </span></span>的源码<span class="_ _2"></span>这项工<span class="_ _2"></span>作就简<span class="_ _2"></span>单多<span class="_ _2"></span>了,同<span class="_ _2"></span>时调试<span class="_ _2"></span>时也可<span class="_ _2"></span>以跟踪</div><div class="t m0 x4 h5 y35 ff2 fs2 fc0 sc0 ls0 ws0">到中断<span class="_ _2"></span>、寄存<span class="_ _2"></span>器那一<span class="_ _2"></span>级,简<span class="_ _2"></span>化了<span class="_ _2"></span>硬件的<span class="_ _2"></span>调试。<span class="_ _b"></span><span class="ff1">VxW<span class="_ _8"></span>orks<span class="_ _6"> </span><span class="ff2">和<span class="_ _7"> </span></span>pSOS<span class="_ _6"> </span><span class="ff2">都必<span class="_ _2"></span>须购买<span class="_ _2"></span>标准的<span class="_ _1"> </span></span>BSP<span class="_ _6"> </span><span class="ff2">模板工</span></span></div><div class="t m0 x4 h5 y36 ff2 fs2 fc0 sc0 ls0 ws0">具来写板支持软件包,开发工作量就比较大了。</div><div class="t m0 x6 h5 y37 ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_"> </span><span class="ff2">对<span class="_ _6"> </span></span>CPU<span class="_"> </span><span class="ff2">的支<span class="_ _9"></span>持能<span class="_ _2"></span>力<span class="_ _2"></span>比<span class="_ _2"></span>较<span class="_ _2"></span>强<span class="_ _2"></span>,<span class="_ _2"></span>支<span class="_ _2"></span>持<span class="_ _9"></span>当前<span class="_ _2"></span>流<span class="_ _2"></span>行<span class="_ _2"></span>的<span class="_ _2"></span>大<span class="_ _2"></span>多<span class="_ _2"></span>数<span class="_ _1"> </span></span>RISC<span class="_ _2"></span><span class="ff2">、<span class="_ _2"></span></span>CISC<span class="_ _2"></span><span class="ff2">、<span class="_ _2"></span></span>DSP<span class="_"> </span><span class="ff2">处<span class="_ _2"></span>理<span class="_ _2"></span>器<span class="_ _2"></span>,</span></div><div class="t m0 x4 h5 y38 ff2 fs2 fc0 sc0 ls0 ws0">比<span class="_ _c"> </span>如<span class="_ _c"> </span>:<span class="_ _c"> </span><span class="ff1">80x86<span class="_ _c"> </span></span>(<span class="_ _c"> </span>实<span class="_ _c"> </span>时<span class="_ _c"> </span>、<span class="_ _c"> </span>保<span class="_ _c"> </span>护<span class="_ _c"> </span>模<span class="_ _c"> </span>式<span class="_ _c"> </span>)<span class="_ _d"> </span>、</div><div class="t m0 x4 h5 y39 ff1 fs2 fc0 sc0 ls0 ws0">68xxx<span class="ff2">、<span class="_ _2"></span></span>PowerPC<span class="ff2">、<span class="_ _2"></span></span>i960<span class="_ _2"></span><span class="ff2">、</span>MIPS<span class="_ _2"></span><span class="ff2">、</span>SH<span class="_ _2"></span><span class="ff2">、<span class="_ _2"></span></span>ARM<span class="ff2">、<span class="_ _2"></span></span>ColdFire<span class="_ _2"></span><span class="ff2">。</span>Nucleus<span class="_"> </span><span class="ff2">系统对于<span class="_ _2"></span>不同<span class="_ _2"></span>的处<span class="_ _2"></span>理器<span class="_ _2"></span>,操<span class="_ _2"></span>作</span></div><div class="t m0 x4 h5 y3a ff2 fs2 fc0 sc0 ls0 ws0">系<span class="_ _9"></span>统<span class="_ _9"></span>的<span class="_ _9"></span>源<span class="_ _2"></span>码<span class="_ _9"></span>大<span class="_ _9"></span>部<span class="_ _9"></span>分<span class="_ _9"></span>是<span class="_ _9"></span>相<span class="_ _2"></span>同<span class="_ _9"></span>的<span class="_ _9"></span>,<span class="_ _9"></span>只<span class="_ _9"></span>有<span class="_"> </span><span class="ff1">5%<span class="_ _9"></span></span>的<span class="_ _9"></span>源<span class="_ _9"></span>码<span class="_ _9"></span>是<span class="_ _9"></span>用<span class="_ _2"></span>汇<span class="_ _9"></span>编<span class="_ _9"></span>写<span class="_ _9"></span>的<span class="_ _9"></span>跟<span class="_"> </span><span class="ff1">CPU<span class="_"> </span></span>有<span class="_ _9"></span>关<span class="_ _9"></span>。<span class="_ _9"></span>如<span class="_ _9"></span>果<span class="_ _2"></span>使<span class="_ _9"></span>用<span class="_ _9"></span>另<span class="_ _9"></span>外<span class="_ _9"></span>的</div><div class="t m0 x4 h5 y3b ff1 fs2 fc0 sc0 ls0 ws0">CPU<span class="_ _9"></span><span class="ff2">,<span class="_ _2"></span>则<span class="_ _9"></span>只<span class="_ _2"></span>用<span class="_ _9"></span>修<span class="_ _2"></span>改<span class="_"> </span></span>5<span class="_ _2"></span><span class="ff2">、<span class="_ _9"></span></span>6<span class="_"> </span><span class="ff2">个<span class="_ _2"></span>汇<span class="_ _9"></span>编<span class="_ _2"></span>程<span class="_ _9"></span>序<span class="_ _9"></span>就<span class="_ _2"></span>可<span class="_ _9"></span>以<span class="_ _2"></span>进<span class="_ _9"></span>行<span class="_ _2"></span>移<span class="_ _9"></span>植<span class="_ _2"></span>,<span class="_ _9"></span>但<span class="_ _2"></span>是<span class="_ _9"></span>对<span class="_ _2"></span>于<span class="_ _9"></span>不<span class="_ _9"></span>同<span class="_ _2"></span>系<span class="_ _9"></span>列<span class="_ _2"></span>的<span class="_ _9"></span>处<span class="_ _2"></span>理<span class="_ _9"></span>器<span class="_ _2"></span>,<span class="_ _9"></span>它<span class="_ _9"></span>们<span class="_ _2"></span>的</span></div><div class="t m0 x4 h5 y3c ff1 fs2 fc0 sc0 ls0 ws0">Compiler<span class="_ _2"></span><span class="ff2">、<span class="_ _2"></span></span>Linker<span class="_ _2"></span><span class="ff2">、<span class="_ _2"></span></span>Debugger<span class="_"> </span><span class="ff2">是不同<span class="_ _9"></span>的(要<span class="_ _2"></span>另<span class="_ _2"></span>外<span class="_ _2"></span>购<span class="_ _2"></span>买<span class="_ _2"></span>)<span class="_ _2"></span>,<span class="_ _2"></span>而<span class="_ _2"></span>且编<span class="_ _9"></span>译预处<span class="_ _2"></span>理<span class="_ _2"></span>的<span class="_ _2"></span>过<span class="_ _2"></span>程<span class="_ _2"></span>也<span class="_ _2"></span>是<span class="_ _2"></span>不<span class="_ _2"></span>一样<span class="_ _9"></span>的<span class="_ _2"></span>,</span></div><div class="t m0 x4 h5 y3d ff2 fs2 fc0 sc0 ls0 ws0">这<span class="_ _2"></span>就要<span class="_ _2"></span>投<span class="_ _2"></span>入<span class="_ _2"></span>一<span class="_ _2"></span>部<span class="_ _2"></span>分<span class="_ _2"></span>力<span class="_ _2"></span>量<span class="_ _2"></span>去<span class="_ _2"></span>进行<span class="_ _9"></span>操作系<span class="_ _2"></span>统<span class="_ _2"></span>的<span class="_ _2"></span>移<span class="_ _2"></span>植<span class="_ _2"></span>。<span class="_ _2"></span>当<span class="_ _2"></span>然<span class="_ _2"></span>,这<span class="_ _9"></span>也是<span class="_"> </span><span class="ff1">Nucleus<span class="_"> </span></span>的一<span class="_ _2"></span>个<span class="_ _2"></span>优<span class="_ _2"></span>点<span class="_ _2"></span>,<span class="_ _2"></span><span class="ff1">VxW<span class="_ _3"></span>orks</span></div><div class="t m0 x4 h5 y3e ff2 fs2 fc0 sc0 ls0 ws0">和<span class="_ _6"> </span><span class="ff1">pSOS<span class="_ _6"> </span></span>都<span class="_ _2"></span>没<span class="_ _2"></span>有源<span class="_ _2"></span>码,<span class="_ _2"></span>换一<span class="_ _2"></span>个系<span class="_ _2"></span>列<span class="_ _2"></span>的<span class="_ _1"> </span><span class="ff1">CPU<span class="_ _0"> </span></span>操<span class="_ _2"></span>作<span class="_ _2"></span>系统<span class="_ _2"></span>又要<span class="_ _2"></span>重新<span class="_ _2"></span>购买<span class="_ _2"></span>,实<span class="_ _2"></span>际上<span class="_ _2"></span>他们<span class="_"> </span><span class="ff1">OS<span class="_ _6"> </span></span>开发<span class="_ _2"></span>的<span class="_ _2"></span>工作</div><div class="t m0 x4 h5 y3f ff2 fs2 fc0 sc0 ls0 ws0">量并没有多少,但却造成了用户的重复性投资。</div><div class="t m0 x6 h5 y40 ff2 fs2 fc0 sc0 ls0 ws0">当<span class="_ _2"></span>然,<span class="_ _9"></span><span class="ff1">Nu<span class="_ _4"></span>cleus<span class="_"> </span><span class="ff2">作为<span class="_ _2"></span>一<span class="_ _2"></span>个<span class="_ _2"></span>非<span class="_ _2"></span>主<span class="_ _2"></span>流<span class="_ _2"></span>的<span class="_ _2"></span>操作<span class="_ _2"></span>系<span class="_ _2"></span>统<span class="_ _2"></span>,<span class="_ _2"></span>其<span class="_ _2"></span>自<span class="_ _2"></span>身<span class="_ _2"></span>也<span class="_ _2"></span>存<span class="_ _2"></span>在着<span class="_ _9"></span>很多不<span class="_ _2"></span>足<span class="_ _2"></span>之<span class="_ _2"></span>处<span class="_ _2"></span>,<span class="_ _2"></span>比<span class="_ _2"></span>如<span class="_ _2"></span>:<span class="_ _2"></span>实时</span></span></div><div class="t m0 x4 h5 y41 ff2 fs2 fc0 sc0 ls0 ws0">性不够、定时中断管理不可靠、<span class="ff1">I/O<span class="_ _6"> </span></span>管理太简单、操作系统的调试工具太少等。下面分别说明。</div></div><div class="t m0 xc h9 y29 ff1 fs0 fc0 sc0 ls0 ws0">3</div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626b99ee7ae5df2aa7180120/bg4.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Nucleus<span class="_ _0"> </span><span class="ff2">分析报告</span></div><div class="t m0 x4 ha y42 ff2 fs6 fc0 sc1 ls0 ws0">一、<span class="_ _e"> </span><span class="ff4 sc0">Nucleus<span class="_ _7"> </span></span>的内核(<span class="ff4 sc0">Kernel</span>)</div><div class="t m0 x6 h5 y43 ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_"> </span><span class="ff2">的<span class="_ _2"></span>核<span class="_ _9"></span>心<span class="_ _2"></span>是<span class="_ _9"></span>一<span class="_ _2"></span>个<span class="_ _9"></span>实<span class="_ _2"></span>时<span class="_ _9"></span>的<span class="_ _2"></span>多<span class="_ _9"></span>任务<span class="_ _9"></span>内<span class="_ _2"></span>核<span class="_ _9"></span>—<span class="_ _2"></span>—<span class="_ _f"></span></span>Nucleus<span class="_ _2"></span> <span class="_ _2"></span>PLUS<span class="_ _2"></span><span class="ff2">,<span class="_ _9"></span>具<span class="_ _2"></span>有<span class="_ _9"></span>以<span class="_ _2"></span>下<span class="_ _9"></span>特<span class="_ _2"></span>性<span class="_ _9"></span>(<span class="_ _9"></span></span>A<span class="_ _4"></span>ccelerater</div><div class="t m0 x4 h5 y4 ff1 fs2 fc0 sc0 ls0 ws0">T<span class="_ _3"></span>echnology<span class="_ _0"> </span><span class="ff2">公司宣称的):</span></div><div class="t m0 x6 h5 y44 ff2 fs2 fc0 sc0 ls0 ws0">可移植性:</div><div class="t m0 x6 h5 y2b ff1 fs2 fc0 sc0 ls0 ws0"> Nucleus PLUS<span class="_"> </span><span class="ff2">可用于大多数流行的处<span class="_ _2"></span>理器。因<span class="_ _2"></span>为<span class="_ _1"> </span></span>Nucleus PLUS<span class="_ _6"> </span><span class="ff2">主要是用标<span class="_ _2"></span>准<span class="_ _7"> </span></span>C<span class="_ _6"> </span><span class="ff2">写的,<span class="_ _2"></span>移</span></div><div class="t m0 x4 hb y2c ff2 fs2 fc0 sc0 ls0 ws0">植到新的处理器系列相对很直接。这也就意味着用<span class="_ _6"> </span><span class="ff1">Nucleus PLUS<span class="_ _6"> </span></span>开发的<span class="ff6">应</span>用程序也具有很<span class="ff6">高</span>的</div><div class="t m0 x4 h5 y2d ff2 fs2 fc0 sc0 ls0 ws0">可移植性。</div><div class="t m0 x6 h5 y2f ff2 fs2 fc0 sc0 ls0 ws0">可用性:</div><div class="t m0 x6 hb y30 ff1 fs2 fc0 sc0 ls0 ws0"> <span class="_ _2"></span> <span class="_ _2"></span><span class="ff2">不<span class="_ _2"></span><span class="ff6">像<span class="_ _2"></span></span>其他<span class="_ _2"></span>的<span class="_ _2"></span><span class="ff6">商业<span class="_ _2"></span></span>内<span class="_ _2"></span>核<span class="_ _2"></span>,<span class="_ _2"></span></span>Nucleus PLUS<span class="_"> </span><span class="ff2">的系<span class="_ _2"></span>统调<span class="_ _2"></span>用<span class="_ _2"></span><span class="ff6">名<span class="_ _2"></span></span>直接<span class="_ _2"></span><span class="ff6">表<span class="_ _2"></span></span>明<span class="_ _2"></span>了它<span class="_ _2"></span>的<span class="_ _2"></span><span class="ff6">功<span class="_ _2"></span></span>能。<span class="_ _2"></span>比<span class="_ _2"></span>如<span class="_ _2"></span>,<span class="ff6">你<span class="_ _2"></span></span>可<span class="_ _2"></span>以</span></div><div class="t m0 x4 hb y31 ff2 fs2 fc0 sc0 ls0 ws0">通过<span class="_ _6"> </span><span class="ff1">Nu_Create_T<span class="_ _8"></span>a<span class="_ _2"></span>sk<span class="_ _6"> </span><span class="ff2">系统调用来<span class="ff6">创建</span>一个任务。<span class="_ _2"></span></span>Nucleus <span class="_ _2"></span>PLUS<span class="_ _6"> </span><span class="ff2">的系统调用都设<span class="ff6">计</span>成具有<span class="ff6">类似</span>的</span></span></div><div class="t m0 x4 hb y45 ff2 fs2 fc0 sc0 ls0 ws0">入<span class="ff6">口参</span>数和<span class="_ _2"></span><span class="ff6">返回值类型</span>。<span class="_ _2"></span><span class="ff1">Nucleus PLUS<span class="_"> </span></span>的对<span class="ff6">象</span>都不<span class="ff6">隐</span>式<span class="ff6">地</span>和别<span class="_ _2"></span>的对<span class="ff6">象</span>相关。<span class="_ _2"></span>比如,<span class="ff6">邮箱</span>和<span class="_ _2"></span>任务</div><div class="t m0 x4 hb y32 ff2 fs2 fc0 sc0 ls0 ws0">之间是不相关的。因<span class="ff6">此</span>,用户可以<span class="ff6">利</span>用多个<span class="_ _6"> </span><span class="ff1">Nucleus PLUS<span class="_ _6"> </span></span>对<span class="ff6">象</span>之间的结<span class="ff6">合形</span>成<span class="ff6">混合</span>系统调用。</div><div class="t m0 x6 h5 y34 ff2 fs2 fc0 sc0 ls0 ws0">配置:</div><div class="t m0 x6 hb y35 ff1 fs2 fc0 sc0 ls0 ws0"> <span class="_ _2"></span> Nucleus PLUS<span class="_"> </span><span class="ff6">最终<span class="_ _2"></span><span class="ff2">是以<span class="_ _7"> </span></span></span>C<span class="_"> </span><span class="ff6">库<span class="ff2">的</span>形<span class="ff2">式<span class="_ _2"></span>提供<span class="_ _2"></span>给用<span class="_ _2"></span>户<span class="_ _2"></span>,</span>你<span class="_ _2"></span><span class="ff2">可<span class="_ _2"></span>以</span>选<span class="_ _2"></span>择所<span class="_ _2"></span><span class="ff2">需要<span class="_ _2"></span>的部<span class="_ _2"></span>分<span class="_ _2"></span></span>链<span class="ff2">入<span class="_ _2"></span>到</span>你<span class="_ _2"></span><span class="ff2">的<span class="_ _2"></span></span>应</span></div><div class="t m0 x4 hb y36 ff2 fs2 fc0 sc0 ls0 ws0">用<span class="_ _2"></span>程序<span class="_ _2"></span>中<span class="_ _2"></span>。<span class="_ _2"></span>但<span class="_ _2"></span>是<span class="_ _2"></span>,<span class="_ _2"></span>其<span class="_ _2"></span>可<span class="_ _2"></span><span class="ff6">裁<span class="_ _2"></span>剪<span class="_ _2"></span></span>性<span class="_ _2"></span>并<span class="_ _2"></span>不<span class="_ _2"></span>好,<span class="_ _9"></span>如果<span class="_ _2"></span><span class="ff6">某</span>些<span class="_ _9"></span>系统<span class="_ _2"></span><span class="ff6">功</span>能<span class="_ _2"></span>不<span class="_ _2"></span>要<span class="_ _2"></span>的<span class="_ _2"></span>话<span class="_ _2"></span>,<span class="_ _2"></span>必<span class="_ _2"></span>须<span class="_ _2"></span>在<span class="_ _a"> </span><span class="ff1">Nucleus.h<span class="_ _6"> </span></span>的<span class="_ _2"></span><span class="ff6">头<span class="_ _2"></span></span>文</div><div class="t m0 x4 hb y46 ff2 fs2 fc0 sc0 ls0 ws0">件<span class="_ _2"></span>中<span class="ff6">加<span class="_ _9"></span></span>一些<span class="_ _2"></span><span class="ff6">宏</span>定<span class="_ _2"></span><span class="ff6">义<span class="_ _2"></span></span>,<span class="_ _2"></span>比<span class="_ _2"></span>如<span class="_ _2"></span>定<span class="_ _2"></span><span class="ff6">义<span class="_ _2"></span></span>:<span class="_ _9"></span><span class="ff1">#define N<span class="_ _2"></span>U_ENABLE_ST<span class="_ _8"></span>ACK_CHECK<span class="_ _9"></span><span class="ff2">,那<span class="_ _2"></span><span class="ff6">么每<span class="_ _9"></span></span>个系统<span class="_ _2"></span>调<span class="_ _2"></span>用<span class="_ _2"></span>时</span></span></div><div class="t m0 x4 hb y37 ff2 fs2 fc0 sc0 ls0 ws0">都要进<span class="_ _2"></span>行堆<span class="ff6">栈<span class="_ _2"></span>检查<span class="_ _2"></span></span>,<span class="ff6">否</span>则<span class="_ _2"></span>就不进<span class="_ _2"></span>行堆<span class="_ _2"></span><span class="ff6">栈检查<span class="_ _2"></span></span>,可以<span class="_ _2"></span><span class="ff6">删除<span class="_ _2"></span></span>的<span class="ff6">功</span>能<span class="_ _2"></span>并不多<span class="_ _2"></span>。<span class="_ _2"></span><span class="ff1">VxW<span class="_ _8"></span>o<span class="_ _2"></span>rks<span class="_ _6"> </span><span class="ff2">的可<span class="_ _2"></span><span class="ff6">裁剪</span>性<span class="_ _2"></span>就</span></span></div><div class="t m0 x4 hb y38 ff2 fs2 fc0 sc0 ls0 ws0">强多了,有<span class="_ _6"> </span><span class="ff1">300<span class="_ _6"> </span></span>多个独<span class="ff6">立</span>模<span class="ff6">块</span>,微内核<span class="_ _6"> </span><span class="ff1">6K</span>,<span class="ff6">最小</span>系统<span class="ff1"><30K</span>,配<span class="ff6">全</span>了可<span class="ff6">达</span>到<span class="ff6">几百<span class="_ _0"> </span><span class="ff1">K</span></span>。</div><div class="t m0 x6 h5 y3a ff2 fs2 fc0 sc0 ls0 ws0">特性:</div><div class="t m0 x6 hb y3b ff6 fs2 fc0 sc0 ls0 ws0">①<span class="ff2">、</span>快<span class="_ _2"></span>速响应<span class="_ _2"></span><span class="ff2">时间<span class="_ _2"></span>:对</span>临<span class="_ _2"></span>界<span class="ff2">资源<span class="_ _2"></span>的</span>检<span class="_ _2"></span>测<span class="ff2">时间<span class="_ _2"></span>不</span>依赖<span class="_ _2"></span><span class="ff2">于</span>占<span class="_ _2"></span><span class="ff2">有</span>该临<span class="_ _2"></span>界<span class="ff2">资源<span class="_ _2"></span>的线<span class="_ _2"></span>程</span>执<span class="ff2">行<span class="_ _2"></span>时间的<span class="_ _2"></span></span>长</div><div class="t m0 x4 hb y3c ff6 fs2 fc0 sc0 ls0 ws0">短<span class="ff2">,一</span>旦低<span class="ff2">优</span>先<span class="ff2">级线程</span>释<span class="ff2">放</span>掉临界<span class="ff2">资源(不管其是</span>否执<span class="ff2">行</span>完<span class="ff2">),</span>高<span class="ff2">优</span>先<span class="ff2">级线程就</span>会抢占运<span class="ff2">行。</span></div><div class="t m0 x6 hb y3d ff6 fs2 fc0 sc0 ls0 ws0">②<span class="ff2">、</span>每<span class="ff2">个任务的</span>执<span class="ff2">行时间和其他任务的处理时间</span>无<span class="ff2">关。</span></div><div class="t m0 x6 hb y3e ff6 fs2 fc0 sc0 ls0 ws0">③<span class="ff2">、较</span>高吞吐<span class="ff2">量:</span>随<span class="ff2">着任务数目的</span>增<span class="ff2">多,任务的调度时间为</span>常<span class="ff2">数。</span></div><div class="t m0 x6 hb y3f ff6 fs2 fc0 sc0 ls0 ws0">④<span class="ff2">、可</span>扩展<span class="ff2">性:</span>利<span class="ff2">用</span>现<span class="ff2">有系统调用的结</span>合<span class="ff2">可得到新的系统调用。</span></div><div class="t m0 x6 hb y40 ff1 fs2 fc0 sc0 ls0 ws0">Nucleus PLUS<span class="_ _6"> </span><span class="ff2">提供其<span class="_ _2"></span>他实时内核都<span class="_ _2"></span>具有的系统服<span class="_ _2"></span>务,比如<span class="_ _2"></span>:任务<span class="ff6">控制</span>、<span class="_ _2"></span>任务通信<span class="_ _2"></span>、任务同</span></div><div class="t m0 x4 hb y41 ff2 fs2 fc0 sc0 ls0 ws0">步、内存管理、可编程的定时器、标准的输入<span class="_ _9"></span><span class="ff1">/</span>输出设备接<span class="ff6">口</span>等。对任务的调度<span class="ff6">依赖</span>优<span class="ff6">先</span>级、时</div><div class="t m0 x4 hb y47 ff2 fs2 fc0 sc0 ls0 ws0">间<span class="ff6">片</span>的方<span class="ff6">法<span class="_ _2"></span></span>,可以<span class="ff6">选择挂<span class="_ _2"></span>起</span>一个任<span class="_ _2"></span>务<span class="ff6">按照先</span>入<span class="ff6">先<span class="_ _2"></span></span>出(<span class="_ _2"></span><span class="ff1">FIFO</span>)的<span class="ff6">顺</span>序<span class="_ _2"></span><span class="ff6">或按照</span>优<span class="_ _2"></span><span class="ff6">先</span>级的<span class="ff6">顺</span>序。<span class="_ _2"></span><span class="ff6">所</span>有</div><div class="t m0 x4 hb y48 ff2 fs2 fc0 sc0 ls0 ws0">的操作<span class="_ _2"></span>系统对<span class="_ _2"></span><span class="ff6">象</span>(<span class="_ _2"></span>任务、<span class="_ _2"></span><span class="ff6">邮箱</span>、<span class="_ _2"></span><span class="ff6">队</span>列<span class="_ _2"></span>、管道<span class="_ _2"></span>等)都<span class="_ _2"></span>可以动<span class="_ _2"></span><span class="ff6">态地<span class="_ _2"></span>创建</span>和<span class="_ _2"></span><span class="ff6">删除<span class="_ _2"></span></span>。<span class="ff6">创建<span class="_ _2"></span></span>一个对<span class="_ _2"></span><span class="ff6">象</span>时<span class="_ _2"></span>,</div><div class="t m0 x4 hb y49 ff2 fs2 fc0 sc0 ls0 ws0">要<span class="ff6">指</span>定<span class="ff6">指</span>定其<span class="ff6">控制块</span>的内存<span class="ff6">区域</span>和其它的数据要<span class="ff6">求</span>(堆<span class="ff6">栈空</span>间等)。</div><div class="t m0 x6 hb y4a ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_"> </span><span class="ff2">在任<span class="_ _2"></span>务调<span class="_ _2"></span>度<span class="_ _2"></span>时<span class="_ _2"></span>,<span class="_ _2"></span><span class="ff6">首<span class="_ _2"></span>先<span class="_ _2"></span>查<span class="_ _2"></span>看<span class="_ _2"></span></span>任<span class="_ _2"></span>务<span class="_ _2"></span>是<span class="_ _2"></span><span class="ff6">否<span class="_ _2"></span></span>可<span class="_ _2"></span>以<span class="_ _2"></span><span class="ff6">抢<span class="_ _2"></span>占</span>,<span class="_ _9"></span>如果不<span class="_ _2"></span>能<span class="_ _2"></span><span class="ff6">抢<span class="_ _2"></span>占<span class="_ _2"></span></span>,<span class="_ _2"></span>则<span class="_ _2"></span>一<span class="_ _2"></span>直<span class="_ _2"></span><span class="ff6">执<span class="_ _2"></span></span>行<span class="_ _2"></span>到<span class="_ _2"></span>任<span class="_ _2"></span>务</span></div><div class="t m0 x4 hb y4b ff6 fs2 fc0 sc0 ls0 ws0">完<span class="ff2">成</span>或<span class="_ _2"></span><span class="ff2">任务放<span class="_ _2"></span></span>弃<span class="ff2">时<span class="_ _2"></span>间</span>片<span class="ff2">;<span class="_ _2"></span></span>否<span class="ff2">则,<span class="_ _2"></span></span>依<span class="ff2">靠<span class="_ _2"></span>优</span>先<span class="ff2">级<span class="_ _2"></span>进行调<span class="_ _2"></span>度,<span class="_ _2"></span></span>先<span class="ff2">调入<span class="_ _2"></span>优</span>先<span class="ff2">级<span class="_ _2"></span></span>最高<span class="_ _2"></span><span class="ff2">的任务<span class="_ _2"></span>,对于<span class="_ _2"></span>优</span>先<span class="_ _2"></span><span class="ff2">级</span></div><div class="t m0 x4 hb y4c ff2 fs2 fc0 sc0 ls0 ws0">相同的任务则分<span class="ff6">享</span>时间<span class="ff6">片</span>、<span class="ff6">轮</span>流调度。</div><div class="t m0 x4 h5 y4d ff4 fs2 fc0 sc0 ls0 ws0">1.1<span class="_ _10"> </span><span class="ff2 sc1">系统启动</span></div><div class="t m0 xd hb y4e ff2 fs2 fc0 sc0 ls0 ws0">对于<span class="_ _6"> </span><span class="ff1">68K<span class="_ _6"> </span></span>系列的<span class="_ _6"> </span><span class="ff1">CPU</span>,如果<span class="ff6">采</span>用<span class="_ _6"> </span><span class="ff1">CrossCode C<span class="_ _6"> </span></span>编译器的话,<span class="_ _2"></span><span class="ff1">Nucleus<span class="_ _6"> </span></span>使用的是<span class="_ _6"> </span><span class="ff1">CrossCode<span class="_ _2"></span> C</span></div></div><div class="t m0 xc h9 y29 ff1 fs0 fc0 sc0 ls0 ws0">4</div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626b99ee7ae5df2aa7180120/bg5.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">Nucleus<span class="_ _0"> </span><span class="ff2">分析报告</span></div><div class="t m0 x4 hb y4f ff2 fs2 fc0 sc0 ls0 ws0">的启动<span class="_ _2"></span><span class="ff6">函</span>数,<span class="_ _2"></span>标<span class="ff6">号<span class="_ _1"> </span><span class="ff1">S<span class="_ _4"></span>T<span class="_ _3"></span>AR<span class="_ _3"></span>T<span class="_ _6"> </span><span class="ff2">是<span class="_ _2"></span>系统的<span class="_ _2"></span>入<span class="ff6">口</span>点<span class="_ _2"></span>。<span class="_ _2"></span></span>ST<span class="_ _8"></span>AR<span class="_ _4"></span>T<span class="_ _6"> </span><span class="ff2">标<span class="ff6">号<span class="_ _2"></span></span>在文件<span class="_ _1"> </span></span>st<span class="_ _4"></span>art.s<span class="_"> </span><span class="ff2">中,用汇编<span class="_ _2"></span><span class="ff6">及<span class="_ _6"> </span></span></span>CrossCode</span></span></div><div class="t m0 x4 hb y50 ff1 fs2 fc0 sc0 ls0 ws0">C<span class="_"> </span><span class="ff2">的<span class="ff6">宏<span class="_ _2"></span>指令<span class="_ _2"></span></span>写<span class="_ _2"></span>的<span class="_ _2"></span>。<span class="_ _2"></span>主<span class="_ _2"></span>要<span class="_ _2"></span><span class="ff6">完<span class="_ _2"></span></span>成<span class="_ _7"> </span></span>68360<span class="_"> </span><span class="ff2">中断<span class="_ _2"></span><span class="ff6">向<span class="_ _2"></span></span>量<span class="ff6">表<span class="_ _9"></span>指针<span class="_ _7"> </span></span></span>VBR<span class="_ _6"> </span><span class="ff2">和<span class="_ _2"></span>寄<span class="_ _2"></span>存<span class="_ _2"></span>器<span class="_ _2"></span>基<span class="_ _2"></span><span class="ff6">址<span class="_ _7"> </span></span></span>MBAR<span class="_"> </span><span class="ff2">的初<span class="_ _2"></span>始化<span class="_ _9"></span>,以<span class="_ _2"></span><span class="ff6">及</span></span></div><div class="t m0 x4 hb y51 ff2 fs2 fc0 sc0 ls0 ws0">外部<span class="_ _6"> </span><span class="ff1">RAM<span class="_ _0"> </span></span>各分<span class="ff6">区</span>的初始化,这些分<span class="ff6">区</span>包括:<span class="ff1">ra<span class="_ _2"></span>m</span>,<span class="ff1">data</span>,<span class="ff1">malloc</span>,<span class="ff1">init</span>,<span class="ff1">sys_memory<span class="_ _6"> </span></span>等。</div><div class="t m0 xd hb y43 ff2 fs2 fc0 sc0 ls0 ws0">系统<span class="ff6">低</span>级初始化<span class="ff6">完</span>成后,<span class="ff6">控制</span>就<span class="ff6">交</span>给初始化线程<span class="_ _6"> </span><span class="ff1">INT_Initialize</span>。</div><div class="t m0 x4 h5 y2a ff4 fs2 fc0 sc0 ls0 ws0">1.2<span class="_ _10"> </span><span class="ff2 sc1">初始化线程</span></div><div class="t m0 xd hb y2b ff2 fs2 fc0 sc0 ls0 ws0">初始化线程是系统开始<span class="ff6">执</span>行的第一个线程,线程的入<span class="ff6">口</span>是<span class="_"> </span><span class="ff1">INT_Initialize</span>,同时也是系统的</div><div class="t m0 x4 hb y2c ff2 fs2 fc0 sc0 ls0 ws0">主<span class="ff6">函</span>数,具有另外的标<span class="ff6">号名<span class="_ _6"> </span><span class="ff1">main</span></span>。</div><div class="t m0 xd hb y2d ff2 fs2 fc0 sc0 ls0 ws0">系统<span class="_ _2"></span>初始<span class="_ _2"></span>化<span class="ff6">首<span class="_ _2"></span>先完<span class="_ _2"></span></span>成硬<span class="_ _2"></span>件寄<span class="_ _2"></span>存<span class="_ _2"></span>器的<span class="_ _2"></span>配置<span class="_ _2"></span>,包<span class="_ _2"></span>括:<span class="_ _2"></span>存<span class="_ _2"></span><span class="ff6">储</span>器<span class="_ _2"></span><span class="ff6">片选<span class="_ _2"></span></span>(<span class="_ _9"></span><span class="ff1">CS0~CS7</span>)<span class="_ _2"></span>,软<span class="_ _2"></span>件<span class="ff6">看<span class="_ _2"></span>门狗</span></div><div class="t m0 x4 hb y2e ff1 fs2 fc0 sc0 ls0 ws0">SWT<span class="_ _2"></span><span class="ff2">,系<span class="_ _2"></span>统<span class="_ _2"></span><span class="ff6">周期<span class="_ _2"></span></span>定<span class="_ _2"></span>时<span class="_ _2"></span>器<span class="_ _1"> </span></span>P<span class="_ _4"></span>IT<span class="_ _2"></span><span class="ff2">,<span class="_ _2"></span></span>A<span class="_"> </span><span class="ff6">口<span class="ff2">、</span></span>B<span class="_"> </span><span class="ff6">口<span class="ff2">、<span class="_ _2"></span></span></span>C<span class="_"> </span><span class="ff6">口引脚<span class="_ _2"></span>功<span class="_ _2"></span><span class="ff2">能设<span class="_ _2"></span>定<span class="_ _2"></span>,<span class="_ _2"></span></span>串<span class="_ _2"></span><span class="ff2">行通<span class="_ _2"></span>信<span class="_ _2"></span></span>控<span class="_ _2"></span>制<span class="ff2">器<span class="_ _2"></span>的<span class="_ _2"></span>初步<span class="_ _2"></span>配<span class="_ _2"></span>置<span class="_ _2"></span>等<span class="_ _f"></span>。</span></span></div><div class="t m0 x4 hb y2f ff2 fs2 fc0 sc0 ls0 ws0">这些硬件的配置跟目标板有关,需要用户自<span class="ff6">己</span>用汇编来写。</div><div class="t m0 xd hb y30 ff2 fs2 fc0 sc0 ls0 ws0">其次,<span class="ff6">将</span>系统堆<span class="ff6">栈指针<span class="_ _6"> </span><span class="ff1">TCD_System_Stack<span class="_ _6"> </span></span></span>初始化为堆<span class="ff6">栈区<span class="_ _6"> </span><span class="ff1">stack<span class="_ _6"> </span></span></span>的<span class="ff6">顶</span>部,同时在系统内存</div><div class="t m0 x4 hb y31 ff6 fs2 fc0 sc0 ls0 ws0">区<span class="_ _1"> </span><span class="ff1">sys_m<span class="_ _4"></span>emory<span class="_ _1"> </span><span class="ff2">中<span class="_ _9"></span><span class="ff6">拿<span class="_ _11"></span></span>出<span class="_ _1"> </span></span>TMD_HISR_Stack_Size<span class="_"> </span><span class="ff2">大<span class="_ _11"></span><span class="ff6">小<span class="_ _11"></span></span>的<span class="_ _9"></span>一<span class="_ _11"></span><span class="ff6">片<span class="_ _11"></span></span>内<span class="_ _9"></span>存<span class="_ _11"></span>用<span class="_ _11"></span>作<span class="_ _9"></span><span class="ff6">高<span class="_ _11"></span></span>级<span class="_ _11"></span>中<span class="_ _9"></span>断<span class="_ _11"></span>服<span class="_ _11"></span>务<span class="_ _11"></span>程<span class="_ _9"></span>序<span class="_ _11"></span>的<span class="_ _11"></span>堆<span class="_ _9"></span><span class="ff6">栈</span></span></span></div><div class="t m0 x4 h5 y45 ff1 fs2 fc0 sc0 ls0 ws0">HISR_ST<span class="_ _8"></span>ACK<span class="ff2">。</span></div><div class="t m0 x4 hb y32 ff1 fs2 fc0 sc0 ls0 ws0"> <span class="_ _2"></span> <span class="_ _2"></span><span class="ff2">然<span class="_ _2"></span>后,<span class="ff6">控<span class="_ _2"></span>制交</span>给<span class="_ _7"> </span></span>INC<span class="_ _2"></span>_Initialize<span class="ff2">。</span>INC_<span class="_ _2"></span>Initialize<span class="_ _6"> </span><span class="ff6">首先<span class="_ _2"></span>完<span class="ff2">成<span class="_ _2"></span>操作系<span class="_ _2"></span>统数据<span class="_ _2"></span>结构的<span class="_ _2"></span>初始<span class="_ _2"></span>化,包<span class="_ _2"></span>括:</span></span></div><div class="t m0 x4 hb y33 ff2 fs2 fc0 sc0 ls0 ws0">线<span class="_ _2"></span>程<span class="ff6">控<span class="_ _11"></span>制</span>、<span class="_ _11"></span><span class="ff6">邮箱<span class="_ _2"></span></span>、<span class="_ _2"></span><span class="ff6">队<span class="_ _2"></span></span>列<span class="_ _2"></span>、<span class="_ _2"></span>管<span class="_ _2"></span>道<span class="_ _2"></span>、<span class="_ _2"></span>信<span class="_ _2"></span><span class="ff6">号<span class="_ _2"></span></span>量<span class="_ _2"></span>、<span class="_ _2"></span><span class="ff6">事<span class="_ _2"></span></span>件、<span class="_ _11"></span>分<span class="ff6">区<span class="_ _11"></span></span>内存<span class="_ _2"></span>、<span class="_ _2"></span>动<span class="_ _2"></span><span class="ff6">态<span class="_ _2"></span></span>内<span class="_ _2"></span>存<span class="_ _2"></span>、<span class="_ _2"></span>定<span class="_ _2"></span>时<span class="_ _2"></span>器<span class="_ _2"></span>、<span class="_ _f"></span><span class="ff1">I/O <span class="_ _2"></span>Driver<span class="_"> </span></span>等。</div><div class="t m0 x4 hb y34 ff2 fs2 fc0 sc0 ls0 ws0">其次,<span class="_ _2"></span>调用<span class="_ _7"> </span><span class="ff1">Application_Initialize<span class="_ _2"></span></span>,这一<span class="_ _2"></span><span class="ff6">函</span>数<span class="_ _2"></span><span class="ff6">由</span>用户<span class="_ _2"></span>编写,<span class="_ _2"></span><span class="ff6">完</span>成<span class="_ _2"></span>任务、<span class="_ _2"></span>消息<span class="_ _2"></span><span class="ff6">队</span>列等<span class="_ _2"></span>的<span class="ff6">创建<span class="_ _2"></span></span>、中<span class="_ _2"></span>断</div><div class="t m0 x4 hb y35 ff2 fs2 fc0 sc0 ls0 ws0">的<span class="_ _2"></span><span class="ff6">注<span class="_ _11"></span>册<span class="_ _2"></span></span>以<span class="_ _11"></span><span class="ff6">及<span class="_ _2"></span>应<span class="_ _11"></span></span>用<span class="_ _2"></span>程<span class="_ _11"></span>序<span class="_ _2"></span>的<span class="_ _11"></span>初<span class="_ _2"></span>始<span class="_ _11"></span>化<span class="_ _2"></span>。<span class="_ _11"></span>当<span class="_ _11"></span><span class="ff6">所<span class="_ _2"></span></span>有<span class="_ _11"></span>的<span class="_ _2"></span>初<span class="_ _11"></span>始<span class="_ _2"></span>化<span class="_ _11"></span>都<span class="_ _2"></span><span class="ff6">完<span class="_ _11"></span></span>成<span class="_ _2"></span>后<span class="_ _11"></span>,<span class="_ _9"></span><span class="ff1">INC<span class="_ _2"></span>_Initialize<span class="_"> </span></span>调<span class="_ _2"></span>用<span class="_ _7"> </span><span class="ff1">TCT_<span class="_ _2"></span>Schedule</span></div><div class="t m0 x4 h5 y36 ff2 fs2 fc0 sc0 ls0 ws0">开始线程的调度。</div><div class="t m0 x4 h5 y37 ff4 fs2 fc0 sc0 ls0 ws0">1.3<span class="_ _10"> </span><span class="ff2 sc1">线程调度</span></div><div class="t m0 x6 hb y39 ff1 fs2 fc0 sc0 ls0 ws0">TCT_Schedule<span class="_ _6"> </span><span class="ff2">是线程调度的入<span class="ff6">口</span>,<span class="ff6">负责将控制权交</span>给具有<span class="ff6">最高</span>优<span class="ff6">先</span>级的<span class="ff6">高</span>级中断服务程序</span></div><div class="t m0 x4 hb y3a ff1 fs2 fc0 sc0 ls0 ws0">HISR<span class="ff2">(</span>TCD_Execute_HISR<span class="ff2">)<span class="ff6">或</span>处于就<span class="ff6">绪状态</span>的<span class="ff6">最高</span>优<span class="ff6">先</span>级任务(</span>TCD_<span class="_ _2"></span>Execute_T<span class="_ _8"></span>a<span class="_ _2"></span>sk<span class="ff2">)。当没</span></div><div class="t m0 x4 hb y3b ff2 fs2 fc0 sc0 ls0 ws0">有<span class="_ _11"></span>任<span class="_ _11"></span>务<span class="_ _11"></span><span class="ff6">或<span class="_ _1"> </span><span class="ff1">HISR<span class="_"> </span></span>执<span class="_ _11"></span></span>行<span class="_ _11"></span>时<span class="_ _11"></span>,<span class="_ _11"></span>线<span class="_ _11"></span>程<span class="_ _9"></span>调<span class="_ _11"></span>度<span class="_ _11"></span>就<span class="_ _11"></span>在<span class="_"> </span><span class="ff1">TCT_Schedule<span class="_"> </span></span>中<span class="_ _11"></span><span class="ff6">做<span class="_ _11"></span>死<span class="_ _11"></span>循<span class="_ _9"></span>环<span class="_ _11"></span></span>,<span class="_ _11"></span>等<span class="_ _11"></span><span class="ff6">待<span class="_ _1"> </span><span class="ff1">T<span class="_ _3"></span>ASK<span class="_"> </span><span class="ff6">或<span class="_ _1"> </span></span>HISR<span class="_"> </span><span class="ff2">就<span class="_ _2"></span><span class="ff6">绪<span class="_ _9"></span></span>。</span></span></span></div><div class="t m0 x4 hb y3c ff1 fs2 fc0 sc0 ls0 ws0">HISR<span class="_ _1"> </span><span class="ff2">的<span class="_ _f"></span>优<span class="_ _f"></span><span class="ff6">先<span class="_ _9"></span>权<span class="_ _f"></span></span>比<span class="_ _f"></span>任<span class="_ _9"></span>务<span class="_ _f"></span><span class="ff6">高<span class="_ _f"></span></span>,<span class="_ _9"></span>一<span class="_ _f"></span><span class="ff6">旦<span class="_ _f"></span></span>有<span class="_ _a"> </span></span>HISR<span class="_ _12"> </span><span class="ff2">就<span class="_ _9"></span><span class="ff6">绪<span class="_ _f"></span></span>,<span class="_ _9"></span>则<span class="_ _f"></span>当<span class="_ _f"></span>前<span class="_ _9"></span>调<span class="_ _f"></span>度<span class="_ _f"></span>的<span class="_ _9"></span>任<span class="_ _f"></span>务<span class="_ _f"></span><span class="ff6">将<span class="_ _9"></span>会<span class="_ _f"></span>被<span class="_ _f"></span>挂<span class="_ _9"></span>起<span class="_ _f"></span></span>,<span class="_ _9"></span>优<span class="_ _f"></span><span class="ff6">先<span class="_ _f"></span></span>调<span class="_ _f"></span>度</span></div><div class="t m0 x4 h5 y3d ff1 fs2 fc0 sc0 ls0 ws0">HISR<span class="ff2">。</span></div><div class="t m0 x6 hb y3e ff2 fs2 fc0 sc0 ls0 ws0">一<span class="_ _1"> </span><span class="ff6">旦<span class="_ _7"> </span></span>有<span class="_ _13"> </span><span class="ff1">T<span class="_ _8"></span>ASK<span class="_ _13"> </span><span class="ff6">或<span class="_ _14"> </span></span>HISR<span class="_ _14"> </span><span class="ff2">就<span class="_ _1"> </span><span class="ff6">绪<span class="_ _1"> </span></span>,<span class="_ _7"> </span><span class="ff6">控<span class="_ _1"> </span>制<span class="_ _1"> </span></span>就<span class="_ _1"> </span><span class="ff6">会<span class="_ _7"> </span>交<span class="_ _1"> </span></span>给<span class="_ _14"> </span></span>TCT_Control_T<span class="_ _3"></span>o_Thread<span class="_ _1"> </span><span class="ff2">,<span class="_ _1"> </span>在<span class="_ _7"> </span>这<span class="_"> </span><span class="ff6">里<span class="_ _7"> </span>将</span></span></span></div><div class="t m0 x4 hb y3f ff1 fs2 fc0 sc0 ls0 ws0">TCD_Execute_HISR<span class="_ _6"> </span><span class="ff6">或<span class="_ _6"> </span></span>TCD_Execute_T<span class="_ _3"></span>ask<span class="_ _6"> </span><span class="ff2">设<span class="_ _2"></span>置为当前线程<span class="_ _7"> </span></span>TCD_Current_Thread<span class="ff2">,<span class="_ _2"></span>启动任务时间</span></div><div class="t m0 x4 hb y52 ff6 fs2 fc0 sc0 ls0 ws0">片<span class="_ _2"></span><span class="ff2">定时<span class="_ _11"></span>器,<span class="_ _11"></span></span>根<span class="ff2">据<span class="_ _2"></span>线<span class="_ _2"></span>程<span class="_ _2"></span>的<span class="_ _2"></span>不<span class="_ _2"></span>同<span class="_ _2"></span>堆<span class="_ _2"></span></span>栈<span class="_ _2"></span>类<span class="_ _2"></span>型<span class="_ _2"></span>恢<span class="_ _2"></span><span class="ff2">复<span class="_ _2"></span>堆<span class="_ _2"></span></span>栈<span class="ff2">,<span class="_ _11"></span>然后<span class="_ _11"></span></span>执<span class="ff2">行<span class="_"> </span><span class="ff1">R<span class="_ _3"></span>TS<span class="_"> </span><span class="ff6">或<span class="_ _6"> </span></span>R<span class="_ _3"></span>TE<span class="_"> </span><span class="ff6">指令<span class="_ _2"></span><span class="ff2">,<span class="_ _2"></span></span>将<span class="_ _2"></span>控<span class="_ _2"></span>制<span class="_ _2"></span>权<span class="_ _2"></span>交<span class="_ _2"></span><span class="ff2">给<span class="_ _2"></span>线</span></span></span></span></div><div class="t m0 x4 h5 y40 ff2 fs2 fc0 sc0 ls0 ws0">程。</div><div class="t m0 x6 hb y41 ff1 fs2 fc0 sc0 ls0 ws0">Nucleus<span class="_ _6"> </span><span class="ff2">的线程有<span class="ff6">两种类型</span>的堆<span class="ff6">栈帧</span>:</span></div><div class="t m0 x6 hb y4e ff2 fs2 fc0 sc0 ls0 ws0">任<span class="_ _2"></span>务<span class="_ _2"></span><span class="ff6">创<span class="_ _2"></span>建<span class="_ _2"></span></span>时<span class="_ _2"></span>,<span class="_ _2"></span>要<span class="_ _2"></span><span class="ff6">建<span class="_ _11"></span>立<span class="_ _2"></span></span>一<span class="_ _2"></span>个<span class="_ _2"></span>初<span class="_ _2"></span>始<span class="_ _2"></span>堆<span class="_ _2"></span><span class="ff6">栈<span class="_ _11"></span>帧<span class="_ _2"></span></span>,<span class="_ _2"></span>线<span class="_ _2"></span>程<span class="_ _2"></span>入<span class="_ _2"></span><span class="ff6">口<span class="_ _2"></span></span>是<span class="_ _7"> </span><span class="ff1">TCC_<span class="_ _2"></span>T<span class="_ _8"></span>ask_Shell<span class="_ _11"></span><span class="ff2">,<span class="_ _2"></span><span class="ff6">该<span class="_ _7"> </span></span></span>Shell<span class="_"> </span><span class="ff6">执<span class="ff2">行<span class="_ _11"></span>任<span class="_ _2"></span>务<span class="_ _2"></span>的</span></span></span></div></div><div class="t m0 xc h9 y29 ff1 fs0 fc0 sc0 ls0 ws0">5</div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>