先新建一IAR的工作空间(work space),在菜单File中选择new workspace,然后再新建一个项目,在菜单Project中选择create new project,打开如下窗口:
其中选择第一个空项目,点击确定,新建一个空的项目,然后再在项目(不是工作空间上)右键,点击属性(options),在弹出的对话框中修改如下一些内容:
将core修改为Device,并且右侧的选择按钮中选择MCIMX6Y2,正点原子的核心板使用的就是这个芯片,必须要选择正确,然后切换到c编译器选项卡,在其中的编译器配置选项卡中填写如下:
上部分是配置引用的头文件的检查目录,下部分为编译器宏定义,这个宏定义参考自NXP的IAR的官网SDK列程,并做了一定的修改,如下:
CPU_MCIMX6Y2DVM05
PRINTF_FLOAT_ENABLE=0
SCANF_FLOAT_ENABLE=0
PRINTF_ADVANCED_ENABLE=0
SCANF_ADVANCED_ENABLE=0
EVK_MCIMX6ULL
必须每行写一个。然后切换到输出转换选项卡,勾选输出转换,并且选择输出类型为bin类型,输出bin文件是因为下载程序中需要用的.imx文件,而.imx文件是由.bin文件转换过来的。如下图:
然后切换到linker连接器设置选项卡,勾选覆盖源连接脚本,使用MCIMX6Y2xxx05_ram.icf覆盖,可以在我的源码中找到修改版,也可以在NXP的官网SDK中找到未修改的官方原版,官方源版是不能拿来直接烧写到正点原子板子上的,但是可以用来连接JLink进行在线调试。
以上就是设置IAR的所有内容,设置完成之后可以直接单击确定,设置完成之后,我们复制NXP官网的SDK中的源码到我们的项目目录下,并且在IAR中只添加需要用的相关的库文件.c文件即可,.h头文件只要在文件夹内就可以,不需要添加到项目目录中。复制完之后的目录如下图:
然后添加所需要的库文件.c到项目目录,有些不需要的可以不添加,会减少编译量和bin文件的大小。添加完后如下:
随后我们就可以开始写代码了,另外还需要注意的是,startup汇编文件的编写,在这个汇编启动引导文件中,我们必须要配置C语言运行环境,代码参考自正点原子和NXP官网例程,如下:
其中主要就是设置中断向量表和低速中断处理代码,然后配置运行模式和堆栈。