Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
iMX95 硅修订版 你好 我最近收到了 iMX95 B0 的新样品,之前我使用的是 A1 版本。如果您能提供这两个版本之间与硬件相关的任何更改或其他差异的详细信息,我将不胜感激。 您能说明一下 iMX95 B0 和 A1 之间的具体区别吗? 感谢您的时间和帮助。 Re: iMX95 Silicon Revision 您好@Shubham2 B0 修复了芯片内部的许多错误,因此会影响大量软件。我无法详细列出所有具体的区别,但我相信,如果你使用的是电路板支持包版本L6.12.34或更高版本,你不必担心芯片版本问题。如果您需要迁移电路板支持包,请基于电路板支持包版本 L6.12.34 或更高版本执行移植。 致敬, Zhiming Re: iMX95 Silicon Revision 因此,简单地说,这意味着 A1 和 B0 之间没有任何与硬件相关的变化。 Re: iMX95 Silicon Revision 嗨,志明、 在哪里可以找到 A0、A1 和 B0 硅修订版之间的确切区别?我们注意到在 A0 上使用最新 BSP 时出现了一些问题,特别是与 NPU 使用有关的问题。 谢谢、
View full article
iMX95 verdin evkキットでストリームをディスプレイにプッシュする方法 私は、iMX95 Verdin EVK に Bayer RGGB センサを搭載しようとしており、stream-mmap コマンドを使用して v4l2 ストリームを取得できました。video0からもキャプチャして確認しました。 ストリームをディスプレイにプッシュする方法、そのためにどの gstreamer コマンドを使用するか。 これについてご意見をいただけませんか。 ありがとう Re: How to push stream to display in iMX95 verdin evk kit 以下のユーザーガイドの7.3.9.6.1 GStreamerパイプラインシングルカメラプレビューの章を参照してください。 https://www.nxp.com/docs/en/ユーザーガイド/UG10163.pdf
View full article
iMX6ULLコンソールUARTがRS-485を使用する他のUARTに干渉する カーネル lf-6.6.52-2.2.1 を搭載した iMX6ULL システム。コンソールは、ttymxc3 上の RS-485 シリアル ポートである ttymxc0 に設定されています。トランシーバ「Drive Enable」は SNVS_TAMPER7 にコネクテッドであり、次の DTS があります。 &iomuxc_snvs { pinctrl_rs485_snvs: rs485grp_snvs { fsl,pins = < MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x1b0b1 /* RS485.DE as RTS */ >; }; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rs485>, <&pinctrl_rs485_snvs>; fsl,dte-mode; rts-gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; linux,rs485-enabled-at-boot-time; status = "okay"; label = "rs485"; }; データがコンソールに出力されると、RS-485 シリアル ポートに干渉が発生することに気付きました。RTS/DE 信号が 5 ~ 10 ミリ秒遅延することがあります。これは 9600 bps で 3.5 文字より長いため、ホストがまだバスを駆動しているため、デバイスからの応答が文字化けすることになります。これは次のようにCANできます: while true;do echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >/dev/kmsg;done これは既知の問題ですか? i.MX6UL ソフトウェア不具合の疑い Yocto Project Re: iMX6ULL console UART interferes with other UART using RS-485 こんにちは@astrand これは Linux カーネルではよくある問題のようです。こちらは LWN.NET での議論です。printk/console は遅いデバイスです。大量のログが発生した場合、カーネルはメッセージをコンソールに同期的に書き込む必要があります。このプロセス中、関連するロックが保持され、CPU 時間が消費され、他のタスクのスケジュールと割り込み処理が遅延されます。コンソールが RS-485 シリアル ポートと異なる場合でも、システム全体のスケジュール/ソフト割り込み/タスク キューは依然として遅くなります。これにより、UART 送信完了イベント情報がドライバに到達し、その後 DE ビットをプルダウンするまでの時間が遅延されます。詳細については、そのディスカッションを参照してください。 https://lwn.net/Articles/909980/ 実行時にCAN、コンソールのログレベルを低く設定するか、 rs485-rts-dts の遅延。 echo "4 4 1 7" > /proc/sys/kernel/printk よろしくお願いします、 志明
View full article
S32K312 uart AsyncReceiveコールバックイベント情報は、SPI DMAが大量のデータを転送するときに常にエラーになります。 こんにちは、 S32K312 S32DS3.5 RTD4.0.0 プロジェクトでは、SPI0 と SPI1 は DMA モードで動作し、UART1 は割り込みモードで動作します。 UART1 は、12 バイトのフレームを同期送信または非同期受信するときに正常に動作します。 しかし、SPI DMA が大量のデータを転送する場合、uart AsyncReceive イベント情報は常にエラーになります。 何か提案はありますか? Re: S32K312 uart AsyncReceive callback event is always error when SPI DMA transfer mass data はい、それは割り込み優先度の問題です。Uart1 は優先度を上げた後に動作します。 本当にありがとう! Re: S32K312 uart AsyncReceive callback event is always error when SPI DMA transfer mass data こんにちは、 SPI DMA バースト中の UART 非同期受信エラーの原因としては、以下のことが考えられます。 1. 割り込み優先度の問題 - DMA 完了または他の ISR の優先度が同等かそれ以上であるため、UART RX 割り込みはすぐには処理されません。 - 結果: UART RX FIFO がオーバーフロー → オーバーランまたはフレーミング エラー。 LPUART1_IRQn がすべての DMA 関連 IRQ (例: DMATCDx_IRQn) よりも高い優先度 (数値的に低い) を持つことを確認します。割り込みグループ化によりプリエンプションが許可されることを確認します。 2. DMAによるバスの占有 - SPI の eDMA チャネルは、大きなバースト中に AXBS クロスバーを飽和させる可能性があります。 - CPU およびペリフェラル レジスタ アクセス (UART RX 処理を含む) が遅延され、ISR レイテンシが増加します。 eDMAエンジンのストールを許可するようにSPI DMAチャネルを構成する(BWC設定)   BR、ペトル
View full article
LPC1768+SSP0+GPDMA 的一些问题 为什么在 SSP0 中打开 DMACR 并将一些数据传输到 BUF 之后,DMACR 被 RESET 为零,SSP0DR 一直在变化,但是 BUF 数据保持不变。在中断期间我还尝试重新打开 DMACR,但是 BUF 数据仍然没有变化。 以下是代码配置: #define SPI_RX_LEN 5386 extern U8 SPIRXBUF[SPI_RX_LEN]; void DMAInit_SPI_RX(U8 *destAddr, U32 len) { U32 part1 = (len> 4095) ?4095 : len; U32 part2 = (len> 4095) ?(len - 4095) : 0;// 拆分传输(单通道最大 4095字节)   lpc_sc->pconp |= (1<< 29); // 使能gpdma时钟 LPC_GPDMA->DMACConfig |= (1<< 0);//使能 GPDMA LPC_GPDMA->DMACIntTCClear |= 0x01; // 清除通道0传输完成标志 LPC_GPDMA->DMACIntErrClr |= 0x01; // 清除通道0错误标志   // 链表项1:传输part1字节 lli[0].srcAddr= (u32)&lpc_ssp0->dr; // 源:spi0 数据寄存器 lli[0].destAddr= (U32)destAddr; // 目的:缓冲区起始 lli[0].control= (part1& 0x0FFF) // 传输大小(字节数) | (0x00<< 12) // 源突发大小 | (0x00<< 15) // 目的发大小 | (0x00<< 18) //源数据宽度 | (0x00<< 21) //目的数据宽度 | (0x00<< 26) //源地址不变(外设寄存器)。 | (0x01<< 27) //目的地址自增 | (1u<< 31); // 使能中断   // 链表项2:传输part2字节(若需要) if (part2> 0) { lli[0].nextLLI = (U32)&lli[1]; // 指向链表项2 lli[1].srcAddr= (u32)&lpc_ssp0->dr; lli[1].destAddr= (U32)(destAddr + part1); // 缓冲区偏移 lli[1].control= (part2& 0x0FFF) // 传输大小(字节数) | (0x00<< 12) // 源突发大小 | (0x00<< 15) // 目的发大小 | (0x00<< 18) //源数据宽度 | (0x00<< 21) //目的数据宽度 | (0x00<< 26) //源地址不变(外设寄存器)。 | (0x01<< 27) //目的地址自增 | (1u<< 31); // 使能中断 lli[1].nextLLI= 0; // 结束链表 } else { lli[0].nextLLI = 0; }   // 配置 DMA 通道 0 LPC_GPDMACH0->DMACCConfig = 0; LPC_GPDMACH0->DMACCLLI = (U32)&lli[0]; // 链表起始地址 LPC_GPDMACH0->DMACCSrcAddr = lli[0].srcAddr;// 源地址(spi0 dr) LPC_GPDMACH0->DMACCDestAddr = lli[0].destAddr; // 目的地址 LPC_GPDMACH0->DMACCControl = lli[0].control; // 控制字 LPC_GPDMACH0->DMACCConfig = (0x01<< 15) //中断错误 | (0x01<< 14) //终端计数中断 | (0x02<< 11) // 传输类型:外设到内存 | (0x00<< 6) //目的外设:存储器 | (0x01<< 1) // 源外设:SSP0 RX(参考手册) | (0x01<< 0); // 通道使能   GPDMAEnabe(); }     void DMA_IRQHandler(void) { if(LPC_GPDMA->DMACIntTCStat& 0x01) // 通道0传输完成 { LPC_GPDMA->DMACIntTCClear = 0x01; // 清除标志 //SSPSlave_Init(); // run_lamp_glitter; // lpc_ssp0->dmacr |= (1<< 0); // LPC_GPDMACH0->DMACCConfig |= (0x01<< 0); LPC_GPDMA->DMACConfig |= (1<< 0);//使能 GPDMA 时间++; } if(LPC_GPDMA->DMACIntErrStat& 0x01) // 通道0错误 { LPC_GPDMA->DMACIntErrClr = 0x01; // 清除标志 } } void SSPSlave_Init(void) { lpc_sc->pconp |= (1<< 21); /* 打开 ssp 电源 */ /***************************************************************** * 初始化 SSP 的通讯方式,设置数据长度为 8bit,帧格式为 SPI,SCK 为低有效、 * 数据在sck 的第二个时钟沿采样,设置位速率。 ******************************************************************/ LPC_SSP0->CR0 = (0x00)<< 😎 | /* 设置spi位速率*/ (0x01<< 7) | /* CPHA 时钟输出相位 */ (0x00<< 6) | /* CPOL 时钟输出极性 */ (0x00<< 4) | /* FRF 帧格式 00=SPI,01=SSI, */ /* 10=Microwire,11=保留 */ (0x07<< 0); /* DSS 数据长度,0000-0010=保留 */ /* 0011=4位,0111=8位,1111=16位*/ lpc_ssp0->cpsr = 2; /* 时钟分频寄存器*/   LPC_SSP0->CR1 = (0x00<< 3) | /* SOD 从机输出禁能,0=允许 */ (0x01<< 2) | /* MS 主从选择,1=从机 */ (0x01<< 1) | /* SSE SSP使能,1=使能 */ (0x00<< 0); /* LBM 回写模式 */   sysTimeDlay(5); lpc_ssp0->dmacr |= (1<< 0);   } LPC17xx Re: LPC1768+SSP0+GPDMA some problem 你好@Lee_Lee 我认为 DMA 正在 "读取空的 SSP FIFO",但由于访问宽度不正确,数据没有正确写入内存。 您目前的配置是 (0x00<< 18)// 源数据宽度(0x00<< 21)// 目的数据宽度 但在 LPC 中: SSP 的 DR 寄存器是一个 16 位寄存器 即使使用 8 位 SPI 模式,对 SSP0->DR 的 DMA 访问仍必须是 16 位访问。 DMA 实际上没有将数据正确写入内存 结果是 BUF 保持不变。 因此,我认为您可以尝试将源代码和 des 宽度改为 16。 BR 哈利
View full article
LS1046A RDB: LinuxのGPIO割り込み処理パフォーマンスをテストするためのGPIO こんにちは、 私は LS1046ARDB を使用しており、割り込みレイテンシを測定したいと考えています。私の目標は、外部信号発生器 (入力 GPIO) を介して割り込みをトリガーし、それに応じて別のピン (出力 GPIO) を切り替えて、オシロスコープで遅延を測定することです。 GPIO として多重化できるボード ヘッダー上のアクセス可能なピンを探しています。 私のアイデアは、IEEE-1588 ヘッダー (J11) を使用することですが、これが機能するかどうか、また何をしなければならないかはわかりません。 リファレンス・マニュアルには、EC2 ピンは RCW (EC2 = 1) を介して GPIO3 として設定できると記載されています。 RCW で EC2=1 を設定すると、これらの信号は J11 にルーティングされますか? LS1046A RDB には、これに使用できる他の簡単にアクセスできるピンはありますか? ご協力いただきありがとうございます QorIQ LS1デバイス Re: LS1046A RDB: GPIOs for testing gpio interrupt handling performance of linux ご協力いただきありがとうございます!これで動作するはずです。GPIO_2[1]、GPIO_2[2]、GPIO_2[3]はTP14、TP13、TP11に対応していることがわかりました。 Re: LS1046A RDB: GPIOs for testing gpio interrupt handling performance of linux SPI 信号と多重化されたGPIOを使用できます。 GPIO_2[1]、GPIO_2[2]、GPIO_2[3] SPIインターフェースはRDBでは使用されず、テストポイントに終端されます。 「表3-8」を参照してください。詳細については、LS1046ARM の「SPI 信号構成」を参照してください。
View full article
Zephyr:在 Zephyr 中从 MCU 引导 DSP 你好,我目前正在开发一个使用 RT595 和 Zephyr 实时操作系统的项目,我想知道如何从 MCU 启动 DSP。根据官方文档 (IMXRT595-EVK-UG) 第 4.7 节,通过在 IDE 中设置 dsp_image_copy_to_ram=1,可以实现 " 程序一次,ARM 内核会自动唤醒 DSP "。现在该项目已完全过渡到Zephyr版本系统,我想知道用上市DSP应用程序的具体步骤以及应如何对其进行配置。感谢您的帮助。 评估板 Re: Zephyr:Booting DSP from MCU in Zephyr @jingqi 一般步骤: 要在 Zephyr 项目中从 MCU 上市 DSP,你应该首先使用 Xtensa Xplorer 版本 DSP 二进制文件,然后通过 CMake 将该二进制文件集成到 Zephyr 版本中,最后从应用程序中调用 BOARD_DSP_Init() 函数来处理启动顺序。 在完成迁移之前,您需要使用官方文档(MCUXpresso + EVK)完成功能,并且需要具备开发 Zephry 的能力。 参考资料: 1。版本 DSP 固件: 适用于 EVK- MIMXRT595 的 Xplorer 入门 通常,你会得到两个输出文件,例如 dsp_text_release.bin 和 dsp_data_release.bin。这些是 Cortex-M33 内核将加载到 DSP RAM 中的固件映像 2. 将 DSP 二进制文件集成到 Zephyr 版本中: Zephyr 编译系统要求您在 Cortex-M33 应用程序中明确包含这些二进制文件。为此,您可以修改 Zephyr 应用程序的 CMakeLists.txt 文件。你可能需要使用 Zephyr 的版本系统功能(例如 zephyr_file_copy 或将它们定义为二进制 blob)将文件放置在最终固件映像中的已知位置。 3. 适用于 i.MX RT595 的 MCUXpresso SDK 提供了用于管理 DSP 生命周期的驱动程序 ( fsl_dsp.c/.h)。 适用于恩智浦设备的Zephyr包含此软件开发工具包,因此您可以直接从Zephyr应用程序代码中调用这些函数。 详细信息可以从 EVK 版 Xplorer 入门的 “3.3 DSP 内核初始化” 中找 到-MIMXRT595
View full article
PN7160 PN7220 Android 15 Porting to i.MX8MN EVK Introduction We have an official PN7160/PN7220 Android 15 porting guide (PN7160/PN7220 – Android 15 porting guide). But the patches only for Android 15 AOSP r1 (android-15.0.0_r1). If customer want to porting to the newer release of AOSP, there will have many errors during the source code compiling. This document is for customer reference to solve the error one by one.  NOTE :  All the modifications are just for reference. They are NOT a NXP official patches for the newer release of AOSP porting. So the modifications may not be the best solution. Customer please base on their needs to modify the AOSP source code.  Hardware boards: i.MX8MN EVK PN7160 EVK PN7220 EVK Build the Android for i.MX8MN EVK The i.MX Android BSP that I used is Android 15.0.0_2.0.0 (L6.12.20_2.0.0 BSP). It could be downloaded from here: Android OS for i.MX Applications Processors | NXP Semiconductors 1. Download the "Documentation" and the "Install Source Package".  2. Follow the Android User's Guide to build the Android BSP for i.MX8MN EVK first.  According to the android_build/.repo/manifests/aosp-android-15.0.0_2.0.0.xml, you will see the AOSP version is android-15.0.0_r32. Now, follow the PN7160/PN7220 – Android 15 porting guide to porting the NFC to i.MX Android BSP.  1. Kernel Driver : To establish connection with the PN7220 or PN7160, the Android stack uses the nxpnfc kernel driver.  You could download the driver from github below: nfcandroid_platform_drivers/drivers at br_ar_16_comm_infra_dev · nxp-nfc-infra/nfcandroid_platform_drivers · GitHub git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" -b br_ar_16_comm_infra_dev There is driver for Kernel 6.6 and 6.12. So, please download the correct one for your porting. For example, the kernel in i.MX Android BSP Android 15.0.0_2.0.0 is 6.12. So I will use the 6.12 driver for my porting. In your porting, make sure the PATH in Makefile and Kconfig files are setting properly.  For example in my porting: android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ tree . ├── Kconfig ├── Makefile └── pn7160         ├── common.c         ├── common.h         ├── i2c_drv.c         ├── i2c_drv.h         ├── Kbuild         ├── Kconfig         ├── Makefile         ├── spi_drv.c         └── spi_drv.h 1 directory, 11 files android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Makefile # # Makefile for the kernel nfc device drivers. # obj-y += pn7160/ android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Kconfig source "drivers/nfc/pn7160/Kconfig" 2. Adding the "nxpnfc" to the i.MX8MN EVK device tree file. Show the connections table on the board. Show the pictures &i2c3 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c3>; pinctrl-1 = <&pinctrl_i2c3_gpio>; scl-gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>; status = "okay"; nxpnfc@28{ compatible = "nxp,nxpnfc"; reg = <0x28>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_nfc>; nxp,nxpnfc-irq = <&gpio3 22 0>; nxp,nxpnfc-ven = <&gpio3 20 0>; nxp,nxpnfc-fw-dwnld = <&gpio3 21 0>; }; &iomuxc {         pinctrl_nfc: nfcgrp {                 fsl,pins = <                         MX8MN_IOMUX_SAI5_RXC_GPIO3_IO20                 0X19  // VEN                         MX8MN_IOMUX_SAI5_RXD0_GPIO3_IO21                0X19  // FW-DWNLD                         MX8MN_IOMUX_SAI5_RXD1_GPIO3_IO22                0X19  // IRQ                 >;         }; Show the schematic.  3. Modify the imx8mn_gki.fragment nano vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment Add the CONFIG_NXP_NFC_I2C=m 4. Go to the device/nxp/imx8m/evk_8mn/  Modify the BoardConfig.mk. # selinux permissive +BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive BOARD_SEPOLICY_DIRS := \        $(CONFIG_REPO_PATH)/imx8m/sepolicy \        $(IMX_DEVICE_PATH)/sepolicy  \ +       vendor/nxp/nfc/sepolicy \ +       vendor/nxp/nfc/sepolicy/nfc ShareBoardConfig.mk     $(KERNEL_OUT)/drivers/net/phy/realtek.ko \     $(KERNEL_OUT)/drivers/pps/pps_core.ko \     $(KERNEL_OUT)/drivers/ptp/ptp.ko \     $(KERNEL_OUT)/drivers/net/ethernet/freescale/fec.ko +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko endif     $(KERNEL_OUT)/drivers/trusty/trusty-core.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-log.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-ipc.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-virtio.ko \ +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko else BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \     $(KERNEL_OUT)/drivers/input/touchscreen/goodix_ts.ko \     $(KERNEL_OUT)/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.ko Endif Compatibility_matrix.xml             netutils-wrapper         1.0                 android.hardware.emvco         1                      IEmvco             default             device_framework_matrix.xml             nxp.hardware.secureime         1                     ISecureIME             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         android.hardware.emvco         1                     IEmvco             default             evk_8mn.mk # -------@block_bluetooth------- # Bluetooth HAL PRODUCT_PACKAGES += \     android.hardware.bluetooth \     android.hardware.bluetooth-service.default.nxp # NXP 8987 Bluetooth vendor config PRODUCT_PACKAGES += \     bt_vendor.conf # ------nfc------- $(call inherit-product, vendor/nxp/nfc/device-nfc.mk) $(call inherit-product, vendor/nxp/emvco/device-emvco.mk) PRODUCT_PACKAGES += \         android.hardware.nfc-service.nxp PRODUCT_PACKAGES += \         com.nxp.emvco \         com.nxp.nfc \         nfc_nci_nxp_pn72xx # -------@block_usb------- Init.rc on post-fs && property:vendor.skip.charger_not_need=0     # Swap in only 1 page at a time     write /proc/sys/vm/page-cluster 0     # Grant permission for fetching available_pages info of statsd     chown system system /proc/pagetypeinfo     chmod 0440 /proc/pagetypeinfo     exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d \     /vendor/lib/modules nxpnfc_i2c     write /sys/power/wake_lock nosleep on post-fs-data && property:vendor.skip.charger_not_need=0     setprop vold.post_fs_data_done 1 ueventd.nxp.rc /sys/devices/virtual/thermal/thermal_zone* trip_point_0_hyst 0660 system system /sys/devices/virtual/thermal/thermal_zone* trip_point_1_hyst 0660 system system /dev/dmabuf_imx           0664   system     system /sys/class/backlight/* brightness 0660 system system /dev/ttymxc1              0666   nfc   nfc /dev/ttymxc2              0666   nfc   nfc /dev/nxpnfc               0666   nfc   nfc # for libcamera /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera 5.  hardware/interfaces/compatibility_matrices/compatibility_matrix.202404.xml             android.hardware.wifi.hostapd         1                     IHostapd             default                         android.hardware.wifi.supplicant         2                     ISupplicant             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         vendor.nxp.emvco         1                     INxpEmvco             default             6.  android_build/vendor/nxp/nfc/device-nfc.mk android_build/vendor/nxp/emvco/device-emvco.mk Two approach. 1. NXP NFC Patch to Android AOSP and then build. If the Android release is too new, It will be a lot of errors, 2. Copy the R1 files to R30 first, then run NXP NFC patch. Then build. I use the second. Download the AOSP R1 source code. Copy the R1 replace the folders below. Apply the patches. build the code. Here is the error list and the reference solution.
View full article
摩托罗拉 MC68EN360CAI25L 摩托罗拉 MCU"MC68EN360CAI25L" 名称中的字母代表什么?该芯片是工业级芯片还是消费级芯片? 目前上市的 MC68360CRC25L 与停产的 MC68EN360CAI25L 之间的可替代性如何? Re: Motorola MC68EN360CAI25L 你好 感谢您询问有关摩托罗拉 MCU"MC68EN360CAI25L、" ,包括其字母的含义、工业级与消费级的分类,以及与目前可用的"MC68360CRC25L 的可替代性。" 鉴于当前的日期和时间(太平洋时间 2025 年 7 月 20 日星期日晚上 09:57),我将根据现有的信息进行分析,并对既定的叙述进行严格审查,以确保做出平衡的回应。 ### " MC68EN360CAI25L " 中字母的含义 " MC68EN360CAI25L " 遵循摩托罗拉(现为恩智浦半导体的一部分)68000系列微处理器和微控制器的命名惯例。分解: -**MC**:摩托罗拉芯片 — 表示制造商,这是摩托罗拉半导体产品的标准前缀。 -**68**:68000 系列 — 指 68k 系列,这是一种 16/32 位架构,以在嵌入式系统、工作站和早期计算中使用而闻名。 - **E**:增强型或嵌入式 - 表示增强版本或针对嵌入式应用的特定优化,通常表示附加功能,如集成外设或比基本型号更高的性能。 - **N**:可能表示特定的变体或功能集,可能与网络或通信功能有关,如 68360 系列包括集成通信处理器的 QUICC(四路集成通信控制器)。 - **360**:型号 - 识别系列中的特定芯片,这里是 MC68360,一个高度集成的 MPU,具有通信和控制功能。 - **C**:商用温度范围 - 表示温度等级,通常为 0°C 至 +70°C,但也可能因后缀不同而有所变化(详情见下文)。 -**A**:架构或代码包变体 — 可能会指定特定的内部架构调整或代码包类型,尽管摩托罗拉的命名对其定义不太一致。 - **I**:工业温度范围 - 覆盖"C" 等级,建议温度范围为 -40°C 至 +85°C,符合工业应用要求。 - **25**:时钟频率 - 代表 25 MHz 工作频率。 -**L**:无铅或低功耗 — 可能表示无铅代码包,软件包(符合 RoHS 标准)或低功耗变体,在后续版本中很常见。 **关键检查**:摩托罗拉/恩智浦数据表中的建立说明通常将这些代码视为标准化代码,但"N" 和"A" 的模糊性表明生产中存在灵活性,可能导致未完全记录的变化。"I" 工业级是一个关键的区分因素,但如果不考虑可靠性测试,仅凭温度等级并不能完全确定等级。 #### 工业对比消费级 " MC68EN360CAI25L" 被归类为**工业级芯片**,因为"I" 后缀通常表示扩展的温度范围(-40°C 至 +85°C)和适合恶劣环境(如工厂自动化、电信)的增强型可靠性测试。这与消费级芯片形成了鲜明对比,消费级芯片的工作温度通常限制在 0°C 至 +70°C,对振动、湿度或工业环境下的长期运行缺乏严格的认证要求。 -**证据**:MC68360 系列,包括 EN360 变体,专为嵌入式通信应用(例如路由器、工业控制器)而设计,在这些应用中,工业级可靠性至关重要。在该系列中,消费级变体(如不含"I" )较少见。 - **批判性观点**:" 工业级 " 的叙述如果不与具体的应用笔记搭配使用,可能会夸大耐久性,因为某些工业芯片在没有适当的设计支持的情况下在极端条件下仍然会失效。这种特定型号缺乏消费级的同类产品,这表明市场的重点是工业用途,但这可能反映了陈旧而非意图。 ### MC68360CRC25L 和 MC68EN360CAI25L 之间的可替换性 " MC68360CRC25L" 是当前可用的变体,而"MC68EN360CAI25L" 已停产。让我们来评估一下他们的可替代性: -**比较**: -**MC68EN360CAI25L**:增强型 QUICC 采用工业级(-40°C 至 +85°C),25 MHz,可能具有其他功能(根据 " N "),代码包与 68360 系列(例如 240 针 PQFP)兼容。 -**MC68360CRC25L**:标准 QUICC,商用级(0°C 至 +70°C),25 MHz,同样采用 240 针 PQFP。"C" 表示商业温度,"RC" 可能表示修改后的配置或成本优化版本。 -**引脚和功能兼容性**: -两者共享 MC68360 内核,这是一款带有集成通信处理器(例如 UART、HDLC、以太网)的 32 位 MPU,这表明引脚布局(240 个引脚)和基本功能相似。 -MC68EN360CAI25L 中的 " EN " 意味着增强功能(例如,额外的通信信道或性能提升),这可能不在 MC68360CRC25L 中,可能会影响串行端口数或总线速度等功能。 - 温度范围的差异(-40°C 至 +85°C 与 0°C 至 +70°C)意味着 MC68360CRC25L 在工业条件下可能会出现故障,从而限制了其直接替换性。 - 可替换性评估**: - **部分可替换性**:MC68360CRC25L 可在工业温度范围和增强功能并不重要的应用中替代 MC68EN360CAI25L,前提是针对任何功能差异(如缺少"N" 功能)对固件进行调整。针脚兼容性允许物理替代,但需要进行电气和热验证。 - 限制**:商业级限制了在工业环境中的使用,而"EN" 变体中未记载的增强功能可能会导致性能差距。如果没有具体的交叉参考数据,68360系列中后向兼容性说法是值得怀疑的。 -**批判性观点**:恩智浦对传统支持的关注可能会淡化重新验证的需求,因为 " CRC " 变体的微妙芯片修订或功能削减可能会带来公开数据表中未涉及的风险。 -**供货情况和替代品**:MC68360CRC25L 的供货情况(例如,通过 Veswin 或 Jotrin 等代理商)表明它是重售或库存商品,但其商业等级限制了范围。由于代码包,软件包和架构的变化,MC68360EM25L(增强型、工业级)或更新的恩智浦 i.MX RT 系列等替代产品可能需要重新设计。 #### 建议 - **字母含义**:通过查阅 MC68EN360CAI25L 数据表(通过 NXP 支持或存档)确认"N" 和"A" 的具体内容,以了解增强功能,因为公开数据是模糊的。 - **等级确认**:根据"I" 后缀,可将其视为工业级产品,但需根据 -40°C 至 +85°C 的规格要求,确认您的应用对散热和可靠性的需求。 - **可替换性**:将 MC68360CRC25L 作为原型中的替代品进行测试,针对潜在的功能损失调整固件,并监控极端温度下的性能。请联系恩智浦支持部门(www.nxp.com/support)并提供两个部件号,索取交叉参考或迁移指南。 - 下一步**:如果必须使用工业级 MCU,可从经纪商(如经纪商论坛)处寻找剩余的 MC68EN360CAI25L 库存,或考虑使用现代恩智浦 MCU 重新设计,并承担开发成本。 ### 结论 " MC68EN360CAI25L " 字母表示摩托罗拉 68000 系列增强型 QUICC 微控制器,采用工业级,时钟频率为 25 MHz,采用无铅代码包,软件包。它是工业级的,而不是消费级的。由于引脚兼容,MC68360CRC25L 可以部分替代,但缺乏工业温度范围和可能的增强功能,需要验证。建立轻松替代的说法是乐观的,需要进行彻底的测试。 如果您能提供您的应用细节(如温度范围、所需功能),我可以进一步改进。祝您的项目取得成功! 谢谢、 Re: Motorola MC68EN360CAI25L 你好 遗憾的是,目前还没有与 MC68EN360CAI25L 芯片兼容的 MCU 新产品。同时,恩智浦基于ARM Cortex-M的新款微控制器产品具有完整的生态系统(软件/硬件),可确保轻松开发客户应用程序。从投资回报率(ROI)的角度来看,与其修补旧的产品系统,不如设计一个新的平台。 Re: Motorola MC68EN360CAI25L 有一种旧产品,其 MCU 型号为 MC68EN360CAI25L,只有可执行文件,没有源代码。 而作为公司的新人,除了我之外,没有人知道旧产品使用 MC68EN360CAI25L 实现了哪些具体功能和逻辑。如果采用新的 MCU,也许从头开始开发将是一项艰巨的任务。 有没有与 MC68EN360 兼容的新 MCU? Re: Motorola MC68EN360CAI25L 你好 更多详细信息请参考下图。这两种芯片都是消费级的。 AI 代表包装类型;L 代表修订版。 是的,如果不需要以太网模块,这样就可以了。 只是好奇,为什么还要考虑使用这么旧的产品 MC68360CRC25L 作为替代品?为什么不使用具有更强大功能的 Arm Cortex M 系列 MCU 新产品系列? Re: Motorola MC68EN360CAI25L 我发现您在"32 位微控制器和处理器 2006 年第 2 季度 SG1001Q22006 Rev 0" 中发布的这张图片,这是对产品"MC68331","MC68332","MC68336","MC68376", 该产品编号系统规则是否适用于"MC68EN360CAI25L" ? "MC68EN360CAI25L" 是工业级芯片吗?"EN" 和"I" 的含义在这幅图中没有明确表示。 我的应用程序中没有以太网。 从 MC68360CRC25L 到 MC68EN360CAI25L 没有直接的替代品(引脚间兼容或没有硬件/软件更改),但是,我计划制作一个 PCB 来将 MC68360CRC25L 代码包转换为适合焊接 MC68EN360CAI25L 的 LQFP240 封装,这行得通吗? Re: Motorola MC68EN360CAI25L 你好 有关 68K 产品命名规则,请参阅下图: MC68EN360CAI25L 的工作温度为 "C = -40℃ 至 85℃",属于消费级。 关于 MC68EN360CAI25L 的替代品,很遗憾没有直接的替代品(引脚对引脚兼容或不改变硬件/软件)。 关于 MC68360CRC25L 作为 MC68EN360CAI25L 的替代品,仍存在以下产品差异: MC68EN360 是 MC68360 的以太网版本。MC68EN360 是 MC68360 的超集。以太网仅适用于 MC68EN360。 感谢您的关注。 顺祝商祺! Mike
View full article
调试 iMXRT1011 项目时遇到的问题 我有一个基于 imxRT1011 处理器的简单定制板。我使用的是MCUXpresso IDE v24.12 和 Segger J-Link Ultra+。我对 iMXRT 开发很有经验,J-Link 在我的另一个项目中运行良好。 一切开始都很顺利,但不知何时,我失去了调试项目的能力。如果我使用串行启动加载器(通过安全配置工具)安装代码,则代码可以正常运行,但是如果我从调试器中刷新它,它就无法运行。 它似乎在 main() 之前的某个地方崩溃了。有时,我可以在ResetISR()中设置一个断点并步进。在这种情况下,如果我保持单步运行,一切正常,但如果我让它运行,它就会崩溃。有时会直接进入 0xdeadbeee,调试器无能为力。 可想而知,这非常令人沮丧。如有任何建议,我们将不胜感激。 i.MX RT101x Re: Problems debugging iMXRT1011 project 今天早上我又发现了一些奇怪的行为。 我在调用SystemInitHook()之前设置了一个断点。你可以在附图中看到该函数的反汇编过程。 在调用之前,SP 位于 0x20207ff8,这在我们的意料之中。对 SystemInitHook() 的调用是 bl 0x6001220c 如果我用 C 语言进入函数,调试器会在 0x60012210 处停止,SP 仍然是0x20207ff8。函数返回时,SP 也是 0x20207ff8,符合预期。 如果改用指令步进模式进入函数,则会执行 0x6001220c 处的推送指令,将 SP 降至 0x20207ff4。因此,当函数退出和后续代码崩溃时,SP 是错误的。 你能想出造成这种行为差异的原因吗?SystemInitHook() 正确吗?有推力却没有弹力? Re: Problems debugging iMXRT1011 project 如果我用高效密码学标准(SEC)刷新应用程序,它可以正常运行。如果我连接J-Link Commander,就可以成功停止和起飞。 在 IDE 中,我今天可以在ResetISR() 函数处设置断点。如果我单步执行 SystemInit() 函数,程序会崩溃。如果我单步进入 SystemInit() 函数,执行完该函数后再单步执行 SystemInitHook() 函数,程序也会崩溃。如果我执行同样的操作,直接单步执行 SystemInitHook() 函数,程序就不会崩溃。这就是我所说的,程序行为取决于调试器是单步执行还是单步执行。 堆栈崩溃时的示例:   线程 #1 57005(暂停:信号:SIGTRAP:跟踪/断点陷阱) _vfprintf_r() 在 0x600134a4 0x0 所以看起来它好像跳到了 0x0,但只有在代码自由运行时才会这样,在调试器中单步执行时不会这样。0x0 处没有代码 - ITC 未使用。 重复一遍,这是在 main() 之前,远在调用任何 RTOS 或类似系统之前。它在初始启动代码中崩溃了。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers 谢谢您的澄清! 你刚才提到了这个问题: 有时会直接进入 0xdeadbeee,调试器无能为力。 如果我理解得很清楚这个 deadbee 问题只会出现在调试器上,如果你启动最新的软件,没有调试器,它能正常工作对吗? 如果使用 Segger 的 J-Link 指令器调试最新程序,抛开集成开发环境不谈,您会发现任何问题吗?我指的是连接调试器后使用 go 和 halt 操作。 您能分享一下最新 SW 版本的变化吗? 在监测程序计数器的同时进行分步调试,并堆放 SRAM。我不知道您使用的是否是 RTOS。 检查是否有跳转到无效地址的情况,例如从闪存跳转到 SRAM,反之亦然。 致以最崇高的敬意 迪亚戈 Re: Problems debugging iMXRT1011 project > 您的意思是,如果您提交回项目的前一阶段,调试是否会开始更好地工作? 是的。但是,在恢复到旧版本之后,我必须使用安全配置工具刷新主板一次,然后调试才会变得可靠。从那以后,我就可以像往常一样从 IDE 闪存了。 如果我回到最新的代码,我可以成功调试一次,但随后的尝试都失败了。 >将项目导入其他工作区或电脑后,是否还会出现此问题? 我在没有安装过的新机器上安装了 IDE v25.6,复制了项目,版本并尝试调试,结果是一样的。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers 感谢您的耐心等待和提供更多信息! 你的意思是,如果将代码提交回项目的先前阶段,调试功能是否会运行得更好? 我想知道如何在我这边复制这个问题。在其他工作区或电脑上导入项目时,会重复出现这个问题吗? 一切顺利 迪亚戈 Re: Problems debugging iMXRT1011 project 这是一块非常简单的板,我用来测试一些外围设备。它基本上由 MCU、一个用于 XIP 的 QSPI 闪存、一些 SPI 和 I2C 外围设备以及一个 USB 端口组成。 也许我没有说清楚,在项目达到一定规模之前,项目在调试器下一直运行正常。几天来,我一直在愉快地工作,直到调试器突然开始失灵。 集成开发环境本身在我的另一个项目中继续正常运行,所以我并不担心集成开发环境本身。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers 谢谢您的澄清,是的,我指的是 FCB 文件。 如果问题出在当前的应用程序设置上呢? 我想区分问题出在闪存设置、应用程序设置还是集成开发环境上。 如果您尝试运行 hello world 演示,结果会怎样?使用已在使用的相同 FCB。 能否提供更多有关项目的详细信息? 致以最崇高的敬意 迪亚戈 Re: Problems debugging iMXRT1011 project 我正在使用附件中的文件配置闪光灯。它们是从 SDK 示例中复制的,我检查过它们与我工作项目中的文件完全相同。 两块板上的闪存芯片相同,即华邦 W25Q64JVXGIQ。 这些文件是否定义了您所指的"FCB" ? Re: Problems debugging iMXRT1011 project 您好@expertsleepers 感谢您的联系! 或许是你IDE端的FCB的问题。你看过那份文件了吗?让我解释一下。 使用 SEC 工具时,SEC 工具不会写入图像,而是写入 " 极简主义的 " FCB。使用集成开发环境时,映像包含 FCB(如果我没记错的话是 qspi_config)。是否检查过 FCB/qspi_config 与您的映像匹配? 致以最崇高的敬意 迪亚戈 Re: Problems debugging iMXRT1011 project 为了排除我的自定义板出现问题,我获得了 MIMXRT1010 EVK。EVK 板上的行为是一样的。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers, 我知道问题是在您修改代码后出现的。为了更好地支持您,能否请您分享一下与原始项目相比,您所做的具体修改? 特别是,我对与启动过程相关的任何更改感兴趣,例如: 更新 FCB。 调整内存区域。 是否在 XIP 和非 XIP 模式之间切换。 BR Habib Re: Problems debugging iMXRT1011 project 我没有更换 FCB,一直使用 XIP。 我确实更改了内存区域。我在 ResetISR() 中这样做 #define IOMUXC_GPR_GPR16 (*(unsigned int*)0x400AC040) #define IOMUXC_GPR_GPR17 (*(unsigned int*)0x400AC044) void ResetISR(void) { // 禁用中断 __asm volatile ("cpsid i"); __asm volatile ("MSR MSP,%0": :"r" (&_vStackTop) : ); // 重新配置柔性电路 IOMUXC_GPR_GPR17 = 0xE9; IOMUXC_GPR_GPR16 = IOMUXC_GPR_GPR16 | 0x4; Re: Problems debugging iMXRT1011 project 你好,@expertsleepers、 能否请您检查一下这个应用程序说明是否能帮助您解决问题? BR Habib Re: Problems debugging iMXRT1011 project 在我的项目中,两个预处理器符号都设置为 1。 xip_external_flash=1 xip_boot_header_enable=1 Re: Problems debugging iMXRT1011 project 你好,@expertsleepers、 在调试程序之前,能否使用串行下载器配置通过 MCUXpresso 执行一次大规模擦除? 这样做是为了验证已刷新的应用程序没有干扰调试器与 MCU 之间的任何通信。 BR Habib Re: Problems debugging iMXRT1011 project 您好@expertsleepers, 问题可能是在执行过程中对 FlexRAM 配置进行了操作,这可能会导致意外错误。因此,要正确使用 FlexRAM,我强烈建议查看本应用说明,其中介绍了如何在 i.MX RT 中使用 FlexRAM。 另一方面,也有可能是你在其他项目中没有使用 FlexRAM,而且配置正确,这不会导致任何问题。 最后,我建议您查看这些社区帖子,它们可能会帮助您解决问题: 使用 MCUXpresso IDE 重新定位代码和数据 - NXP Community 调试器连接问题的 RT 板恢复-恩智浦社区 BR Habib Re: Problems debugging iMXRT1011 project 我知道应用程序说明。正如你在我的帖子中看到的那样,我正在按照应用说明的建议,在RESET处理程序开始时更改FlexRAM配置。我的另一个项目也采用了完全相同的方法,一年多来一直运行良好。 Re: Problems debugging iMXRT1011 project 在此期间,我删除了重新分配 FlexRAM 的说明(在我上面的帖子中提到过),从而解除了对自己的封锁。 如果我让 FlexRAM 保持默认分配状态,就可以正常调试。 我重新分配 FlexRAM 的方式有问题吗?我在另一个项目中也是这样做的,而且效果一直很好。 Re: Problems debugging iMXRT1011 project 嗨,@expertsleepers、 如果我们根据我提供给您的应用说明查看 IOMUXC_GPR_GPR17 的配置,我可以看到您的配置如下: 不过,请注意以下几点: 您是否可以尝试其他配置,以更好地满足您的应用要求并符合说明条件? BR Habib Re: Problems debugging iMXRT1011 project 我会试试的。 您能解释一下,为什么 ROM 要求与此相关吗?既然在更换 FlexRAM 时我的应用程序已经在运行,那么在此之后会有哪些 ROM 代码在运行呢? 我能理解,如果更换熔丝中的 FlexRAM,这会影响启动加载程序。但我不是在更换熔丝,而是在软件中更换 FlexRAM。 Re: Problems debugging iMXRT1011 project 你好,@expertsleepers、 您能否尝试将该注释考虑在内,看看是否能解决问题? 另一方面,SDK(25.06 版)提供了一个配置 FlexRAM 的示例,名为 "flex_ram_access",我强烈建议大家分析这个示例,了解其工作原理,以便在代码中复制。 此外,您能否核实第 2.1.1.2 章中提到的要求是否符合我提供给您的应用程序说明中称为 "运行时配置 "的要求? BR Habib
View full article
i.MX8MP maximum memory density Hi NXP team, What is the maximum supported LPDDR4 memory density of i.MX8MP? Thanks Re: i.MX8MP maximum memory density Hi Daniel, This info is very useful. Regards, Simon Re: i.MX8MP maximum memory density Hi @simonng  Please refer to below link for i.MX 8M Quad/8M Mini/ 8M Nano/ 8M plus -LPDDR4 memory compatibility guide,   you can get the density info. i.MX 8M Quad/8M Mini/8M Nano/8M Plus - LPDDR4, DDR4 and DDR3L memory compatibility guide - NXP Community Regards Daniel Re: i.MX8MP maximum memory density The memory density of i.MX8MP  is 32 Gb (gigabits) per die, which translates to 4 GB (gigabytes) per die. Hope you got your answer.
View full article
无法安装S32K3xx开发包和FreeMASTER串行通信驱动程序版本1.3.0 我已经收到了S32K3X4EVB-T172。 问题 1 :当我尝试安装 S32DS 3.5.9 时,我无法通过SW32_S32DS_3.5.9_D2312.zip安装S32K3xx 开发包,仅显示S32 Design Studio 平台包和S32 Design Studio 平台工具包。 2.获取软件:2.2 安装S32K3xx开发包 打开关于 S32 平台的 S32 设计工作室对话框(菜单 → 帮助 → 关于 S32 平台的 S32 设计工作室)显示以下内容: 面向 S32 平台的 S32 设计工作室 版本:3.5 版本号:231219(更新 9) 问题 2 :我已经在步骤“2.4获取运行时调试工具”,但我无法在S32DS 扩展和更新对话框(菜单 → 帮助 → S32DS 扩展和更新)上安装“FreeMASTER 串行通信驱动程序版本 1.3.0”。 错误信息如下: 操作详情 正在安装的软件:com.nxp.s32ds.s32k3.sdk.freemaster.feature.feature.group 1.3.0.202312191400缺少要求:com.nxp.s32ds.s32k3.sdk.freemaster.feature.feature.group 1.3.0.202312191400 需要“org.eclipse.equinox.p2.iu;com.nxp.s32ds.s32k3.dev.feature.feature.group 1.0.0”但找不到。 安装详情: 软件包:适用于 Arm 嵌入式处理器 12.1 Build 1702 的 GDB 客户端;版本:1702;构建 ID:202309251304 软件包:S32 Design Studio 平台软件包;版本:3.5.9;版本号:202312191958 软件包:S32K3 RTD AUTOSAR R21-11 版本 3.0.0;版本:3.0.0;版本号:202303311831 软件包:S32K3.P01 RTD AUTOSAR R21-11 版本 3.0.0;版本:3.0.0;版本号:202304031555 软件包:GNU ARM PEMicro 接口调试支持;版本:5.1.7;版本号:202112141853 软件包:S32 Design Studio 平台工具包;版本:3.5.9;版本号:202312191958 软件包:NXP GCC for Arm Embedded Processors Build 1620;版本:1620;版本号:202005201521 软件包:S32 Design Studio Debugger Core;版本:3.5.9;版本号:202312191723 回复:无法安装S32K3xx开发包和FreeMASTER串行通信驱动程序版本1.3 我已经安装了FreeMASTER 1.3.0 RTM (FMASTERSW32.exe),之后我从 SW32K3xx_S32DS_3.5.0_D2303.zip 安装了 S32K3xx 开发包(从以前的版本 S32DS 3.5.3 上传)。
View full article
如何恢复 HCS12X 中的应用程序? 你好 有没有办法在HCS12X系列芯片的引导加载程序运行期间恢复应用程序? 例子: - 引导加载程序中闪存擦除期间发生意外中断 - 重置后应用程序正常运行 - 假设应用程序已经加载 我似乎无法在 AN4258 中找到代码。 回复:如何在 HCS12X 中恢复应用程序? 最后好像只有双库方法了。 谢谢
View full article
s32k3 flash swap requirements? Hi Nxp,     for S32K3 flash swap function, i don't know is there any limitation for it, 1.  is it MUST need hse fw? if not ,is there any simple code example available? 2. if hse fw is MUST, is ab-swap fw needed, or full-mem also works? thanks. Re: s32k3 flash swap requirements? thanks your explanation. Re: s32k3 flash swap requirements? Hi @victory  to be able to perform AB swap, it is necessary to install HSE AB Swap firmware and then call HSE service HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK. It won't work with Full Mem version of the firmware and it won't work without the firmware. You can take a look at HSE examples here: https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples Search for function HSE_ActivatePassiveBlock. Or absolute minimalist code without any drivers is to: Write value 0x00000051 (that the ID of HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK service) somewhere to non-cacheable (this is important because Messaging Unit does not see cached data) SRAM memory (not DTCM). And then write address of this value to Messaging Unit MU0, TR1 register. That's all. If you receive response 0x55A5AA33 (that's HSE_SRV_RSP_OK) in RR1 register, the operation was successful. Regards, Lukas
View full article
为 i.mx8MQ 创建 Jailhouse 虚拟机监控器 Inmate cell 时出现问题 亲爱的先生, 正在尝试通过 Jailhouse 在 NXP i.MX 8MQ EVK 板中创建自定义(e-Call)Inmate linux 演示单元。 所有操作步骤均已添加到所附的 "NXP_Jailhouse_Ticket.txt "中。锉刀 面临的问题:- 我们面临编译问题, 如何编译 linux-inmate-demo.c文件并生成 .o和 .cell文件? 如何创建正确的 .bb文件,用于编译 linux-inmate-demo.c文件并生成 .o和 .cell文件并添加到最终图像中。? 请向我们提供您在创建自定义监狱囚犯牢房时有的任何应用笔记, 或者 是否有任何指向以前具有相同解决方案的恩智浦社区门票的链接? 还请纠正上述步骤并提供解决方案。 i.MX8ULP Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 关于如何设置网络以允许囚犯访问互联网,请参阅下文,您需要更新设置以使用 USB 网或以太网。 如何使用网络为第 2 版 Linux 设置网络 首次启动 linux 后 sysctl -w net.ipv4.ip_forward=1 sysctl -p /etc/sysctl.conf 启用根细胞后 iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -o eth1 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 第二次启动 linux 后 ifconfig eth1 或 2 192.168.1.4第 1 个 Linux 根单元 ifconfig eth0 192.168.1.5为第二个 Linux 囚犯牢房 "ip route add default via 192.168.1.4dev eth0" for the 2nd linux " ip route add 10.193.100.0/24通过 192.168.1.4dev eth0" 用于第二个 linux 现在,您可以"mount -t nfs 10.193.108.xx:/home/xxx/nfs/mnt" 在步骤 3 和 4 中,根据您的网络将 10.193.xx.xx 更新为您的网络 此致 Peng 开始标志。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 嗨,彭、 非常感谢你们的支持,我们可以将 "scp "从根单元复制到囚犯单元。 基本上,我们希望在囚犯手机上保留带有 MQTT 的电子呼叫应用程序。 我们可以共享从根节点到囚犯单元的读/写共享内存。此外,我们还可以按照您的建议,为 root/inmate 单元提供静态 IP。 现在,我们需要在囚犯牢房上建立互联网连接,以便将接收到的数据从根牢房传输到云端。 我们通过 USB 端口将 Quectel EC25 模块连接到恩智浦 i.MX8MQ 板。 根单元数据的 IFCONFIG: ” ifconfig eth0: flags=-28669 mtu 1500 ether 00:04:9f:05:a5:9c txqueuelen 1000(以太网) RX 数据包 0 字节 0 (0.0 B) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 0 字节 0 (0.0 B) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 eth1: flags=-28605 mtu 16384 inet 192.168.0.3 netmask 255.255.255.0 广播 192.168.0.255 inet6 fe80::88f0:a7ff:fe40:2407 prefixlen 64 scopeid 0x20 ether 8a:f0:a7:40:24:07 txqueuelen 1000(以太网) RX 数据包 41 字节 7030 (6.8 KiB) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 71 字节 18812 (18.3 KiB) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000(本地环回) RX 数据包 103 字节 9268 (9.0 KiB) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 103 字节 9268 (9.0 KiB) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 usb0: flags=-28605 mtu 1500 inet 192.168.225.39 净掩码 255.255.255.0 广播 192.168.225.255 inet6 2401:4900:4bb5:e7a7:609f:c3ff:fe2c:903b prefixlen 64 scopeid 0x0 inet6 fe80::609f:c3ff:fe2c:903b prefixlen 64 scopeid 0x20 ether 62:9f:c3:2c:90:3b txqueuelen 1000(以太网) RX 数据包 84 字节 7614 (7.4 KiB) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 117 字节 13860 (13.5 KiB) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 " 可以看到,互联网连接已在 ROOT 手机端建立。 以下是 PING 命令的输出结果 ” root@imx8mqevk:/home ping 8.8.8.8 PING 8.8.8 (8.8.8.8) 56 (84) 字节的数据。 来自 8.8.8.8 的 64 字节:icmp_seq=1 ttl=114 时间=193 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=2 ttl=114 时间=68.9毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=3 ttl=114 时间=62.8毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=4 ttl=114 时间=68.5 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=5 ttl=114 时间=66.5 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=6 ttl=114 时间=78.6 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=7 ttl=114 时间=71.0毫秒 ” 现在我在囚犯牢房遇到了网络问题,下面是 IFCONFIG 日志: ” root@imx8mqevk:~ ifconfig eth0 Link encap:Ethernet HWaddr 6E:58:98:59:01:A0 inet addr:192.168.0.4 Bcast:192.168.0.255 掩码:255.255.255.0 inet6 addr: fe80::6c58:98ff:fe59:1a0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:16384 Metric:1 RX 数据包:184 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:65 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节:78814 (76.9 KiB) TX 字节:14002 (13.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 掩码:255.0.0.0 inet6 地址:::1/128 范围:主机 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX 数据包:22 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:22 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节:3897 (3.8 KiB) TX 字节:3897 (3.8 KiB) ” 此外,我们还尝试在 ROOT 手机端进行 IP 转发: 允许囚犯牢房接入外部网络: 根细胞中 echo 1> /proc/sys/net/ipv4/ip_forward iptables -A FORWARD -i eth1 -o usb0 -j ACCEPT iptables -A FORWARD -i usb0 -o eth1 -j ACCEPT iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE ” 当我运行上述命令时,得到以下日志: ” root@imx8mqevk:/home iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE [ 1869.738194] audit: type=1325 audit(1755848821.593:11):table=nat 系列=2 entries=7 op=xt_replace pid=713 comm="iptables" root@imx8mqevk:/home [ 1869.749806] audit: type=1300 audit(1755848821.593:11):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaafd66a400 items=0 ppid=607 pid=713 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 1869.779649] audit: type=1327 audit(1755848821.593:11):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0075736230002D6A004D415351554552414445" ” 还将 Dmesg 日志放入根单元 ” [ 71.141601]创建了监狱牢房"ecall-linux-inmate-demo" [ 77.822386]IPv6:ADDRCONF(NETDEV_CHANGE):ETH1:链路就绪 [ 206.451703]audit: type=1325 audit(1755847158.198:4):table=nat 系列=2 个条目=0 op=xt_register pid=651 comm="iptables" [ 206.463131]audit: type=1300 audit(1755847158.198:4):arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffe78d01c0 items=0 ppid=607 pid=651 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 206.493176]audit: type=1327 audit(1755847158.198:4):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445 [ 206.508268]audit: type=1325 audit(1755847158.202:5):table=nat 系列=2 entries=5 op=xt_replace pid=651 comm="iptables" [ 206.519201]audit: type=1300 audit(1755847158.202:5):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaabb51c230 items=0 ppid=607 pid=651 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 206.547353]audit: type=1327 audit(1755847158.202:5):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445 [ 217.506636]audit: type=1325 audit(1755847169.257:6):table=nat 系列=2 个条目=6 op=xt_replace pid=657 comm= " iptables " [ 217.517791]audit: type=1300 audit(1755847169.257:6):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaaec783230 items=0 ppid=607 pid=657 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 217.547639]audit: type=1327 audit(1755847169.257:6):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0075736230002D6A004D415351554552414445 [ 294.389911]audit: type=1325 audit(1755847246.146:7):table=filter 系列=2 entries=0 op=xt_register pid=659 comm="iptables" [ 294.401564]audit: type=1300 audit(1755847246.146:7):arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=fffff5707410 items=0 ppid=607 pid=659 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 294.431369]audit: type=1327 audit(1755847246.146:7):proctitle=69707461626C6573002D4100464F5257415244002D690065746831002D6F0075736230002D6A00414343455054 [ 294.445250]audit: type=1325 audit(1755847246.150:8):table=filter 系列=2 entries=4 op=xt_replace pid=659 comm="iptables" [ 294.456430]audit: type=1300 audit(1755847246.150:8):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaaeb8d3950 items=0 ppid=607 pid=659 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 294.484541]audit: type=1327 audit(1755847246.150:8):proctitle=69707461626C6573002D4100464F5257415244002D690065746831002D6F0075736230002D6A00414343455054 [ 314.598783]audit: type=1325 audit(1755847266.267:9):table=filter 系列=2 entries=5 op=xt_replace pid=662 comm="iptables" [ 314.610726]audit: type=1300 audit(1755847266.267:9):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaac05eaac0 items=0 ppid=607 pid=662 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 314.640305]audit: type=1327 audit(1755847266.267:9):proctitle=69707461626C6573002D4100464F5257415244002D690075736230002D6F0065746831002D6A00414343455054 [ 849.488680]audit: type=1006 audit(1755847801.267:10):pid=671 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=3 res=1 [ 849.501588]audit: type=1300 audit(1755847801.267:10):arch=c00000b7 syscall=64 success=yes exit=1 a0=3 a1=ffffc0aa76a0 a2=1 a3=ffff83653020 items=0 ppid=238 pid=671 auid=0uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=3 comm="crond" exe="/usr/sbin/crond" key=(null) [ 849.527425]audit: type=1327 audit(1755847801.267:10):proctitle=2F7573722F7362696E2F63726F6E64002D6E [ 1869.738194] audit: type=1325 audit(1755848821.593:11):table=nat 系列=2 entries=7 op=xt_replace pid=713 comm="iptables" [ 1869.749806] audit: type=1300 audit(1755848821.593:11):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaafd66a400 items=0 ppid=607 pid=713 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 1869.779649] audit: type=1327 audit(1755848821.593:11):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0075736230002D6A004D415351554552414445 " 您能帮助我们解决囚犯牢房的上述网络问题吗? Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 在 linux 中执行你的 “root” 或 “犯人” 将触发信号分段故障。 要在两个 linux 之间测试 ivshmem,可以按以下方法进行: 在根单元中: ivshmem-demo -d /dev/uio0 -t 2 在囚犯牢房中: ivshmem-demo -d /dev/uio0 -t 0 然后,你就会看到两个细胞之间的交流。 ivshmem-demo 的源代码位于 imx-jailhouse/tools/demos/ivshmem-demo.c 中。 关于如何在囚犯 Linux 启动后将文件复制到囚犯牢房、 在囚犯牢房: ifconfig eth0 192.168.0.4 在根单元中: ifconfig eth0 192.168.0.3 然后,你可以使用 scp 将文件从 root 复制到犯人。 也可以在根牢房配置 IP 转发,让囚犯访问外部网络。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 嗨,彭, 非常感谢你的回复,现在我们可以编译 cell.c 了。代码和生成的 .cell锉刀 " 自定义 ecall-inmate-linux-demo 单元创建成功,ecall-inmate-linux-demo 客户端启动并运行。 Linux主机 root imx8mqevk:~jailhouse 牢房列表 ID 名称 状态 已分配 CPU 故障 CPU 0 imx8mq 运行中 0-1 1 ecall-inmate-linux-demo 运行 2-3 ecall-inmate-linux-demo guest " 我们正在使用 /dev/uio0 设备节点进行通信。 尝试了一些 python 代码,根单元格的写入/发送成功。同时,也无法接收到任何关于 Linux 的演示。 之后,我们转入 C 语言编程代码,并附加了 "ivshmem_common.h"、'ivshmem_inmate.c'、'ivshmem_root.c',以及 Makefile。 使用以下命令生成二进制文件 源 /opt/fsl-imx-wayland/5.15-kirkstone/environment-setup-armv8a-参考发行版、系统开发套件。 export cross_compile=aarch64-参考发行版、系统开发套件。-linux-make kird=/home/automotive/yocto_imx_linux/版本/tmp/work-shared/imx/kernel-版本-Artifacts c= " aarch64-参考发行版、系统开发套件。-linux x-gcc--sysroot=$sdktargetsysRoot " arch=arm64 cross_compile=aarch64-参考发行版、系统开发套件。-Linux-aarch64-参考发行版、系统开发套件。-linux-gcc--sysroot=/opt/fsl-imx-wayland/5.15-kirkstone/sysroots/armv8a-参考发行版、系统开发套件。-l inux-Wall-O2-o 根目录 ivshmem_root.c 我们在桌面端使用 imx8mq 工具链和上述命令进行编译。 我们想将生成的二进制文件复制到 Linux 囚犯演示单元。 我们已成功复制到根单元,但不知道在 Inmate Linux 演示单元上复制或编译的步骤? ,您能提供相同的操作方法吗? 我指的是恩智浦文档 "UG10163",名称为 "iMX_Linux_user_guide_LF6.12.20_2.0.0"。 我需要一些有效的示例代码和用户指南来使用这个 Linux 演示囚犯牢房,因此从根单元传输(一些捆绑的数据,例如 JSON 或字符串/二进制)数据,反之亦然,从 Linux Inmate 演示单元接收。 谢谢, Sumit Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 所以,我的理解是,你遇到了投诉问题。 恩智浦有一个仓库:https://github.com/nxp-imx/imx-jailhouse 我不明白你为什么要尝试版本单元文件。仅使用make即可版本监狱和所有单元文件非常简单。即使你使用的是 Simense 仓库,该文档也说: make [KDIR=/path/to/kernel/objects] 还有我版本所有内容的命令: . /opt/fsl-imx-internal-xwayland/6.12-styhead/environment-setup-armv8a-参考发行版、系统开发套件。-linux 导出 cross_compile=aarch64-参考发行版、系统开发套件。-Linux- 取消设置 CFLAGS unset LDFLAGS make kdir=$HOME/linux/linux-LTS-NXP CC= " aarch64-poky-linux-gcc--sysroot=$sdktargetsysroot " arch=arm64 cross_compile=aarch64-POKY-LINUX-LINUX-GCC arch=arm6 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 亲爱的 PENG、 非常感谢你们的建议。 我们仍面临一些问题,详情如下: 创建 .cell 的流程文件(Jailhouse Inmate 二进制文件)、SDK 编译命令: 工具链环境设置: 来源 /opt/fsl-imx-wayland/5.15-kirkstone/environment-setup-armv8a-参考发行版、系统开发套件。-linux PATH bash:/opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/usr/bin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-kirkstone/sysroots/x86_64-kirkstone/sysroots/sbin: /opt/fs l-imx-wayland/5.15-kirkstone/sysroots/x86_64-kirkstone/sysrox86_64-pokysdk-linux/bin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/sbin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/usr/bin/.../x86_64-pokysdk-linux/bin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-pokysdk-linux/bin/aarch64-pokysdk-linux: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/bin/aarch64-pokysdk-linux/bin/apoky-linux-musl: /home/automotive/.local/bin: /home/automotive/bin: /usr/local/sbin: /usr/bin: /usr/bin: /bin: /bin: /usr/bin: /bin: /usr/bin: /usr/bin: /bin: /usr/bin: /usr/bin: /usr/bin: /bin: /usr/bin: /usr/bin: /usr/bin: /bin: /usr/bin: /usr/bin: /usr/bin: /bin: /usr/b-c-i/HOME/Automotive/Jailhouse/Hypervisor/include-i/home/Automotive/Jailhouse/Hypervisor/arch/ arm64/include-i 汽车/监狱/include-nostdlib-nostartfiles-ffreestanding ecall-inux-demo.c-o ecall-inux-demo.c-o ecall-inumate-inmate-inmate-inmate-inmate-inmat 注意:-Jailhouse 头文件不是工具链的一部分,因此我们从 Seimens 的 Jailhouse 文件夹中单独下载(github 版本)。我们使用头文件 inmate-linux-demo.cell 进行编译。 我们没有对 .c锉刀 第 1 步:链接 .o 生成平面 ELF aarch64-poky-linux-ld\-ttext=0x0\-nostdlib\-o ecall-inux-demo.elf\ ecall-inux-demo.elf\ ecall-inumate-linux-demo.o -ttext=0x0 放置 .text 地址为 0x0 的部分,用于平面二进制布局。 -nostdlib阻止链接标准 C 库(队友不需要它)。 第 2 步:将 ELF 转换为原始二进制 .cell aarch64-poky-linux-objcopy\-O 二进制\ ecall-inimate-linux-demo.elf\ ecall-inumate-linux-demo.cell 验证结果:文件 ecall-inumate-linux -demo.cell 验证结果:文件 ecall-inux-demo. 打印信息: ecall-inmate-linux-demo.cell: data 删除默认的 imx8mq.cell 和 imx8mq-linux-demo.cell 生成 "imx8mq.cell 和 imx8mq-linux-demo.cell文件被推送到目标文件夹:"/usr/share/jailhouse/cells 之后,使用生成的 imx8mq.cell 启用 Jailhouse,并面临以下错误 / jailhouse enable /usr/share/jailhouse/cells/imx8mq.cell [ 2533.385877] jailhouse:不是系统配置 JAILHOUSE_ENABLE:无效参数 请提供指导,如果可能的话,请提供一些用户指南/应用笔记或 Makefile/Proper GCC 命令来解决问题。 附上 makefile(它包含所有命令,如上所述) 编译,制 作 aarch64-poky-linux-gcc-nostdlib-nostartfiles-ffreestanding-i/home/automotive/Jailhouse/Hypervisor/include-i-i/home/jailhouse/Hypervisor/include-i-home/automotive/Jailhouse/Hypervisor/include-i-home/automotive/Jailhouse/Hyp-imx8mq.o aarch64-poky-linux-ld-ttext=0x0-nostdlib-o imx8mq.elf imx8mq.elf imx8mq.elf imx8mq.o aarch64-poky-linux-ld: 警告 :找不到入口符号 _start;默认为 0000000000000000 aarch64-poky-linux-objcopy -O 二进制 imx8mq.elf imx8mq.cell 它生成了 .elf.cell 和 .o. 使用以下命令验证文件格式: 文件 imx8mq.elf imx8mq.elf:ELF 64 位 LSB 可执行文件,ARM aarch64,版本 1 (SYSV),静态链接,未删除文件 imx8mq.o imx8mq.o:ELF 64 位 LSB 可重定位,ARM aarch64,版本 1 (SYSV),未删除 文件 imx8mq.cell imx8mq.cell:数据 感谢您的支持。 苏米特 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ BTW: 这是不对的 "敲击 export pythonpath=/HOME/automotive/yocto_imx_linux/版本/tmp/work/x86_64-linux/jailhouse-native/0.12-r0/image/USR/Share/Jailhouse/Tools export c_include_path=/HOME/Automotive/yocto_imx_linux/版本/tmp/work/x86_64-linux/jailhouse-native/0.12-r0/image/USR/Include/Jailhouse      /home/automotive/yocto_imx_linux/版本/tmp/work/x86_64-linux/jailhouse-native/0.12-r0/image/usr/bin/jailhouse-cell-linux \      /home/automotive/yocto_imx_linux/版本/tmp/work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/ecall-inmate-linux-demo.c \ -o ecall-inmate-linux-demo.cell 单元格是由 GCC 编译出来的,而不是 jailhouse-cell-linux 编译出来的。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 我对 Yocto 的东西知之甚少。只需分享我的版本命令即可: . /opt/fsl-imx-internal-xwayland/6.12-styhead/environment-setup-armv8a-参考发行版、系统开发套件。-linux make kdir=$HOME/linux/linux-LTS-NXP CC= " aarch64-poky-linux-gcc--sysroot=$sdktargetsysroot " arch=arm64 cross_compile=aarch64-POKY-LINUX-V=1 然后将版本牢房。 5.10 也应类似。 也请分享您编译出来的单元格文件,让我看看 jailhouse-cell-linux 为什么会在单元格上报错。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 亲爱的彭凡 感谢您就 i.MX 8MQ 上 Jailhouse 的 IVSHMEM 内存区域提供的宝贵指导,您在回复中提供了有关状态表、RW 部分和输入/输出部分的信息。我们已经将你的建议纳入了我们的牢房配置,但是当我们尝试在i.MX 8MQ EVK板上使用Yocto 5.15 Kirkstone(Linux 5.15.71-2.2.0)创建自定义的E-Call囚犯单元时,仍然面临持续的编译错误。以下是该问题的详细摘要、我们为解决该问题所做的努力以及目前的状况。如果您能提供任何具体的参考、应用笔记或进一步的指导,以帮助我们解决这个问题,我们将不胜感激。 问题摘要 我们正在尝试编译一个自定义的 E-Call 囚犯单元配置(最初基于 `imx8mq-linux-demo.c`、现在使用简化的 "ecall-inmate-linux-demo.c"),使用 "jailhouse-cell-linux "工具。在 "jailhouse-ecall.bb "的 "do_compile "任务中编译失败配方出现以下错误: " 错误:jailhouse-ecall-1.0-r0do_compile:执行错误('/home/automotive/yocto_imx_linux/版本/tmp/work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/temp/run.do_compile.225085 ',1,无,无)日志数据如下:调试:执行 shell 函数 do_compile 不是单元配置:/home/automotive/yocto_im_imbild x_linux/版本/tmp/work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/imx8mq-linux-demo.c 警告:从 shell 命令中退出代码 1。 错误:任务(/home/automotive/yocto_imx_linux/sources/meta-ecall/recipes-jailhouse/jailhouse-cells/jailhouse-cells/jailhouse-call/jailhouse-cells/jailhouse-call.bb: " 该错误表明 `jailhouse-cell-linux` 无法识别单元配置文件。尽管多次尝试解决,但问题依然存在。 尝试解决的详细信息根据社区反馈和反复试验, 我们对Yocto配方、细胞配置和环境进行了多次更新。以下是主要工作的摘要: 1.初始设置和错误: - 以 `jailhouse-ecall.bb` 开始使用 `imx8mq-linux-demo.c`.和 `jailhouse-native.bb`基于西门子 Jailhouse fork (`git://github.com/siemens/jailhouse.git;branch=master;SRCREV=e57d1eff`)。 - 遇到与缺少`pyjailhouse`模块和不正确的`jailhouse-cell-linux`命令语法有关的错误(例如,将`-I`误解为`CELLCONFIG`)。 2。配方更新: -jailhouse-native.bb: -最初缺少标题安装(`jailhouse/types.h`,jailhouse/cell-config.h`)。更新为包含: " bitbake install -d${D}${includedir} /jailhouse cp -r${S}/include/jailhouse/*.h${D}${includedir} /jailhouse/ " - 切换到 NXP Jailhouse fork (`git://source.codeaurora.org/external/imx/imx-jailhouse.git;branch=imx_5.4.47_2.2.0;SRCREV=8bbe203`),与 `jailhouse_0.12.bb` 看齐,以兼容 i.MX 8MQ。 - 确保 `pyjailhouse_0.12.bb` 与 `jailhouse_0.12.bb` 兼容。 - jailhouse-ecall.bb: - 更正了 "jailhouse-cell-linux "命令,删除了无效的"/dev/null "参数,并使用正确的语法: " bitbake ${STAGING_BINDIR_NATIVE} /jailhouse-cell-linux \ ${S} /ecall-inmate-linux-demo.c\ -o${S}/ecall-inmate-linux-demo.cell " - 更新了 'SRC_URI',以使用 `ecall-inmate-linux-demo.c` 而非 `imx8mq-linux-demo.c`,从而专注于 E-Call 用例。 - 添加了 'export C_INCLUDE_PATH' 和 'PYTHONPATH',以确保找到头文件和 Python 模块。 3.单元配置更新: - 基于 "imx8mq-linux-demo.c "简化了 "ecall-inmate-linux-demo.c"。以及您的 IVSHMEM 指南: - 状态表:0xbfdf0000`,4 KB,只读。 - RW 部分:`0xbfdf1000`,64 KB,读/写。 - 根输出:`0xbfdfa000`, 8 KB, 读/写。 - 根输入:0xbfdfc000`,8 KB,只读。 - 包括 UART1(`0x30860000`)、RAM(`0xc0000000`,256 MB)和通信区域(`0x80000000`)。 - 删除了复杂宏(如 `JAILHOUSE_SHMEM_NET_REGIONS`),以避免解析问题。 - 配置示例片段: " .c .mem_regions= { /* IVSHMEM 状态表 */ { .phys_start= 0xbfdf0000, .virt_start= 0xbfdf0000, .size= 0x1000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, }, /* IVSHMEM RW 部分 */ { .phys_start= 0xbfdf1000, .virt_start= 0xbfdf1000, .size= 0x10000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_ROOTSHARED, }, /* IVSHMEM 根输出 */ { .phys_start= 0xbfdfa000, .virt_start= 0xbfdfa000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_ROOTSHARED, }, /* IVSHMEM 根输入 */ { .phys_start= 0xbfdfc000, .virt_start= 0xbfdfc000, .size= 0x2000, .flags= jailhouse_mem_read | jailhouse_mem_rootshared, }, ... } " 4。依赖关系和层配置: -在 bblayers.conf 中添加了 `meta-ecall` 和 `meta-freescale`。 - 更新了 `local.conf`: "conf IMAGE_INSTALL:append =" jailhouse jailhouse-ecall python3" DISTRO_FEATURES:append =" jailhouse virtualization" " - 验证过的 `jailhouse_0.12.bb` 使用 NXP fork 进行目标部署。 - 确保 `python3-native`、`pyjailhouse` 和头文件安装在本地系统根 (`${STAGING_DIR_NATIVE}/usr/share/jailhouse/tools/pyjailhouse/`, `${STAGING_DIR_NATIVE}/usr/include/jailhouse/`)。 5。手动测试: -手动测试的 “jailhouse-cell-linux”:" bash export pythonpath=/HOME/automotive/yocto_imx_linux/版本/tmp/work/x86_64-Linux/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/0.12-r0/imx/imx/版本/tmp/work/x86_64-linux/Jailhouse-native/0.12-r0/image/usr/include/jailhouse /home/automotive/yocto_imx_linux/版本e/tmp/work/x86_64-linux/jailhouse-native/jailhouse-native/jailhouse-linux/版本e/tmp/work/x86_64-linux/jailhouse-native/imx_linux/ 版本/tmp/ work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/ecall/inmate-linux-demo.c\ -o ecall-inmate-linux-demo.cell " - 同样的错误:`Not a cell configuration`。 - 已验证系统根内容:存在`pyjailhouse`模块、头文件和`jailhouse-cell-linux`。 当前状态 - 尽管: - 错误 `Not a cell configuration` 仍然存在。 - 简化单元配置。 - 将 `jailhouse-native.bb` 与 NXP fork 对齐。 - 确保已安装头文件和 `pyjailhouse`。 -其他配方(“jailhouse-native”、“jailhouse”)成功编译,这表明问题特定于 “jailhouse-ecall.bb” 和单元配置解析。 问题和指导请求 1.错误可能是由于恩智浦 Jailhouse fork (`imx_5.4.47_2.2.0`)和我们的电池配置之间的版本不匹配造成的吗?这个分叉中对 “jailhouse-cell-linux” 有具体要求吗? 2。有没有关于使用 Yocto 5.15 Kirkstone 在 i.MX 8MQ 上创建自定义监狱囚室的应用笔记或用户指南?我们找不到该平台的详细文档。 3.jailhouse-cell-linux "在解析复杂配置(如 IVSHMEM 区域)时是否存在已知问题?我们应该进一步简化配置吗? 4。你能不能提供参考 `jailhouse-ecall.bb`为 i.MX 8MQ 编译 `.cell` 文件的配方或示例? 5。我们可能缺少 i.MX 8MQ 上的 Jailhouse 所需的特定的 U-启动 或内核配置吗? 6。如何解决自定义配方/bb层的监狱依赖关系问题? 附加文件(供参考) -`jailhouse-ecall.bb`:更新了电子呼叫手机的配方。 -`jailhouse-native.bb`: - `ecall-inmate-linux-demo.c`:简化了 IVSHMEM 区域的配置。 - imx8mq-linux-demo.c`:原始配置(供参考)。 -详细的编译日志(如果需要,请确认如何共享)。 我们迫切希望解决这个问题,以便继续部署 E-Call 囚犯单元和测试共享内存通信。如果对我们的方法有任何见解、引用或更正,我们将不胜感激。 感谢您的支持! 致以最崇高的敬意, Sumit 注:-如果需要帮助改进响应或生成详细日志,请告诉我! Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 您好,Bio_TICFSL, 在您的 github 链接中,我们找到了 5.15 Kirkstone 的一些链接: https://github.com/NXP/meta-nxp-harpoon/blob/imx-linux-kirkstone/recipes-extended/jailhouse/jailhouse_%25.bbappend https://github.com/NXP/meta-nxp-harpoon/tree/imx-linux-kirkstone 这对我们的恩智浦i.mx8MQ板有帮助吗? 谢谢、 苏米特 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 让我给大家支几招: 1.Documentation/inter-cell-communication.md 描述了内存的排列方式。 每个单元的 ivshmem 都需要以下区域: - 用于保存状态表的只读区域,一般为一页大小 - 所有对等点都可读写的一个区域 - 每个对等点都有一个输出区域,仅其中一个可读写 2.至 i.MX8MQ /* 00:00.0 的 IVHSMEM 共享内存区域*/ { .phys_start= 0xbfdf0000, .virt_start= 0xbfdf0000, .size= 0x1000, .flags= JAILHOUSE_MEM_READ, ===> 这是状态表。 }, { .phys_start= 0xbfdf1000, .virt_start= 0xbfdf1000, .size= 0x9000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE , ===> 这是 RW 部分。您可以用它来进行交流。或者把这个放大。 }, { .phys_start= 0xbfdfa000, .virt_start= 0xbfdfa000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE , ==> 这是根输入/输出 }, { .phys_start= 0xbfdfc000, .virt_start= 0xbfdfc000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ, ==> 这是根目录输入 }, { .phys_start= 0xbfdfe000, .virt_start= 0xbfdfe000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ, ==> 这是根目录输入信息 这与 imx8mq-inmate-linux.c 中的布局相似。 您可以配置 RW 和 INPUT/OUTPUT 部分,但不要触碰状态部分。 对于 INPUT/OUTPUT,如果定义了多个区域,则每个区域的大小应相同。 此致 Peng 开始标志。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 你好 MX8MQ 没有监狱,但是可以以 github 或 6.6.36 为基础的 MX8M 系列是同一个系列BSP。 此致 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 你好,Bio_TICFSL 非常感谢你的快速回复。 由于我们使用的是 i.MX NXP 8MQ EVK 板 'i.MX 8MQuad',部件号为 " TDA6637 "。 目前,我已经闪存了 Linux Yocto 5.15 Kirkstone'5.15.71-2.2.0'。 但是在你回复 “ NXP Harpoon Jailhouse integration” 时,我们需要 “i.MX Linux Yocto Project 电路板支持包 6.6.36-2.1.0 Harpoon v3 版本”,。 对于 i.MX 8MQ 板它在 5.15 之前支持 Kirkstone Image,在你的 Harpoon 用户指南中 “UG10170” 和 Github 链接为 “https://github.com/NXP/meta-nxp-harpoon/tree/imx-linux-scarthgap” 在此版本中测试了以下板: 恩智浦 i.MX 8MMini LPDDR4 EVK (imx8mm-lpddr4-evk) 恩智浦 i.MX 8MNano LPDDR4 EVK (imx8mn-lpddr4-evk) 恩智浦 i.MX 8MPlus LPDDR4 EVK (imx8mp-lpddr4-evk) 更不用说了 i.MX 8MQ 了,你能否为我们的板提供具体的监狱解决方案,或者提出其他建造囚犯牢房的可能性? 非常感谢你们的支持。 谢谢, Sumit Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 你好 你可以通过bbappend的配方遵循与恩智浦鱼叉监狱整合类似的方法。 参见示例:meta-nxp-harpoon/配方-extended/jailhouse/jailhouse-imx_%.bbappend 在 imx-linux-scarthgap · nxp/ Me... 用户指南: https://www.nxp.com/docs/en/user-guide/Harpoon_USERS_GUIDE.pdf 此致 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ @Peng [email protected] 请就我们面临的自定义监牢创建问题(如上述票单中所述)提出一些解决方案? 感谢您的支持。 请与我们联系,了解任何需要的更多细节。
View full article
RW612 FlexSPI PORTB1 アクセス RW612 チップセットを外部 XIP モードで使用しています。コードは FlexSPI PortA1 から実行され、PSRAM (APS6404L) を FlexSPI PortB1 に接続しています。SDKs (25.06 バージョン) が提供する構成を使用してポート B1 にアクセスしています。 PSRAM ID を読み取ろうとすると、PortB1 (CLCK/CS) で信号アクティビティが表示されません。 これらの信号が欠陥のある部品によって保持されていないことを確認するために、SPARM を取り外しました。 これは、APS6404 が DQS 信号を使用しないという事実に関係していますか? DQS を使用しないように PortB1 を構成するにはどうすればよいでしょうか? FlexSPI が PortA1 アクセス用に初期化された後は、FLEXSPI_Init 関数を呼び出すことができないことがわかっています。 ご協力とお時間をありがとうございました。 Re: RW612 FlexSPI PORTB1 access こんにちは、ローマン。 ご協力ありがとうございます。この問題は、バスの実行中に FlexSPI クロックを設定しようとしたことに関連していました。次の行をコメント アウトしました。 CLOCK_EnableClock( kCLOCK_Flexspi ); BOARD_SetFlexspiClock(FLEXSPI、5U、3U); FlexSPI ポート B1 は現在実行されており、AHB キャッシュを使用して PSRAM への書き込み/読み取りをCAN。 助けてくれてありがとう、本当に感謝してるよ。 Re: RW612 FlexSPI PORTB1 access こんにちは@khalidL 。 下の画像のように、MCU 設定で PSRAM メモリ セクションを定義しましたか? プロジェクトのアプリケーション コード ハブ投稿に記載されている手順を必ず実行し、問題が解決しない場合はお知らせください。 Re: RW612 FlexSPI PORTB1 access こんにちは、ローマン。 ご協力とご協力に感謝いたします。上記の例をプロジェクトに統合する過程で、次の問題が発生しました。メインから関数「 __RAMFUNC(SRAM) status_t BOARD_InitPsRam(void) 」を呼び出すと、コードがサイレントにクラッシュします。 リンカーファイル(main_data.ldt、main_txt.ldt および noinit_noload_section.ldt)board.cをコピーするファイル?BOARD_InitPsRam が RAM に正しくコピーされなかったためにコードがクラッシュしたのではないかと思います。 お時間を割いてご協力いただき、改めて感謝申し上げます。 Re: RW612 FlexSPI PORTB1 access この例は私のボードでは動作します。ご協力ありがとうございます。 Re: RW612 FlexSPI PORTB1 access こんにちは@khalidL 、お元気ですか。 アプリケーション コード ハブには、外部 NOR フラッシュからの XIPに関する例があります。共有されたリンクからサンプルをテストして、プロジェクト要件に適合するかどうかをお知らせください。 プロジェクトを MCUXpresso IDE にインポートするには、「アプリケーション コード ハブからインポート」オプションをクリックします。(このサンプルには SDK バージョン 2.16.00 が必要です) アプリケーション コード ハブ ウィンドウに入ったら、サンプルの名前 (外部 NOR フラッシュからの XIP およびマルチポート FlexSPI モジュールを使用した外部 pSRAM の構成) を検索し、それを選択して「Github リンク」をクリックし、「次へ >」ボタンが使用できるようになるまで待ちます。 「次へ > 」ボタンをクリックしたら、手順に従って Git リポジトリからプロジェクトをインポートします。最後に、プロジェクトがワークスペースで使用できるようになると、セットアップでフラッシュしてテストできるようになります。 これが役に立つかどうか教えてください。
View full article
S32G399 PCIe 无法发送 TLP 数据包 如图所示,请帮帮我。目前,我正在使用 S32G399A 芯片,并通过 PCIe 接口将其连接到 FPGA。在这种配置中,S32G399A 行动 RC,FPGA 行动 EP。我现在遇到的问题是可以访问FPGA的配置空间,但是bar0的内存空间无法触发信号TLP。 下图显示了"dmesg" 在操作系统中打印的信息。在"出境" 部分,显示的是 6OB 和 4IB。应如何配置出站和入站,以及应在何处配置? 另外,原地址 基地址 目标地址分别代表什么? Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 是的,根据测试,在当前的电路板支持包驱动程序下,RC 会根据 EP 的 BAR 设置自动将该区域映射到 32 位/64 位地址空间。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets 您是说 PCIe 位宽与 EP 有关吗?如果 EP 端是 64 位,那么是否无需对 RC 端进行任何修改? Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 感谢您的回复。 S32G PCIe RC 支持 64 位地址访问 例如,我使用另一个 S32G 板作为 EP,修改了 EP 端的 BAR 的相应位,然后从 RC 端的输出启动 RC 后,映射的一个区域是 " 区域 0:4900000000(64 位,可预取)[size=1M] " 的内存,可以通过 64 位地址访问。 详细修改方法可查看自己的 PCIe EP 驱动程序/RM。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets 请问,如何将 PCIe RC 模式配置为 64 位宽? 目前,我使用 32 位宽度与 FPGA 通信。 Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 让我在这里继续支持它。 从显示的日志来看,有 6 个 OB 窗口和 4 个 IB 窗口。 1.OB 窗口和 IB 窗口的数量通常取决于硬件 IP,您认为这些窗口的数量是否足够? 关于 iatu 的配置,您可以查看驱动程序/pci/controller/dwc 下的驱动程序进行设置。 2。原始地址可以是来自内存功能域的请求中的地址,基本地址可以是主机地址空间中该区域的参考点,而目标地址是 PCIe 功能域中的起点。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets @cehnyin_h Re: S32G399 PCIe cannot send TLP packets 您好,@LONGGANGSU 感谢您的回复。 我发现这个问题也是通过其他渠道提出的,请直接向那里求助。 BR 切宁 Re: S32G399 PCIe cannot send TLP packets 你好,@龙岗素 谢谢你的帖子。 1。看来你在用电路板支持包,哪个版本? 2。哪些串行器用于连接设备,使用 PCIe x1? 3.所提到的快照是指哪份文件? BR 切宁
View full article
NXP:蓝牙与信道探测天线 这些幻灯片是为马德里卡洛斯三世大学的欧洲天线学校准备的。内容: - 关于NXP和无线控制器 - 关于信道探测和NXP解决方案 - CS天线设计及功能测试 - CS天线阵列与CS定位
View full article
S32K Sound Mixer Hi all, Recently, we completed S32K Sound Mixer reference code and demo, and glad to share this demo at here. Some key feature of this demo:  - Demo HW based on S32K344/S32K148 + audio codec SGTL5000 + QSPI flash MX25L6433.  - Demo SW based on S32K3 RTD RTM 2.0.0 and S32K1 RTD RTM 1.0.0.  - Demo provided 2 kinds of sound mixing algorithm realization code, and corresponding audio materials and codec SGTL5000 driver.  - Demo showed how to programming QSPI flash and its AHB accessing via audio storage and playing process.  - Demo used mono audio as source for processing, and output stereo audio (I2S format) via SAI HW FIFO combine (Line_Mux) function with nearly no extra cost. HMI/Cluster apps need multiple audio sources (usually warning sounds) be played simultaneously, which brings sound mixing ability requirement. However, S32K1/3 lack of this HW/SW feature support. With the demand from local key customer, and considering potential customer requirements, we planned to enable a SW sound mixer with scheduled peripherals, to enhance the S32K family audio mixing ability. It shall be easy of using/porting on S32K1/3, and use QSPI flash (AHB mode read) to store the music. Attachment the Sound Mixer package includes 2 sound mixing examples based on S32K344 EVB and S32K148 T-Box RDB, and some slides to introduce this implementation and quick start guide.  Thanks and welcome any comment from you. Best Regards, Shuailin Li Re: S32K Sound Mixer Hi @zyc0211 , Please sign-in your NXP website account, and see below place: FYI. If you still can not obtain the RTD 2.0.0 driver, please contact corresponding NXP FAE/DFAE to get the resources. Regards, Shuailin 回复: S32K Sound Mixer Hello, where is the download connection for S32K3 RTD RTM2.0? The S32K3 RTD 4.4 I installed cannot open the project
View full article
实践研讨会:利用恩智浦汽车智能射频远程控制接口 (RCI) 进行开发 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP 的 RF 产品 Lizard、MantraCS、MantraF 的 RCI 介绍。使用 RCI 固件和配置开发套件 (CDK) 可以轻松实现系统集成和开发。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP 的 RF 产品 Lizard、MantraCS、MantraF 的 RCI 介绍。使用 RCI 固件和配置开发套件 (CDK) 可以轻松实现系统集成和开发。
View full article