PROFINET® Quick Start Guide on Linux®
Introduction
Thank you for taking the time to evaluate our PROFINET® solution on Linux®.
This guide provides instructions on how to:
- Run a pre-built PROFINET device demo application
- Use a diagnostic tool to view the PROFINET device
- Establish an IO connection between CODESYS® SoftPLC® and the PROFINET device
- Build the demo application
Setup Instructions
Board setup.
Please refer to the board-specific section below as needed to connect the peripherals described in the following steps.
SAM9X75 Curiosity LAN Kit (EV31H43A)
- Connect the LAN8840 EDS2 Daughter Card to the Gigabit Ethernet J17 connector.
- Attach an Ethernet cable to the RJ45 connector on the LAN8840 EDS2 Daughter Card.
- Plug the other end of the Ethernet cable into the PC.
- Connect a serial-to-USB dongle (FTDI-like) to the UART DEBUG J35 header on one side and to the PC on the other.
- Ensure that jumpers J9 and J10 are open to prevent booting from NAND and Quad Serial Peripheral Interface (QSPI) Flash.
- Use a USB Type-A to Micro-USB cable to connect the J2 Micro-USB port for power.
- Press the START pushbutton.

SAM9X60 Curiosity Kit (EV40E67A)
- Connect an Ethernet cable to the RJ45 connector J6.
- Plug the other end of the Ethernet cable into the PC.
- Connect a serial-to-USB dongle (FTDI-like) to the Universal Asynchronous Receiver/Transmitter (UART) DEBUG J11 header on one side and to the PC on the other.
- Ensure that jumper J4 is open to prevent booting from NAND Flash.
- Use a USB Type-A to Micro-USB cable to connect the J1 Micro-USB port for power.
- Press the START pushbutton.

SAMA7D65 Curiosity kit (EV63J76A)
- Connect an Ethernet cable to the RJ45 connector J14.
- Plug the other end of the Ethernet cable into the PC.
- Connect a serial-to-USB dongle (FTDI-like) to the UART DEBUG J35 header on one side and to the PC on the other.
- Ensure that jumpers J36 and J39 are open to prevent booting from NAND and QSPI Flash.
- Use a USB Type-A to USB Type-C® cable to connect the J3 USB Type-C port for power.
- Press the START pushbutton.

SAMA7G54 Evaluation kit (EV2118A)
- Connect an Ethernet cable to the Gigabit Ethernet RJ45 connector J5.
- Plug the other end of the Ethernet cable into the PC.
- Connect a serial-to-USB dongle (FTDI-like) to the UART DEBUG J20 header on one side and to the PC on the other.
- Use a USB Type-A to USB Type-C® cable to connect the J7 USB Type-C port for power.
- Press the START pushbutton.

Serial terminal setup.
On your PC, open a serial terminal and configure it with the following settings:
- Baud Rate: 115200
- Data: 8-bit
- Parity: None
- Stop Bits: 1
- Flow Control: None
To set up the serial terminal on a Windows PC with PuTTY:
- Open Windows Device Manager to identify the correct COM port.
- Connect and disconnect the serial-to-USB dongle, and note which COMxx port appears and disappears (for example, COM10 is used in this guide; please use the COM port that matches your setup).
- Open PuTTY and go to Category > Connection > Serial.
- Configure the serial connection parameters as shown in the accompanying image, making sure to select the COM port that corresponds to your local setup.

- Go to Terminal and enable the Implicit CR in every LF option.

- Go to Category > Session and choose Serial for Connection type, then press Open.

To set up the serial terminal on a Linux® PC with picocom:
- Identify the serial USB connection by monitoring the last lines of the dmesg command (may need sudo rights).
- The /dev/ttyUSBx number will be used to configure the terminal emulator.

- Assuming the serial USB interface is /dev/ttyUSB0, run the following command:
Running the Pre-Built Demo Application
Download the ZIP release package file from SW70F56A and extract its content.
Flash the extracted image onto the SD card.
Open balenaEtcher.

Click on Flash from file and select a pre-built image from the SW70F56A/bin/ folder.
- Files with the *.wic extension are Yocto Project® images.
- Files with the *.img extension are Buildroot™ images.
Click on Select target and choose the mounted SD card. Then, click Flash to begin the installation process.
After the flashing process is complete, insert the SD card into the on-board SD card slot.
Press the RESET button on the board to initiate a reset.
The Linux image will boot, and a login prompt will appear in the serial terminal.
If you are not automatically logged in, enter "root" as the username.

The PROFINET demo application operates as a systemd service.
You can check the status of the application by running the following command:

You can view the console log by executing the following command:

Using a Diagnostic Tool to View the PROFINET Device
Download PRONETA BASIC 3.8 (or higher) from Siemens by logging in with a free account.
Locate the ZIP file in the downloads section, download it, and extract its contents.
Run PRONETA.exe. If prompted to install the Npcap driver, click Yes to proceed.
Once the PRONETA window opens, navigate to the Settings menu.

In the Network Adapter menu, select the network adapter that is connected to the PROFINET device.

Navigate to the Network Analysis menu and select the Online tab.
The PC running PRONETA and the device running the PROFINET demo application will be displayed.

Right-click on the device and select Start Flashing LED.
The LED on the development kit will blink three times at a frequency of 1 Hz and will continue blinking with a short pause between cycles until you right-click on the device and select Stop Flashing LED.

Establishing a PROFINET IO Connection
As shown in the CODESYS documentation, configure a static IP address for the Windows PC Ethernet interface connected to the PROFINET device.


- Go to Windows Settings > Network & internet.
Select the appropriate Ethernet interface, change the IP configuration to Manual, and configure the IP address and subnet mask accordingly.

Download CODESYS Development System V3 and install it on the Windows machine.
In the Windows taskbar system tray, right-click the CODESYS Control Win Systray icon and select Start PLC.

Click OK if the following window appears.

Launch CODESYS from the Start menu.
Navigate to Tools > CODESYS Installer, and install the CODESYS Control Win add-on.

Navigate to Tools > Device Repository.
Click Install and select the GSD file located in SW70F56A/src/p-net/share to load it.

The GSD file is now successfully installed.

Navigate to File > Open Project and select SW70F56A/codesys/pn_demo_controller_win.project to load the project.

Double-click on Device (CODESYS Control Win…).
In the Communication Settings section, click Scan Network and select your PC from the list.

This will display the following result:

Double-click on Ethernet. Then, in the General tab, click Browse and select the network adapter connected to the PROFINET device.

Configure the IP address and subnet mask to match the values originally defined in the Windows Network & Internet settings.

Double-click on PN_Controller.
In the General tab, click Adjust to set proper values for Default Slave IP Parameter.

This configuration should result in the following:

Double-click on P_Net_multi_module_sample_app.
In the General tab, set an IP address for the PROFINET device. In this guide, we use 192.168.0.50.

Go to the Online menu and select Login.
If prompted by a confirmation window, click Yes.

Go to the Debug menu and select Start.

The PROFINET controller on the Windows PC will be in RUN mode, as indicated in the status bar at the bottom of the CODESYS window.

Double-click on P_Net_multi_module_sample_app. Then, in the General tab, the Status will be OK if a PROFINET connection is established to the PROFINET device.

Double-click on PLC_PRG to look at the project code.

The User LED should toggle continuously based on the state of the flashing bit controlled by the USER push button.
Press the USER push button to stop or restart the LED toggling.
You can check under PRONETA that the right IP Address is now assigned to your PROFINET device:

Building the Demo Application
Yocto Project build.
Install the following packages on your Linux PC:
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 liblz4-tool xterm repo
Clone the required repositories.
- Create an empty directory to serve as your workspace:
cd yocto-dev
- Set the language settings environment variable:
- Set git email and user:
git config --global user.name "Your Name"
- Use the repo tool to download all the required repositories:
repo sync
Copy the SW70F56A/meta-pnet directory to the yocto-dev directory.
Modify the EXTERNALSRC path in yocto-dev/meta-pnet/recipes-pnet/pnet-demo/pnet-demo_1.0.bbappend to reference the absolute path of SW70F56A/src.
Initialize the build environment.
The meta-mchp repository includes sample configuration templates to help set up BitBake layers and key configuration files in the Yocto Project build directory.
- Set the TEMPLATECONF environment variable to the appropriate configuration template before initializing the build environment:
- Navigate to the yocto-dev directory and initialize the Yocto Project build environment:
- To enable the meta-pnet layer during the build, edit yocto-dev/build/conf/bblayers.conf and add the meta-pnet layer:
/<path-to-yocto-dev>/yocto-dev/openembedded-core/meta \
...
/<path-to-yocto-dev>/yocto-dev/openembedded-core/../meta-pnet \
"
- To include the PROFINET demo application and SNMP server in the image, add the following line at the bottom of yocto-dev/build/conf/local.conf:
Build the image.
- Depending on your target machine, execute one of the following commands:
export MACHINE=sam9x60-curiosity-sd
export MACHINE=sama7d65-curiosity-sd
export MACHINE=sama7g5ek-sd
- Navigate to the yocto-dev directory and build the project:
- After the build completes successfully, please follow the steps outlined above to run the newly built demo application.
Buildroot build.
Install the following packages on your Linux PC:
libncurses5-dev texinfo autoconf automake libtool mercurial git-core \
gperf gawk expat curl cvs libexpat-dev bzr unzip bc python3-dev \
wget cpio rsync xxd bmap-tools
Clone the required repositories.
- Create an empty directory to serve as your workspace:
cd buildroot-dev
- Clone the required repositories:
git clone https://github.com/linux4microchip/buildroot-external-microchip.git
- Check out the following release branch:
git checkout linux4microchip-2025.04 -b linux4microchip-2025.04
cd ../buildroot-mchp/
git checkout linux4microchip-2025.04 -b linux4microchip-2025.04
Copy SW70F56A/pnet-br folder to buildroot-dev/buildroot-external-microchip/package folder.
Add the following line to buildroot-external-microchip/Config.in:
Initialize the build environment:
- Navigate to the buildroot-mchp directory and set up BR2_EXTERNAL:
- Run the defconfig for your board by executing one of the following commands:
make sam9x60_curiosity_headless_defconfig
make sama7d65_curiosity_headless_defconfig
make sama7g5ek_headless_defconfig
- Open the Buildroot configuration menu:
- Enable the following packages:
- p-net:
- Go to External Options > pnet and press y. This will display the pnet repo path or URL option.
- Enter the full path to the SW70F56A/ folder:

- snmp:
- Exit External Options > pnet to come back to the main menu.
- Go to Target packages > Networking applications > netsnmp and press y.
- p-net:
- Save and Exit the configuration menu.
Build the image.
After the build completes successfully, please follow the steps outlined above to run the newly built demo application.
Next Steps
For detailed instructions, please refer to the PROFINET User Manual located in the SW70F56A/ folder. The user manual provides guidance on setting up a CODESYS SoftPLC on a Raspberry® Pi or a Siemens PLC to communicate with the PROFINET device demo application, utilizing the board’s button and LED as input/output devices.
Troubleshooting
The serial terminal is not displaying any output. | If the terminal does not display any output, consider the following possible causes:
|
The terminal only displays RomBOOT message. |
|
The image on the SD card is not booting. |
|

