低功耗设备机器学习开发入门与基础概念
1. 嵌入式设备与机器学习发展现状
嵌入式设备在机器学习领域正发挥着越来越重要的作用。TinyML(微小机器学习)对能量成本有严格要求,低于 1mW 的能量成本使得我们将目光投向嵌入式设备作为硬件平台。
过去,嵌入式设备多为 8 位设备,使用晦涩且专有的工具链,开发难度较大。但随着 Arduino 引入用户友好的集成开发环境(IDE)以及标准化硬件,32 位 CPU 逐渐成为标准,这主要得益于 Arm 的 Cortex - M 系列芯片。如今,嵌入式设备的开发过程变得相对简单。
不过,嵌入式设备也存在一些资源限制:
- 内存方面 :通常只有几百千字节的 RAM,甚至更少,闪存内存也类似,用于持久化程序和数据存储。
- 时钟速度 :时钟速度往往只有几十兆赫兹。
- 操作系统 :一般没有完整的 Linux 系统,因为其需要内存控制器和至少 1 兆字节的 RAM,且即使有操作系统,也可能无法提供全部或任何你期望的 POSIX 或标准 C 库函数。
- 内存分配 :许多嵌入式系统避免使用动态内存分配函数,如 new 或 malloc(),因为要保证系统可靠且长期运行,而处理可能碎片化的堆非常困难。
- 调试工具 :使用调试器或桌面开发中熟悉的其他工具可能会很棘手,因为访问芯片的接口非常专业。
当然,嵌入式开发也有一些惊喜之处。没有其他进程干扰程序,使得构建程序运行的心理模型变得简单;没有分支预测
超级会员免费看
订阅专栏 解锁全文
579

被折叠的 条评论
为什么被折叠?



