Operating System

FreeRTOS

BSP Release Status

Released

Release Date

 

RepositoryPHYTEC Public FreeRTOS Repo
BinariesFreeRTOS_ALPHA1_imx7d-phyboard_demos.tar.bz2
Source ArchiveBSP-FreeRTOS-NXP-iMX7-ALPHA1

This is an ALPHA BSP. Please use this BSP for evaluation purposes. Future Production Quality releases will be made.

Versioning


Software

FreeRTOSv8.0.0
Multi-core Communication StackRPMsg, v1.0.0



This release has been tested with Linux release BSP Yocto FSL iMX7 ALPHA2 (kernel 4.1.15)

Source Code Summary


phyBOARD-iMX7 Demos<install dir>/examples/imx7d_phyboard_zeta/demo_apps/

phyBOARD-iMX7 Driver Examples

<install dir>/examples/imx7d_phyboard_zeta/driver_examples/
NXP Documentation<install dir>/doc/
Middleware<install dir>/middleware/
RPMsg stacks<install_dir>/middleware/multicore/open-amp/
Driver library, startup code, and utilities<install dir>/platform/

Cortex Microcontroller Software Interface Standard
(CMSIS) ARM Cortex®-M header files, DSP library
source

<install_dir>/platform/CMSIS/…
Linker control files for each supported toolchain<install_dir>/platform/devices/MCIMX7D/linker/
SoC header files<install_dir>/platform/devices/MCIMX7D/include/
CMSIS-compliant startup code<install_dir>/platform/ devices/MCIMX7D/startup/
Peripheral Drivers<install_dir>/platform/drivers/
Utilities such as debug console<install_dir>/platform/utilities/
FreeRTOS Kernel Code<install dir>/rtos/FreeRTOS/
External Tools<install dir>/tools/

Compatible Hardware


Supported Hardware Versions

Hardware DescriptionPart NumberPCB Version
phyCORE-i.MX7 SOM

PCM-061.A4

1458.2

phyBOARD-Zeta Carrier Board

PBA-C-09.A4

1459.2

BSP Features


InterfaceDetailImplementedTestedSoftware StatusNotes
UART




uart1YesNo[click for info] DB9 connector on PEB-EVAL-02
uart2YesYesEnabled

RS232 default serial console at DB9 connector on PEB-EVAL-02

uart3YesNo[click for info] expansion header
uart4YesNo[click for info] 
uart5YesNo
RS232 Linux default serial console at Connector X2
uart6YesNo[click for info] expansion header
uart7YesNo[click for info] expansion header
I2C

i2c1YesYesEnabledexpansion header
i2c2YesNo
AV Connector X4
i2c3YesNo[click for info] 
i2c4YesNo
expansion header
EthernetRGMII1YesNo
KSZ9031RNX PHY on SOM, Connector X8
RGMII2YesNo
KSZ9031RNX PHY on CarrierBoard, Connector X7
SAIsai1NoNo
Audio/Video Connector X4
sai2NoNo[click for info] expansion header
sai3NoNo[click for info] 
MMC/SDIOSD1NoNo
microSD slot connector X11
SD2NoNo[click for info] expansion header
SD3NoNo
signals routed to eMMC.
CommunicationTiWi-BLE BluetoothNoNo

TiWi-BLE  WiFiNoNo

USBusb1NoYes
USB-A Host Connector X9
usb2NoYes
USB-AB OTG Connector X10
CANcan1YesYesEnabledHeader X1
can2YesNo[click for info] 
SPIspi1YesNo[click for info] expansion connector
spi2YesNo[click for info] expansion connector
spi3YesNo[click for info] expansion connector
spi4YesNo[click for info]
Display and TouchLCD DisplayNo

via expansion board PEB-AV-02
Analog LCD TouchNo

Capacitive ETM-FT5x06

via expansion board PEB-AV-02

HDMINo

via expansion board PEB-AV-01

BacklightNo

PWM via pwm4

via expansion board PEB-AV-02

GPIO

User Buttons and LEDs

YesYesEnabled

User LED D1 and Button S1 on PEB-EVAL-02 

Memory

 
8/16-bit NAND Flash (GPMC)No

MT29F4G08 - not populated in default SOM configuration
SPI NOR FlashYesYes
N25Q128A on QSPI_A
EEPROM on SOMYesYesEnabledM24C32 on i2c1
EEPROM on eval boardYesNo
CAT24C32 on i2c4 PEB-EVAL-02 
eMMCNo

MTFC4GMDEA-4M on SD3
RTCInternal i.MX7No

SNVS RTC
External RTCNo

RV-4162-C7 on I2C1
Power ManagementPMICNo

PF3000 on I2C1
WDOGwdog3YesYesYes
GPTgpt3YesYesYes
gpt4YesYesYes
ADCadc1YesYesYes
JTAGJTAG


ARM JTAG 20 connector on PEB-EVAL-02
PCIemini-pcieNo

connector X12

[1] Interface requires additional configuration, such as pinmuxing. It may be possible to change the software configuration to utilize this interface even if it is not being set in the board's default configuration. Please see NXP's i.MX7D Technical Reference Manual processor technical reference manual for more information.

Supported Demos:

Demos have been adapted from the i.MX7D Sabre demos. For details on building and running demos, see PHYTEC's How-To article as well as NXP's Getting started and User's Guide for FreeRTOS_iMX7D_1.0.1 Release, located in the docs/ directory of the source code. 

Demo AppDescription
Hello Worldrun on:
  • Cortex-M4's TCM
  • QSPI
  • OCRAM
  • DDR
Blinking IMX demoUses GPT. Change blinking frequency of LED D1 on EVAL board
Low PowerDual-core power management
RPMsg

GPIO toggle (FreeRTOS) - Type command in Linux running on Cortex A7 to trigger toggling of LED D1 by FreeRTOS on Cortex M4

ping pong (Bare metal and FreeRTOS) - Transfer integer values back and forth between Cortex M4 and Cortex A7

str echo (Bare metal and FreeRTOS) - Receive and print out messages from Cortex A7

Sema4Trigger mutex lock and unlock
Driver ExamplesDescription
ADC iMX7DPrints ADC output every second for ADC1_IN3
FlexCANLoopback and network modes
GPIOPress button S1 to switch LED D1 on/off

GPT

Interrupt based polling of counter for two GPT instances
I2C(Interrupt and polling) Write data to EEPROM on SOM, connected to I2C1 address 0x50. Read data back to check that data matches.
UART(Interrupt and polling options) board will receive and echo characters typed from keyboard. Uses interface UART2
WDOGWDOG3 timer demo with ISR refreshing timer

Development Tools

Can be compiled with the following:

  • Makefile support with GCC ARM embedded toolchain (Tested with revision 5.4-2016-q2)
  • ARM Development Studio 5 (DS-5™) (Tested with v5.23.1)

Fixed In This Release


N/A

New In This Release


N/A

Known Issues


PHYTEC Known Issues

  • The following demos cannot be built with the debug configuration since they are too large.
    • rpmsg_gpio_toggle_freertos_example.bin

    • rpmsg_str_echo_freertos_example.bin

NXP Known Issues

See FreeRTOS_iMX7D_1.0.1 Release Notes from NXP.

Technical Support


For further information or to report any problems, visit the PHYTEC Support Portal