S32K144移植S32DS工程到KEIL MDK(史上最详细)

准备

需要准备以下三个工具

  • Keil 5高版本MDK

下载地址:https://www.keil.com/demo/eval/arm.htm

  • S32DS

下载地址:https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=9671497

  • S32K Keil_pack包

下载地址:https://keilpack.azureedge.net/pack/Keil.S32_SDK_DFP.1.2.0.pack

Keil和S32DS两个开发环境要安装好,移植S32K144工程需要利用S32DS导出工程文件复制到Keil中使用,需要安装Keil的pack包,让Keil支持S32K144芯片。

创建Keil工程

打开Keil,点击Project->New uVision Project,创建一个新的Keil工程
1
输入你的工程名字,比如S32K144_Project,点击保存
2
这时会弹窗让你选择工程的芯片,这里选择S32K144,点击OK。如果弹窗没出来,也可点击3,选择Device来重新打开芯片选择界面。

3

下一个弹窗我们勾选COREStartup两项,现在的S32DS例程选择这两个功能即可。如果没有弹窗,也可以点击4重新打开选择界面
5

这时Keil的工程创建完毕,下一步通过S32DS导出所需工程的源码。

导出源码

打开S32DS,File->New->S32DS Project from Example创建一个源码工程。
6

这里一定要选择最前面的S32DS Example Projects里面的S32K144的例程,这里我选择的是最简单的hello_interrupt_s32k144例程,点击Finish
7

这时例程创建出来了,现在将例程工程文件导出到指定的路径。鼠标指向hello_interrupts_s32k144工程名鼠标右键,点击Export
8
选择File System,点击Next
9

To directory是工程导出的路径,点击Browse可以修改,这里我导出到桌面,点击Finish即导出成功。

11

进行移植

找到导出的工程,将src文件夹中的所有源文件复制到刚刚新建的Keil工程下,我重新创建了一个SRC文件夹统一放在了里面。

不同的工程这里的源文件数量不同,全部复制即可。

12
12

点击13,把刚才复制的源文件包含进来,点击OK,现在已经移植成功,但是编译会有一些错误,解决办法如下。
14

编译一下,出现找不到S32K144.h的错误。
15

打开Device中的system_S32K144.c下的S32K144.h,鼠标右键,Copy Full Path复制头文件的所在路径。
16

点击16,选择C/C++,点击Include Paths,将刚刚复制的路径粘贴进去,将后缀S32K144.h删除掉,点击OK
17

再重新编译,下图代码出现下图的错误。
18

这里将代码改成如下即可。

这里的错误可能有可能没有,看Keil的ARM编译器版本,版本比较低就会出现错误,不支持括号里面直接输入二进制数值,需要改成十进制。

111
再重新编译,会发现还是有错误。这里是因为没有使用分散加载文件.sct
123

点击143,选择Linker,取消勾选Use Memory Layout from Target Debug,选择RTE文件夹下的S32K144_64_flash_AC6.sct,点击Edit之后,点击OK
132

这里需要修改S32K144_64_flash_AC6.sct中第一行的代码,不然还是会编译错误,刚才点击Edit已经打开了该文件,将下面的代码替换第一行代码,保存

#! armcc -E

145

再重新编译,发现编译成功。
165

  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值