Test all the RB interfaces in 10 mins in command Line
Refer the Hardware and System reference manual to check out the PIN Numbers and PORT numbers etc. of respective interfaces.

Hardware manual

In case of any doubts you can Ask questions in RuggedBoard forum.
Forum | Rugged Board | Bengaluru | Embedded Industrial Board
rb-community
Targeted Hardware
SOM Version: PICM-001-A1
CB : RuggedBoard-A5D2x
CB Version : RB-A5D2x-V1.1
Targeted Software
RBNR-20.0.0/RBSD-20.0.0
- AT91Bootstrap-3.8.12
- Uboot-2018-07
- Linux Kernel v4.9.151
- Yocto 2.5.2 (sumo HEAD commit 623b77885051)
GPIO
RS232
I2C
USB
Ethernet
CAN
DIN
DOUT
MMC
ADC
Debug Console
Expansion Header
mPCIE
PWM
RESET Switch
RS485
Sensor Tag
Health LED
SPI
USER LED's
USER Switch
Wi-Fi
RTC

Description

  • To test GPIO let us use the On-board LED on RuggedBoard. For this demonstration let's use LED_1 which is connected to GPIO PC13 (Refer hardware manual for more information).

Required Hardware

  • RuggedBoard-A5D2x

Test Case:

  1. 1.
    Boot the board from NOR/MMC. After booting check toggling of USER LED.

Step 1:

Type the following commands in a sequence to toggle led.
1
echo 77 > /sys/class/gpio/export
2
echo out > /sys/class/gpio/PC13/direction
3
echo 1 > /sys/class/gpio/PC13/value
4
echo 0 > /sys/class/gpio/PC13/value
5
echo 1 > /sys/class/gpio/PC13/value
6
echo 0 > /sys/class/gpio/PC13/value
Copied!

Expected o/p

1
[email protected]:~# echo 77 > /sys/class/gpio/export
2
[email protected]:~# echo out > /sys/class/gpio/PC13/direction
3
[email protected]:~# echo 1 > /sys/class/gpio/PC13/value
4
[email protected]:~# echo 0 > /sys/class/gpio/PC13/value
Copied!
Try the above steps again replacing 77 with 81 & 83 respectively to toggle other two LEDs present on the board.
You can use remaining two user LED or any GPIO PIN mentioned in the Hardware manual with the same method. In case of any doubt post your detailed question into the RuggedBoard forum.

Description:

  • To check UART 3 node in /dev/.
  • To test the UART3 Port functionality in Kernel by shorting Transmitter and receiver pins.
  • To test the UART3 Port funcationaly in Kernel by connecting Transmitter pin of first board to receiver pin of second board and connect Receiver pin of first board to transmitter pin of second board using patch cards.

Required Hardware

  • UART PORT .
  • PATCH CORDS

Test Case 1 (Check the UART node in /dev/)

  1. 1.
    Boot the board from NOR/MMC.
  2. 2.
    Check weather the node is created in /dev
1
$ ls /dev/ttyS3
Copied!

Expected o/p

1
[email protected]:~# ls /dev/ttyS3
2
/dev/ttyS3
Copied!

Test Case 2 (Loop back test)

  1. 1.
    Boot the board from NOR/MMC, Check the Log file whether node is created or not.
  2. 2.
    Open the microcom and enter some random data, to open microcom type the command given below.
1
$ microcom -s <baud-rate> /dev/ttyS3
Copied!

Expected o/p

1
[email protected]:~# microcom -s 9600 /dev/ttyS3
2
atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan0 for rx DMA transfers
3
atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan1 for tx DMA transfers
4
Welcome to phytec
Copied!

Test Case 3 (Check the UART communication between 2 devices)

  1. 1.
    Boot the board from NOR/MMC, Check the Log file whether node is created or not.
  2. 2.
    Open microcom on both the boards and send data.
1
$ microcom -s <baud-rate> /dev/ttyS3
Copied!

Expected o/p

RB-Device-1:
1
[email protected]:~# microcom -s 115200 /dev/ttyS3
2
atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan0 for rx DMA transfers
3
atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan1 for tx DMA transfers
4
helloooo....................
Copied!
RB-Device-2:
1
[email protected]:~# microcom -s 115200 /dev/ttyS3
2
atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan0 for rx DMA transfers
3
atmel_usart_serial atmel_usart_serial.3.auto: using dma0chan1 for tx DMA transfers
4
ruggedboard......
Copied!

Description

  • To test the read and write functionality of i2c based eeprom

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable

Step-by-step guide

  • Boot the board from NOR/MMC.
  • Give the below command to write the data on eeprom
1
$echo phytec > /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
Copied!
  • Please give the below command to read the data from eeprom.
1
$cat /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
Copied!

Expected Output

1
[email protected]:~# echo phytec > /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
2
[email protected]:~# cat /sys/class/i2c-adapter/i2c-0/0-0050/eeprom
3
phytec
Copied!

Description

  • To test the USB1 Port functionality using the dmesg in Kernel with Pen-drive.
  • To test the USB1 Port functionality in Kernel with Pen-drive to read and write the data.
  • To test the USB1 Port functionality in Kernel with USB host performance test.

Required Hardware

  • USB PORT/Hub. -USB Stick.

Prerequisite

  • USB-STICK should be detected.

Test Case 1 (Insert Pen drive check the dmesg log)

  1. 1.
    Boot the board from NOR/MMC. After booting insert the USB Stick into Board USB port/USB-HUB, Check the Log file whether node is created or not.
  2. 2.
    Type the command given below for getting the log.
1
$ dmesg | tail
Copied!

Expected o/p

1
[email protected]:~# dmesg | tail
2
usb-storage 1-1:1.0: USB Mass Storage device detected
3
scsi host0: usb-storage 1-1:1.0
4
scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6
5
sd 0:0:0:0: [sda] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)
6
sd 0:0:0:0: [sda] Write Protect is off
7
sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
8
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
9
sda:
10
sd 0:0:0:0: [sda] Attached SCSI removable disk
Copied!

Test Case 2 (Mount the Pen-drive and read and write the data)

  1. 1.
    Boot the board from NOR/MMC. After booting insert the USB Stick into Board USB port/USB-HUB, Check the Log file whether node is creadted or not using dmesg.
  2. 2.
    Once the node is detected, mount the node and do the read and write by typing the command given below.
1
$ mount /dev/mmcblk1p1 /mnt/
Copied!

Expected o/p

1
[email protected]:~# mount /dev/mmcblk1p1 /mnt/
2
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
3
[email protected]:~# cd /mnt/
5
BOOT.BIN u-boot.bin
6
a5d2x-rugged_board.dtb zImage
7
at91-sama5d27_som1_ek.dtb
8
9
10
12
[email protected]:~# mount usb 1-1: USB disconnect, device number 2
13
usb 1-1: new full-speed USB device number 3 using at91_ohci
14
usb 1-1: New USB device found, idVendor=0781, idProduct=5567
15
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
16
usb 1-1: Product: Cruzer Blade
17
usb 1-1: Manufacturer: SanDisk
18
usb 1-1: SerialNumber: 4C530001280707107415
19
usb-storage 1-1:1.0: USB Mass Storage device detected
20
scsi host0: usb-storage 1-1:1.0
21
scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6
22
sd 0:0:0:0: [sda] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)
23
sd 0:0:0:0: [sda] Write Protect is off
24
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
25
sda:
26
sd 0:0:0:0: [sda] Attached SCSI removable disk
27
28
/dev/root on / type ext4 (rw,relatime,data=ordered)
29
devtmpfs on /dev type devtmpfs (rw,relatime,size=27004k,nr_inodes=6751,mode=755)
30
proc on /proc type proc (rw,relatime)
31
sysfs on /sys type sysfs (rw,relatime)
32
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
33
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
34
tmpfs on /var/volatile type tmpfs (rw,relatime)
35
/dev/mmcblk1p1 on /mnt type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
36
[email protected]:~# mount /dev/sda /mnt/
37
FAT-fs (sda): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
38
[email protected]:~# cd /mnt/
40
adc i2c spidev_test read
41
[email protected]:/mnt# vi hello.c
43
adc i2c spidev_test read hello.c
44
[email protected]:/mnt# ./read
Copied!

Test Case 3 (USB host performance test)

  1. 1.
    Boot the board from NOR/MMC
  2. 2.
    After booting run the script file and insert the USB Stick into Board USB port/USB-HUB.
1
$ sh usb_host_test.sh
Copied!

Expected o/p

1
[email protected]:~# sh usb_host_test.sh
2
insert usb flash stick
3
usb 1-1: new full-speed USB device number 3 using at91_ohci
4
usb 1-1: New USB device found, idVendor=0781, idProduct=5567
5
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
6
usb 1-1: Product: Cruzer Blade
7
usb 1-1: Manufacturer: SanDisk
8
usb 1-1: SerialNumber: 4C530001280707107415
9
usb-storage 1-1:1.0: USB Mass Storage device detected
10
scsi host0: usb-storage 1-1:1.0
11
scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6
12
sd 0:0:0:0: [sda] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)
13
sd 0:0:0:0: [sda] Write Protect is off
14
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
15
sda:
16
sd 0:0:0:0: [sda] Attached SCSI removable disk
17
dmesg -c
18
hdparm -t /dev/sda
19
hdparm -T /dev/sda
20
dd if=/dev/urandom bs=1M count=32 of=/tmp/test.img
21
mount -o rw,uid=1000 /dev/sda1 /mnt
22
time cp /tmp/test.img /mnt/test.img
23
time sync
24
md5sum -c /tmp/test.md5
25
time cp /mnt/test.img /tmp/test.img
26
md5sum -c /tmp/test.md5
27
mount -o rw,uid=1000,remount,sync /dev/sda1
28
time cp /tmp/test.img /mnt/test.img
29
md5sum -c /tmp/test.md5
30
umount /dev/sda1
Copied!

Description

  • To test the Ethernet ping functionality in Kernel.

Required Hardware

  • Ethernet Switch / Hub / Router, Ethernet cable.

Test Case 1 (Ping Test)

  1. 1.
    Make sure the network configuration & connection between Host & Target is established, connected to same switch / router.
  2. 2.
    Boot the board with NOR/MMC.
  3. 3.
    Before the ping test for Ethernet in Linux,we need to set the ip address by using below command on the target board. Make sure both the Target and Host are in the same sub-net
1
$ ifconfig eth0 192.168.1.11 up
Copied!
4.Next ping to your host ip address by using below command.
1
$ ping 192.168.1.12
Copied!

Expected o/p

1
[email protected]:~# ping 192.168.1.12
2
PING 192.168.1.12 (192.168.1.12): 56 data bytes
3
64 bytes from 192.168.1.12: seq=0 ttl=64 time=0.791 ms
4
64 bytes from 192.168.1.12: seq=1 ttl=64 time=0.533 ms
5
64 bytes from 192.168.1.12: seq=2 ttl=64 time=0.468 ms
6
64 bytes from 192.168.1.12: seq=3 ttl=64 time=0.503 ms
7
64 bytes from 192.168.1.12: seq=4 ttl=64 time=0.487 ms
8
64 bytes from 192.168.1.12: seq=5 ttl=64 time=0.510 ms
9
^C
10
--- 192.168.1.12 ping statistics ---
11
6 packets transmitted, 6 packets received, 0% packet loss
12
round-trip min/avg/max = 0.468/0.548/0.791 ms
Copied!
Note : Use the working IP address of your LAN. Ping command is used to test net connectivity between two IP based devices. Here 192.168.1.12 is general IP address of server ip

Description

  • To test the CAN Device functionality in Kernel.

Required Hardware

  • CAN Phy should be mounted on Board.
  • P CAN-USB Adapter

Prerequisite

  • CAN Adapter Driver , can-utils on host.

Test Case 1 (Test with PCAN device)

  1. 1.
    Boot the board from MMC.Due to size issue we are not providing can utils package for NOR flash,so please boot from SD card.
  2. 2.
    After booting,check the interface is available or not by giving the below command.
1
$ ifconfig can0
Copied!
  • To Transmit packets from board to PC
Target side:
1
$ ip link set can0 down
2
$ ip link set can0 type can bitrate 50000
3
$ ip link set can0 up
4
$ cansend can0 123#1232
Copied!
Host side:
1
$ sudo ip link set can0 down
2
$ sudo ip link set can0 type can bitrate 50000
3
$ sudo ip link set can0 up
4
$ candump can0
5
$ can0 123 [2] 12 32
Copied!
  • To Transmit packets from PC to Board
Host side :
1
sudo ip link set can0 down
2
sudo ip link set can0 type can bitrate 50000
3
sudo ip link set can0 up
4
sudo cansend can0 123#1232
Copied!
Target side :
1
ip link set can0 down
2
ip link set can0 type can bitrate 50000
3
ip link set can0 up
4
candump can0
5
can0 123 [2] 12 32
Copied!

Expected o/p :

  • To Transmit packets from board to PC
Target side:
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
4
[email protected]:~# cansend can0 123#1232
Copied!
Host side:
1
[email protected]:~$ sudo ip link set can0 down
2
[email protected]:~$ sudo ip link set can0 type can bitrate 50000
3
[email protected]:~$ sudo ip link set can0 up
4
[email protected]:~$ sudo candump can0
5
can0 123 [2] 12 32
Copied!
  • To Transmit packets from PC to Board
Host side :
1
[email protected]:~$ sudo ip link set can0 down
2
[email protected]:~$ sudo ip link set can0 type can bitrate 50000
3
[email protected]:~$ sudo ip link set can0 up
4
[email protected]:~$ sudo cansend can0 123#1232
Copied!
Target side:
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
4
[email protected]:~# candump can0
5
can0 123 [2] 12 32
Copied!

Test Case 2 (Board to Board)

  1. 1.
    Take 2 boards and Boot the boards from NOR/MMC.
  2. 2.
    After booting,check the interface is available or not by giving the below command.
1
$ ifconfig can0
Copied!

Test the CAN in 2 Cases.

Case1: Test the CAN through commands.
  • To Transmit packets from Board1 to Board2
Board1 side:
1
ip link set can0 down
2
ip link set can0 type can bitrate 50000
3
ip link set can0 up
4
cansend can0 123#1232
Copied!
Board2 side:
1
ip link set can0 down
2
ip link set can0 type can bitrate 50000
3
ip link set can0 up
4
candump can0
5
can0 123 [2] 12 32
Copied!
  • To Transmit packets from Board2 to Board1
Board2 side :
1
ip link set can0 down
2
ip link set can0 type can bitrate 50000
3
ip link set can0 up
4
cansend can0 123#1232
Copied!
Board1 side :
1
ip link set can0 down
2
ip link set can0 type can bitrate 50000
3
ip link set can0 up
4
candump can0
5
can0 123 [2] 12 32
Copied!
Case2: Test the CAN through the application
  • After booting,run the cansend application in board1 and canreceive in board2 and vice versa by using like below commands.
1
./cansend
2
./canrecv
3
Copied!

Expected o/p

Case1 :
  • To Transmit packets from Board1 to Board2
Board1 side:
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
4
[email protected]:~# cansend can0 123#1232
Copied!
Board2 side:
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
4
[email protected]:~# candump can0
5
can0 123 [2] 12 32
Copied!
  • To Transmit packets from Board2 to Board1
Board2 side :
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
4
[email protected]:~# cansend can0 123#1232
Copied!
Board1 side :
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
4
[email protected]:~# candump can0
5
can0 123 [2] 12 32
Copied!
Case2 :
  • To Transmit packets from Board1 to Board2
Board1 side :
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
5
Can Send Test
6
can0 at index 2
7
Wrote 16 bytes
Copied!
Board2 side :
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
5
Can Recieve Test
6
can0 at index 2
7
Can frames recieved
8
<0x123> [2] 11 22
Copied!
  • To Transmit packets from Board2 to Board1
Board1 side :
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
5
Can Recieve Test
6
can0 at index 2
7
Can frames recieved
8
<0x123> [2] 11 22
Copied!
Board2 side :
1
[email protected]:~# ip link set can0 down
2
[email protected]:~# ip link set can0 type can bitrate 50000
3
[email protected]:~# ip link set can0 up
5
Can Send Test
6
can0 at index 2
7
Wrote 16 bytes
Copied!

Description

  • To test the digital input pin on the carrier board.

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable
  • Patch card

Step-by-step guide

  • Boot the board from NOR/MMC
  • Carrier board having 4 digital input pins on P5 connector.Fifth pin of P5 connector is ground.
  • After completion of board booting, connect the one end of patch card to first pin of P5 connector and other end to input voltage pin.
  • Give the below commands to test the digital inputs.
1
$ echo 84 > sys/class/gpio/export
2
$ echo in > /sys/class/gpio/PC20/direction
3
$ cat /sys/class/gpio/PC20/value
Copied!
  • Remove the patch card and give the below command
1
$ cat /sys/class/gpio/PC20/value
Copied!
  • The value of digital pin is changed one to zero.
  • Meanwhile we can check the rest of the digital pins on P5 connector.Please have a look on below expected output for all digital input pins on P5 connector.

Expected Output

1
[email protected]:~# echo 84 > /sys/class/gpio/export
2
[email protected]:~# echo in > /sys/class/gpio/PC20/direction
3
[email protected]:~# cat /sys/class/gpio/PC20/value
4
0
5
[email protected]:~# cat /sys/class/gpio/PC20/value
6
1
7
8
[email protected]:~# echo 88 > /sys/class/gpio/export
9
[email protected]:~# echo in > /sys/class/gpio/PC24/direction
10
[email protected]:~# cat /sys/class/gpio/PC24/value
11
1
12
[email protected]:~# cat /sys/class/gpio/PC24/value
13
0
14
15
[email protected]:~# echo 79 > /sys/class/gpio/export
16
[email protected]:~# echo in > /sys/class/gpio/PC15/direction
17
[email protected]:~# cat /sys/class/gpio/PC15/value
18
0
19
[email protected]:~# cat /sys/class/gpio/PC15/value
20
1
21
22
[email protected]:~# echo 86 > /sys/class/gpio/export
23
[email protected]:~# echo in > /sys/class/gpio/PC22/direction
24
[email protected]:~# cat /sys/class/gpio/PC22/value
25
1
26
[email protected]:~# cat /sys/class/gpio/PC22/value
27
0
Copied!

Description

  • To test the digital output pins on carrier board

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable
  • External LED

Step-by-step guide

  • Boot the board from NOR/MMC
  • Carrier board having 4 digital outpins on P6 connector.Please refer the schematic to p6 connector pins.
  • After booting connect the External LED postive to 5th pin of P6 connector and other end to Ground.
  • Please give a below commands and observe the led status.
1
$echo 97 > /sys/class/gpio/export
2
$echo out > /sys/class/gpio/PD1/direction
3
$echo 1 > /sys/class/gpio/PD1/value
4
$echo 0 > /sys/class/gpio/PD1/value
Copied!
  • Please have a look on below expected output for testing rest of gpios in P6 connector.

Expected Output

1
[email protected]:~# echo 17 > /sys/class/gpio/export
2
[email protected]:~# echo out > /sys/class/gpio/PA17/direction
3
[email protected]:~# echo 0 > /sys/class/gpio/PA17/value
4
[email protected]:~# echo 1 > /sys/class/gpio/PA17/
5
6
[email protected]:~# echo 14 > /sys/class/gpio/export
7
[email protected]:~# echo out > /sys/class/gpio/PA14/direction
8
[email protected]:~# echo 0 > /sys/class/gpio/PA14value
9
[email protected]:~# echo 1 > /sys/class/gpio/PA14/value
10
11
[email protected]:~# echo 16 > /sys/class/gpio/export
12
[email protected]:~# echo out > /sys/class/gpio/PA16/direction
13
[email protected]:~# echo 0 > /sys/class/gpio/PA16/value
14
[email protected]:~# echo 1 > /sys/class/gpio/PA16/value
15
16
[email protected]:~# echo 97 > /sys/class/gpio/export
17
[email protected]:~# echo out > /sys/class/gpio/PD1/direction
18
[email protected]:~# echo 1 > /sys/class/gpio/PD1/value
19
[email protected]:~# echo 0 > /sys/class/gpio/PD1/value
Copied!

Description

  • To test the SD card Port functionality in Kernel with SD card.
  • To test the SD card Port functionality in Kernel with SD card and read the data from SD card.
  • To test the SD card Port functionality in Kernel with SD card and write the data to SD card.

Required Hardware

  • SD card.

Prerequisite

  • SD card should be detected.

Test Case 1 (Insert the SD card check the log)

  1. 1.
    Boot the board from NOR/MMC. After booting or while booting insert the SD card into Board MMC slot, Check the Log file whether node is created or not.

Expected o/p

1
Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard-a5d2x /dev/ttyS0
2
3
ruggedboard-a5d2x login:
4
mmc1: Problem switching card into high-speed mode!
5
mmc1: new SDHC card at address 0001
6
mmcblk1: mmc1:0001 SD 7.44 GiB
7
mmcblk1: p1 p2
Copied!

Test Case 2 (Read the data from SD card)

  1. 1.
    Boot the board from NOR/MMC. After booting or while booting insert the SD card into Board MMC slot, Check the Log file whether node is created or not.
  2. 2.
    Mount the SD-Card using the mount command.
1
$ mount /dev/mmcblkp1 /mnt/
Copied!

Expected o/p

1
[email protected]:~# mount /dev/mmcblk1p1 /mnt/
2
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
3
[email protected]:~# cd /mnt/
5
BOOT.BIN u-boot.bin
6
a5d2x-rugged_board.dtb zImage
7
at91-sama5d27_som1_ek.dtb read.c
8
[email protected]:/mnt# vi read.c
Copied!

Test Case 3 (Write the data in SD card)

  1. 1.
    Boot the board from NOR/MMC. After booting or while booting insert the SD card into Board MMC slot, Check the Log file whether node is creadted or not.
1
mount /dev/mmcblkp1 /mnt/
Copied!

Expected o/p

1
[email protected]:~# mount /dev/mmcblk1p1 /mnt/
2
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
3
[email protected]:~# cd /mnt/
5
BOOT.BIN u-boot.bin
6
a5d2x-rugged_board.dtb zImage
7
at91-sama5d27_som1_ek.dtb read.c
8
[email protected]:/mnt# vi write.c
10
BOOT.BIN u-boot.bin
11
a5d2x-rugged_board.dtb zImage
12
at91-sama5d27_som1_ek.dtb read.c
13
write.c
Copied!

Description

  • To test the ADC functionality with Potentio meter

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable
  • Potentiometer

Step-by-step guide

  • Boot the board from NOR/MMC. After board booting connect the Potentiometer signal pin to Analog signal pin.
  • Give the below command to read the digital value of ADC.
1
cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
Copied!

Expected Output

1
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/
2
buffer/ in_voltage6-voltage7_raw
3
current_timestamp_clock in_voltage6_raw
4
dev in_voltage7_raw
5
in_voltage-voltage_scale in_voltage8-voltage9_raw
6
in_voltage0-voltage1_raw in_voltage8_raw
7
in_voltage0_raw in_voltage9_raw
8
in_voltage10-voltage11_raw in_voltage_scale
9
in_voltage10_raw name
10
in_voltage11_raw of_node/
11
in_voltage1_raw power/
12
in_voltage2-voltage3_raw sampling_frequency
13
in_voltage2_raw scan_elements/
14
in_voltage3_raw subsystem/
15
in_voltage4-voltage5_raw trigger/
16
in_voltage4_raw uevent
17
in_voltage5_raw
18
19
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
20
21
4095
22
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
23
24
3500
25
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
26
27
2337
28
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
29
30
1222
31
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
32
33
1094
34
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
35
36
878
37
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
38
39
779
40
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
41
42
671
43
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
44
45
173
46
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
47
48
73
49
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
50
51
33
52
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
53
54
28
55
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
56
57
18
58
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
59
60
0
61
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
62
63
0
64
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage7_raw
65
66
497
67
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage7_raw
68
69
493
70
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage8_raw
71
72
2452
73
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage8_raw
74
75
2449
76
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage8_raw
77
78
2453
79
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage9_raw
80
81
2389
82
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage9_raw
83
84
2385
85
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage9_raw
86
87
2386
88
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_ra
89
w
90
8
91
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_ra
92
w
93
13
94
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_ra
95
w
96
18
97
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage10_ra
98
w
99
19
100
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage11_ra
101
w
102
2463
103
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage11_ra
104
w
105
2461
106
[email protected]:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage11_ra
107
w
108
2462
Copied!

Description

  • To test the debug console on carrier board.

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable

Step-by-step guide

  • Connect the USB cabel to board to PC.
  • Follow the RB-Quick start guide to set the minicom settings.
  • Please give the below commands to open the debug console in PC.
1
$ sudo minicom
Copied!

Expected Output

1
U-Boot 2018.07-linux4sam_6.0-00025-g3bff827-dirty (Dec 02 2019 - 01:35:03 +0530)
2
3
CPU: SAMA5D27 512M bits DDR2 SDRAM
4
Crystal frequency: 24 MHz
5
CPU clock : 492 MHz
6
Master clock : 164 MHz
7
DRAM: 64 MiB
9
Loading Environment from SPI Flash... SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiB
10
*** Warning - bad CRC, using default environment
11
12
Failed (-5)
16
17
Hit any key to stop autoboot: 0
18
Unknown command 'console=ttyS0,115200' - try 'help'
19
SF: Detected mx25l25645g with page size 256 Bytes, erase size 64 KiB, total 32 MiB
20
device 0 offset 0xa6000, size 0x500000
21
SF: 5242880 bytes @ 0xa6000 Read: OK
22
device 0 offset 0x96000, size 0x10000
23
SF: 65536 bytes @ 0x96000 Read: OK
24
## Flattened Device Tree blob at 21000000
25
Booting using the fdt blob at 0x21000000
26
Loading Device Tree to 23b6b000, end 23b763d9 ... OK
27
28
Starting kernel ...
29
30
Booting Linux on physical CPU 0x0
31
Linux version 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty ([email protected]) (gcc version 7.3.0 (GCC) ) #3 Wed Jan 29 16:06:33 IST 2020
32
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7d
33
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
34
OF: fdt:Machine model: RUGGED BOARD A5D2X
35
cma: Failed to reserve 64 MiB
36
Memory policy: Data cache writeback
37
CPU: All CPU(s) started in SVC mode.
38
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 16240
39
Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mtdblock5 rw rootwait rootfstype=squashfs
40
PID hash table entries: 256 (order: -2, 1024 bytes)
41
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
42
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
43
Memory: 54004K/65536K available (7168K kernel code, 215K rwdata, 1188K rodata, 1024K init, 220K bss, 11532K reserved, 0K cma-reserved)
44
Virtual kernel memory layout:
45
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
46
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
47
vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
48
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
49
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
50
.text : 0xc0008000 - 0xc0800000 (8160 kB)
51
.init : 0xc0a00000 - 0xc0b00000 (1024 kB)
52
.data : 0xc0b00000 - 0xc0b35fc8 ( 216 kB)
53
.bss : 0xc0b35fc8 - 0xc0b6d208 ( 221 kB)
54
NR_IRQS:16 nr_irqs:16 16
55
L2C-310 ID prefetch enabled, offset 2 lines
56
L2C-310 dynamic clock gating enabled, standby mode enabled
57
L2C-310 cache controller enabled, 8 ways, 128 kB
58
L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x36020000
59
clocksource: pit: mask: 0x7ffffff max_cycles: 0x7ffffff, max_idle_ns: 11654027029 ns
60
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
61
Console: colour dummy device 80x30
62
Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304)
63
pid_max: default: 32768 minimum: 301
64
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
65
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
66
CPU: Testing write buffer coherency: ok
67
Setting up static identity map for 0x20100000 - 0x20100058
68
devtmpfs: initialized
69
VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1
70
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
71
futex hash table entries: 256 (order: -1, 3072 bytes)
72
pinctrl core: initialized pinctrl subsystem
73
NET: Registered protocol family 16
74
DMA: preallocated 256 KiB pool for atomic coherent allocations
75
cpuidle: using governor menu
76
AT91: PM: standby: standby, suspend: ulp0
77
clocksource: tcb_clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 186464433812 ns
78
at_xdmac f0010000.dma-controller: 16 channels, mapped at 0xc4883000
79
at_xdmac f0004000.dma-controller: 16 channels, mapped at 0xc4885000
80
AT91: Detected SoC family: sama5d2
81
AT91: Detected SoC: sama5d27c 64MB SiP, revision 2
82
VDDANA: supplied by VDDIN_3V3
83
advref: supplied by VDDANA
84
SCSI subsystem initialized
85
usbcore: registered new interface driver usbfs
86
usbcore: registered new interface driver hub
87
usbcore: registered new device driver usb
88
at91_i2c f8028000.i2c: could not find pctldev for node /ahb/apb/[email protected]/i2c0_default, deferring probe
89
media: Linux media interface: v0.10
90
Linux video capture interface: v2.00
91
Advanced Linux Sound Architecture Driver Initialized.
92
Bluetooth: Core ver 2.22
93
NET: Registered protocol family 31
94
Bluetooth: HCI device and connection manager initialized
95
Bluetooth: HCI socket layer initialized
96
Bluetooth: L2CAP socket layer initialized
97
Bluetooth: SCO socket layer initialized
98
clocksource: Switched to clocksource tcb_clksrc
99
NET: Registered protocol family 2
100
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
101
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
102
TCP: Hash tables configured (established 1024 bind 1024)
103
UDP hash table entries: 256 (order: 0, 4096 bytes)
104
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
105
NET: Registered protocol family 1
106
RPC: Registered named UNIX socket transport module.
107
RPC: Registered udp transport module.
108
RPC: Registered tcp transport module.
109
RPC: Registered tcp NFSv4.1 backchannel transport module.
110
workingset: timestamp_bits=14 max_order=14 bucket_order=0
111
squashfs: version 4.0 (2009/01/31) Phillip Lougher
112
jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
113
JFS: nTxBlock = 421, nTxLock = 3375
114
io scheduler noop registered (default)
115
pinctrl-at91-pio4 fc038000.pinctrl: atmel pinctrl initialized
116
[drm] Initialized
117
brd: module loaded
118
loop: module loaded
119
atmel_usart_serial.0.auto: ttyS1 at MMIO 0xf801c000 (irq = 33, base_baud = 5125000) is a ATMEL_SERIAL
120
atmel_usart_serial.1.auto: ttyS0 at MMIO 0xf8020000 (irq = 34, base_baud = 5125000) is a ATMEL_SERIAL
121
console [ttyS0] enabled
122
atmel_usart_serial.2.auto: ttyS2 at MMIO 0xf8024000 (irq = 35, base_baud = 5125000) is a ATMEL_SERIAL
123
atmel_usart_serial.3.auto: ttyS3 at MMIO 0xfc008000 (irq = 39, base_baud = 5125000) is a ATMEL_SERIAL
124
atmel_usart_serial.4.auto: ttyS4 at MMIO 0xfc00c000 (irq = 40, base_baud = 5125000) is a ATMEL_SERIAL
125
atmel_qspi f0024000.spi: mx25l25645g (32768 Kbytes)
126
7 ofpart partitions found on MTD device f0024000.spi
127
Creating 7 MTD partitions on "f0024000.spi":
128
0x000000000000-0x000000006000 : "at91bootstrap"
129
0x000000006000-0x000000016000 : "bootloader env"
130
0x000000016000-0x000000096000 : "bootloader"
131
0x000000096000-0x0000000a6000 : "device tree"
132
0x0000000a6000-0x0000005a6000 : "kernel"
133
0x0000005a6000-0x0000019a6000 : "rootfs"
134
0x0000019a6000-0x000002000000 : "data"
135
atmel_spi fc018400.spi: DMA TX channel not available, SPI unable to use DMA
136
atmel_spi fc018400.spi: Atmel SPI Controller using PIO only
137
atmel_spi fc018400.spi: Using FIFO (16 data)
138
atmel_spi fc018400.spi: Atmel SPI Controller version 0x311 at 0xfc018400 (irq 178)
139
libphy: Fixed MDIO Bus: probed
140
CAN device driver interface
141
m_can fc050000.can: m_can device registered (irq=48, version=31)
142
libphy: MACB_mii_bus: probed
143
random: fast init done
144
Micrel KSZ8081 or KSZ8091 f8008000.ethernet-ffffffff:07: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=f8008000.ethernet-f)
145
macb f8008000.ethernet eth0: Cadence GEM rev 0x00020203 at 0xf8008000 irq 28 (80:1f:12:4e:24:9e)
146
usbcore: registered new interface driver asix
147
usbcore: registered new interface driver ax88179_178a
148
usbcore: registered new interface driver cdc_ether
149
usbcore: registered new interface driver net1080
150
usbcore: registered new interface driver cdc_subset
151
usbcore: registered new interface driver zaurus
152
usbcore: registered new interface driver sierra_net
153
usbcore: registered new interface driver cdc_ncm
154
usbcore: registered new interface driver qmi_wwan
155
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
156
ehci-atmel: EHCI Atmel driver
157
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
158
ohci-atmel: OHCI Atmel driver
159
at91_ohci 400000.ohci: USB Host Controller
160
at91_ohci 400000.ohci: new USB bus registered, assigned bus number 1
161
at91_ohci 400000.ohci: irq 18, io mem 0x00400000
162
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
163
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
164
usb usb1: Product: USB Host Controller
165
usb usb1: Manufacturer: Linux 4.9.151-linux4sam_5.8+-04814-g499d99b-dirty ohci_hcd
166
usb usb1: SerialNumber: at91
167
hub 1-0:1.0: USB hub found
168
hub 1-0:1.0: 2 ports detected
169
usbcore: registered new interface driver cdc_acm
170
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
171
usbcore: registered new interface driver cdc_wdm
172
usbcore: registered new interface driver usb-storage
173
usbcore: registered new interface driver usbserial
174
usbcore: registered new interface driver usbserial_generic
175
usbserial: USB Serial support registered for generic
176
usbcore: registered new interface driver ftdi_sio
177
usbserial: USB Serial support registered for FTDI USB Serial Device
178
usbcore: registered new interface driver option
179
usbserial: USB Serial support registered for GSM modem (1-port)
180
usbcore: registered new interface driver pl2303
181
usbserial: USB Serial support registered for pl2303
182
usbcore: registered new interface driver qcaux
183
usbserial: USB Serial support registered for qcaux
184
usbcore: registered new interface driver qcserial
185
usbserial: USB Serial support registered for Qualcomm USB modem
186
rtc rtc0: invalid alarm value: 1900-1-1 0:0:0
187
at91_rtc f80480b0.rtc: rtc core: registered f80480b0.rtc as rtc0
188
at91_rtc f80480b0.rtc: AT91 Real Time Clock driver.
189
i2c /dev entries driver
190
AT91: Starting after general reset
191
sama5d4_wdt f8048040.watchdog: initialized (timeout = 16 sec, nowayout = 0)
192
usbcore: registered new interface driver bfusb
193
usbcore: registered new interface driver btusb
194
sdhci: Secure Digital Host Controller Interface driver
195
sdhci: Copyright(c) Pierre Ossman
196
sdhci-pltfm: SDHCI platform and OF driver helper
197
sdhci-at91 a0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hz
198
mmc0: SDHCI controller on a0000000.sdio-host [a0000000.sdio-host] using ADMA
199
sdhci-at91 b0000000.sdio-host: update clk mul to 39 as gck rate is 480000000 Hz
200
mmc1: SDHCI controller on b0000000.sdio-host [b0000000.sdio-host] using ADMA
201
ledtrig-cpu: registered to indicate activity on CPUs
202
atmel_aes f002c000.aes: version: 0x500
203
atmel_aes f002c000.aes: Atmel AES - Using dma0chan0, dma0chan1 for DMA transfers
204
atmel_sha f0028000.sha: version: 0x510
205
atmel_sha f0028000.sha: using dma0chan2 for DMA transfers
206
atmel_sha f0028000.sha: Atmel SHA1/SHA256/SHA224/SHA384/SHA512
207
atmel_tdes fc044000.tdes: version: 0x703
208
atmel_tdes fc044000.tdes: using dma0chan3, dma0chan4 for DMA transfers
209
atmel_tdes fc044000.tdes: Atmel DES/TDES
210
usbcore: registered new interface driver usbhid
211
usbhid: USB HID core driver
212
at91-sama5d2_adc fc030000.adc: setting up trigger as external_rising
213
at91-sama5d2_adc fc030000.adc: version: 800
214
NET: Registered protocol family 10
215
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
216
NET: Registered protocol family 17
217
can: controller area network core (rev 20120528 abi 9)
218
NET: Registered protocol family 29
219
can: raw protocol (rev 20120528)
220
can: broadcast manager protocol (rev 20161123 t)
221
can: netlink gateway (rev 20130117) max_hops=1
222
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
223
Bluetooth: HIDP socket layer initialized
224
at91_i2c f8028000.i2c: can't get DMA channel, continue without DMA support
225
at91_i2c f8028000.i2c: Using FIFO (16 data)
226
at24 0-0050: 256 byte 24c02 EEPROM, writable, 8 bytes/write
227
at91_i2c f8028000.i2c: AT91 i2c bus driver (hw version: 0x704).
228
at91_rtc f80480b0.rtc: setting system clock to 2012-01-01 00:00:10 UTC (1325376010)
229
ALSA device list:
230
No soundcards found.
231
atmel_usart_serial atmel_usart_serial.1.auto: using dma0chan5 for rx DMA transfers
232
atmel_usart_serial atmel_usart_serial.1.auto: using dma0chan6 for tx DMA transfers
233
VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
234
devtmpfs: mounted
235
Freeing unused kernel memory: 1024K
236
starting pid 112, tty '': '/bin/mount -t proc proc /proc'
237
starting pid 113, tty '': '/bin/mount -t sysfs sysfs /sys'
238
starting pid 114, tty '': '/bin/mount -t devtmpfs devtmpfs /dev'
239
mount: mounting devtmpfs on /dev failed: Resource busy
240
starting pid 115, tty '': '/bin/mount -o remount,rw /'
241
starting pid 116, tty '': '/bin/mkdir -p /dev/pts'
242
starting pid 117, tty '': '/bin/mount -t devpts devpts /dev/pts'
243
starting pid 118, tty '': '/bin/mount -a'
244
starting pid 119, tty '': '/etc/init.d/rcS'
245
starting pid 123, tty '/dev/ttyS0': '/sbin/getty 115200 ttyS0'
246
247
Poky (Yocto Project Reference Distro) 2.5.2 ruggedboard /dev/ttyS0
248
249
ruggedboard login: root
250
-sh: command: not found
Copied!

Description

  • To test the Expansion Header GPIOs functionality in Kernel whether they are toggling.

Required Hardware

  • External LED.

Prerequisite

  • External LED should glow.

Test Case 1 (Connect the LED and toggle the GPIOs)

  1. 1.
    Boot the board from NOR/MMC. After booting check whether Expansion Header GPIOs are toggling or not.
1
$ echo <gpiono> sys/class/gpio/export
Copied!
1
$ echo out > /sys/class/gpio/<gpiopinno>/direction
Copied!
1
$ echo 1 > /sys/class/gpio/<gpiopinno>/value
Copied!
1
$ echo 0 > /sys/class/gpio/<gpiopinno>/value
Copied!

Expected o/p

2
[email protected]:~# echo 115 > /sys/class/gpio/export
3
[email protected]:~# echo out > /sys/class/gpio/PD19/direction
4
[email protected]:~# echo 1 > /sys/class/gpio/PD19/value
5
[email protected]:~# echo 0 > /sys/class/gpio/PD19/value
6
7
[email protected]:~# echo 116 > /sys/class/gpio/export
8
[email protected]:~# echo out > /sys/class/gpio/PD20/direction
9
[email protected]:~# echo 1 > /sys/class/gpio/PD20/value
10
[email protected]:~# echo 0 > /sys/class/gpio/PD20/value
Copied!

Description

  • To test the mini pcie connector on the carrier board.

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable
  • PCIE Module

Step-by-step guide

  1. 1.
    Boot the board from NOR/MMC. After booting insert the mPCIe module to the mPCIe connector.
  2. 2.
    After inserting module ,log will appear on shell.Please have a look on below expected output.

Expected Output

1
[email protected]:~# usb 1-2: new full-speed USB device number 2 using at91_ohci
2
|usb 1-2: config 1 has an invalid interface number: 8 but max is 3
3
usb 1-2: config 1 has no interface number 1
4
usb 1-2: New USB device found, idVendor=1199, idProduct=68c0
5
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
6
usb 1-2: Product: Sierra Wireless WP7608
7
usb 1-2: Manufacturer: Sierra Wireless, Incorporated
8
usb 1-2: SerialNumber: XG85120024011021
9
qcserial 1-2:1.0: Qualcomm USB modem converter detected
10
usb 1-2: Qualcomm USB modem converter now attached to ttyUSB0
11
qcserial 1-2:1.2: Qualcomm USB modem converter detected
12
usb 1-2: Qualcomm USB modem converter now attached to ttyUSB1
13
qcserial 1-2:1.3: Qualcomm USB modem converter detected
14
usb 1-2: Qualcomm USB modem converter now attached to ttyUSB2
15
qmi_wwan 1-2:1.8: cdc-wdm0: USB WDM device
16
qmi_wwan 1-2:1.8 wwan0: register 'qmi_wwan' at usb-at91-2, WWAN/QMI device, 9a:c1:df:e1:6f:18
Copied!

Description

  • To test the PWM functionality in Kernel with External LED.

Required Hardware

  • phyCORE-A5d2x System on Module
  • phyCORE-A5d2 Rugged Board
  • USB cable
  • External LED

Step-by-step guide

  • Boot the board from NOR/MMC.
  • Please connect the positive pin of LED to the 16 th pin of the M1 connector.And connect the other pin of led to ground.
  • Give the below commands the and observe the brightness of LED pin.
1
$echo 0 > /sys/class/pwm/pwmchip0/export
2
$echo 50000 > /sys/class/pwm/pwmchip0/pwm0/period
3
$echo 4000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
4
$echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
5
$echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable
Copied!

Expected Output

1
[email protected]:~# cat /sys/class/pwm/pwmchip0/npwm
2
4
3
[email protected]:~# echo 0 > /sys/class/pwm/pwmchip0/export
4
[email protected]:~# cat /sys/class/pwm/pwmchip0/pwm0/polarity
5
normal
6
[email protected]:~# echo 50000 > /sys/class/pwm/pwmchip0/pwm0/period
7