
NXP Semiconductors
AH1721
SJA1105SMBEVM UM
AH1721
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2018. All rights reserved.
User Manual
Rev. 1.00
— 16 July 2018
24 of 35
services of the ENET driver for the ENET0 block to access the PHYs via
ENET0’s SMI interface.
o
peripheral abstraction layers to provide a uniform API for a device driver
class to enable writing generic application code runnable on different
hardware platforms. The UART_PAL component is an example for this.
o
Generic higher-level infrastructure software, like communication stacks, real
time kernels, filesystems, etc. In the example project, FreeRTOS is
configured to allow separating functions into realtime tasks, and make use of
delays, synchronization, inter-task-communication, etc.
o
The pinmux component is special, as it is the central place for configuring all
IO pins
– this starts with allocating one of many possible pins for a particular
peripheral component IO, for example MISO pin for a SPI block. Pin
configuration goes as far as enabling a pullup or a pulldown or none,
configuring push-pull or open-drain output style, enabling input hysteresis for
Schmitt behavior, etc. etc.
Each SDK component is activated and configured with ProcessorExpert, a utility and
database coming with S32DS.
The components used in the example project are all preconfigured to the needs for
the actual HW components used on the SJA1105SMBEVM board, and the smooth
interaction with the application layer and communication peers. The configuration is
done interactively within the Eclipse framework. The default settings may be perused
and changed if needed.
The
SDK’s API documentation is available in the .html tree starting at the SDK
installation folder in
C:\NXP\S32DS_Power_v2017.R1\S32DS\S32_SDK_MPC574xx_BETA_0.9.0\doc,
A list of the device driver calls is provided within the Eclipse framework in the
Processo
rExpert’s Components window, when unfolding a device entry.
•
There are device drivers between the SDK component layer and the application layer
which are not integrated in ProcessorExpert and the SDK framework, but come from
other sources. So technically, these are application components, but logically, they
are still device drivers, which abstract the view of the hardware components by an
API.
The SJA1105SMBEVM employs such an example, which is the NXP SJA1105PQRS
switch driver. This driver provides a low-level sublayer and an application-oriented
high-level sublayer.
The switch driver requires static configuration streams to be downloaded to the
switches. These streams are contained in a configuration source file, and
represented in the source code file as byte arrays. The example project comes with a
default set of basic configuration streams, which can be expanded step by step,
when need arises. Therefore, the Python tools for dealing with the configuration
comes with the example project. For the first attempts, a ready-to-use .c file
“NXP_SJA1105P_configStream.c” is included. See ch 6.3 for more details.
•
On top of this there is the application layer. This layer is split into sections with
different properties.
o
SJA1105SMBEVM specific application data: sja1105smbevm_ethsetup.c
contains board specific data about relations between HW components,