sipeed / TinyMaix

TinyMaix is a tiny inference library for microcontrollers (TinyML).
Apache License 2.0
888 stars 143 forks source link

STM32F746 TM_ARCH_ARM_SIMD 编译失败 #59

Open irvingzhang0512 opened 1 year ago

irvingzhang0512 commented 1 year ago

image

报错的位置就是在

https://github.com/sipeed/TinyMaix/blob/0bec8f3318e98e249e14dcdeb569d34bc75d47ef/src/arch_arm_simd.h#L31

https://github.com/sipeed/TinyMaix/blob/0bec8f3318e98e249e14dcdeb569d34bc75d47ef/src/arch_arm_simd.h#L71

这个有点超出我的知识范围了,不知道后续应该做点什么?

PS: 大概移植流程

  1. 创建空项目,并把 TinyMaix 的整个文件夹复制到项目根目录下。
  2. 把 TinyMaix/include 添加到头文件目录下, TinyMaix/src 添加到源码目录下。
  3. 参考 TinyMaix/examples 中的源码(选择了 vww和mnist 进行测试),将对应 main.c 文件中的内容选择性复制到 stm32cubeide 生成的 main.c 中。
  4. printf usart相关配置。
  5. 默认情况下不修改配置头文件(那就是使用了CPU模式),build project 并运行能够正常获取结果(监控串口能够看到推理结果)。
  6. 修改 TinyMaix/include 中内容,使用 SIMD 加速(改为 TM_ARCH_ARM_SIMD),build project的时候编译失败,错误信息在上面

https://github.com/sipeed/TinyMaix/blob/0bec8f3318e98e249e14dcdeb569d34bc75d47ef/include/tm_port.h#L30

Dillonsixsixsix commented 1 year ago

请问你解决了吗?

irvingzhang0512 commented 1 year ago

请问你解决了吗?

没有

GalazincChen commented 1 year ago

我在使用KEIL5在STM32F303RET6开发时遇到了类似的问题,修改 TinyMaix/include 中内容,使用 SIMD 加速(改为 TM_ARCH_ARM_SIMD),而后在编译时报错,类似地,在arch_arm_simd的第41行出显示提示缺少")",这两个问题看来有共性