RT-Thread / RT-AK-plugin-stm32

plugin for stm32 of RT-Thread AI Kit
Apache License 2.0
8 stars 7 forks source link

在使用stm32-l476进行移植时会报错,应对plugin_stm32中的plugin_stm32.py文件进行修改 #12

Closed hzq-zxcbdx closed 2 years ago

hzq-zxcbdx commented 2 years ago

在使用keil进行编译时会报许多错误 image 阅读错误代码发现是stm32l4xx_hal_conf.h文件取消注释时使HAL_CRC_MODULE_ENABLED这一行发生了错误 image 阅读代码执行流程发现错误出在rt_ai_tools文件夹中plugin_stm32.py文件的第237行new_line = " ".join(lines[index].split()[1:-1])

234            # hal_crc index
235            index = [i for i in range(len(lines))
236                     if "HAL_CRC_MODULE_ENABLED" in lines[i]][0]
237            new_line = " ".join(lines[index].split()[1:-1])
238            new_line += "\n"

本行代码对原本的注释使用空格进行分割,但是RT-THREAD Studio中生成的H7和L4工程对c代码的注释方式不同,下图为H7的注释方式 image 因此,需要对plugin_stm32.py进行一点修改

234            # hal_crc index
235            index = [i for i in range(len(lines))
236                     if "HAL_CRC_MODULE_ENABLED" in lines[i]][0]
237            new_line = " ".join(lines[index].split('*')[1:-1])
238            new_line += "\n"

使用*而不是空格进行分割,可以解决这个问题 修改后重新执行aitools.py并生成keil工程,编译不报错 image

pinxue commented 2 years ago

Well Done!