首页
›
工业控制与工业互联网
›
004-TFLite Micro CMSIS-NN加速
›
《CMSIS-NN在GCC与Keil下编译配置指南》
VIP20
本课程属于:004-TFLite Micro CMSIS-NN加速
工业控制与工业互联网 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
📘
CMSIS-NN在GCC与Keil下编译配置指南
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
了解CMSIS-NN的定位 · 应用场景 · 学习目标以及GCC与Keil两种工具…
课程导入
CMSIS-NN
02
环境准备
安装GCC ARM工具链 · Keil MDK · CMSIS软件包以及必要的调试工具
环境准备
GCC
03
CMSIS-NN核心概念
掌握神经网络算子 · 量化类型(int8/int16) · 激活函数和内存布局等基础术语
CMSIS-NN
核心概念
04
CMSIS-NN源码结构
解析CMSIS-NN库的目录结构 · 关键文件(如arm_nnfuncti…
CMSIS-NN
源码结构
05
GCC编译基础
学习GCC命令行参数 · 编译流程(预处理 · 编译
GCC
编译基础
06
Keil编译基础
熟悉Keil MDK的工程配置 · 编译选项 · 优化级别和错误处理机制
Keil
编译基础
07
CMSIS-NN在GCC下的编译配置
配置头文件路径 · 宏定义(如ARM_MATH_DSP) · 链接脚本和启动文件
CMSIS-NN
GCC
08
CMSIS-NN在Keil下的编译配置
设置C/C++编译器选项 · 包含路径 · 预定义符号和分散加载文件
CMSIS-NN
Keil
09
优化选项对比
分析GCC与Keil中不同优化级别(…
优化选项对比
GCC
10
硬件加速支持
启用FPU · DSP扩展指令(如SMLAD)和MV…
硬件加速支持
FPU
11
内存对齐与布局
理解CMSIS-NN对数据对齐的要求 · 配置堆栈 · 堆和全局缓冲区
内存对齐
布局
12
链接脚本与分散加载
编写GCC的.ld文件与Keil的.… · 确保CMSIS-NN代码段正确放置
链接脚本
分散加载
13
编译错误排查
常见编译错误(如未定义符号 · 头文件缺失 · 类型不匹配)的定位与解决
编译错误排查
常见编译错误
14
静态库与动态库
将CMSIS-NN编译为静态库(.a…
静态库
动态库
15
单元测试框架
搭建简单的测试工程 · 验证CMSIS-NN函数在两种工具链…
单元测试框架
搭建简单的测试工…
16
性能基准测试
使用cycle计数器或定时器测量卷积 · 全连接等算子的执行时间
性能基准测试
cycle
17
案例实战
在STM32F4上使用GCC编译CM…
案例实战
STM32F4
18
案例实战
在STM32H7上使用Keil编译C…
案例实战
STM32H7
19
混合编译
在Keil工程中调用GCC编译的CM… · 处理ABI兼容性问题
混合编译
Keil
20
调试技巧
使用GDB与Keil调试器查看CMS… · 断点设置和内存监视
调试技巧
GDB
21
版本兼容性
处理CMSIS-NN不同版本(如5.…
版本兼容性
CMSIS-NN
22
功耗与内存优化
通过编译配置减少代码大小和RAM占用 · 适应资源受限MCU
功耗
内存优化
23
多线程与RTOS集成
在FreeRTOS等RTOS中编译C… · 处理中断和任务栈配置
RTOS
多线程
24
常见问题汇总
解决编译时“未定义指令 · 链接时“重定位错误”等高频问题
常见问题汇总
解决编译时“未定…
25
自动化构建
使用CMake或脚本自动化GCC与K… · 实现持续集成
自动化构建
CMake
26
代码移植
将基于GCC的CMSIS-NN工程移… · 或反向移植的步骤与注意事项
代码移植
GCC
27
高级特性
使用CMSIS-NN的软硬件协同设计 · 如DMA传输和双缓冲配置
高级特性
CMSIS-NN
28
综合项目
设计一个完整的语音关键词识别系统 · 涵盖GCC与Keil双环境编译
综合项目
设计一个完整的语…
29
性能对比分析
对比GCC与Keil编译后的CMSI… · 代码大小和功耗
性能对比分析
GCC
30
课程总结与进阶路径
回顾核心知识点 · 推荐深入学习资源(如CMSIS-DS… · TensorFlow Lite Mi…
课程总结
进阶路径
所属VIP或分类
同VIP:CMSIS-NN-ARM-SIMD指令加速卷积kernel实战
同VIP:CMSIS-NN-fully-connected-int8-kerne
同VIP:CMSIS-NN-int8-kernel性能测试与调优指南