Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This demo assumes that a Micro-B to USB 2.0 A Female cable is plugged into the USB1 interface connector on the NXP i.MX RT1170 EVK board and that a pre-formatted USB Flash disk with an FAT32 partition is plugged into the USB 2.0 A Female connector of the above USB cable.

2. Logging Data onto USB Flash

On power-up or reset, U-Boot loads the Linux and Device Tree images from the SD Card to the SDRAM and passes control to the kernel entry point:

Code Block
U-Boot SPL 2023.04 (Sep 01 2023 - 17:34:47 +0000)
Trying to boot from MMC1


U-Boot 2023.04 (Sep 01 2023 - 17:34:47 +0000)

Model: NXP imxrt1170-evk board
DRAM:  960 KiB (effective 64.9 MiB)
Core:  72 devices, 15 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0
Loading Environment from MMC... OK
In:    serial@4007c000
Out:   serial@4007c000
Err:   serial@4007c000
Net:   eth0: ethernet@40424000
Hit any key to stop autoboot:  0
8489874 bytes read in 755 ms (10.7 MiB/s)
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Linux-6.1.22
   Image Type:   ARM Linux Multi-File Image (uncompressed)
   Data Size:    8489810 Bytes = 8.1 MiB
   Load Address: 80008000
   Entry Point:  80008001
   Contents:
      Image 0: 8480224 Bytes = 8.1 MiB
      Image 1: 9574 Bytes = 9.3 KiB
   Verifying Checksum ... OK
## Flattened Device Tree from multi component Image at 80007FC0
   Booting using the fdt at 0x8081e5ec
Working FDT set to 8081e5ec
   Loading Multi-File Image
   Loading Device Tree to 2032a000, end 2032f565 ... OK
Working FDT set to 2032a000

Starting kernel ...

The kernel proceeds to boot-up, initializing the configured I/O interfaces and sub-systems:

Code Block
Booting Linux on physical CPU 0x0
Linux version 6.1.22 (sasha@workbench.emcraft.com) 
(arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.10) 
10.3.1 20210824 (release), GNU ld (GNU Arm Embedded Toolchain 
10.3-2021.10) 2.36.1.20210621) #2 Fri Sep  1 14:20:49 UTC 2023
CPU: ARMv7-M [411fc272] revision 2 (ARMv7M), cr=00000000
CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
OF: fdt: Machine model: NXP IMXRT1170 EVK board
Reserved memory: created DMA memory pool at 0x83f00000, size 1 MiB
OF: reserved mem: initialized node dmapool@83f00000, compatible 
id shared-dma-pool
Zone ranges:
  Normal   [mem 0x0000000080000000-0x0000000083ffffff]
Movable zone start for each node
...
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti 
<
 giometti@linux.it>
PTP clock support registered
Bluetooth: Core ver 2.22
NET: Registered PF_BLUETOOTH protocol family
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
clocksource: Switched to clocksource mxc_timer1
NET: Registered PF_INET protocol family
IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes,
 linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Bus freq driver module loaded
Initialise system trusted keyrings
workingset: timestamp_bits=30 max_order=14 bucket_order=0
fuse: init (API version 7.37)
Key type asymmetric registered
Asymmetric key parser 'x509' registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
io scheduler mq-deadline registered
io scheduler kyber registered
4007c000.serial: ttyLP0 at MMIO 0x4007c010 (irq = 447, base_baud = 
1500000) is a FSL_LPUART
fsl-lpuart 4007c000.serial: Serial: Console lpuart rounded baud 
ratefrom 187500 to 115200
printk: console [ttyLP0] enabled
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
usbcore: registered new interface driver rt2800usb
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN 
adapters
usbcore: registered new interface driver uas
usbcore: registered new interface driver usb-storage
i2c_dev: i2c /dev entries driver
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered PF_PACKET protocol family
mmc0 bounce up to 128 segments into one, max segment size 65536 bytes
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
ARMv7-M VFP coprocessor found
VFP: Double precision floating points are supported
Loading compiled-in X.509 certificates
mmc0: SDHCI controller on 40418000.usdhc [40418000.usdhc] using DMA
input: gpio-keys as /devices/platform/gpio-keys/input/input0
cfg80211: Loading compiled-in X.509 certificates for regulatory database
cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
platform regulatory.0: Direct firmware load for regulatory.db failed with 
error -2
cfg80211: failed to load regulatory.db
Freeing unused kernel image (initmem) memory: 3556K
This architecture does not have kernel memory protection.
Run /init as init process
[72] Jan 01 00:00:01 Running in background
/ # mmc0: host does not support reading read-only switch, assuming 
write-enable
mmc0: new high speed SDHC card at address 59b4
mmcblk0: mmc0:59b4 USD   7.39 GiB
 mmcblk0: p1
Micrel KSZ8081 or KSZ8091 40424000.ethernet-1:02: attached PHY driver 
(mii_bus:phy_addr=40424000.ethernet-1:02, irq=POLL)
fec 40424000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off 

...