本帖最后由 qinyunti 于 2024-6-23 15:57 编辑
第一章分享
本章1.1实时系统一小节就澄清了实时系统的实时指的及时,而不是指的快,
这点很重要,大部分嵌入式开发者可能都没搞懂这个概念,主要原因就是网上各种资料,甚至各种书籍都是各种相互抄袭,源头就是错的。
换句话说,所谓实时系统是指的对及时响应有不同程度需求的系统,这种需求程度不一样就对应不同的实时系统,要求很严格就是必须实时响应否则会导致严重问题,那么这种系统就是硬实时(需求)系统,如果是有及时性要求但是要求没那么严格,偶尔一两次响应没那么及时也能接受,那么就是软实时(需求)系统。
所以实时性是从系统的需求的角度来说的。
然后介绍了V开发模型,这个是比较常用的开发模型,
即左边和右边分别对应的是开发和测试,不同开发阶段对应不同开发阶段的测试。
顺便提一下,嵌入式开发中,其实个人自测是非常重要的,避免不经过自测的输出就提交,这一方面是对自己的不负责,也降低了效率,严格保证自己输出的经过自测既有利于提供自己的输出质量,也驱动自己不断提升自我。 日本有一个管理的思想就是自己的输出是别人的输入,在自己的输出要保证质量避免问题,这样团队才会高质量输出高效。
然后介绍了编译过程,这是嵌入式开发者必须要了解的
下图表述就非常清晰,而且是彩图
小贴士这里的提示也很有价值,在开发中查看宏展开就是这么做的,-E编译器选项,以前不知道的读者看到这里就又学到一条技能,并且是非常实用的技能,这种随时分享技能的叙述点赞。
文中按顺序介绍了预处理器,编译器,汇编器,链接器,链接脚本,调试器。并且也进行比较详细举例介绍。
这里给一个建议,最好是以GGC开源工具链为例进行介绍,其实用更广泛且容易获取,然后可以写一下每个过程分别参考什么文档,毕竟书中只能简单介绍,并不能详细介绍各个过程的所有内容,比如连接脚本可以参考文档《Using LD, the GNU linker》