Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
I.MXRT1021 Flash Operation Demo on FreeRTOS in XIP Mode        由于RT系列没有内置 Flash,大多数用户会选择外部 QSPI Flash 作为应用代码和数据的非易失存储设备,同时外部Flash的大容量在满足用户代码存储需求之外也会为用户提供了足够的灵活空间存储应用数据,但是其中涉及到的对数据读擦写以及用户的应用程序均需要在外部 Flash 执行,这为 Flash 的操作带来了麻烦。        对于在XIP(eXecute-In-Place)模式下的应用,对Flash读擦写的操作需要在内部 RAM 里执行,而RT系列由于高主频而引入了内核 Dcache 以及 Flexspi 模块自带的 Pre-fetch 功能,对外部 Flash 的操作会有很多需要注意的地方,这些问题在带有 RTOS 的系统里则更是突显出来,而无论在 XIP 模式下的裸机还是基于 RTOS 方式对 Flash 的操作,SDK 里均没有提供例程可供参考。        本参考方案来自很多客户的实际应用需求,所以编写了基于 FreeRTOS 下的对片外 QSPI Flash 的读擦写操作,客户可以基于此例程移植到自己的应用里面做相关的应用开发,并配套对应的指导文档提醒用户在移植过程中需要注意的几个常见的 tips。 Products Product Category NXP Part Number URL MCU MIMXRT1021 i.MX RT1020 Crossover MCU with Arm® Cortex®-M7 core MCUXpresso SDK Software SDK v2.6.1 Welcome | MCUXpresso SDK Builder    Tools NXP Development Board URL MIMXRT1020-EVK MIMXRT1020-EVK: i.MX RT1020 Evaluation Kit Industrial
查看全文
How to enable DDR mode As we know, the RT series MCUs support the XIP (Execute in place) mode and benefit from saving the number of pins, serial NOR Flash is most commonly used, as the FlexSPI module can high efficient fetch the code and data from the Serial NOR flash for Cortex-M7 to execute. The fetch way is implementing via utilizing the Quad IO Fast Read command, meanwhile, the serail NOR flash works in the SDR (Single Data transfer Rate) mode, it receives data on SCLK rise edge and transmits data on SCLK fall edge. Comparing to the SDR mode, the DDR (Dual Data transfer Rate) mode has a higher throughput capacity, whether it can provide better performance of XIP mode, and how to do that if we want the Serial NOR Flash to work in DDR (Dual Data transfer Rate) mode? SDR & DDR mode SDR mode: In SDR (Single Data transfer Rate) mode, data is only clocked on one edge of the clock (either the rising or falling edge). This means that for SDR to have data being transmitted at X Mbps, the clock bit rate needs to be 2X Mbps. DDR mode: For DDR (Dual Data transfer Rate) mode, also known as DTR (Dual Transfer Rate) mode, data is transferred on both the rising and falling edge of the clock. This means data is transmitted at X Mbps only requires the clock bit rate to be X Mbps, hence doubling the bandwidth (as Fig 1 shows).   Fig 1 Enable DDR mode The below steps illustrate how to make the i.MX RT1060 boot from the QSPI with working in DDR mode. Note: The board is MIMXRT1060, IDE is MCUXpresso IDE Open a hello_world as the template Modify the FDCB(Flash Device Configuration Block) a)Set the controllerMiscOption parameter to supports DDR read command. b) Set Serial Flash frequency to 60 MHz. c)Parase the DDR read command into command sequence. The following table shows a template command sequence of DDR Quad IO FAST READ instruction and it's almost matching with the FRQDTR (Fast Read Quad IO DTR) Sequence of IS25WP064 (as Fig 2 shows).   Fig2 FRQDTR Sequence d)Adjust the dummy cycles. The dummy cycles should match with the specific serial clock frequency and the default dummy cycles of the FRQDTR sequence command is 6 (as the below table shows).   However, when the serial clock frequency is 60MHz, the dummy cycle should change to 4 (as the below table shows).   So it needs to configure [P6:P3] bits of the Read Register (as the below table shows) via adding the SET READ PARAMETERS command sequence(as Fig 3 shows) in FDCB manually. Fig 3 SET READ PARAMETERS command sequence In further, in DDR mode, the SCLK cycle is double the serial root clock cycle. The operand value should be set as 2N, 2N-1 or 2*N+1 depending on how the dummy cycles defined in the device datasheet. In the end, we can get an adjusted FCDB like below. // Set Dummy Cycles #define FLASH_DUMMY_CYCLES 8 // Set Read register command sequence's Index in LUT table #define CMD_LUT_SEQ_IDX_SET_READ_PARAM 7 // Read,Read Status,Write Enable command sequences' Index in LUT table #define CMD_LUT_SEQ_IDX_READ 0 #define CMD_LUT_SEQ_IDX_READSTATUS 1 #define CMD_LUT_SEQ_IDX_WRITEENABLE 3 const flexspi_nor_config_t qspiflash_config = { .memConfig = { .tag = FLEXSPI_CFG_BLK_TAG, .version = FLEXSPI_CFG_BLK_VERSION, .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackFromDqsPad, .csHoldTime = 3u, .csSetupTime = 3u, // Enable DDR mode .controllerMiscOption = kFlexSpiMiscOffset_DdrModeEnable | kFlexSpiMiscOffset_SafeConfigFreqEnable, .sflashPadType = kSerialFlash_4Pads, //.serialClkFreq = kFlexSpiSerialClk_100MHz, .serialClkFreq = kFlexSpiSerialClk_60MHz, .sflashA1Size = 8u * 1024u * 1024u, // Enable Flash register configuration .configCmdEnable = 1u, .configModeType[0] = kDeviceConfigCmdType_Generic, .configCmdSeqs[0] = { .seqNum = 1, .seqId = CMD_LUT_SEQ_IDX_SET_READ_PARAM, .reserved = 0, }, .lookupTable = { // Read LUTs [4*CMD_LUT_SEQ_IDX_READ] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xED, RADDR_DDR, FLEXSPI_4PAD, 0x18), // The MODE8_DDR subsequence costs 2 cycles that is part of the whole dummy cycles [4*CMD_LUT_SEQ_IDX_READ + 1] = FLEXSPI_LUT_SEQ(MODE8_DDR, FLEXSPI_4PAD, 0x00, DUMMY_DDR, FLEXSPI_4PAD, FLASH_DUMMY_CYCLES-2), [4*CMD_LUT_SEQ_IDX_READ + 2] = FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_4PAD, 0x04, STOP, FLEXSPI_1PAD, 0x00), // READ STATUS REGISTER [4*CMD_LUT_SEQ_IDX_READSTATUS] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x05, READ_SDR, FLEXSPI_1PAD, 0x01), [4*CMD_LUT_SEQ_IDX_READSTATUS + 1] = FLEXSPI_LUT_SEQ(STOP, FLEXSPI_1PAD, 0x00, 0, 0, 0), // WRTIE ENABLE [4*CMD_LUT_SEQ_IDX_WRITEENABLE] = FLEXSPI_LUT_SEQ(CMD_SDR,FLEXSPI_1PAD, 0x06, STOP, FLEXSPI_1PAD, 0x00), // Set Read register [4*CMD_LUT_SEQ_IDX_SET_READ_PARAM] = FLEXSPI_LUT_SEQ(CMD_SDR,FLEXSPI_1PAD, 0x63, WRITE_SDR, FLEXSPI_1PAD, 0x01), [4*CMD_LUT_SEQ_IDX_SET_READ_PARAM + 1] = FLEXSPI_LUT_SEQ(STOP,FLEXSPI_1PAD, 0x00, 0, 0, 0), }, }, .pageSize = 256u, .sectorSize = 4u * 1024u, .blockSize = 64u * 1024u, .isUniformBlockSize = false, }; Is DDR mode real better? According to the RT1060's datasheet, the below table illustrates the maximum frequency of FlexSPI operation, as the MIMXRT1060's onboard QSPI flash is IS25WP064AJBLE, it doesn't contain the MQS pin, it means set MCR0.RXCLKsrc=1 (Internal dummy read strobe and loopbacked from DQS) is the most optimized option. operation mode RXCLKsrc=0 RXCLKsrc=1 RXCLKsrc=3 SDR 60 MHz 133 MHz 166 MHz DDR 30 MHz 66 MHz 166 MHz In another word, QSPI can run up to 133 MHz in SDR mode versus 66 MHz in DDR mode. From the perspective of throughput capacity, they're almost the same. It seems like DDR mode is not a better option for IS25WP064AJBLE and the following experiment will validate the assumption. Experiment mbedtls_benchmark I use the mbedtls_benchmark as the first testing demo and I run the demo under the below conditions: 100MH, SDR mode; 133MHz, SDR mode; 66MHz, DDR mode; According to the corresponding printout information (as below shows), I make a table for comparison and I mark the worst performance of implementation items among the above three conditions, just as Fig 4 shows. SDR Mode run at 100 MHz. FlexSPI clock source is 3, FlexSPI Div is 6, PllPfd2Clk is 720000000 mbedTLS version 2.16.6 fsys=600000000 Using following implementations: SHA: DCP HW accelerated AES: DCP HW accelerated AES GCM: Software implementation DES: Software implementation Asymmetric cryptography: Software implementation MD5 : 18139.63 KB/s, 27.10 cycles/byte SHA-1 : 44495.64 KB/s, 12.52 cycles/byte SHA-256 : 47766.54 KB/s, 11.61 cycles/byte SHA-512 : 2190.11 KB/s, 267.88 cycles/byte 3DES : 1263.01 KB/s, 462.49 cycles/byte DES : 2962.18 KB/s, 196.33 cycles/byte AES-CBC-128 : 52883.94 KB/s, 10.45 cycles/byte AES-GCM-128 : 1755.38 KB/s, 329.33 cycles/byte AES-CCM-128 : 2081.99 KB/s, 279.72 cycles/byte CTR_DRBG (NOPR) : 5897.16 KB/s, 98.15 cycles/byte CTR_DRBG (PR) : 4489.58 KB/s, 129.72 cycles/byte HMAC_DRBG SHA-1 (NOPR) : 1297.53 KB/s, 448.03 cycles/byte HMAC_DRBG SHA-1 (PR) : 1205.51 KB/s, 486.04 cycles/byte HMAC_DRBG SHA-256 (NOPR) : 1786.18 KB/s, 327.70 cycles/byte HMAC_DRBG SHA-256 (PR) : 1779.52 KB/s, 328.93 cycles/byte RSA-1024 : 202.33 public/s RSA-1024 : 7.00 private/s DHE-2048 : 0.40 handshake/s DH-2048 : 0.40 handshake/s ECDSA-secp256r1 : 9.00 sign/s ECDSA-secp256r1 : 4.67 verify/s ECDHE-secp256r1 : 5.00 handshake/s ECDH-secp256r1 : 9.33 handshake/s DDR Mode run at 66 MHz. FlexSPI clock source is 2, FlexSPI Div is 5, PllPfd2Clk is 396000000 mbedTLS version 2.16.6 fsys=600000000 Using following implementations: SHA: DCP HW accelerated AES: DCP HW accelerated AES GCM: Software implementation DES: Software implementation Asymmetric cryptography: Software implementation MD5 : 16047.13 KB/s, 27.12 cycles/byte SHA-1 : 44504.08 KB/s, 12.54 cycles/byte SHA-256 : 47742.88 KB/s, 11.62 cycles/byte SHA-512 : 2187.57 KB/s, 267.18 cycles/byte 3DES : 1262.66 KB/s, 462.59 cycles/byte DES : 2786.81 KB/s, 196.44 cycles/byte AES-CBC-128 : 52807.92 KB/s, 10.47 cycles/byte AES-GCM-128 : 1311.15 KB/s, 446.53 cycles/byte AES-CCM-128 : 2088.84 KB/s, 281.08 cycles/byte CTR_DRBG (NOPR) : 5966.92 KB/s, 97.55 cycles/byte CTR_DRBG (PR) : 4413.15 KB/s, 130.42 cycles/byte HMAC_DRBG SHA-1 (NOPR) : 1291.64 KB/s, 449.47 cycles/byte HMAC_DRBG SHA-1 (PR) : 1202.41 KB/s, 487.05 cycles/byte HMAC_DRBG SHA-256 (NOPR) : 1748.38 KB/s, 328.16 cycles/byte HMAC_DRBG SHA-256 (PR) : 1691.74 KB/s, 329.78 cycles/byte RSA-1024 : 201.67 public/s RSA-1024 : 7.00 private/s DHE-2048 : 0.40 handshake/s DH-2048 : 0.40 handshake/s ECDSA-secp256r1 : 8.67 sign/s ECDSA-secp256r1 : 4.67 verify/s ECDHE-secp256r1 : 4.67 handshake/s ECDH-secp256r1 : 9.00 handshake/s Fig 4 Performance comparison We can find that most of the implementation items are achieve the worst performance when QSPI works in DDR mode with 66 MHz. Coremark demo The second demo is running the Coremark demo under the above three conditions and the result is illustrated below. SDR Mode run at 100 MHz. FlexSPI clock source is 3, FlexSPI Div is 6, PLL3 PFD0 is 720000000 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 391889200 Total time (secs): 16.328717 Iterations/Sec : 2449.671999 Iterations : 40000 Compiler version : MCUXpresso IDE v11.3.1 Compiler flags : Optimization most (-O3) Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x25b5 Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 2449.671999 / MCUXpresso IDE v11.3.1 Optimization most (-O3) / STACK SDR Mode run at 133 MHz. FlexSPI clock source is 3, FlexSPI Div is 4, PLL3 PFD0 is 664615368 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 391888682 Total time (secs): 16.328695 Iterations/Sec : 2449.675237 Iterations : 40000 Compiler version : MCUXpresso IDE v11.3.1 Compiler flags : Optimization most (-O3) Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x25b5 Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 2449.675237 / MCUXpresso IDE v11.3.1 Optimization most (-O3) / STACK DDR Mode run at 66 MHz. FlexSPI clock source is 2, FlexSPI Div is 5, PLL3 PFD0 is 396000000 2K performance run parameters for coremark. CoreMark Size : 666 Total ticks : 391890772 Total time (secs): 16.328782 Iterations/Sec : 2449.662173 Iterations : 40000 Compiler version : MCUXpresso IDE v11.3.1 Compiler flags : Optimization most (-O3) Memory location : STACK seedcrc : 0xe9f5 [0]crclist : 0xe714 [0]crcmatrix : 0x1fd7 [0]crcstate : 0x8e3a [0]crcfinal : 0x25b5 Correct operation validated. See readme.txt for run and reporting rules. CoreMark 1.0 : 2449.662173 / MCUXpresso IDE v11.3.1 Optimization most (-O3) / STACK After comparing the CoreMark scores, it gets the lowest CoreMark score when QSPI works in DDR mode with 66 MHz. However, they're actually pretty close. Through the above two testings, we can get the DDR mode maybe not a better option, at least for the i.MX RT10xx series MCU. i.MXRT 102x i.MXRT 105x i.MXRT 106x
查看全文
Example S32K344 UART Transmit & Receive Using DMA DS3.5 RTD300 *******************************************************************************  The purpose of this demo application is to present a usage of the  UART IP Driver for the S32K3xx MCU.  The example uses LPUART6 for transmit & receive five bytes using the DMA.  ------------------------------------------------------------------------------ * Test HW: S32K3X4EVB-T172 * MCU: S32K344 * Compiler: S32DS3.5 * SDK release: RTD 3.0.0 * Debugger: PE micro * Target: internal_FLASH ******************************************************************************** Putty output :-- Re: Example S32K344 UART Transmit & Receive Using DMA DS3.5 RTD300 Hi @Dinesh_Guleria , Can we use DMA without Autosar (RM CDD)?  Re: Example S32K344 UART Transmit & Receive Using DMA DS3.5 RTD300 @Dinesh_Guleria  do you have an example of DMA UART in RTD 4.0.0?
查看全文
[Sharing/i.MX8MP]Download image via USB OTG2 on i.MX8MP On i.MX8MP EVK, image is downloaded into eMMC/SD via OTG1, if customer wants to enable USB OTG2 on i.MX8MP for uuu tool. Pls find modification as attached. Linux Re: [Sharing/i.MX8MP]Download image via USB OTG2 on i.MX8MP How to use the files?
查看全文
Porting PN7160 to Android 14 on i.MX8M Nano board Recently NXP released a combined NCI stack for both PN7160 and Pn7220. The newest Android 14 porting guide AN14430 brings the two (PN7160 and PN7220) together.   The pros are it is easy to maintain, and faster integration and switching between products.  The cons are when you are using PN7160, you will see for APIs for PN7220, including EMVCo and TDA API. When you are using PN7220 also APIs for PN7160 can be seen (card emulation on PN7160).  This article is a step-by-step guide on how to build AOSP for PN7160 with the new combined NCI stack.  1  Hardware setup   i.MX 8M Nano Evaluation Kit | NXP Semiconductors   OM27160| Development Kits for PN7160 Plug’n Play NFC Controller | NXP Semiconductors   The connection between i.MX8M Nano and PN7160 OM29110ARD-B i.MX8M Nano EVK pin PN7160  OM29110ARD-B 3.3V J1003-1 VDD(3.3v) J1-4 5V J1003-2 VBAT (5v) J1-5  SDA.1 J1003-3 SDA J2-2 SCL.1 J1003-5 SCL J2-1 GPIO.25 J1003-37 IRQ J2-10 GPIO.28 J1003-38 REQ J4-2 GND J1003-39 GND J1-6 GPIO.29 J1003-40 VEN J4-1 2    Get AOSP for i.MX Nano Follow Android porting guide. https://www.nxp.com/docs/en/user-guide/ANDROID_USERS_GUIDE.pdf .2.1  Download i.MX Android BSP (Android14.0.0_1.2.0) from below link.  Android OS for i.MX Applications Processors | NXP Semiconductors   You will get the package imx-android-14.0.0_1.2.0.tar.gz    .2.2 Decompressing android BSP # tar -xvzf imx-android-1c4.0.0_1.2.0.tar.gz  When decompression is done, imx-android-14.0.0_1.2.0 subdirectory is created, in the folder, we can find imx_android_setup.sh, which is script for downloading android source code and commands for patching i.MX android bsp to AOSP. .2.3 Downloading Android source code # source ./imx-android-14.0.0_1.2.0/imx_android_setup.sh  The folder structure after AOSP downloading complete.  3     AOSP Adaptation NXP adds modifications to the AOSP code. Next, we add them step by step according to AN14430, move the content of them into correct folder in AOSP code base. .3.1  nxp_nci_hal_nfc #git clone "https://github.com/nxp-nfc-infra/nxp_nci_hal_nfc.git" #cd nxp_nci_hal_nfc #git checkout br_ar_14_comm_infra_dev #cp -rf *  ../android_build/packages/apps/Nfc/ #cd .. .3.2 nxp_nci_hal_libnfc-nci #git clone "https://github.com/nxp-nfc-infra/nxp_nci_hal_libnfc-nci.git" #cd nxp_nci_hal_libnfc-nci #git checkout br_ar_14_comm_infra_dev #cp -rf *  ../android_build/system/nfc/ #cd .. .3.3 nfcandroid_nfc_hidlimpl #git clone "https://github.com/nxp-nfc-infra/nfcandroid_nfc_hidlimpl.git" #cd nfcandroid_nfc_hidlimpl #git checkout br_ar_14_comm_infra_dev #cp -rf *  ../android_build/hardware/nxp/nfc #cd .. .3.4 nfcandroid_frameworks #git clone "https://github.com/nxp-nfc-infra/nfcandroid_frameworks.git" #cd nfcandroid_frameworks #git checkout br_ar_14_comm_infra_dev #mkdir ../android_build/vendor/nxp/frameworks #cp -rf * ../android_build/vendor/nxp/frameworks #cd .. .3.5 nfcandroid_emvco_aidlimpl #git clone "https://github.com/nxp-nfc-infra/nfcandroid_emvco_aidlimpl.git" #cd nfcandroid_emvco_aidlimpl #git checkout br_ar_14_comm_infra_dev #mkdir  ../android_build/hardware/nxp/emvco #cp -rf *  ../android_build/hardware/nxp/emvco #cd .. .3.6   nfcandroid_platform_reference #git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_reference.git" #cd nfcandroid_platform_reference #git checkout br_ar_14_comm_infra_dev #cp -rf vendor/nxp/*   ../android_build/vendor/nxp/ #cd .. .3.7 nfcandroid_infra_test_apps # git clone https://github.com/nxp-nfc-infra/nfcandroid_infra_test_apps.git # cd nfcandroid_infra_test_apps/ # git checkout br_ar_14_comm_infra_dev # cd test_apps/ # cp -rf SMCU_Switch/  ../../android_build/packages/apps/ # cp -rf EMVCoModeSwitchApp/  ../../android_build/packages/apps/Nfc/ # cd ../.. .3.8  nfcandroid_infra_comm_libs #git clone "https://github.com/nxp-nfc-infra/nfcandroid_infra_comm_libs.git" #cd nfcandroid_infra_comm_libs #git checkout br_ar_14_comm_infra_dev #cp -rf nfc_tda/  ../android_build/system/ #cp -rf emvco_tda/ emvco_tda_test/  ../android_build/hardware/nxp/emvco/ #cp -rf NfcTdaTestApp/  ../android_build/packages/apps/Nfc/ #cd .. After AOSP adaptation, folder is like below.  4   Apply AOSP patches please see AN14430, page10   # patch -p1 <  ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_build_bazel.patch #patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_build_make.patch # patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_build_soong.patch # patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_frameworks_base.patch #patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_frameworks_native.patch #patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_frameworks_proto_logging.patch #patch -p1 < ../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_system_logging.patch #patch -p1 < ../../../../nfcandroid_platform_reference/build_cfg/build_pf_patches/AROOT_packages_modules_Bluetooth.patch  5    Adding the driver support. .5.1  get nfcandroid_platform_drivers from github #git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" #cd nfcandroid_platform_drivers #git checkout br_ar_14_comm_infra_dev #cd .. .5.2Create a folder named pn7160 under android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc Copy below kernel drivers file from “nfcandroid_platform_drivers/drivers/pn7160/nfc/nfc “ into  “android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc/pn7160/” Common.c  common.h   i2c_drv.c  i2c_drv.h spi_drv.h  spi_drv.c  Makefile  Kconfig Result of copying: .5.3 Modify makefile Replace Makefile default code with following code,  only add i2c for simplifying.  Now we need to add pn7160 Makefile and Kconfig to main Makefile and Kconfig Makefile Kconfig 6   Adding device tree Device tree is important since we need to tell our controller which pins we want to use for communication (this is always different between host controllers) The device tree need to be added into: “vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale” Create file with name “imx8mn-evk-pn7160.dts”, open the file and add following lines: Next task is to add .dts file into Makefile in the following location: . vendor/nxp-opensource/kernel_imx/arch/arm64/boot/dts/freescale Open Makefile and add: Final step is to add NXP_NCI_I2C as module in following file: . vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment Open imx8mn_gki.fragment and add: 7    Add device specific changes          The location of the device specific changes in under folder            . device/nxp/imx8m/evk_8mn 7.1 BoardConfig.mk        7.2 ShareBoardConfig.mk  7.3 compatibility_matrix.xml  7.4 device_framework_matrix.xml  7.5 evk_8mn.mk Add .mk files to specific device.mk and some product package directly to device.mk file so everything is build together with Android.   7.6 init.rc 7.7manifest.xml 7.8 ueventd.nxp.rc        Add permissions for drivers    8    Additional change in compatibility matrix Put changes into hardware/interfaces/compatibility_matrices Compatibility_matrix_8.xml  9    add changes into NXP mk files . android_build/vendor/nxp/nfc/device-nfc.mk  .android_build/vendor/nxp/emvco/device-emvco.mk    10    Build Android First , the source build/envsetup.sh command is executed to import shell functions that are defined in ${MY_ANDROID}/build/envsetup.sh. Then, the lunch evk_8mn-userdebug command is executed to set up the build configuration. #source build/envsetup.sh #lunch evk_8mn-userdebug   Possible build failures This error resulted from the incompatibility of file Kconfig, please use dos2unix command to fix it.  For some other redefine issues, please do the following. Go into file hardware/nxp/nfc/snxx/ Name Android.bp to _Android.bp Go into hardware/nxp/nfc/snxx/halimpl/power-tracker/ Name Android.bp to _Android.bp Go into file hardware/nxp/secure_element/snxxx/aidl/ Name Android.bp to _Android.bp Remove : pn8xx from hardware/nxp/ Remove : frameworks/base/core/res/res/values/config.xml.orig 11   Download build and flash images Go into “android_build/out/target/product/evk_8mn” and download all files without folders . When downloaded, open following two files and add: .in fastboot_imx_flashall.bat   .in uuu_imx_android_flash.bat   Change switches on i.MX8M Nano .    Flashing Android: when flashing Android images .    Running Android:  when images are flashed, put switches to Running Android and Android OS will start. Flash images .  Put i.MX8 to “Flash Android” .  Open a PowerShell as admin in the location where download images are .  Running following command .  ./uuu_imx_android_flash.bat -f imx8mn -a -d pn7160 12  Firmware update Download the FW from Github Open terminal at the FW location Run the following commands • adb push libpn7160_fw.so vendor/lib64/libpn7160_fw.so (for 64-bit version) and adb                  push libpn7160_fw.so vendor/lib/libpn7160_fw.so (for 32-bit version) • adb shell svc nfc disable • adb shell svc nfc enable    References: PN7160/PN7220 – Android 14 porting guide UG10156 : Android User’s Guide  Build Andriod image for PN7160 on i.MX8M Nano:  Andraz this is a step by step guider to port PN7160 to Android 14 on i.MX 8M Nano board NFC Controller Solutions
查看全文
[不正行為] 投稿者: @RishavKaaraTech / 掲示板: TapLinx-SDK / 報告者: wtgrre wtgrre は、 @RishavKaaraTech が投稿した 「RFIDDiscover ツールを入手したが、その使い方はわからない」という 投稿を以下の理由で報告しました。 理由:裸体または性行為 詳細: 購入ロゲイン・ハミルトン canロゲインを注文します 5mgのコスト ロゲイン60ml ロゲインタブレット配信 ロゲインを次に買う場所 ロゲイン100mg オンライン薬局 ロゲイン最も安い井戸を購入する 母乳育児 ロゲインを購入する ロゲインを購入したい ロゲイン処方薬に関する情報 ロゲインの購入方法 ロゲインの注文方法 購入ロゲイン医薬品の迅速配送 購入ロゲイン ノバスコシア acロゲインの費用 最も安いロゲイン PayPal アメリカン・エキスプレス ロゲインを購入したい 検索ロゲイン処方箋不要 カーマーゼンシャー ロゲインの購入方法 インフラ株価 ロゲイン2 どこで次のロゲインを購入する 薬局ロゲインロイズクーポン2 薬局ロゲインロイズクーポン2 購入ロゲイン医薬品の迅速配送 ロゲイン120 価格 5 最安値のロゲイン、送料無料 購入ロゲイン ノバスコシア コストロゲイン30mg ジェネリックミノキシジル ロゲイン グリーンスボロ ロゲインを次に購入する場所 ロゲインオンライン薬局(処方箋不要) ロゲインタブレット端末の配送 薬局ロゲイン ロイズ クーポン 2 次へロゲインの当日配送 安いロゲイン オンライン ロゲイン錠剤の配送 ロゲインを購入したい ac cost rogaine コストロゲイン30mg otcミノキシジル ロゲイン ソリハルでの費用 投稿リンク: https://community.nxp.com/t5/TapLinx-SDK-TagWriter-and/RFIDDiscover-tool-acquired-but-how-to-use-it/mp/2164324#M205 投稿者: @RishavKaaraTech |作成者に電子メールを送信する 報告者: wtgrre |メールによる報告 報告された投稿には3件の返信があります。
查看全文
imx93evk 板可以支持 GNOME 吗? 亲爱的先生 我下载了 https://www.nxp.com/lgfiles/sdk/lsdk2512/nxp_apps_debian_lsdk2512_imx93evk.deb 然后在 imx93evk 板上安装了 nxp_apps_debian_lsdk2512_imx93evk.deb。安装后,没有 GNOME + GDM3。因此,我使用以下命令安装了它们: apt update apt install gdm3 task-gnome-desktop systemctl enable gdm3 systemctl start gdm3 安装 GNOME + GDM3 后,重启通常会挂起。我的疑问GNOME + GDM3 无法运行 imx93evk。为什么? 看来 LSDK-24.12_DEBIAN-12_LF-6.6.36 没有这个问题。 我在 imx8mpevk 上安装了 nxp_apps_debian_lsdk2512_imx8mpevk.deb,出现了 GNOME + GDM3,一切正常。 谢谢。 Re: Can imx93evk board support GNOME? 在我们较新的软件版本中,我们不再专注于在 imx93 主板上支持 GNOME。主要原因是i.MX93不包含显卡。当纯粹在 CPU 上运行 GNOME 和 GDM 时,系统资源消耗会变得非常高,整体用户体验也会明显下降。但是你使用旧版本在 imx93 主板上使用 gnome。 如果您想继续使用 GNOME 并获得更好的性能,我们建议您评估我们的 i.MX8MP 平台,该平台包含 GPU,可提供更加流畅的 GNOME 体验。 如有任何问题,请告诉我。
查看全文
imx8qm jailhouse Hi all, Is there any document showing all the steps to have a demo running on imx8qm mek board with jailhouse? I was going over this: L5.4.70_2.3.3_LINUX_DOCS but all I could find is a reference to device trees: Hypervisor Jailhouse Enables the Jailhouse Hypervisor device trees. • imx8qxp-mek-root.dtb: DTB for root-cell I do not know what to do with this info. That is why I need a step by step instruction list. Br, Mircea Re: imx8qm jailhouse @Jerry137207  Hi, Are you running jailhouse on top of hw ? Re: imx8qm jailhouse Hi @Rita_Wang  I am using MCIMX8QM soc I need to run android and freertos on top of hypervisor. Which hypervisor i can use ? Re: imx8qm jailhouse Waste of time. Nothing works out of the box on nxp imx8qm, at least not with the software provided by nxp. Android does not run in jailhouse, on imx95 they have a small android demo running in xen. freertos can run on the second core m3 core, you can flash the emmc with android and have it like that running. no hypervisor needed. Re: imx8qm jailhouse hi @Ahelion i am planning to use MCIMX8QM-CPU soc  i need to bringup freertos and Android on top on this do we need hypervisor here, and also Jailhouse is already present in the latest version of android ? Re: imx8qm jailhouse Hi, Ahelion: I'm interested in runing multiple OS based on jailhouse, but related information is lack. I've sucessfully run jailhouse test demo in Imx8qm mek board. If you would like share info each other, plz email me: [email protected]. Re: imx8qm jailhouse I can tell you right now, it is not supported. I could not get jailhouse or xen to work on imx8qm. Whatever documentation i find is referencing linux4.9, which can not be build anymore. Re: imx8qm jailhouse Hi, Yes, the xen is supported on the i.MX8QM. You can refer to the attach document. Wish you have a nice day Best Regards Rita Re: imx8qm jailhouse any ideea?  Found out that the latest linux kernel does support the lates XEN How can I get Linux and Android running at the same time? Re: imx8qm jailhouse OK, I will help confirm. Re: imx8qm jailhouse L5.4.70_2.3.3, i was following this quide, so all bsp-s mentioned here I am using. Re: imx8qm jailhouse Which version BSP are you want to use? Re: imx8qm jailhouse @Rita_Wang Xen willl support on latest kernal 6x? Re: imx8qm jailhouse @Rita_Wang i have one more we are buying MCIMX8QM soc  i need to run android and freertos as guest which hypervisor support on this latest kernel? jailhouse supports on latest kernel for my requirement  Re: imx8qm jailhouse Hi @Shivu_Guru_24 , Sorry for late reply. For the XEN the on latest kernal 6x do not support it. If customer want to use, they can do porting themself. In our BSP 4.14.98 support it. Customer and refer it: Embedded Linux for i.MX Applications Processors | NXP Semiconductors   Hope this can do help for you Wish you have a nice day Best Regards Rita Re: imx8qm jailhouse Hi @Shivu_Guru_24 , Jailhouse is a Type 1 hypervisor for i.MX 8. Xen is not support in the latest version BSP. Wish you have a nice day Best Regards Rita
查看全文
在 FRDM-MCXW71 EVK 上运行 BLE 示例时出现断言错误 你好,团队、 我目前正在使用 FRDM-MCXW71 EVK,用 Visual Studio Code 编写一个 BLE 应用程序。 由 mcxw71evk_cmsis_button_toggle_led 的示例成功版本、闪烁和运行。 但是,当我编译并刷新 mcxw71evk_adv_ext_peripheral_freertos 示例时,编译和调试过程成功完成,但是当我运行应用程序时,会出现断言错误。 能否请您帮我了解一下是什么原因导致了这个问题?如果 BLE 示例需要任何其他配置,请告诉我。 感谢您的支持。 致以最崇高的敬意, Ramdev #MCXW71 #BLE 模拟(ADC|CMP|DAC|OPAMPS) 开发板 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,克莉丝汀、 感谢您的反馈, 我使用的是 MCUXpresso SDK 版本 25.12.0。该项目成功构建,调试会话启动时没有任何问题。但是,一旦调试完成,我点击运行选项,应用程序就会立即出现断言错误。 我附上了终端日志供你参考。 能否请您查看一下日志,并就该问题的可能原因提供建议? 感谢您的支持。 致以最崇高的敬意, Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 感谢您为我们创建案例。 请告诉我您的 SDK 版本和重现该问题的详细步骤。 如果可能,也请帮助提供相关截图和日志。 我倾向于在本地检查是否能重现这个问题。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 您好,恩智浦团队, 我想跟进我之前的询问。请您在方便时提供最新信息。 如果需要我提供任何补充信息,请告诉我。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 您好,恩智浦团队, 。请您在方便时提供最新信息。 如果需要我提供任何补充信息,请告诉我。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 请尝试以下方法: 1. 修改 frdm_mcxw71\ mcuxsdk\ 中间件\ 无线\ 蓝牙\ boards\ frdmcxw71\ 蓝牙\ adv_ext_preinclude.h #define gAppLowpowerEnabled_d 1 //从 0 到 1   2.使用 blhost 加载位于以下目录中的 NBU FW: mcuxsdk\ 中间件\ 无线\ ble_controller\ bin\ mcxw71_nbu_ble_hosted.sb3   如果您不知道如何使用 blhost 闪存 NBU FW bin,请参考以下链接: https://community.nxp.com/t5/MCX-W71-Training-Secure-MCUs-for/FRDM-MXCW71-Hands-On-2-Recognize-NBU-Incompatible-Versions/ta-p/1970129   我已经在本地进行了验证,现在可以正常工作了:   扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 按 WAKESW 查看菜单 扩展广告应用程序 - 外围设备 2 ss WAKESW 查看菜单 扩展可扫描广告 从手柄 0 开始   请告诉我您的结果,如果对您有效,请帮助将我的答案标记为该问题的解决方案。这样我们就可以结案了。 谢谢您!   顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 对不起,我被另一项更优先的任务挡住了。 我会尽量在今天检查这个问题,并及时分享我的更新。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,Christine, 感谢您提供的最新信息。期待您的回复。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,克里斯蒂安,我这边的 CMSIS GPIO 示例也能正常运行,问题是当我运行"mcxw71evk_adv_ext_peripheral_freertos" 这样的示例时,会出现断言错误,你能验证一下吗? Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好 Christine, 在 launch.jason 中我更新了 .elf文件,除此之外我没有做任何更改。 我也做了同样的事,但效果很好。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 感谢您的耐心等待。 我在本地进行了尝试,但没有遇到您的错误。 我可以成功版本、调试和运行它。 请参阅下面的测试结果输出: ---- 打开串行端口 COM4 ---- CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! CMSIS GPIO 示例! 使用按钮切换 LED! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 按下按钮! 你修改了什么地方吗? 我正在使用 SDK25.12.00,并使用这个工具链来构建: .mcuxpressotools/arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi/bin/arm-none-bin/arm-none-eabi-none-none-eabi-none-     请检查您的工具链。   如果你修改了任何地方,请告诉我。   下面的附件是我的控制台日志,似乎与你的类似。   但在你的控制台日志中,我看到 : [21923] 信息:Launcher.core.短截线:[短截线 (2336)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中的导线 ACK 故障   能否请您用其他例子试一试?像 hello_world 一样?       顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 你修改过什么吗?还是只使用我们的默认示例? 当然,我也可以在我这边试试这个例子:adv_ext_peripher_freertos 。 稍后,我将与大家分享我的成果。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK Hi Christine , 感谢您提供的最新信息。 没问题,我理解。 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 感谢您的回复。 我尝试了这个 BLE 示例:frdmmcxw71_adv_ext_peripheral_freertos,也遇到了和您一样的问题。 以下是错误信息: [11834] 调试:Launcher.core.短截线:短截线 (13333)-> GDB (2340):b '+' [35169] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35214] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35259] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35286] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35333] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35368] INFO:launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35401] info: launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35435] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中出现电线 ACK 故障 [35520] info: Launcher.core.短截线:[短截线 (2340)] Nc:状态-正在运行或正在执行RESET请求-重读状态失败-rc Nn (05)。DAP 访问中的导线 ACK 故障 让我检查一下,尽快反馈给您。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨克里斯汀, 很抱歉回复晚了。我遇到了另一个调试会话无法启动的问题。 在 VS Code 版 McuXpresso 中,出现以下错误: 无法启动:远程连接已关闭 (从目标选择扩展远程 172.0.0. 1:2356) 我还尝试过使用 LinkFlash (v25.12.83) 对主板进行编程,但它显示以下错误:无法连接到核心 Et: 31: 无法连接到芯 片的调试端 口 Pc: (100) 目标操作失败 在硬件方面,USB_ACT 绿色 LED 亮起,ISP_EN_MLINK 红色 LED 闪烁,USB LED 也亮起。 之前板运行良好,但现在我无法在 FRDM-MCXW71 板上调试或刷新任何示例。 由于这个问题,我无法检查您之前提到的断言错误解决方案。您能建议如何解决这个问题吗? 致敬、 拉姆德夫 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,Christine, 感谢您提供的最新信息。我已为此问题创建了一个支持链接 链接:https://community.nxp.com/t5/Wireless-MCU/FRDM-MCXW71-debug-issue/m-p/2327185#M20304 周一有空时,能否请您看一看? 谨致 Ramdev Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 对于新问题,能否请您帮助创建一个新的主题? 为避免混淆,我们通常建议客户用一个案例跟踪一个问题。 下周一我会拿给你检查,现在我正在处理另一个问题。 感谢您的企业。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 你好,@Ramdev 它对你有用吗? 如果在您那边可行,能否请您帮忙将我的答案标记为此例的解决方案? 这样我们就能及时结案。 如果您有任何其他问题,请随时向我们提交新案例。 顺祝商祺! Christine。 Re: Assert Error While Running BLE Example on FRDM-MCXW71 EVK 嗨,@Ramdev 感谢您创建新主题。 我看到我们的同事已经在新的主题上支持你了。 新问题解决后,请继续测试该问题,并告诉我是否还需要我们的帮助。 顺祝商祺! Christine。
查看全文
RT1060 LVGL-导向器-带旋转的示例 大家好 🙂 我正在评估配备 RK043FN66HS 显示屏的 MIMXRT1060-EVKB 主板。我从evkbmimxrt1060_lvgl_guider示例开始。我以纵向模式(272x480)生成了 GuiGuider 代码,并将其复制到 MCU 示例项目中。 为了旋转屏幕,我将定义DEMO_USE_ROTATE设为1。此时,一切正常。只是性能不是很好。你可以看到画面在更新(见图片一--黄色条正常横跨整个屏幕)。 框架结构 因此,我使用了CONFIG_LV_USE_ROTATE_PXP定义,并将其设置为1。但在此之后,许多文物开始出现(见图二)。 PXP 手工艺品 我到底做错了什么?PXP 是否与我的设置不兼容?如何提高性能--PXP 是正确的方法吗? 此致 乌韦
查看全文
For S32G274A multi-core scenario, can the first 0x9100 bytes of fip.bin be neglected? When making ATF image for BSP42, we get information like this: Boot Core: A53_0 IVT Location: QSPI Load address: 0x342f8f00 Entry point: 0x34302000   Entry point - Load address = 0x9100 it's BL2 that sits at offset 0x9100 of fip.bin. So is "Entry point" refering to BL2?   For multi-core scenario, MCU runs bootloader to load BL2 for A53. If BL2 is the entry point, should bootloader just copy from offset 0x9100 of fip.bin(BL2) to 0x34302000 of RAM space(neglect the first 0x9100 bytes)? GoldVIP Re: For S32G274A multi-core scenario, can the first 0x9100 bytes of fip.bin be neglected? Hello, @wansp  Thanks for your post The bootloader will move the data from QSPI to the Load address(SRAM), they would not be neglected. BR Chenyin
查看全文
S32G274A マルチコアシナリオの場合、fip.bin の最初の 0x9100 バイトは無視できますか? BSP42 用の ATF イメージを作成すると、次のような情報が得られます。 ブートコア: A53_0 IVTの場所: QSPI ロードアドレス: 0x342f8f00 エントリポイント: 0x34302000   エントリポイント - ロードアドレス = 0x9100 fip.bin のオフセット 0x9100 にあるのは BL2 です。SO、「エントリーポイント」とはBL2のことを指しているのでしょうか?   マルチコア シナリオの場合、MCU はブートローダを実行して A53 の BL2 をロードします。 BL2 がエントリ ポイントである場合、ブートローダは fip.bin(BL2) のオフセット 0x9100 から RAM スペースの 0x34302000 にコピーするだけですか(最初の 0x9100 バイトは無視します)? ゴールドVIP Re: For S32G274A multi-core scenario, can the first 0x9100 bytes of fip.bin be neglected? こんにちは、 @wansp ご投稿ありがとうございます ブートローダはデータを QSPI からロード アドレス (SRAM) に移動するため、無視されることはありません。 BR チェイン
查看全文
IMX8MP 远程核心共享内存驱动程序 日安 我正在尝试使用 DDR 缓冲区实现内核间的数据交换,以处理大量数据。我在 IMX8MP 上使用的是 Verdin devkit。内核版本 5.15我已经使用"/dev/rpmsg_ctrl0 "通过 RPMSG 实现了通信。 现在,我想从 CMA 空间分配 DDR 中的内存,并通过 RPMSG 消息将地址发送给 CortexM。为此,我使用了恩智浦的 "低功耗音频应用 - AN12195SW "示例。我从补丁中提取了 "rmtcore_shm "驱动程序代码,并通过 devshell 在内核环境中进行了编译。 然后,我在系统中安装了模块 "rmtcore-shm.ko"。 root@verdin-imx8mp-14762892:~# insmod ./rmtcore-shm.ko [ 235.945223] RMTCORE module started! root@verdin-imx8mp-14762892:~# 但是新设备 “/dev/rmtcore_shm” 没有出现在系统中。而当我试图打开它时,却出现了错误: rmtcore_shm_fd = open(RMTCORE_SHM_DEV, O_RDWR); ******************* "Unable to open device /dev/rmtcore_shm" ******************* 我可能需要更改设备文件。现在,我的 RPMSG 覆盖图是这样的: /dts-v1/; /plugin/; #include / { compatible = "toradex,verdin-imx8mp"; rmtcore_shm { compatible = "fsl,rmtcore-shm"; status = "ok"; }; }; &{/} { imx8mp-cm7 { compatible = "fsl,imx8mp-cm7"; clocks = <&clk IMX8MP_CLK_M7_DIV>; mbox-names = "tx", "rx", "rxdb"; mboxes = <μ 0 1 μ 1 1 μ 3 1>; memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>, <&m7_reserved>; rsc-da = <0x55000000>; syscon = <&src>; fsl,startup-delay-ms = <500>; }; }; &i2c3 { status = "disabled"; }; &pwm4 { status = "disabled"; }; &resmem { #address-cells = <2>; #size-cells = <2>; m7_reserved: m7@0x80000000 { no-map; reg = <0 0x80000000 0 0x1000000>; }; vdev0vring0: vdev0vring0@55000000 { no-map; reg = <0 0x55000000 0 0x8000>; }; vdev0vring1: vdev0vring1@55008000 { no-map; reg = <0 0x55008000 0 0x8000>; }; vdevbuffer: vdevbuffer@55400000 { compatible = "shared-dma-pool"; no-map; reg = <0 0x55400000 0 0x100000>; }; rsc_table: rsc_table@550ff000 { no-map; reg = <0 0x550ff000 0 0x1000>; }; }; &sai3 { status = "disabled"; }; &sdma3 { status = "disabled"; }; μ { status = "okay"; }; &uart4 { status = "disabled"; }; 请告诉我需要做哪些更改,才能使 /dev/rmtcore_shm 出现在系统中,并能访问 DDR 中的内存分配?如果有人已经遇到过这种解决方案和示例。 感谢您的帮助。 Re: IMX8MP Remote core share memory driver 你好@Stan88 你查清楚了吗? 谢谢! 安迪 Re: IMX8MP Remote core share memory driver 是的,我也试过了 - 我在内核中编译了它,在内核菜单配置中看到了它 -"Remote Core Share Memory Driver" ,并激活了它。编译并部署了内核,构建了镜像并将其安装在板上。 lsmod无法显示该驱动程序,因为它不是动态加载的,而是内置模块。 dmseg也不包含有关该驱动程序的任何信息。尝试卸载模块时会出现错误,提示系统中存在此类模块: root@verdin-imx8mp-14762892:~# modprobe -r rmtcore-shm modprobe: FATAL: Module rmtcore_shm is builtin. Re: IMX8MP Remote core share memory driver 你好 如果你编译模块,你必须编译内核本身才能使其正常运行,并在 dmseg 输出中查看。 此致 Re: IMX8MP Remote core share memory driver 您需要: rmtcore_shm { compatible ="fsl,rmtcore-shm"; status ="ok"; }; 如果有其他人想要 FRDM_IMX8MPLUS 的这个版本,请在这里查看: https://github.com/AndrewCapon/rmtcore-shm/tree/main
查看全文
S32DS v3.5 - 在创建项目时不可见 SDK& OpenSDA 调试问题 (S32K144) MCU:S32K144 板:S32K144 EVB(板载 OpenSDA) 集成开发环境:S32 Design Studio v3.5 SDK:S32K1xx SDK v4.0.1 操作系统:Windows 11 问题 1:创建项目时看不到 SDK 已成功安装 S32K1xx SDK v4.x,可在下面看到:   首选项→ S32 Design Studio → SDK 管理   但是,在创建新的 S32DS 应用程序项目时,"选择要附加的 SDK "列表是空的,没有 SDK 出现。 发生在S32DS v3.5中 SDK 在首选项中可见,但在创建项目时无法选择 问: S32DS v3.5和S32K1xx SDK v4.x 之间是否存在已知的兼容性问题? 建议 v3.5 使用哪个 SDK 版本? 问题 2:使用板上 OpenSDA (peMicro) 调试失败 在板载 O penSDA 上使用 GDB peMicro 接口调试时,我经常会遇到以下错误: "启动 GDB 服务器任务遇到问题" "执行 MI 命令失败:-exec-run" "不知道怎么跑。试试'帮助目标'" 说明: 板被检测为 OpenSDA USB 设备 即使是基本的hello_world也会出现问题 重新刷新 OpenSDA 固件后有时能正常工作 在S32DS v3.5中发生得更频繁 问题: v3.5 中 是否完全支持板载 OpenSDA,还是推荐使用外部调试器? 申请它 请告知: 针对 S32K144 推荐的S32DS + SDK版本组合 SDK 附件和 OpenSDA 调试的已知问题或变通方法 谢谢! Re: S32DS v3.5 – SDK not visible during project creation & OpenSDA debug issues (S32K144) 你好@mahesh7、 一般来说,SDK 不再得到支持和维护。 最后一个版本 - S32 SDK for S32K1xx RTM 4.0.2 - 用于 S32DS 3.4。 请使用 S32K1 的实时驱动程序而不是 SDK: S32K1_S32M24X 实时驱动程序 AUTOSAR 4.4 & R21-11 版本 2.0.0 适用于 S32DS 3.5 S32K1_S32M24X 实时驱动程序 AUTOSAR R21-11 版本 3.0.0 适用于 S32DS 3.6 可以从页面访问实时驱动程序 (RTD) https://www.nxp.com/products/S32K1软件部分。 顺祝商祺! 帕维尔 Re: S32DS v3.5 – SDK not visible during project creation & OpenSDA debug issues (S32K144) 你好@PavelL、 感谢您对 SDK 的弃用以及对 S32K1 使用实时驱动程序 (RTD) 的建议的澄清。 根据建议,我已将S32 Design Studio 3.5移至RTD。不过,我目前在RTD 的安装和使用方面也遇到了问题,尤其是在创建项目和调试时。 我面临的问题是 RTD 软件包似乎已安装,但是在创建新应用程序项目期间,RTD 并非总是可以选择或正确识别的 即使创建了项目,我在调试过程中也会遇到问题,例如调试器无法启动,或者目标程序无法在 main() 处停止。 如果您能提供或指点我一个分步骤的程序,包括S32DS 3.5 和 RTD 的完整工作流程,将对我非常有帮助: S32DS 3.5 和热电阻的正确安装顺序 如何验证S32DS 内部的RTD 安装情况 创建基于 RTD 的新项目的正确步骤 所需项目设置(编译器、SDK/RTD 路径等) 推荐的调试探针和调试配置 在 S32DS 3.5 中使用热电阻进行调试时的任何已知限制或常见陷阱 这些详细的指导将大大有助于建立稳定的开发和调试环境。 感谢您的支持。 致以最诚挚的问候, @mahesh7 Re: S32DS v3.5 – SDK not visible during project creation & OpenSDA debug issues (S32K144) 你好@mahesh7、 请查看以下相关链接: 安装 -https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-offline-install-S32K1-RTD-2-0-0-in-S32DS-v3-5/ta-p/1927845 创建新项目 -https://community.nxp.com/t5/S32-Design-Studio/Install-SDK-RTD-into-S32-Design-Studio/m-p/1779464 上述主题的解决方案中有几个相关链接。 具体到 S32K1,要查看可用的 SDK/RTD,可能需要选择工具链的上一版本。 推荐的调试探针取决于您的要求,例如: 多链路调试探器:适用于许多 ARM 和 8-/16/32 位设备的调试探器 世纪佳缘 J-Link 调试探头 劳特巴赫 TRACE32 调试和跟踪解决方案 顺祝商祺! 帕维尔 Re: S32DS v3.5 – SDK not visible during project creation & OpenSDA debug issues (S32K144) 你好@PavelL、 谢谢你的参考。我使用 S32K1 SDK RTM 4.0.3 安装了 S32DS v3.4,并开始使用建议的设置创建项目。在运行 SDK 示例项目(FTM、ADC、UART、GPIO)时,我仍然会遇到版本和集成问题,希望获得有关同时使用 ConfigTools、生成的代码和 SDK 驱动程序的推荐工作流程的指导。您能否还阐明可靠地导入和构建 SDK 示例的正确方法?此外,查看运行日志的推荐工具是什么?S32DS 是否提供串行终端,还是应该通过 OpenSDA 虚拟 COM 端口使用 PuTTY?如果能就所需的驱动程序和调试工具提出建议,将非常有帮助。 Re: S32DS v3.5 – SDK not visible during project creation & OpenSDA debug issues (S32K144) 你好@mahesh7、 示例流程可能是这样的 根据示例创建项目 打开配置工具 修复所有错误(如果有 检查外围设备的引脚、时钟和设置(如果所有设置都符合板要求) 更新源代码 返回代码 - S32DS C/C++ 构建 闪存 调试时可使用 printf() -已解决:如何在 S32DS.3.5 中使用 printf 函数?- 恩智浦社区 你可以使用 S32设计工作室知识库——恩智浦社区作为参考点。 顺祝商祺! 帕维尔
查看全文
PN7160とnRF52840 こんにちは、 カスタムPCB上のnRF52840モジュール(Raytac MDBT50Q-1MV2)にI2C経由でコネクテッドされた外付けNFCリーダ/コントローラ(NXP PN7160A1HN/C100E)を使用しています。(プログラミングは、nRF52840 DKをデバッグプローブとして使用し、SWD経由で行います。) 現在のソフトウェア環境は、VS Code(Windows 11)のnRF Connect SDK(NCS)v3.2.0とZephyr RTOS v4.2.99です。目標は、PN7160(NCI-over-I2C)を使用して、RF検出を開始し、13.56MHzパッシブカードのUIDを読み取ることです。 私はPN7160を「典型的なZephyrの方法」で統合しようと試みました。 ソース/メイン.c ボード/nrf52840dk_nrf52840.オーバーレイ prj.conf I2C ピンと PN7160 GPIO (VEN/IRQ) を設定できますが、初期化が失敗します (プローブ中または最初のコマンド中の I2C -EIO/NACK)。その結果、RF 検出全体が機能せず、統合アプローチが正しいかどうかわかりません。 質問: NCS/Zephyrでは、`main.c`を変更するだけでPN7160をプログラムすることは可能ですか?+ `nrf52840dk_nrf52840.overlay` + `prj.conf`、それともPN7160には適切なカスタムドライバが必要であると予想されますか? ドライバが必要な場合、NCS でドライバを追加するための推奨アプローチは何ですか (デバイスツリー バインディング YAML + Kconfig + CMake + ドライバ ソース)。また、外部 Zephyr モジュール (zephyr/module.yml + EXTRA_ZEPHYR_MODULES) としてパッケージ化する必要がありますか?これを行う方法のサンプル コードはありますか (パブリック github リポジトリのようなものですが、見つけることができませんでした)? プローブ/最初の書き込み時に -EIO を引き起こす可能性のある、別の方法で処理する必要がある既知の NCS v3.2.0 / Zephyr 4.2.99 I2C/TWIM 動作はありますか? 他に役立つコメントがありましたら、ぜひ教えてください。 ご協力ありがとうございます!
查看全文
Wi-Fi Easy Connect (DPP) Between Two MediaTek Genio-510 Boards Hi NXP Community, Problem Statement I am trying to connect two MediaTek Genio-510 EVK boards using Wi-Fi Easy Connect (DPP). Board A → AP + DPP Configurator (hostapd) Board B → STA + DPP Enrollee (wpa_supplicant) DPP authentication succeeds, but configuration fails with the error: DPP-FAIL Configurator rejected configuration DPP-CONF-FAILED I would like to understand what is causing the configurator to reject the configuration, even though DPP authentication completes successfully. Board Configuration Details 🔹 Board A (AP + DPP Configurator) hostapd version: v2.10 Interface: wlp1s0 Mode: AP Security: DPP only /etc/hostapd_nxp3.conf ctrl_interface=/var/run/hostapd interface=wlp1s0 driver=nl80211 ssid=DPP_AP111 hw_mode=g channel=1 country_code=IN ieee80211n=1 ieee80211w=2 wmm_enabled=1 auth_algs=1 # ---- DPP CONFIG ---- wpa=2 wpa_key_mgmt=DPP rsn_pairwise=CCMP dpp_connector=1 Start command: hostapd /etc/hostapd_nxp3.conf -B AP verification: iw dev # Interface wlp1s0 # type AP # ssid DPP_AP111 # channel 1 (2412 MHz) 🔹 Board B (STA + DPP Enrollee) wpa_supplicant version: v2.10 Mode: Managed (STA) /etc/wpa_supplicant_nxp.conf ctrl_interface=/var/run/wpa_supplicant update_config=1 pmf=2 dpp_config_processing=2 Start command: wpa_supplicant -i wlp1s0 -D nl80211 -c /etc/wpa_supplicant_nxp.conf -B DPP Procedure Followed On Board A (Configurator) hostapd_cli Commands executed: dpp_configurator_add dpp_bootstrap_gen type=qrcode chan=81/1 mac=a8:41:f4:89:a2:5d dpp_bootstrap_set 1 conf=sta-dpp ssid=DPP_AP111 configurator=1 dpp_bootstrap_get_uri 1 dpp_listen 2412 Result: DPP Authentication → SUCCESS DPP Configuration Sent → ✅ Relevant logs: DPP-AUTH-SUCCESS init=0 DPP-CONF-REQ-RX DPP-CONF-SENT On Board B (Enrollee) wpa_cli Commands executed: DPP_QR_CODE dpp_auth_init peer=1 role=enrollee Logs observed: DPP-AUTH-SUCCESS init=1 GAS-QUERY-DONE result=SUCCESS DPP-FAIL Configurator rejected configuration DPP-CONF-FAILED Questions Why does the configurator reject the configuration even though authentication succeeds? Should the configurator send PSK/SAE credentials instead of sta-dpp? Is this a driver or firmware limitation on MediaTek Genio-510 for full DPP support? Any guidance or working reference configuration for Genio-510 DPP AP ↔ STA would be very helpful.
查看全文
启用密码保护后无法移除 NTAG213 上的写保护 (AUTH0/ACCESS) 您好,NXP团队, 我正在使用 PN7160 NFC 控制器和恩智浦 Linux NF CDemoApp 处理 NTAG213 标签。 我的成功经验 我修改了nfcDemoApp (main.c),通过配置在 NTAG213 上启用只写密码保护: 工务司 包装 AUTH0 访问(prot = 0) 写保护正常工作: 移动 NFC 应用程序无法再写入 只有从我的应用程序中发送 PWD_AUTH 后,才能进行写入操作 将 AUTH0 RESET 为 0xFF 清除接入 重写配置页面 我还使用恩智浦 NFC TagInfo / NFC Tools应用程序在另一个 NTAG213 上启用了写保护,结果也达到了预期效果。 我面临的问题 现在,我在这两种情况下都 无法移除写保护: 使用我自己的代码 (nfcDemoApp) 使用恩智浦 NFC 工具/TagWriter移动应用程序 即使使用正确的密码 (PWD_AUTH) 进行了身份验证,但尝试:仍失败。 我的理解是 根据 NTAG213 数据表,我明白了: PWD_AUTH 应允许在 RF 会话期间写入受保护的页面 身份验证后,应该可以修改 AUTH0 和 ACCESS NTAG213 没有用于密码保护的永久锁定位(与锁字节不同) 但在实际操作中,我无法将标签恢复到未受保护的状态。 问题 启用 NTAG213 基于密码的写保护后,官方是否支持移除或禁用该保护? 成功设置 PWD_AUTH 后,AUTH0 和 ACCESS 页面是否可以写入,还是一旦设置后就永久受保护? 是否有将 NTAG213 恢复到可写(未受保护)状态的推荐顺序? 恩智浦 NFC Tools / TagWriter 是否能移除 NTAG213 上的密码保护,还是需要自定义原始命令处理? 身份验证后是否需要完全RESET(RF 会话RESET/电源重启)才能修改配置页面? 如果恩智浦团队能提供任何指导或说明,将非常有帮助。 感谢您的支持。 致以最诚挚的问候, Niranjan Re: Unable to remove write protection on NTAG213 after enabling password protection (AUTH0/ACCESS) 我使用 RFIDDiscover。它可以更改配置页面中的设置,取消保护。
查看全文
[RTD] 优化 DMA 时 FlexIO I2C 无通道故障 你好@DanNguyenDuy Mobis 在尝试启用 DMA 优化时,没有遇到像下面这样的 FlexIO I2C 通道故障。 它被卡在 DevAssert(Master != NULL_PTR),但在我的审查中,通道索引似乎没有问题。 0 : LPI2C 1 : LPI2C 2 : FlexIO_0_1 : FlexIO I2C #0 / DMA Optimize / DMA timer2 3 :FlexIO_4_5 : FlexIO I2C #1 / DMA Optimize / DMA timer6 因此,FlexIO I2c 通道=1(I2c 通道=3)是正确的,但实际显示没有通道。 以下是 Mobis 对带有 DMA 优化功能的 FlexIO I2C 的配置 为什么 Master 会出现 NULL_PTR?请问如何调试? 启用 DMA 优化会有麻烦吗?Scatter Gather 是根据以下 RTD_I2C_UM.pdf 分配的 如果 DMA 优化设置有问题,且 STOP/NACK 未正确生成,会出现这种症状吗?能否提供 FlexIO I2C DMA 优化示例? RTD Re: [RTD] FlexIO I2C no channel trouble under DMA optimize 你好@alexyang 很抱歉我的回复晚了。我在 RTD_I2C_UM.pdf 中看到,I2C 插件中有一节指导如何配置 FlexIO DMA 优化: 请按照本节配置此功能。 Re: [RTD] FlexIO I2C no channel trouble under DMA optimize 你好@congnguyenphu 随信附上我对 FlexIO I2C DMA 优化的评估。 它以您提到的 I2C_UM 为基础,非常有用。 谢谢。 BRs, Alex Yang
查看全文
关于为 SEMA 实施 S32K324 双核心的问题 你好,团队 客户正在使用 Daul 核心实施 324 系统。 对于旋转锁,客户正在考虑采用 SEMA42。 我的问题是,对于 SEMA42 来说,XRDC 是必须的吗? 我对使用 SEMA42 实现自旋锁感到困惑,需要在 Core0 和 Core1 之间进行功能域分离,这意味着 XRDC 配置是必要的,或者不需要。 您能核实一下我的问题吗? 谢谢。 优先级:中等 RTD 资料来源直接客户 Re: Question of S32K324 dual core implementation for SEMA 嗨,@Luke_Chun、 1.对于 SEMA42,是否必须使用 XRDC? => 是的,必须这样做。 2。我对使用 SEMA42 实现自旋锁感到困惑,需要在 Core0 和 Core1 之间进行功能域分离,这意味着 XRDC 配置是必要的,或者不需要。 => XRDC 配置是必要的。 顺祝商祺! 丹 Re: Question of S32K324 dual core implementation for SEMA 嗨,丹、 感谢您的解答。 Autoever 希望使用 SEMA42 并配置 XRDC。他们刚刚配置了两个功能域,如下所示,所有外设和存储器都可以通过这两个功能域进行评估。 - 域_0:Core_0、HSE、eDMA_AHB、EMAC_AHB - 域_1:只有核心_1 请查看下面 Rm 模块中的配置,如果发现任何错误或丢失的配置,请告诉我。 我还附上了 arxml 文件。 顺祝商祺! 雅各 Re: Question of S32K324 dual core implementation for SEMA 非常感谢,丹! 请结案。 顺祝商祺! 雅各 Re: Question of S32K324 dual core implementation for SEMA 你好,@james-lee、 我检查了他们的 xrdc 配置,是正确的。我没有看到他们为"XRDC Memory Config" 和"XRDC Peripheral Config" 配置 Sema42。因为 SEMA42 的硬件 "门/通道 "数量有限,只有 16 个硬件通道。因此,用户不能为每个外设/区域分配一个网闸;相反,用户可以绑定互斥的资源组,用同一个 SEMA42 网闸来保护它们。 顺祝商祺! 丹
查看全文
支持 S32K344 的 MATLAB 和 S32DS 您好,先生, 我正在尝试为 S32K344 制作一个简单的版本模型,并使用 S32 配置工具对其进行配置。但是,它并没有像预期的那样工作,我觉得我可能遗漏了一些步骤。 我已经查看了恩智浦网站上的论坛和视频,但仍然无法解决这个问题。 我附上了一些我的工作截图,供您审阅。 我恳请您就正确的程序或我可以遵循的任何文件提供指导。非常感谢你们的支持。 谢谢! Re: Support on MATLAB and S32DS for S32K344 你好 我检查了您所附的图片,似乎您正确地将 PTB26 配置为输出引脚。 您遇到的问题是,在应用程序刷新到板后,PTB26 的逻辑电平仍然很低。我说得对吗? 为了更好地理解这个问题,你能告诉我你正在使用的开发板的确切模型吗?您安装的是什么版本的 S32K3?您使用的是哪个版本的 MATLAB? 顺祝商祺! 索林-伊万尼德-班奇拉 Re: Support on MATLAB and S32DS for S32K344 你好 我昨天漏查了一件事。 除了引脚和 DIO 元器件外,您还需要将端口元器件配置为使用指定的引脚。由于您使用的是旧版本的工具箱,端口引脚不会根据引脚配置自动更新(这也是它能在 S32DS 中工作的原因)。 总而言之 1。打开配置项目并导航到 Port 元器件。 2.在Dio 端口容器中,添加一个新的端口引脚 ,其 MSCR 为所需引脚的 MSCR(在本例中,对于 PTB28,MSCR 为 60)。 如果这能解决你的问题,请告诉我。 顺祝商祺! 索林-伊万尼德-班奇拉 Re: Support on MATLAB and S32DS for S32K344 感谢您的回复。 所需的详细信息请参见下文: MATLAB 版本:R2022a 开发板:S32K344-172 S32K3 软件包版本:1.6 与此同时,我们还使用 PTA27 进行了测试,但观察到了相同的行为。这让我们怀疑在 DIO 配置和引脚配置之间可能缺少一个环节。我们恳请就正确的程序提供指导,以确保不遗漏任何配置步骤。 关于我前面提到的一点:当我说它可以使用"嵌入式代码时," ,我的意思是我们通过 S32DS 平台使用嵌入式 C 代码测试了相同的逻辑,在这种情况下,引脚的表现与预期完全一致。该问题仅在使用 MATLAB/Simulink 生成的代码时出现。 Re: Support on MATLAB and S32DS for S32K344 是的,现在 Dio 的问题已经解决,而且工作正常。 Re: Support on MATLAB and S32DS for S32K344 你好 我们刚刚发布了 S32K3 工具箱的新版本 (1.8.0)。如果你想升级到最新版本,请前往 MATLAB 中的插件管理器并搜索 nxp_support_package_s32K3。安装支持软件包后,你可以运行 GettingStarted.mlx 脚本,该脚本将指导你安装最新版本。 顺祝商祺! 索林-班奇拉 Re: Support on MATLAB and S32DS for S32K344 您好,感谢您的回复。 您提到的是旧版本的软件。为了便于配置,你能否与我们联系应该使用哪个版本? Re: Support on MATLAB and S32DS for S32K344 你好,@chaudharimohit73、 如果建议的解决方案解决了您的问题,请告诉我。 顺祝商祺! 索林-班奇拉 Re: Support on MATLAB and S32DS for S32K344 您好, DIO 配置成功后,我现在正试图配置 CAN。我想使用混合标准报文和扩展报文的 CAN。 能否请您指导我完成配置步骤?
查看全文