本章主要对现有工程(keil/IAR)移植到SES的方法进行记录。
移植准备
防止出现芯片识别不到或其他问题,先进行芯片包的安装,具体步骤如下:
1. 进入包管理界面
已经安装的包可以在这里进行配置。
2. 下载对应的芯片包
3. 下载结果确认。
导入工程
1. 选择对应开发环境的工程文件,尽量不要有中文,虽然最新版添加了对中文路径的支持,但国外的东西,尽量还是不要有中文路径。
2. 选择对应的工具链,一般默认就可以
3. 导入成功
编译
右键Option->Rebuild即可,如果遇到编译报错的问题,更新工程为Internal后重新编译即可
!!!重要!!!!部分配置文件修改
导入工程很简单,但是导入后跑不起来或者跑起来报错一般是缺少某些相关的配置文件,尤其是中断向量表和启动文件,导入的工程默认是使用Cortex_M_Startup.s启动文件,是对M核的通用性文件,对某个具体信号的MCU来说会有很多问题,因此要重新导入对应MCU型号的文件。
启动文件和中断向量表修改
1. 开启对应MCU的demo工程或者直接去路径C:\Users\admin\AppData\Local\SEGGER\SEGGER Embedded Studio\v3\packages\GD32E10x\Source下找需要的文件
需要移植的文件
2. Startup.s和Vector.s文件复制到现有的工程路径下
3. 导入对应的Startup.s和Vector.s文件并删除原先的Cortex_M_Startup.s
编译运行即可
Memory Map File配置
如果涉及到Boot,需要修改对应的ROM/RAM以及启动地址的话,需要进行Memory Map的相关修改,如果没有相关需求的话不配置也是可以的。
Memory Map修改办法一
最简单的办法为工程右键选择Edit Memory Map,进行地址的设置,如果右键没有对应的选项可以往后看。
Memory Map修改办法二
工程右键-Option-Linker里的Memory Segment设置,在这里进行修改即可。
Memory Map文件的导入
0. 新建和移植工程右键菜单对比。
新移植的工程默认是没有该选项的,移植和新建/demo右键菜单对比如下:
导入Memory Map文件的步骤:
1. 复制memory Map File和Linker Script File文件到移植后的工程里。两个文件在Demo路径里有,一般在C:\Users\admin\AppData\Local\SEGGER\SEGGER Embedded Studio\v3\packages\GD32E10x\Scripts和C:\Users\admin\AppData\Local\SEGGER\SEGGER Embedded Studio\v3\packages\GD32E10x\XML里,选择对应的文件复制到我们工程路径里即可。
2. 配置对应的文件路径
工程右键选择Option->Linker选项
下载时MCU型号配置
某些特殊情况下需要修改下载器的配置,注意这里下载时的MCU可以和工程里的MCU不一样,类似Keil里的下载算法,比如我工程里MCU是STM32H750,但是下载时可以配置为STM32H742或者其他的,都是可以的。
结语
至此,移植后主要需要的配置文件导入已经完成,程序运行已经没问题,其他一些设置,比如RTT设置,Debug时寄存器的查看等功能,可以后续使用的时候慢慢进行配置。