AI嵌入式系统:算法优化与实现
上QQ阅读APP看书,第一时间看更新

2.3 小结

本章首先介绍了几种编程模式,每种编程模式的实用性和具体的应用相关,并不一定总是选择最复杂的方案。嵌入式编程是对运行实时性、开发复杂度、CPU使用效率等多方面指标的平衡,并没有固定的或唯一的编程方式。另外,嵌入式系统的编程模式和系统复杂度有关,对于运行Linux或者Windows 10的系统,计算资源丰富,各种计算机编程框架和编程模式都能够使用。但对于资源受限、运算能力较弱的系统,需要我们精细地分配CPU运行时间,在没有操作系统的条件下完成任务。在实际应用中,还有另一种方案,就是通过现有各种实时操作系统(比如开源的FreeRTOS等)帮助我们实现多任务并发运行,并帮助管理外部设备实现共享。本书不重点关注这部分内容,对于嵌入式实时操作系统也不再展开介绍,感兴趣的读者可以阅读相关材料。

本章还介绍了通用软件优化方法,这些优化方法能够用于提高各种嵌入式应用软件的运行效率,但值得注意的是,这些优化方法在不同的硬件平台上的效果是不同的,比如对于支持硬件浮点指令的处理器,就没有必要用加减法简化浮点计算;对于使用数据Cache的处理器,不同的程序循环结构的性能受Cache行为的影响。对于每一种优化方法,还需要读者仔细对比使用前后软件性能的实际提升量,以确保所使用的优化方法有效果。