ARM Software FAQs¶
Useful memory locations¶
Two useful linux memory tools: devmem2 and mem_util
AM57x TRM
https://www.ti.com/lit/ug/spruhz6l/spruhz6l.pdf
- Control Module
Control Module base address: 0x4A00_2000
AM57x TRM Table 18-28. CTRL_MODULE_CORE Registers Mapping Summary pg4213- Pinmux
NOTE: TI says you can only change the pinmux from the MLO, so this should be read-only. See Setup Pinmux
AM57x TRM 18.4.6.1.1 Pad Configuration Registers pg4174
CTRL_CORE_PAD_UART1_RXD 0x4A00_37E0
CTRL_CORE_PAD_UART1_TXD 0x4A00_37E4
- Pinmux
- GPIO Modules
AM57x TRM 27.6.1 General-Purpose Interface Instance Summary pg7108
GPIO_OE Offset 0x0134
GPIO_DATAIN Offset 0x0138
GPIO_DATAOUT Offset 0x013C
USB1 3.0 Benchmark¶
Note you can use lsusb to check the link speed of your devices. One of the usb-storage drives is plugged into the 2.0 hub so is linked at 480M (USB2.0 speeds) and one is plugged into the USB-C connector and is linked at 5000M (USB3.0 speeds).
root@mitysom-am57x:~# lsusb -t /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
USB1
Testing using a USB-C nvme enclosure. "Rongdeson USB3.1 Type-C to NVMe M.2 SSD Enclosure" with a "Samsung 970 Evo NVMe M.2" drive
256MB/s write (2048Mbps), 359MB/s (2872Mbps) read (I get closer to 900MB/s read on my PC)
root@mitysom-am57x:/run/media/sda1# time bonnie++ -u root -d /run/media/sda1/ -n 1024 -m "1TB nvme USB-c AM57x" ... Version 1.04 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP 1TB nvme USB-c A 4G 46175 98 235618 93 158226 68 50469 99 358888 79 +++++ +++ ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 1024 14813 97 38651 89 12437 84 14817 96 36224 91 11762 85 1TB nvme USB-c AM57x,4G,46175,98,235618,93,158226,68,50469,99,358888,79,+++++,+++,1024,14813,97,38651,89,12437,84,14817,96,36224,91,11762,85 real 10m 12.68s user 2m 35.50s sys 6m 41.97s
Tested rndis. Got 612Mb/s tx, 456Mb/s rx
root@mitysom-am57x:~# iperf3 -c 192.168.1.2 Connecting to host 192.168.1.2, port 5201 [ 5] local 192.168.1.1 port 46708 connected to 192.168.1.2 port 5201 ... [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 730 MBytes 612 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 729 MBytes 612 Mbits/sec receiver iperf Done. root@mitysom-am57x:~# iperf3 -c 192.168.1.2 --reverse Connecting to host 192.168.1.2, port 5201 Reverse mode, remote host 192.168.1.2 is sending ... [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 544 MBytes 456 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 543 MBytes 456 Mbits/sec receiver iperf Done.
Go to top