在LSM6DSO16IS/ISM330IS的IMU内部框架中,传感器hub可以通过I2C连接外部磁力计和气压计等设备。ISPU可以通过内部的IMU传感链直接读取外部的传感器(地磁或气压计)和内部的加速度、陀螺仪和温度数据。ISPU支持运行最多30个算法,但由于ISPU是单核,它以串型的方式运行,每一个算法都可以产生一个中断信号,通知主控发生的中断事件。 ISPU可以通过I2C与SPI与主控连接,同时通过多种寄存器跟主控交互。例如,如果主控需要配置参数,可以通过总线将参数写到ISPU的配置寄存器对ISPU进行配置,而标志寄存器可以通过总线实现主控和ISPU的数据交互。此外,ISPU输出数据寄存器可以在中断发生后将数据送出,告知MCU当前发生了什么事件。 & m# o0 |1 x' x+ l6 n5 V ISPU开发流程 首先是基于ISPU代码进行编码,使用工具链将其编译成ISPU二进制文件。然后,将该ISPU二进制文件与传感器配置文件(configureTXT)传感器配置文件一起使用工具生成ISPU.h或者.UCF配置文件。将这些文件复制到MCU的应用程序代码中,加载ISPU程序并读取算法结果,使用ARM工具链进行编译,生成应用.bin文件,最后将应用.bin文件烧录到MCU中运行。 1)基于命令行工具CLI 命令行主要在Windows下使用,通过CMD输入命令来实现编译工作。 采用这种方法,开发之前需要先安装ISPU编译工具链,并在Windows里安装make工具。然后可以基于我们提供ISPU模版开发Norm算法,修改传感器配置,通过json输出文件进行编译,再通过GUI连接板子并连上电脑,使能ISPU。 . F) C: x9 c, n3 W9 x. W: Z( @2)基于Eclipse的IDE' s5 d6 Q& Q0 k. ]9 Q" x: U2 y( E . p$ Q" c* Z9 A: `/ b9 o; U0 H 如STM32CubeIDE,可以编辑代码及编译ISPU程序。开发时需要先下载安装Eclipse插件,然后导入工程进行编译。 3)GUI9 Z2 t: S/ `( M- Z 采用AlgoBuilder,无需编写代码,只需要在软件中拖拽不同模块进行连接,即可自动生成代码。用户需要先在ST官网上下载AlgoBuidler、STM32CubeIDE、STM32CubeProgrammer和Unico-GUI软件并安装,通过设置后即可实现零代码设计,基于模块固件编译和烧写以及调用Unicleo-GUI。 4 v; N6 b5 B. h: W- z$ P& U8 u- x `. S ; _2 ~! f9 i a8 H" J, _& p4 q6 K 转载自意法半导体中国公众号 |
【STM32H7S78-DK评测】移植AI框架TensorFlow【DSP指令加速篇】
【STM32H7S78-DK评测】移植AI框架TensorFlow【下篇】
【STM32H7S78-DK评测】移植AI框架TensorFlow Lite【上篇】
【STM32H7S78-DK评测】移植边缘AI推理框架——TFLM(TensorFlow Lite for Microcontrollers)上篇
破解边缘AI硬件与软件挑战,意法半导体解读三大创新要点
意法半导体助力企业产品智能化,加快边缘人工智能应用
STM32不至于芯,2023济南站研讨会
ST机器学习汽车解决方案
Cube.AI和NanoEdge AI具备哪些优秀的功能
边缘AI领域,ST可以提供哪些软硬件支持