一 、概述
本篇博文主要介绍如何移植 S32DS 上的 S32K116 工程至 KEIL ,以及介绍移植过程中可能出现的问题进行处理的方法 ,介绍中使用到的软件版本为 S32DS.ARM.2.2 和 KEIL V5.23.0.0 。
二 、移植工程前的准备
移植前需要安装好 Keil 5 、 S32DS 、S32K116 Keil 的 pack 包 。
Keil 下载地址 :
https://www.keil.com/demo/eval/arm.htm
S32DS 下载地址 :
https://www.nxp.com.cn/design/software/development-software/s32-design-studio-ide/s32-design-studio-for-s32-platform:S32DS-S32PLATFORM
pack 包下载地址 :
https://keilpack.azureedge.net/pack/Keil.S32_SDK_DFP.1.2.0.pack
安装完成以上准备 ,下面开始介绍创建和移植S32DS 移植 S32K116 工程到 KEIL的方法及操作步骤 。
三 、S32DS 创建和导出 S32K116 工程
1,打开 S32 Design Studio ,在菜单栏中点击 File -> New -> S32DS Project from Example 创建 SDK 工程 。
-
在弹出窗口中选择想要移植的 S32K116 的例程 , 这里选择 S32DS Project from Example -> S32K116 -> demo_apps -> S32K116_Project_LPUART 例程作为演示 。
-
若创建的工程是基于SDK 的需要 ,选中创建的工程 ,在菜单栏中选择 Project -> Generate Processor Expert Code 生成工程完整代码 。
-
选中创建的工程 ,右键 -> Export -> File System -> Next -> Finish 导出例程 。
以 File System形式导出 。可以修改保存地址 ,点击 Finish 完成导出工程 。
To directory 可修改导出工程的路径
四 、创建和导入工程至 Keil
-
Keil 创建一个新的工程 ,在菜单栏中点击 File -> New -> S32DS Project from Example 创建 SDK 工程 。
-
选择工程保存的路径和名称 ,点击保存创建 。
-
这里需要完成前面的准备步骤 ,完成安装 pack 包 ,在弹出界面选择对应的芯片 ,这里使用的是 S32K116 的芯片 。
4. 点击菜单栏中的 ,在弹出界面勾选 CMSIS -> CORE 和 Device -> Startup 。
完成对 Keil 工程的创建 。
5. 将 S32DS 创建工程下的 src 文件夹 ,复制到 Keil 创建的工程根目录下 。
S32DS 创建工程下的 src 文件夹
复制到 Keil 创建工程的根目录
-
将复制的文件包含至工程 ,点击 ,打开 Manage Project Items -> 添加文件 -> OK 。
五 、编译
-
第一次编译会报错 ,找不到 “ S32K116.h ”,添加 S32K116.h 到工程 。
2. 在工程目录中 Device -> startup.c (Startup) -> S32K116.h 找到并打开 S32K116.h 文件 ,选中 S32K116.h 标签页右键 -> Copy Full Path 复制该文件的路径 。
3. 点击 ,打开 Options -> C/C++ -> Include Paths -> 添加上一步复制的 S32K116.h 路径 ,注意需要将路径后的 \S32K116.h 删去 。
-
再次编译 ,可能会出现无法识别二进制的错误 ,双击报告错误 ,跳至错误处修改成十进制 。
-
再次编译还存在错误 ,点击 ,打开 Options -> Linker -> Scatter File 添加 S32K116_17_flash_AC5.sct ,同时取消勾选 Use Memory Layout from Target Dialog 。
-
再次编译 ,编译成功 ,至此完成对 S32DS 中的 S32K116 工程移植至 Keil 。
评论