2 AM3359 ICEv2 EVM (TMDSICE3359)
Contents
2.1 Board Overview
The AM3359 Industrial Communications Engine (ICE) is a development platform targeted for systems that specifically focus on the industrial communications capabilities of the Sitara AM335x Arm® Cortex™-A8 processors.
The AM335x Arm Cortex-A8 processors integrate the Programmable Real-time Unit (PRU) that has been architected to implement the real-time communication technologies used in a broad range of industrial automation equipment. It enables low foot print designs with minimal external components and with best in class low power performance.
2.1.1 Photos
2.1.2 Specification
Model |
AM3359 ICEv2 EVM |
---|---|
Processor |
Texas Instruments AM3359 (Sitara AM3359ZCZ)
1 × ARM Cortex-A8
frequency up to 1.0 GHz
NEON floating-point accelerator
|
PMIC |
TPS65910A3 power management IC
|
Memory |
256 MiB DDR3 SDRAM (128M × 16)
|
Storage |
microSD card
64 Mbit (8 MiB) SPI Flash (W25Q64)
16 Mbit (2 MiB) NOR Flash (M29W160EB)
256 KiB EEPROM (CAT24C256WI-GT3)
|
Debug |
Optional Onboard 20-pin CTI JTAG, Serial Header
Embedded XDS100V2 USB emulation through the Micro USB AB connector
|
USB |
1 × Micro USB AB (USB to JTAG and USB to UART)
|
Ethernet |
2 × 10/100 Ethernet transceivers (TLK110)
(connected to gigabit switch or PRU-ICSS units through muxing)
|
CAN/Profibus |
1 × DB9 female connector
|
Expansion Connectors |
24V Power
5V Power
8 × Industrial 24V digital inputs
8 × Industrial 24V digital outputs
6 × Analog inputs
3 × GPIO
2 × Latch inputs
1 × LCD connector
1 × SPI
1 × I2C
1 × JTAG EMU4
1 × UART
1 × GPMC
|
Power Source |
DC Jack |
Power |
24V/0.75A DC input jack |
2.2 Build Targets
2.2.1 Machines
Board[1] |
Target YAML[2] |
Machine[3] |
Target Recipe(s)[4] |
Running Media[5] |
Installation Media[6] |
---|---|---|---|---|---|
AM3359 ICEv2 EVM |
|
|
|
microSD card |
– |
2.2.2 Images
Read-Only Root Filesystem Image |
Recipe[7] |
Supported by Target(s) |
Description |
---|---|---|---|
|
|
All |
Standard TanoWrt image. |
|
All |
Standard TanoWrt image
and firmware upgrade
image. When building this image,
|
Image recipe name. This name can be used as argument
for --target
build command option (see Section 2.3 section).
2.3 Build
Please read the common information on how to perform a TanoWrt images build and preparing the build environment in section “Building TanoWrt”.
See also
See section Section 2.2.1 to select the required target YAML file (
<target-yml>
).See section Section 2.2.2 to select the required root filesystem image recipe (
<target-recipe>
).See section Section 2.5 for detailed information about the produced build artifacts.
2.3.1 Examples
2.3.1.1 Build Default Images for AM3359 ICEv2 EVM Board
For microSD Card
$ kas build targets/kas/am335x-icev2-sd.yml
Default images will be produced to boot and run from the microSD card on the AM3359 ICEv2 EVM target board.
2.4 Partitioning Layouts
2.4.1 microSD Card
The partitioning and data layout of the microSD card image for the AM3359 ICEv2 EVM board are shown in the figure below.
2.5 Produced Build Artifacts
All produced build artifacts are stored in the ~/tanowrt/build/tanowrt-glibc/deploy/images/<MACHINE>
directory.
Refer to table Produced Build Artifacts for a description of some common (not all) build artifacts.
Artifact |
Target(s) |
Description |
---|---|---|
Bootloader (SPL) |
||
|
All |
MLO binary blob for microSD card images. |
Bootloader (U-Boot) |
||
|
All |
U-Boot startup script. |
|
All |
U-Boot initial environment image for microSD card image. |
|
All |
U-Boot binary image for booting from microSD card. |
Linux Kernel and DTB |
||
|
All |
Flattened Image Tree (FIT) image with Linux kernel and Device Tree Blobs (DTB). |
|
All |
FIT image packed into an ext4 file system image. |
|
All |
Target Device Tree Blob (DTB) for CPSW ethernet ports mode. |
|
All |
Target Device Tree Blob (DTB) for PRU-ICSS ethernet ports mode. |
Images |
||
|
All |
SD card image including all required partitions for booting and running the system. This image is ready to be written to the SD card using the dd utility or similar (see Writing Image to microSD Card). |
|
All |
Root filesystem image (squashfs with LZO compression). |
|
All |
Firmware upgrade image. |
Note
<MACHINE>
in the artifacts path and artifact file names are replaced by
the actual value of the MACHINE
BitBake variable for the chosen
target. <rootfs-image>
is replaced
by the actual read-only root filesystem image name.
For example, below is the lists of artifacts produced by the am335x-icev2-sd.yml
target build. There are two types of listings here —
a complete listing, and a reduced listing without the symbolic links display.
[~/tanowrt/build/tanowrt-glibc/deploy/images/am335x-icev2-sd]$ ls -gGh | grep -v -e "^l"
total 154M
-rw-r--r-- 2 61K Jul 25 14:07 am335x-icev2--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
-rw-r--r-- 2 62K Jul 25 14:07 am335x-icev2-prueth--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
-rw-r--r-- 2 4.5M Jul 25 14:07 fitImage--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
-rw-r--r-- 2 6.4M Jul 25 14:07 fitImage-5.4.106+gitAUTOINC+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd.ext4
-rw-r--r-- 2 6.4M Jul 25 14:07 fitImage-am335x-icev2-sd.ext4
-rw-r--r-- 2 2.4K Jul 25 14:07 fitImage-its--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.its
-rw-r--r-- 2 4.4M Jul 25 14:07 fitImage-linux.bin--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
-rw-r--r-- 2 42K Jul 25 14:04 MLO-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
-rw-r--r-- 2 384K Jul 25 14:04 MLO-am335x-icev2-sd-sdcard-defconfig-x3
-rw-r--r-- 2 4.8M Jul 25 14:07 modules--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.tgz
-rw-r--r-- 2 2.5K Jul 25 14:04 startup.img
-rw-r--r-- 2 16 Jul 25 14:04 startup.img.version
-rw-r--r-- 2 91K Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.manifest
-rw-r--r-- 2 932M Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.sdcard.img
-rw-r--r-- 2 28M Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.squashfs-lzo
-rw-r--r-- 2 24 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.version
-rw-r--r-- 2 357K Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.testdata.json
-rw-r--r-- 2 5.5K Jul 25 14:09 tanowrt-image-full.env
-rw-r--r-- 2 3.1K Jul 25 14:09 tanowrt-image-full-sdimage-ti-swu-a-b.wks
-rw-r--r-- 2 35M Jul 25 14:09 tanowrt-image-full-swu-am335x-icev2-sd-20220725110331.swu
-rw-r--r-- 2 411 Jul 25 14:04 u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
-rw-r--r-- 2 128K Jul 25 14:04 u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.bin
-rw-r--r-- 2 675K Jul 25 14:04 u-boot-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.img
-rwxr-xr-x 2 41K Jul 25 14:04 u-boot-spl.bin-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig
[~/tanowrt/build/tanowrt-glibc/deploy/images/am335x-icev2-sd]$ ls -gGh
total 154M
-rw-r--r-- 2 61K Jul 25 14:07 am335x-icev2--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
lrwxrwxrwx 2 91 Jul 25 14:07 am335x-icev2-am335x-icev2-sd.dtb -> am335x-icev2--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
lrwxrwxrwx 2 91 Jul 25 14:07 am335x-icev2.dtb -> am335x-icev2--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
-rw-r--r-- 2 62K Jul 25 14:07 am335x-icev2-prueth--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
lrwxrwxrwx 2 98 Jul 25 14:07 am335x-icev2-prueth-am335x-icev2-sd.dtb -> am335x-icev2-prueth--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
lrwxrwxrwx 2 98 Jul 25 14:07 am335x-icev2-prueth.dtb -> am335x-icev2-prueth--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.dtb
lrwxrwxrwx 2 87 Jul 25 14:07 fitImage -> fitImage--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
-rw-r--r-- 2 4.5M Jul 25 14:07 fitImage--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
-rw-r--r-- 2 6.4M Jul 25 14:07 fitImage-5.4.106+gitAUTOINC+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd.ext4
lrwxrwxrwx 2 87 Jul 25 14:07 fitImage-am335x-icev2-sd.bin -> fitImage--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
-rw-r--r-- 2 6.4M Jul 25 14:07 fitImage-am335x-icev2-sd.ext4
-rw-r--r-- 2 2.4K Jul 25 14:07 fitImage-its--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.its
lrwxrwxrwx 2 91 Jul 25 14:07 fitImage-its-am335x-icev2-sd -> fitImage-its--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.its
-rw-r--r-- 2 4.4M Jul 25 14:07 fitImage-linux.bin--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
lrwxrwxrwx 2 97 Jul 25 14:07 fitImage-linux.bin-am335x-icev2-sd -> fitImage-linux.bin--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.bin
lrwxrwxrwx 2 116 Jul 25 14:04 MLO -> MLO-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
lrwxrwxrwx 2 116 Jul 25 14:04 MLO-am335x-icev2-sd -> MLO-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
-rw-r--r-- 2 42K Jul 25 14:04 MLO-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
-rw-r--r-- 2 384K Jul 25 14:04 MLO-am335x-icev2-sd-sdcard-defconfig-x3
lrwxrwxrwx 2 116 Jul 25 14:04 MLO-sdcard-defconfig -> MLO-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
lrwxrwxrwx 2 39 Jul 25 14:04 MLO-sdcard-defconfig-x3 -> MLO-am335x-icev2-sd-sdcard-defconfig-x3
-rw-r--r-- 2 4.8M Jul 25 14:07 modules--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.tgz
lrwxrwxrwx 2 86 Jul 25 14:07 modules-am335x-icev2-sd.tgz -> modules--5.4.106+git0+519667b0d8-tano0.2.12.20.8.12-am335x-icev2-sd-20220725110331.tgz
lrwxrwxrwx 2 11 Jul 25 14:04 startup-am335x-icev2-sd.img -> startup.img
lrwxrwxrwx 2 19 Jul 25 14:04 startup-am335x-icev2-sd.img.version -> startup.img.version
-rw-r--r-- 2 2.5K Jul 25 14:04 startup.img
-rw-r--r-- 2 16 Jul 25 14:04 startup.img.version
-rw-r--r-- 2 91K Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.manifest
-rw-r--r-- 2 932M Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.sdcard.img
-rw-r--r-- 2 28M Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.squashfs-lzo
-rw-r--r-- 2 24 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.version
-rw-r--r-- 2 357K Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd-20220725110331.testdata.json
lrwxrwxrwx 2 65 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd.manifest -> tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.manifest
lrwxrwxrwx 2 67 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd.sdcard.img -> tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.sdcard.img
lrwxrwxrwx 2 69 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd.squashfs-lzo -> tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.squashfs-lzo
lrwxrwxrwx 2 63 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd.testdata.json -> tanowrt-image-full-am335x-icev2-sd-20220725110331.testdata.json
lrwxrwxrwx 2 64 Jul 25 14:09 tanowrt-image-full-am335x-icev2-sd.version -> tanowrt-image-full-am335x-icev2-sd-20220725110331.rootfs.version
-rw-r--r-- 2 5.5K Jul 25 14:09 tanowrt-image-full.env
-rw-r--r-- 2 3.1K Jul 25 14:09 tanowrt-image-full-sdimage-ti-swu-a-b.wks
-rw-r--r-- 2 35M Jul 25 14:09 tanowrt-image-full-swu-am335x-icev2-sd-20220725110331.swu
lrwxrwxrwx 2 57 Jul 25 14:09 tanowrt-image-full-swu-am335x-icev2-sd.swu -> tanowrt-image-full-swu-am335x-icev2-sd-20220725110331.swu
lrwxrwxrwx 2 67 Jul 25 14:04 u-boot-am335x-icev2-sd.img -> u-boot-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.img
lrwxrwxrwx 2 67 Jul 25 14:04 u-boot-am335x-icev2-sd.img-sdcard-defconfig -> u-boot-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.img
lrwxrwxrwx 2 67 Jul 25 14:04 u-boot.img -> u-boot-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.img
lrwxrwxrwx 2 67 Jul 25 14:04 u-boot.img-sdcard-defconfig -> u-boot-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.img
lrwxrwxrwx 2 91 Jul 25 14:04 u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig -> u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
-rw-r--r-- 2 411 Jul 25 14:04 u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
-rw-r--r-- 2 128K Jul 25 14:04 u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.bin
lrwxrwxrwx 2 95 Jul 25 14:04 u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig.bin -> u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.bin
lrwxrwxrwx 2 91 Jul 25 14:04 u-boot-initial-env-sdcard-defconfig -> u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2
lrwxrwxrwx 2 95 Jul 25 14:04 u-boot-initial-env-sdcard-defconfig.bin -> u-boot-initial-env-am335x-icev2-sd-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.bin
-rw-r--r-- 2 675K Jul 25 14:04 u-boot-sdcard-defconfig-2020.01+gitAUTOINC+6b5b982e98-r36.tano2.img
lrwxrwxrwx 2 87 Jul 25 14:04 u-boot-spl.bin -> u-boot-spl.bin-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig
lrwxrwxrwx 2 87 Jul 25 14:04 u-boot-spl.bin-am335x-icev2-sd -> u-boot-spl.bin-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig
-rwxr-xr-x 2 41K Jul 25 14:04 u-boot-spl.bin-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig
lrwxrwxrwx 2 87 Jul 25 14:04 u-boot-spl.bin-am335x-icev2-sd-sdcard-defconfig -> u-boot-spl.bin-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig
lrwxrwxrwx 2 87 Jul 25 14:04 u-boot-spl.bin-sdcard-defconfig -> u-boot-spl.bin-am335x-icev2-sd-2020.01+gitAUTOINC+6b5b982e98-r36.tano2-sdcard-defconfig
2.6 Writing Image to microSD Card
No special information about writing images to microSD card for AM3359 ICEv2 EVM board. See common instructions in Writing Images to SD Card or USB Flash Drive section.
Examples
Writing bootable card image for the am335x-icev2-sd.yml
target to the microSD
card /dev/mmcblk1
:
$ dd if=tanowrt-image-full-am335x-icev2-sd.sdcard.img of=/dev/mmcblk1
2.7 Booting and Running
2.7.1 Choosing Boot Mode
Short pin 2 and 3 on J5 (sysboot) for choosing MMC/SD boot mode.
2.7.2 Choosing Ethernet Mode
Jumpers J18 and J19 must be set to control the Ethernet ports using CPSW (gigabit switch) or PRU-ICSS mode. For PRU-ICSS mode, short pins 2 and 3. For CPSW mode, short pins 1 and 2.
2.7.3 Booting from microSD Card
Choose proper boot mode and Ethernet mode.
Insert the microSD card into the slot on the AM3359 ICEv2 EVM board (power is off).
Power on board.
TanoWrt will be booting from microSD card.
Log in to system using default credentials.
TI AM3359 ICEv2 EVM board has SPI NOR flash. By default this storage contains a demonstration bootloader. Booting from an microSD card is only possible when there is no bootloader in the SPI NOR flash. If you have an bootloader in the SPI NOR flash you must erase SPI NOR flash contents. Follow instructions in section Erasing SPI NOR Flash Contents to erase SPI NOR flash contents.
2.8 Serial Console
The debug serial console on the AM3359 ICEv2 EVM board is accessible via the Micro USB connector on board. A Micro USB-AB connector (J13) is connected to the upstream port of the USB to UART converter IC (FT2232L). This is used for USB to JTAG and USB to UART conversion applications. This USB port can also be used for XDS100V2 JTAG emulation.
The default serial console settings for AM3359 ICEv2 EVM for U-Boot and kernel are described in the table below.
Parameter |
Value |
---|---|
Baudrate |
115200 |
Data bits |
8 |
Stop bits |
1 |
Parity |
none |
Flow control |
none |
2.9 Default Network Configuration
By default Ethernet 1 and 2 ports (eth0
and eth1
interfaces) are joined into
a bridge (br-lan
interface) with enabled RSTP protocol.
Bridge (br-lan
) configured with static IP address 192.168.0.1/24 with enabled
DHCP server.
Ethernet ports 1 and 2 (eth0
and eth1
) have LLDP enabled by default.
2.10 Web User Interface
The WebUI can be accessed via Ethernet ports through HTTP(s) protocol. You must see something like this in browser after you logged in:
2.11 Firmware Upgrade
No special information about firmware upgrade.
Use produced .swu
artifact for upgrading running system.
See also
See common instructions in Firmware Upgrade section.
2.12 Additional Information
Here are sections with various additional information about the AM3359 ICEv2 EVM board and the operation of TanoWrt on it.