TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED

  • 一、PORT配置
    • 1、配置目标
      • 1.1、硬件使用
      • 1.2、软件使用
    • 2、创建第一个EB工程
      • 2.1、创建工程,添加模块
      • 2.2、解决EB工程报错问题
      • 2.3、 编译生成代码并添加到ADS DEMO工程中
        • 2.3.1、编译生成动态代码
        • 2.3.2、Output导入到ADS工程中
    • 3、根据功能修改配置,添加初始化模块

->返回总目录-<

一、PORT配置

1、配置目标

使用TC397 KIT,点亮LED D107.

1.1、硬件使用

硬件资源见开发板手册。D107对应P13.0.。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第1张图片在这里插入图片描述

1.2、软件使用

编译调试:ADS(免费编译调试IDE)。
MCAL:MCU,PORT,MCALLIB,RESOURCEM模块。

2、创建第一个EB工程

在file中右击新建工程,输入工程名StartDemo,后续工程配置以该工程为基础。

2.1、创建工程,添加模块

TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第2张图片
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第3张图片
ECU ID这里写TC397(无关紧要,和实际产品相关),Target:选中型号TC397
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第4张图片
工程创建好后如下:
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第5张图片
新工程下默认模块是空的,需要手动添加模块,点击project,右键选中Module Configurations。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第6张图片
使用到的模块有PORT,MCU,MCALLIB,RESOURCEM模块,选中双击添加。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第7张图片
添加完成后project下会出现添加的模块,选中其中一个模块,双击出现模块配置。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第8张图片
这里先把模块中的Error Detect和SafetyEnable勾选去掉,这是和安全检测有关的,调试阶段我们不需要,可以去掉。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第9张图片
添加MCU clock时钟,这里默认配置即可,后续的文章中会介绍如何配置MCU时钟和资源配置。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第10张图片
双击PORT,开始配置PORT。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第11张图片
这里同样需要把Error Detect和SafetyEnable勾选去掉。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第12张图片
在PortContainer中配置PIN属性。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第13张图片
先添加一个,发现PortNmber是0,PortNumberOfPort是13,PortNmber是PORT的模快序号,比如P10.0,PortNmber就是10,PortNumberOfPort是P10.x的x的个数,即P10中有多少个PIN脚。因为TC397的PIN不止一个模块,而且我们需要的是P13.0,这里创建一个发现没有,别急,后面会和大家说如何去配置。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第14张图片
PortPin中配置具体的端口。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第15张图片
这里PortNmber是0,PortNumberOfPort是13,即后面我们要添加13个PIN。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第16张图片
这里一直添加即可,直到不能添加为止,会默认限制到PortNumberOfPort的个数,与实际的PIN个数对应。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第17张图片
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第18张图片
退到PortContainer中继续添加,直到不能添加为止,这里会将所有的PIN都添加进来,就是也会把我们需要的P13.0添加进来。
在Problems View中会有一堆报错,没事,我们慢慢来,一个一个点进去,查看原因。双击其中一个PORT相关的问题。

2.2、解决EB工程报错问题

模块添加后在Problems View中有很多报错,双击可跳转问题位置。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第19张图片
这里报错,添加即可
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第20张图片
添加后问题解除。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第21张图片
继续双击,定位问题位置。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第22张图片
添加后,发现问题并没解除,添加位置可继续添加。
那我们继续添加,直到不能添加为止,这里我们无脑添加,后面文章会解释。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第23张图片
这里可以看到添加到不可添加了,问题解除。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第24张图片
对其他模块问题解除,双击到MCU中,对其中每个模块都添加,直到不可添加为止。
这里非常多,不展开了。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第25张图片
添加后问题解除。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第26张图片
其中有两个只添加一个,McuClockReferencePoint只添加一个。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第27张图片
McuModeSettingConf只添加一个。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第28张图片
到这里问题只剩下两个,在ResouorceM模块中,ResouorceM是分配资源核的模块,是对需要的模块分配CPU资源,比如CAN0分配到CPU0,SPI0分配到CPU1中。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第29张图片
这里按照提示添加模块。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第30张图片

添加后双击进入CORE0配置,CORE0这里是配置成主核,还可以配置成其他CPU。 TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第31张图片
添加后双击进入CORE0配置,
这里继续添加核配置,需要几个核就添加几个核,我们现在只需要一个即可。里面的核配置暂时不分配。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第32张图片
选择TC397后,EB工程问题就解决完成,可编译生成代码了。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第33张图片
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第34张图片

2.3、 编译生成代码并添加到ADS DEMO工程中

2.3.1、编译生成动态代码

在Project中校验并编译生成代码。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第35张图片
校验工程是否有错误。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第36张图片
编译生成动态代码。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第37张图片
代码生成在Output中。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第38张图片

2.3.2、Output导入到ADS工程中

将Output中的生成代码,即src和inc拷贝覆盖到EB_Cfg下。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第39张图片
打开ADS编译不报错,集成到ADS完成。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第40张图片
编译不报错。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第41张图片

3、根据功能修改配置,添加初始化模块

根据需求,我们需要将P13.0配置成输出,默认低电平,初始化后LED即可点亮。
在这里插入图片描述
这里在EB中重新配置PORT_13_PIN_0,配置如下:
在datasheet中查找配置,O0是他那GPIO输出模式,即EB中配置选择ALT0。后续其他模块类似,通过片选选择PIN输出功能配置。
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第42张图片

TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第43张图片
代码生成后重新覆盖到ADS中编译,点击小虫子DEBUG烧录到TC397上。运行即可点亮。打断点在之前,LED灭,执行初始化后点亮LED Port_Init(&Port_Config);
TC397 EB MCAL开发从0开始系列 之 [2.0] PORT配置 - 上电点亮LED_第44张图片
以下为初始化源码。关键在于添加#include “Port.h”和在初始化中Port_Init(&Port_Config);

#include "Ifx_Ssw_Infra.h"
#include "IFX_Os.h"
#include "Port.h"

void core0_main (void)
{
  volatile unsigned short LoopFlag = 1U;
  unsigned short cpuWdtPassword;
  unsigned short safetyWdtPassword;
  
  ENABLE();
  /*
   * !!WATCHDOG0 AND SAFETY WATCHDOG ARE DISABLED HERE!!
   * Enable the watchdog in the demo if it is required and also service the watchdog periodically
   * */
  cpuWdtPassword = Ifx_Ssw_getCpuWatchdogPassword(&MODULE_SCU.WDTCPU[0]);
  safetyWdtPassword = Ifx_Ssw_getSafetyWatchdogPassword();
  Ifx_Ssw_disableCpuWatchdog(&MODULE_SCU.WDTCPU[0], cpuWdtPassword);
  Ifx_Ssw_disableSafetyWatchdog(safetyWdtPassword);

  Port_Init(&Port_Config);

  while (1)
  {
  }
}

->返回总目录-<

你可能感兴趣的:(EB,MCAL运行工程,mcu,自动驾驶)