1、环境
- S32DS IDE
2、背景
- NXP官方出的开发工具 S32KDS提供了图像化配置工具PE(Processor Export),所有外设可以在界面中配置,然后自动生成代码。
- 这样虽然方便了点,但个人感觉对学习不是很有利。操作起来方便,但对底层接触的就比较少,想看他底层部分,嵌套太多层,看起来很累。
- 所以我参考他们的寄存器版的程序,自己编写自己所需。但有些没有寄存器版本,例如flash的擦写部分就没有参考程序,所以我只能参考PE生成的程序进行移植。
3、调试过程
-
先找个官方基础例程,作为基础移植工程。
-
移植过程还是用原来官方程序的Project_Settings文件夹下 S32K116_16_flash.ld、S32K116_16_ram.ld、startup_S32K116.S、system_S32K116.c,后面需要关注到这几个文件
-
配置好外设,实现定时器,串口功能等之后(确保功能实现,说明移植相对没问题),就开始移植PE生成程序flash_partitioning_s32k116的flash_driver.c,flash_driver.h两个文件。对应添加头函数,对应初始化,调用两个文件所提供的函数。程序如下:
/* Disable the global interrupt */
INT_SYS_DisableIRQGlobal()

本文介绍在S32DSIDE环境下移植S32K1xx闪存驱动的过程,包括解决DefaultISR和HardFault问题的方法。通过调试与问题定位,最终实现了自定义的闪存擦写功能。
最低0.47元/天 解锁文章
466





