qinyunti 发表于 2024-6-23 15:31

《嵌入式软件的时间分析》第一章阅读分享-澄清嵌入式实时系统的实时究竟是什么

<div class='showpostmsg'> 本帖最后由 qinyunti 于 2024-6-23 15:57 编辑

<p>&nbsp;&nbsp;</p>

<h1><b>第一章分享</b></h1>

<p>本章1.1实时系统一小节就澄清了实时系统的实时指的及时,而不是指的快,</p>

<p>这点很重要,大部分嵌入式开发者可能都没搞懂这个概念,主要原因就是网上各种资料,甚至各种书籍都是各种相互抄袭,源头就是错的。</p>

<p>换句话说,所谓实时系统是指的对及时响应有不同程度需求的系统,这种需求程度不一样就对应不同的实时系统,要求很严格就是必须实时响应否则会导致严重问题,那么这种系统就是硬实时(需求)系统,如果是有及时性要求但是要求没那么严格,偶尔一两次响应没那么及时也能接受,那么就是软实时(需求)系统。</p>

<p>所以实时性是从系统的需求的角度来说的。</p>

<p>&nbsp;</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>然后介绍了V开发模型,这个是比较常用的开发模型,</p>

<p>即左边和右边分别对应的是开发和测试,不同开发阶段对应不同开发阶段的测试。</p>

<p>顺便提一下,嵌入式开发中,其实个人自测是非常重要的,避免不经过自测的输出就提交,这一方面是对自己的不负责,也降低了效率,严格保证自己输出的经过自测既有利于提供自己的输出质量,也驱动自己不断提升自我。 日本有一个管理的思想就是自己的输出是别人的输入,在自己的输出要保证质量避免问题,这样团队才会高质量输出高效。</p>

<p>&nbsp;</p>

<p>然后介绍了编译过程,这是嵌入式开发者必须要了解的</p>

<p>下图表述就非常清晰,而且是彩图</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>小贴士这里的提示也很有价值,在开发中查看宏展开就是这么做的,-E编译器选项,以前不知道的读者看到这里就又学到一条技能,并且是非常实用的技能,这种随时分享技能的叙述点赞。</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>文中按顺序介绍了预处理器,编译器,汇编器,链接器,链接脚本,调试器。并且也进行比较详细举例介绍。</p>

<p>&nbsp;</p>

<p><b>这里给一个建议,最好是以GGC开源工具链为例进行介绍,其实用更广泛且容易获取,然后可以写一下每个过程分别参考什么文档,毕竟书中只能简单介绍,并不能详细介绍各个过程的所有内容,比如连接脚本可以参考文档《Using LD, the GNU linker》</b></p>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页: [1]
查看完整版本: 《嵌入式软件的时间分析》第一章阅读分享-澄清嵌入式实时系统的实时究竟是什么