目录

一、背景

二、基本结构

2.1、启动文件

2.2、内核文件

2.3、外设文件

2.4、如何找到启动文件及源码

三、大概移植步骤及要点

3.1、KEIL-->IAR

3.2、IAR-->KEIL

四、总结

4.1、示例工程结构

4.2、可能出现的问题

4.3、核心


一、背景

        将KEIL工程移植到IAR中进行编译(或IAR-->KEIL),开发,过程出现一些问题,遂记。

        适用于其它平台移植至keil/iar。

二、基本结构

2.1、启动文件

        在KEIL和IAR开发中,所需的.s启动文件不同,以N32G003芯片为例,区别如下:

        1)KEIL

        2)IAR

2.2、内核文件

        在KEIL和IAR开发中,一致。

2.3、外设文件

        在KEIL和IAR开发中,一致。

2.4、如何找到启动文件及源码

        1)启动文件--官网下载对应芯片代码,根据目录结构,复制即可,例如N32G003路径如下:

        2)源码--同启动文件,如下:

三、大概移植步骤及要点

3.1、KEIL-->IAR

1)IAR新建工程

        注意点:新增空的工程,最好在代码目录结构下,新建目录EWARM用来存放IAR工程(若是KEIL则新建MDK-ARM目录),将编译输出的文件,存放在这个目录中(默认)。

2)在工程新增组

        示例:

        注意点:无

3)给组添加文件

        示例:同上图。

        注意点:无

4)添加头文件路径

        示例:

        注意点:最好使用相对路径

5)编译下载设置

        示例:

     

注意点:无

6)编译输出设置

        示例:

        注意点:使用默认即可。

3.2、IAR-->KEIL

1)KEIL新建工程

        网上资料多,省略。

2)添加组

        示例:

        网上资料多,省略。

3)添加文件

        同上。

        网上资料多,省略。

4)添加头文件路径

        注意点:使用相对路径,可移植性高。

5)编译器和输出设置

        示例:

        

        注意点:选择这个可更改存储位置。

四、总结

4.1、示例工程结构

        注意点:单独文件夹存放不同编译器工程

4.2、可能出现的问题

        移植完成后,可能会出现一些报错,只要没有出现找不到xxx.h xxx.c文件的,或者启动文件.s报错的,一般是不同编译器间的差异问题,自行搜索解决即可,不作探究。

         示例:

        KEIL:

        IAR:

        KEIL:

                __nop();

        IAR:

                __NOP();

4.3、核心

        启动文件+内核文件+芯片外设驱动文件=初始工程 + 个人驱动 = 项目;

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐