Layerscape ナレッジベース

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Layerscape Knowledge Base

ディスカッション

ソート順:
On the LS1046ARDB, there are 2 1G SGMII with PHY, but sometimes customer want to get PHY-less connection to evaluate the performance, so they may have to change the non-fixed link properties into fixed-link by reconfiguration the SW configuration. In this document, it will give details of configuring the LS1046ARDB to support the fixed-link requirement with LSDK2108 focus on the DTS and Linux kernel. The ethernet MAC in this document is FM1 mEMAC6: 1AE_A000h. Because there is no PHY-less connection on board. We only provide the status when the MAC has been configured.
記事全体を表示
When customer only has SD/eMMC on the customer board, when they don’t have CWTAP in hand, how do they boot the customer board(bare board) after the board come back from the factory for the first time. This document describes the steps how to use the CMSIS-DAP in this situation as a reference for user.
記事全体を表示
CMSIS-DAP is a useful tool and exists in some NXP reference boards, but how to use it. This document describes the steps how to use the CMSIS-DAP in the LS1034ARDB as a reference for user.
記事全体を表示
On the LX2160ARDB, there are 2 25G SFP interfaces, but no 10G SFP interface. When customer want to test the 10G SFPs to evaluate the performance, they have to change the 25G SFP interfaces into 10G by reconfiguration the SW configuration. In this document, it will give details of configuring the LX2160ARDB to support the customer’s 10G SFP interfaces requirement with LSDK2108. At the end, an image will be generated to deployed into the SD card. Because SD card is a convenient way boot up LX2160ARDB, if one wrong move could brick the system, the customer could unplug the SD card to repeat the steps below.
記事全体を表示
ENETC is a PCI Integrated End Point(IEP). IEP implements peripheral devices in an SoC such that software sees them as PCIe device. ENETC is an evolution of BDR(Buffer Descriptor Ring) based networking IPs. Key goal of the DPDK is to provide a simple, complete framework for fast packet processing in data plane applications. Using the APIs provided as part of the framework, applications can leverage the capabilities of underlying network infrastructure.DPDK been prominent software in user space for networking applications pushes for eNetc driver to be written in user space. This document introduces overview of the NXP ENETC and how its driver is implemented and integrated into the DPDK. DPDK eNetc Driver support features queue start/stop, MTU update, promisc, Unicast and multicast MAC filtering, rss hash, crc offload, vlan offload, Rx checksum offload, basic stats. 1. ENETC Hardware Introduction 2. LS1028 Default ENETC Driver 3. User Space eNetc Driver design 4. DPDK eNetc Driver support features 5. Setup DPDK applications over ENETC platform
記事全体を表示
This document introduces how to configure software to disable the second DDR controller and only use DDR1 on LX2160A platforms, includes configuring RCW to disable clock of DDR2 by using DEVDISR register and setting HN-F SAM control registers to disable DDR2 in CodeWarrior and atf software coding. 1. Configure RCW to Disable clock of DDR2 by using DEVDISR register 2. Configuring HN-F SAM control register to disable DDR2 in CodeWarrior 3. ATF coding to configure HN-F SAM control register to disable the specific DDR controller
記事全体を表示
UEFI (Unified Extensible Firmware Interface) describes an interface between the operating system (OS) and the platform firmware. The interface consists of data tables that contain platform-related information, plus boot and runtime service calls that are available to the operating system and its loader. Together, these provide a standard, modern environment for booting an operating system and running pre-boot applications. 1. UEFI boot flow 2. Build UEFI firmware images on the host PC 3. Generate Composite Firmware with UEFI Firmware Images 4. Deploy LSDK distro boot with UEFI
記事全体を表示
This document uses LS1043AQDS as an example to introduce how to use attaching method to debug atf and u-boot on QorIQ LS ARM 64 bit target boards with CodeWarrior for ARMv8. 1. Build ATF and U-boot with Debugging information Enabled in LSDK 2. Debug BL2 in ATF with CodeWarrior for ARMv8 3. Debug BL31 in ATF with CodeWarrior for ARMv8 4. Debugging u-boot with CodeWarrior for ARMv8
記事全体を表示
Introduction.   CodeWarrior TAP combined with a host debugger provide control and visibility into your target embedded system through a debugging process. Main tasks to test a Reference Design Board with are: Flash an storage device for userspace debugging and recovering a board. RCW and PBL configuration. DDR and SerDes configuration. DDR and SerDes validation. U-Boot and Kernel debug For all of them and every activity involving real hardware, a link is needed nevertheless is a very straightforward process that is going to be crawled in this document.   Hardware List.   CodeWarrior TAP USB cable. USB A-Mini-B. CodeWarrior TAP TIP CWH-CTP-CTX10-YE. COP connector. CodeWarrior TAP Base Unit. CWH-CTP-BASE-HE. Host computer. Processor: Windows® OS: Intel® Pentium® 4 processor, 2 GHz or faster, Intel® Xeon™, Intel® Core™, AMD Athlon™ 64, AMD Opteron™, or later Linux® OS: 1.8 GHz Intel® Pentium® class processor (or better). 64-bit host OS required. Operating System: Microsoft® Windows 7 64-bit Microsoft® Windows 10 64-bit RHEL 7.8, 8.2 64-bit CentOS 7.8, 8.2 64-bit Ubuntu 16.04 64-bit Ubuntu 18.04 64-bit Ubuntu 20.04 64-bit Fedora 31 64-bit Mint 19.3 64-bit Memory. At least 2 GB of RAM At least 3 GB of free disk space NXP Reference Board featuring. LS2088A. LS1012A. LS1043A. LS1088A. LS1046A.   Power-up set-up.   Connect debugger and target's end to each other, while both of them are powered off. Connect TAP TIP multipin connector to TAP multipin socket pushing them.     Ribbon cable red side has to be on TIP pin 1 side and Target COP pin 1 side, look for CPU/Processor silkscreen and pin 1 label. See below examples.            Note that CPU JTAG silkscreen label is in the red box, but also may be visible the 1 label. Power up CWTAP. The most efficient way to set up CWTAP is using USB cable, due to can be both powered and communicated with just one cable. Connect USB to Host PC and wait for TX LED to go green blinking.     If communication is directly to host, considerate that you'll be joined into a private network and you will not have internet access. Power up Target. Connect target to DC supply and turn on power switch and press reset button (needed for boards which don't have a power switch). Create a connection in CodeWarrior.   Open CodeWarrior previously previously set up and with a workspace selected. Make sure that Target Connections window is visible, if not, look for it in Window > Show view > Other.   Every target connection desired has to be based on CW predefined board connections. Predefined connections are processor oriented and have a default configuration, you cannot and should not override this values, e.g., MAC field for TAP probe, you should duplicate and then customize it. Click on the reference board that you have, then duplicate, name new target and save.     Double click or click edit to enter TAP MAC value. Settings are initialized based on the duplicated board, it's recommended to just update MAC. Click on look for probes, select the one that matches your MAC and save.     Save. Serial number field is updated and you are notified of unsaved changes, is the asterisk at the left of your duplicate name, save (ctrl + s) and you may close the connection data is done now.     Open a project or create a new one. I created a new project to simply read RCW inside NOR Flash Bank 0 of LS1043ARDB following the below process.         Then, open Connections View to test the new connection based on custom connection data created before. Click on recheck connection button (green play button) and connection status should change from no-link (connection button right side) to connection working.     Diagnose connection.   Go to Target Connections view and click diagnose connection, Connection Diagnostics view should be popped up and log different tests to ensure that there is a target connection and SOC modules are accessible.     At this point, the connection is made and is already tested, but in this document, RCW will also be dumped into our project just to work ourselves with the connection already made. Under Component Inspector view go to Import tab, select Import From Target and click Read from target.     Results are display in text box as: RCWSR registers were successfully read from the target and imported! RCWSR1:0x08100010 RCWSR2:0x0A000000 RCWSR3:0x00000000 RCWSR4:0x00000000 RCWSR5:0x14550002 RCWSR6:0x80004012 RCWSR7:0xE0025000 RCWSR8:0xC1002000 RCWSR9:0x00000000 RCWSR10:0x00000000 RCWSR11:0x00000000 RCWSR12:0x00038800 RCWSR13:0x00000000 RCWSR14:0x00001101 RCWSR15:0x00000096 RCWSR16:0x00000001 That should save a connection to a CWTAP to reuse with that same MAC intended to a any RDB that features the selected processor. Later on you can recover LS Series processors, flash, configure or validate a board. Please ask any question you may have. Best regards, Joseph
記事全体を表示
Quick start to recover a ATF in a damaged storage device. In this case, a blanked LS1012AFRWY QSPI, which is the only BL2 and FIP storage device on board, is restored using CW TAP, CW 4NET and Flex-Installer. Download firmware using flex-installer   nxplayerscape@nxp-global-cas:~/Downloads/josephs-downloads/Flex-Installer-LDP$ flex-installer -i download -f firmware_ls1012afrwy_qspi.boot Please specify correct '-m <machine>' Valid machine name: ls1012ardb ls1012afrwy ls1021atwr ls1028ardb ls1043ardb ls1046ardb ls1046afrwy ls1088ardb_pb ls2088ardb lx2160ardb_rev2 lx2162aqds  imx6qpsabresd imx6qsabresd imx6sllevk imx7ulpevk imx8mmevk imx8mnevk imx8mpevk imx8mqevk imx8qmmek imx8qxpmek imx8ulpevk  nxplayerscape@nxp-global-cas:~/Downloads/josephs-downloads/Flex-Installer-LDP$ flex-installer -i download -f firmware_ls1012afrwy_qspi.boot -m ls1012afrwy    Downloading http://www.nxp.com/lgfiles/sdk/sdk2110/firmware_ls1012afrwy_qspi.boot ...   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0 -rw-rw-r-- 1 nxplayerscape nxplayerscape 0 abr  6 13:27 firmware_ls1012afrwy_qspi.boot    Downloading http://www.nxp.com/lgfiles/sdk/sdk2110/boot_LS_arm64_lts_5.10.tgz ...   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100  342M  100  342M    0     0  5695k      0  0:01:01  0:01:01 --:--:-- 5752k    Downloading http://www.nxp.com/lgfiles/sdk/sdk2110/rootfs_sdk2110_ubuntu_main_arm64.tgz ...   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100  809M  100  809M    0     0  5641k      0  0:02:26  0:02:26 --:--:-- 3109k Downloaded distro images [Done] nxplayerscape@nxp-global-cas:~/Downloads/josephs-downloads/Flex-Installer-LDP$ flex-installer -i download -f firmware_ls1012afrwy_qspiboot.img Please specify correct '-m <machine>' Valid machine name: ls1012ardb ls1012afrwy ls1021atwr ls1028ardb ls1043ardb ls1046ardb ls1046afrwy ls1088ardb_pb ls2088ardb lx2160ardb_rev2 lx2162aqds  imx6qpsabresd imx6qsabresd imx6sllevk imx7ulpevk imx8mmevk imx8mnevk imx8mpevk imx8mqevk imx8qmmek imx8qxpmek imx8ulpevk  nxplayerscape@nxp-global-cas:~/Downloads/josephs-downloads/Flex-Installer-LDP$ flex-installer -i download -f firmware_ls1012afrwy_qspiboot.img -m ls1012afrwy    Downloading http://www.nxp.com/lgfiles/sdk/sdk2110/firmware_ls1012afrwy_qspiboot.img ...   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100 1617k    0 1617k    0     0  1529k      0 --:--:--  0:00:01 --:--:-- 1529k -rw-rw-r-- 1 nxplayerscape nxplayerscape 1656690 oct 25  2021 firmware_ls1012afrwy_qspiboot.img boot_LS_arm64_lts_5.10.tgz already exists rootfs_sdk2110_ubuntu_main_arm64.tgz already exists Downloaded distro images [Done] Create a PBL project   Note: Need to create a custom board connection based on: How to create a CWTAP to LS Series Processors JTAG-Link. Try to dump 16 MB of memory.   Look for downloaded firmware   Flash it to qspi using flash programmer.   Press the reset button on LS1012AFRWY. Doesn't need to disconnect CWTAP.   Hope this helps when no storage device has a valid binary to get to U-boot, when a board is running U-Boot or Tiny Distro, it can update any SW easily. Ask any questions you may have. Best regards, Joseph
記事全体を表示
The BareMetal framework targets to support the scenarios that need low latency, real-time response, and high-performance. There is no OS running on the cores and customer-specific application runs on that directly. This document describes how to develop customer-specific application based on BareMetal framework. The directory “app” stored in u-boot repository includes the use cases for testing GPIO, I2C, IRQ init, QSPI, Ethernet, USB, PCIe, CAN, ENETC and SAI features. 1. GPIO use case 2. I2C use case 3. IRQ use case 4. QSPI Use case 5. Ethernet use case 6. USB Use case 7. PCIe use case 8. CAN Use Case 9. ENETC Use Case 10. SAI Use Case 11. Build and Run the Baremetal Application
記事全体を表示
1. FMan VSP Hardware Overview 2. The usage of Virtual Storage Profiles 3. FMan VSP Driver 4. Traffic bifurcation using VSP on LS1046ARDB
記事全体を表示
1. Fuse Provisioning Utility Introduction 2. Input File for Fuse Provisioning Tool 3. Build Fuse Provisioning Firmware Image with flex-builder and Deploy the Firmware Image 4. Build and Deploy Fuse Provisioning Image Manually 5. Validate Fuse Provisioning
記事全体を表示
This document introduces basic concept of Power Management, LS1028 RCW configuration to enable GPIO, Linux Kernel source and device tree modification to support GPIO wakeup, Kernel configuration to enable sleep feature and GPIO wakeup driver, export GPIO pin and enable interrupt, Order system to sleep and trigger GPIO interrupt to wake up the system.
記事全体を表示
PCI-Express introduction PCIe Device Type And Topology PCIe system architecture          2.1 Transaction Layer          2.2 Data link layer          2.3 Physical Layer Interrupts Mechanism PCIe enumeration and resource assignment
記事全体を表示
DPDK provides a simple, complete framework for fast packet processing in data plane applications. Using the APIs provided as part of the framework, applications can leverage the capabilities of underlying network infrastructure. This document describes DPDK basic introduction, DPDK core components, DPDK Linux networking, DPDK Crypto Subsystem, DPDK memory manager and DPDK implementation on Layerscape platforms. 1. DPDK Basic Introduction 2. DPDK core components 3. DPDK Linux Networking 4. DPDK Crypto Subsystem     4.1 DPDK Crypto Subsystem APIs     4.2 DPDK Security Offload – rte_security 5. DPDK memory manager     5.1 Multi-layered memory architecture     5.2 Buffer Manager     5.3 Packet Buffer mbuf 6. DPDK implementation on Layerscape platforms
記事全体を表示
boot loader requirements to boot Kernel ARM64 Virtual Memory Layout ARM64 IRQ Vectors Setup FDT Mapping ARM64 Kernel booting process        5.1 Prior to start_kernel              5.1.1__create_page_tables              5.1.2 __cpu_setup              5.1.3 __primary_switch       5.2 Start_kernel             5.2.1 Start_kernel -> setup_arch                     5.2.1.1 Start_kernel -> setup_arch -> setup_machine_fdt                     5.2.1.2 Start_kernel -> setup_arch -> paging_init / bootmem_init                     5.2.1.3 Start_kernel -> setup_arch -> psci_init             5.2.2 Start_kernel -> Rest_init                      5.2.2.1 Start_kernel -> Rest_init -> kernel_init
記事全体を表示
NXP created eIQ machine learning software for QorIQ Layerscape applications processors, a set of ML tools which allows developing and deploying ML applications on the QorIQ Layerscape family of devices. OpenCV is an open-source computer vision library. It offers a unitary solution for both the neural network inference (DNN module) and the standard machine learning algorithms (ML module). It includes many computer vision functions, making it easier to build complex machine learning applications in a short amount of time and without being dependent on other libraries. This document describe applications YOLO object detection, Image segmentation, Image colorization, Image classification, Human pose estimation and Text detection developed based on OpenCV DNN framework.
記事全体を表示
1. Debugging Packet Loss Issue 1.1 Frame Manager(FMan) Introduction 1.2 Frame Manager Buffer Manager Interface (BMI) Rx Port Statistics Counters 1.3 Linux Sysfs Support for Fman Rx Port Statistics 2. Queue Manager(Qman) Enqueue Rejections 2.1 Reasons for an Enqueue Rejection 2.2 Frame Queue Descriptor 2.3 Qman Debugfs 2.4 Buffer Manager (BMan) Debugfs
記事全体を表示
The below steps describe how to modify the content of the existing rootfs. Steps are explained using LX2160ARDB board, however, the steps are applicable to all Layerscape devices and boards. Extract and modify contents of cpio.gz archive Generate .itb image Set up Ethernet connection between TFTP server and Layerscape board Boot the Linux kernel using new .itb image Step1: Extract and modify contents of cpio.gz archive Create a temporary directory for extracting the contents of the cpio.gz archive image. For example: mkdir temp_folder.  Extract the contents of the cpio.gz archive in the temporary folder. For example: gunzip -c rootfs_lsdk2012_yocto_tiny_arm64.cpio.gz | sh -c 'cd temp_folder/&& cpio -i' The temporary folder lists the filesystem as follows:  bin boot dev etc home init lib media mnt proc run sbin sys tmp usr var Make changes to the filesystem in the temporary folder. For example: copy a 'HelloWorld' file in the filesystem using the following command: cp <path>/HelloWorld . Repack the filesystem into a new cpio.gz archive. For example: use the following command: sh -c 'cd temp_folder/ && find . | cpio -H newc -o' | gzip -9 > new_rootfs_lsdk2012_yocto_tiny_arm64.cpio.gz   Step2: Generate .itb image Change the path for new rootfs (new_rootfs_lsdk2012_yocto_tiny_arm64.cpio.gz) in linux_arm64_LS.its using gedit editor. For example: Change directory to flexbuild_lsdk<version>/configs/linux. gedit linux_arm64_LS.its Update path as follows:  data = /incbin/("../../packages/rfs/initrd/new_rootfs_lsdk2012_yocto_tiny_arm64.cpio.gz"); Generate .itb image using the following command: For example: flex-builder -i mkitb -r yocto:tiny This generates lsdk2012_yocto_tiny_LS_arm64.itb image. Copy the .itb image to the TFTP server. Step 3 - Set up Ethernet connection between TFTP server and Layerscape board Set up Ethernet connection between the board (for example, LX2160ARDB) and host machine on which you have configured the TFTP server. Boot the board to U-Boot prompt. U-Boot prints a list of enabled Ethernet interfaces. For example, LX2160ARDB U-Boot prints following Ethernet interfaces. DPMAC2@xlaui4, DPMAC3@xgmii, DPMAC4@xgmii, DPMAC5@25g-aui, DPMAC6@25g-aui, DPMAC17@rgmii-id, DPMAC18@rgmii-id  Set server IP address to the IP address of the host machine on which you have configured the TFTP server. => setenv serverip <ipaddress1> Set ethact and ethprime as the ethernet interface connected to the TFTP server. See LX2160ARDB Ethernet Port Mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux. => setenv ethprime <name of interface connected to TFTP server> For example: => setenv ethprime DPMAC3@xgmii => setenv ethact <name of interface connected to TFTP server> For example: => setenv ethact DPMAC3@xgmii Set IP address of the board. You can set a static IP address or, if the board can connect to a dhcp server, you can use the dhcp command.  Static IP address assignment: => setenv ipaddr <ipaddress2> => setenv netmask <subnet mask> Dynamic IP address assignment: => dhcp Save the settings. => saveenv Check the connection between the board and the TFTP server. => ping $serverip Using DPMAC3@xgmii device host 192.168.2.1 is alive Step4: Boot the Linux kernel using new .itb image Load the .itb image from TFTP server to DDR memory of the board. => tftp 0xa0000000 <itb_file_name> For example: => tftp 0xa0000000 lsdk2012_yocto_tiny_LS_arm64.itb Boot the kernel with .itb image as follows: => bootm 0xa0000000#<board_name> For example: => bootm 0xa0000000#lx2160ardb Let the board boots to Tiny Linux. List the filesystem. NXP LSDK tiny 2012 (based on Yocto) TinyLinux login: root root@TinyLinux:~# ls root@TinyLinux:~# cd / root@TinyLinux:/# ls HelloWorld boot etc init media new_rootfs_lsdk2012_yocto_tiny_arm64.cpio.gz root sbin tmp var bin dev home lib mnt proc run sys usr root@TinyLinux:/# You will observe the HelloWorld file available in the filesystem.
記事全体を表示