Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
S32K142 FSEC set using cmm script Hello, We are using the S32K142 in our project with the bootloader and application as separate builds, but sharing a common startup file. We would like to lock the debug ports using a TRACE32 (.cmm) script by programming the FSEC register with the MEEN bit enabled. Is it possible to modify/program the FSEC configuration using a .cmm script after bootloader and application flashing is completed? Also, is there any restriction on performing a reset after loading the firmware for the FSEC changes to take effect? Do you have an example/reference .cmm script that can be used to implement this (FSEC programming with MEEN enabled) on S32K142 and also to perform mass erase? Re: S32K142 FSEC set using cmm script Hi @Venk_1  The cmm scripts can be used for whatever you want, there are endless possibilities. Yes, you can modify the FSEC. Take a look at beginning of this file, there's a description how to use this default programming script: c:\T32\demo\arm\flash\s32k.cmm  Then it can be as simple as this: DO ~~/demo/arm/flash/s32k PREPAREONLY CPU=S32K142 flash.auto.all /CENSORSHIP Data.Set SD:0x40C %LE 0xFE flash.auto.off Notice that flash configuration field is protected against unwanted modification. It's necessary to use parameter "/CENSORSHIP" as shown above to remove the protection. This is a feature of this programming script, it is not feature of the MCU.  In this example, default "unsecured" value 0xFE is written to FSEC at 0x40C. You can modify it to required value.  There are not restriction related to reset. Yes, reset is needed to activate new FSEC configuration.  For mass erase, use this command: flash.UNSECUREerase But if CSEc is enabled, it won't work. It is necessary to erase the keys first.  Regards, Luksa
View full article
S32DS for PA v2.1のライセンスが間もなく期限切れになりますので、延長をお願いします。 こんにちは、 私のS32DS for PA v2.1のライセンスが間もなく期限切れになります。 メンテナンス期間の延長にご協力ください。 どうもありがとう。 Re: S32DS for PA v2.1 license will expire soon, please extend こんにちは、 PA v2.1用のS32DSライセンスの有効期限が延長されました。以前使用していたコードを使って、S32DSを再度有効化してください。
View full article
与 imx8mm 上的安全调试相关的熔丝映射 你好 我正在开发 imx8mm 的安全调试功能,但找不到 JTAG_SMODE、SJC_DISABLE、JTAG_HEO、SJC_RESP 和 SJC_RESP_LOCK 的正确保险丝映射。我查看了 RM 和网络安全 RM。 这是否可在某处公开获取? 顺祝商祺! 塞尔吉奥-普拉多 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano 安全 Re: Fuse mapping related to secure debug on iMX8MM fuse map在保密协议之下,你有吗?如果没有,请点击"申请 NDA" https://www.nxp.com/support/support:SUPPORTHOME?tid=sbmenu Re: Fuse mapping related to secure debug on iMX8MM @joanxie我确认我已经签订了一份保密协议合同,有效期为 04/28/2027 年。 能否请您确认并通过电子邮件分享这些信息? Re: Fuse mapping related to secure debug on iMX8MM 好吧。我会申请保密协议。
View full article
一部のファイルでマクロチェックが間違っている ハイ SDK 25.06.00 を参照します。 私のプロジェクトでは FreeRTOS を使用することも、ベアメタルにすることもCAN。 SO、USE_RTOSシンボルを 0 または 1 として定義できます。 チェックが完了すると通常は次のようになるため、これは一般的には問題ありません。 #if (defined(USE_RTOS) && (USE_RTOS > 0U)) https://github.com/nxp-mcuxpresso/mcux-component/blob/main/lists/fsl_component_generic_list.c#L17を参照してください。 またはhttps://github.com/nxp-mcuxpresso/mcux-component/blob/main/mem_manager/fsl_component_mem_manager.c#L20 SO、ベアメタル プロジェクトですでに述べたように、 USE_RTOS を0 に設定しても問題ありません。 fsl_os_abstraction.h内ファイル自体には、特定の条件下でのこの定義があります。 https://github.com/nxp-mcuxpresso/mcux-component/blob/main/osa/fsl_os_abstraction.h#L194 ただし、NXP によってリリースされたファイルの中には、このパラダイムに従わないものもあります。たとえば、/middleware/mcuboot_opensource/ boot/nxp_mcux_sdk/include/os/os_malloc.h などです。 ここでの チェック は 単純 です: #if defined(USE_RTOS) https://github.com/nxp-mcuxpresso/mcuboot/blob/mcux_main/boot/nxp_mcux_sdk/include/os/os_malloc.h#L23 明らかに、機能を無効にするために USE_RTOS が 0 に定義されている場合、このチェックは無効です。 これは唯一の例ではありません。 コードベース全体を見直してこの問題を修正していただきますようお願いいたします。 よろしくお願いいたします 最大 Re: wrong macro check in some files こんにちは@mastupristi はい、その通りです。これは既知の問題なので、ソフトウェア チームに転送します。 フィードバックをいただき、ありがとうございます。 よろしくお願いします。 ダニエル Re: wrong macro check in some files こんにちは、 @mastupristi さん mcubootリポジトリには同期されたmain_mcuxブランチがないため、リリースブランチ/タグを使用してください。 https://github.com/nxp-mcuxpresso/mcuboot/tree/release/26.03.00 バグは既に修正済みです。 よろしくお願いいたします。 ダニエル
View full article
S32 2.2 Armのインストールとアクティベーションについて こんにちは、 S32バージョン2.2 Armをインストールしようとしていますが、アクティベーションキーが既にアクティベートされていると表示されるため、インストールできません。 この件について調査し、解決にご協力ください。 ありがとうございます。 Re: Regarding : Installation and Activation of S32 2.2 Arm こんにちは 、 この問題はまだ解決していません。どなたか解決方法を教えていただき、ご回答いただけないでしょうか。 ありがとうございます。 NXPユーザー。 #S32 DesignStudio V2.2 Arm Re: Regarding : Installation and Activation of S32 2.2 Arm こんにちは、 S32DS v2.2インストーラー(アップデート2なし)をダウンロードし、実行して再度アクティベートしてください。 それでもアクティベーションが失敗する場合は、c:\ProgramData\FLEXnet\ の内容をバックアップして削除し、再度インストールを開始してください。このフォルダはデフォルトでは非表示になっています。
View full article
USB 主机模式 主机启动错误 3 LPC54605J256 嗨,朋友们 我在启动 USB 主机时遇到了问题。 无论我尝试什么方法,它总是给出错误 3 - 无法定位驱动程序实例? 欢迎提出真知灼见。 谢谢。 LPC54605J256。 定制主板。 我的 USB 系统的某些部分似乎可以运行 - 这是 USB 系统的主要部分和打印部分。 我是嵌入式系统的新手,所以可能忽略了一些东西,也许是 usb 编号,或者是主程序中额外的 usb init。 我尽量只使用配置工具。 时钟、引脚和外设都很正常,相关的 USB 引脚、主机模式、nvic 都已启用。 包含 fsl-power.h。 USB 采用 48Mhz 的 PLL。 我有正确的电阻 REXT 值。 所有配置工具定义的 USB 引脚和 USBHSH 都是按工具要求定义的。 USBID 没有绑定在任何方向上,但根据我的理解,这可以通过端口模式强制连接? 为键盘供电。 VUSB - 4.5 伏。 键盘上的 LED 灯亮起,但由于启动失败,没有发生任何其他情况:) 我检查了控制器 ID。 我使用的是高速主机。 #define CONTROLLER_ID kUSB_ControllerIp3516Hs0 它已在 host config.h 中声明。作为 1U int main(void) { vPortDefineHeapRegions(xHeapRegions); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); SEGGER_RTT_Init(); PRINTF (" 系统正在启动...\ r\n "); /* USB1 HS PHY POWER */ POWER_DisablePD(kPDRUNCFG_PD_USB1_PHY); /* 启用 USB1 HS 主机时钟 */ CLOCK_EnableClock(kCLOCK_Usbh1); CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); /* 强制 usb1 进入主机模式 */ usbhsh->portmode&= ~(1ul<< 16); usbhsh->portmode |= (1ul<< 16); /* PHY 的小延迟 */ for (volatile uint32_t d = 0; d< 180000; d++) __NOP(); PRINTF("USB PORTMODE = 0x%08lX\r\n", USBHSH->PORTMODE); PRINTF("USBHSH->PORTSC1 = 0x%08lX\r\n", USBHSH->PORTSC1); PRINTF("USBHSH->USBSTS = 0x%08lX\r\n", USBHSH->USBSTS); PRINTF("USBHSH->USBCMD = 0x%08lX\r\n", USBHSH->USBCMD); /* 启动 USB 主机堆栈 */ usb_status_t usbStatus = USB_HostInit(CONTROLLER_ID,&g_HostHandle, USB_HostEvent); if (usbStatus == kStatus_USB_Success) { PRINTF("USB HOST INIT OK\r\n"); } else { PRINTF("USB HOST INIT FAILED:%d\r\n", (int)usbStatus); } 进程:jlinkgdb ServercleXE 系统正在启动... USB PORTMODE = 0x00050000 US BHSH-> PORTSC1 = 0x00001000 USBHSH-> USBSTS = 0x00000000 USBS H-> USBCMD = 0x000000 USBCMD = 0x 00000501 USB 主机初始化失败:3 启动调度程序... LPC546xx Re: USB Host mode Host init error 3 LPC54605J256 我又输入了一些打印语句来查看时钟。 它是在时钟工具中设置的,但似乎无法正常运行? /* ====================== MAIN ====================== */ int main(void) { vPortDefineHeapRegions(xHeapRegions); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); SEGGER_RTT_Init(); PRINTF (" 系统正在启动...\ r\n "); /* USB1 HS PHY POWER */ // POWER_DisablePD(kPDRUNCFG_PD_USB1_PHY); /* ENABLE USB1 HS HOST CLOCK */ // CLOCK_EnableClock(kCLOCK_Usbh1); // CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); // status_t status; // status = CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 480000000U); // PRINTF("USB 主机时钟启动状态 =%d\r\n", status); /* 强制 usb1 进入主机模式 */ usbhsh->portmode&= ~(1ul<< 16); usbhsh->portmode |= (1ul<< 16); /* PHY 的小延迟 */ for (volatile uint32_t d = 0; d< 180000; d++) __NOP(); PRINTF("USB PORTMODE = 0x%08lX\r\n", USBHSH->PORTMODE); PRINTF("USBHSH->PORTSC1 = 0x%08lX\r\n", USBHSH->PORTSC1); PRINTF("USBHSH->USBSTS = 0x%08lX\r\n", USBHSH->USBSTS); PRINTF("USBHSH->USBCMD = 0x%08lX\r\n", USBHSH->USBCMD); PRINTF("\r\n--- USB CLOCK DIAGNOSTICS ---\r\n"); /* USB PLL 状态 */ PRINTF("USBPLLCTRL : 0x%08lX\r\n", SYSCON->USBPLLCTRL); PRINTF("USBPLLSTAT : 0x%08lX\r\n", SYSCON->USBPLLSTAT); /* USB1 时钟复用器 + 分频器 */ PRINTF (" USB1CLKSEL: 0x%08LX\ r\n ",SYSCON-> USB1CLKSEL); PRINTF (" USB1CLKDIV: 0x%08LX\ r\n ",SYSCON-USB1CLKDIV);> /* 电源门控快照 */ PRINTF("PDRUNCFG : 0x%08lX\r\n", SYSCON->PDRUNCFG); /* SDK 级视图 */ PRINTF("USB1CLK freq:%lu\r\n", CLOCK_GetFreq(kCLOCK_UsbClk)); PRINTF("--- END USB CLOCK DIAGNOSTICS ---\r\n\rn"); /* 启动 USB 主机堆栈 */ usb_status_t usbStatus = USB_HostInit(CONTROLLER_ID,&g_HostHandle, USB_HostEvent); if (usbStatus == kStatus_USB_Success) { PRINTF("USB HOST INIT OK\r\n"); } else { PRINTF("USB HOST INIT FAILED:%d\r\n", (int)usbStatus); } 系统正在启动... USB PORTMODE = 0x00050000 USB HSH-> PORTSC1 = 0x00001000 USBHSH-> USBSTS = 0x00000000 USBSH-> USBCMD = 0x00000000 USBHSH- USBCMD = 0x00000501 --- USB CLOCK DIAGNOSTICS --- USBPLLCTRL : 0x00001017 USBPLLSTAT : 0x00000001 USB1CLKSEL : 0x00000002 USB1CLKDIV : 0x00000005 PDRUNCFG : 0x40000610 USB1CLK freq: 0 --- END USB CLOCK DIAGNOSTICS --- Re: USB Host mode Host init error 3 LPC54605J256 嗨,卡洛斯,感谢您的快速回复。 我使用的是 SDK 2.14.0(我曾尝试使用更新版的,但在一个问题上失败了,我相信实际上也是 USB 驱动程序的问题--IDE 指出 SDK(最新版)和所需(旧版)驱动程序不匹配),抱歉我现在记不清细节了。 我使用的 CPU 系统时钟为 180Mhz。 与此 - CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); status_t status; status = CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); PRINTF("USB 主机时钟启动状态 =%d\r\n", status); 我返回 - USB 主机时钟初始状态 = 1 有帮助吗? Re: USB Host mode Host init error 3 LPC54605J256 嗨,@SOOTY1、 谢谢您的帖子! 请告知您使用的是哪个版本的 SDK? 请查看 CLOCK_EnableUsbhs0HostClock 的返回值。 你可以参考 LpcXpresso54608 主板开发工具包中的 USB 主机示例,但这些示例使用 USB FS 而不是 HS。 要实现高速 USB 运行,CPU 时钟必须配置为 ,最低频率为 60 MHz。 BR. Re: USB Host mode Host init error 3 LPC54605J256 我又试了几次,似乎 USB 时钟无法正常连接和运行。 在 USBPLL 的 48Mhz 输入时钟配置中,选择正确。 int main(void) { vPortDefineHeapRegions(xHeapRegions); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); SEGGER_RTT_Init(); PRINTF (" 系统正在启动...\ r\n "); PRINTF (" Core clock = %lu Hz\ r\n ", clock_getFreq (kclock_coresySCLK)); /* 电源和时钟 */ Power_DisablePD (KPDRUNCFG_PD_USB1_PHY); P ower_DisablePD (KPDRUNCFG_pd_vd2_ANA);//外部晶体模拟功能域 Power_disablePD (KPDRUNCFG_PD_PD3);//USB PLL 功能域 P ower_DisablePD (kpdruncfg_pd_pd_pd_pd_PD3);//USB PLL 功能域 Power_DisablePD (kpdruncfg_pd_pd_pd_pd_pd_3);//vd5);//USB PHY 功能域 sdk_DelayAtleastus(1500,systemCoreCloc k);clock_enableClock(kclock_USBH1);clock_enableUSBHS0HostClock(kclock_usbsrcusBPLL,48000000U);[我不知道这里应该是 48M 还是 480M 无论如何都不起作用] PRINTF("USB PLL freq =%lu Hz\r\n", CLOCK_GetFreq(kCLOCK_UsbPll)); PRINTF("USB1CLK freq =%lu Hz\r\n", CLOCK_GetFreq(kCLOCK_UsbClk)); /* 强制主机模式 - 第 16 位 */ USBHSH->PORTMODE&= ~(1UL<< 16); USBHSH->PORTMODE |= (1UL<< 16); PRINTF("USB PORTMODE = 0x%08lX\r\n", USBHSH->PORTMODE); PRINTF("USBHSH->PORTSC1 = 0x%08lX\r\n", USBHSH->PORTSC1); PRINTF("USBHSH->USBSTS = 0x%08lX\r\n", USBHSH->USBSTS); PRINTF("USBHSH->USBCMD = 0x%08lX\r\n", USBHSH->USBCMD); PRINTF("\r\n--- USB CLOCK DIAGNOSTICS ---\r\n"); /* USB PLL 状态 */ PRINTF("USBPLLCTRL : 0x%08lX\r\n", SYSCON->USBPLLCTRL); PRINTF("USBPLLSTAT : 0x%08lX\r\n", SYSCON->USBPLLSTAT); /* USB1 时钟复用器 + 分频器 */ PRINTF (" USB1CLKSEL: 0x%08LX\ r\n ",SYSCON-> USB1CLKSEL); PRINTF (" USB1CLKDIV: 0x%08LX\ r\n ",SYSCON-USB1CLKDIV);> /* 电源门控快照 */ PRINTF("PDRUNCFG : 0x%08lX\r\n", SYSCON->PDRUNCFG); /* 可选 SDK 级别视图(如果有)*// /PRINTF (" USB1CLK freq: %lu\ r\n ", clock_getFreq (kclock_USBPLL)); PRINTF("--- END USB CLOCK DIAGNOSTICS ---\r\n\rn"); /* Init stack */ usb_status_t status = USB_HostInit(CONTROLLER_ID,&g_HostHandle, USB_HostEvent); if (status != kStatus_USB_Success) { PRINTF("USB_HostInit failed with status%d)\r\n", status); } gives - USB_HostInit(CONTROLLER_ID, g_HostHandle, USB_HostEvent). 进程:jlinkgdb ServercleXE 系统正在启动... 核心时钟 = 180000000 Hz USB PLL 频率 = 0 Hz USB1CLK 频率 = 0 Hz USB PORTMODE = 0x00050000 USBH SH-> PORTSC1 = 0x00001000 USBHSH-> USBSTS = 0x00000000 USBSH-> USBCMD = 0x 00000501 --- USB CLOCK DIAGNOSTICS --- USBPLLCTRL : 0x00000D3F USBPLLSTAT : 0x00000001 USB1CLKSEL : 0x00000002 USB1CLKDIV : 0x00000000 PDRUNCFG : 0x40000610 --- END USB CLOCK DIAGNOSTICS --- USB_HostInit 失败,状态为 3) 是不是开机顺序不正确? 我现在真的不知道。 我为此努力了很久。 我认为驱动程序不正确/未找到也是另外一回事。 我就更不知道了--我已经在 .map 中注册了、在工作区中包含的 host_config(包含在编译版本中)中启用。 Re: USB Host mode Host init error 3 LPC54605J256 @carlos_o 我在使用 SDK 时仍然遇到问题(更多详情请参见主题)。 我今天将 SDK 更改为 25.06.00,并将配置工具更新为 26.03, ,但仍收到 USB 主机启动失败的错误代码 3。 PLL 没有启动,尽管在配置工具时钟树中似乎已按书本进行了配置。 欢迎提出任何见解。 谢谢、 Re: USB Host mode Host init error 3 LPC54605J256 你好@SOOTY1 很抱歉这么晚才回复,感谢您所做的详细测试。 请删除调用 CLOCK_EnableClock(kCLOCK_Usbh1); 在调用之前   CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U);   原因是 CLOCK_EnableUsbhs0HostClock()已经处理了时钟启用。此外,某些外设必须在更改配置前禁用,而事先启用时钟可能会妨碍正确的重新配置。   让我知道你的结果。
View full article
带有 GDB 客户端 9.2 包的 S32 设计工作室 3.6 我想在 S32 设计工作室 3.6.6 中安装适用于 ARM 嵌入式处理器的 " GDB 客户端 9.2 版本 1701 "。我无法将这个包离线 /explicit 包含到 IDE 中。版本 3.6.6目前使用的是 GDB 客户端 15.1。这可能吗? Re: S32 design studio 3.6 with GDB client 9.2 package 你好@sushil_zero 最简单的方法是安装 S32 Design Studio for S32 Platform v3.6.3,其中已包含所需的工具链版本。 安装完成后,您可以将现有的 S32 Design Studio v3.6.3 升级到 v3.6.6,详细步骤请参阅 S32 Design Studio 3.6.6 的第 4.2 节。在下载 IDE 的同一链接中提供了 RFP 安装指南。 BR、VaneB
View full article
S32 Design Studio for ARM Version: 2018.R1 License延期 你好,NXP团队! 目前使用的S32 Design Studio for ARM v2018.R1开发环境,license许可过期,烦请帮忙延期,谢谢! S32 Design Studio for ARM ActivationId: E29E-CFD0-B62F-1EB1 Evaluation Days: 1 Feature Version: 1.0 Feature Status: EVALUATION Re: S32 Design Studio for ARM Version: 2018.R1 License延期 你好、 您的 S32DS 许可证已延期。请使用旧代码重新激活 S32DS。
View full article
关于:S32 2.2 Arm 的安装和激活 你好, 我正在尝试安装 S32 版本 2.2 Arm,但激活密钥显示,它已经激活了,所以无法安装。 请调查此事并帮助解决。 感谢和问候 Re: Regarding : Installation and Activation of S32 2.2 Arm Hi , 这个问题还没有解决,请问谁能帮助解决并回复。 感谢和问候, NXP 用户。 #S32 DesignStudio V2.2 Arm Re: Regarding : Installation and Activation of S32 2.2 Arm 你好、 请下载 S32DS v2.2 安装程序(不含更新 2),运行并再次激活。 如果激活仍然失败,请尝试备份并删除 c:\ProgramData\FLEXnet\ 中的内容,然后重新开始安装。文件夹默认为隐藏。
View full article
S32 AUTOSAR RTDパッケージを使用したS32DSのみを使用し、EB Tresosを使用せずにAUTOSAR準拠コードを生成することは可能ですか?はいの場合、具体的な実装方法はどのようなものですか? Re: S32 autosar こんにちは、 CAN S32DSとRTDだけでAUTOSAR準拠のコードを生成できますか? No. AUTOSARに準拠するには、以下の条件を満たす必要があります。 ✅ MCAL(ドライバ)→RTDはこの役割を担うことができる ❌ BSWスタック(Com、DCM、NvMなど) ❌ RTE(ランタイム環境) ❌ ARXMLベースの設定 ❌ システム構成ツール(Tresos/DaVinciなど) これらの要素はAUTOSARアーキテクチャにおいて必須です。 よろしくお願いいたします。 ピーター
View full article
USB Host mode Host init error 3 LPC54605J256 Hi friends, I'm having a problem trying to init the usb host.  No matter what I try, it keeps giving error 3 - can't locate driver instance?  Any insight welcome.  thank you. LPC54605J256.  Custom board. I have some parts of the usb seemingly operational - here's the main, and prints of the usb system. I am a newcomer to embedded so I have probably overlooked something, perhaps in the usb numbering, or the extra usb init in main.  I have tried to only use the config tools.  Clocks, pins and peripherals are all looking good, relevant usb pins, host mode, nvic, enabled.  fsl-power.h is included.  USB is taking PLL at 48Mhz.  I have the correct resistor REXT value.  All config tools defined USB pins and USBHSH are defined as demanded by tool. USBID is, not tied in any direction, but that can be forced with portmode as I understood it?  Power is provided to the keypad.  VUSB - 4.5v.  LED lights on the keypad, but as init fails, nothing more happens : ) I have checked the controller ID.  I'm using for High Speed Host. #define CONTROLLER_ID kUSB_ControllerIp3516Hs0 it is declared in host config.h as 1U int main(void) { vPortDefineHeapRegions(xHeapRegions); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); SEGGER_RTT_Init(); PRINTF("System Booting...\r\n"); /* USB1 HS PHY POWER */ POWER_DisablePD(kPDRUNCFG_PD_USB1_PHY); /* ENABLE USB1 HS HOST CLOCK */ CLOCK_EnableClock(kCLOCK_Usbh1); CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); /* FORCE USB1 INTO HOST MODE */ USBHSH->PORTMODE &= ~(1UL << 16); USBHSH->PORTMODE |= (1UL << 16); /* Small delay for PHY */ for (volatile uint32_t d = 0; d < 180000; d++) __NOP(); PRINTF("USB PORTMODE = 0x%08lX\r\n", USBHSH->PORTMODE); PRINTF("USBHSH->PORTSC1 = 0x%08lX\r\n", USBHSH->PORTSC1); PRINTF("USBHSH->USBSTS = 0x%08lX\r\n", USBHSH->USBSTS); PRINTF("USBHSH->USBCMD = 0x%08lX\r\n", USBHSH->USBCMD); /* START USB HOST STACK */ usb_status_t usbStatus = USB_HostInit(CONTROLLER_ID, &g_HostHandle, USB_HostEvent); if (usbStatus == kStatus_USB_Success) { PRINTF("USB HOST INIT OK\r\n"); } else { PRINTF("USB HOST INIT FAILED: %d\r\n", (int)usbStatus); } Process: JLinkGDBServerCLExe System Booting... USB PORTMODE = 0x00050000 USBHSH->PORTSC1 = 0x00001000 USBHSH->USBSTS = 0x00000000 USBHSH->USBCMD = 0x00000501 USB HOST INIT FAILED: 3 Starting scheduler... LPC546xx Re: USB Host mode Host init error 3 LPC54605J256 I put in some more print statements to look at the clock.  It's set up right in clocks tool, but seems not to be running normally? /* ====================== MAIN ====================== */ int main(void) { vPortDefineHeapRegions(xHeapRegions); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); SEGGER_RTT_Init(); PRINTF("System Booting...\r\n"); /* USB1 HS PHY POWER */ // POWER_DisablePD(kPDRUNCFG_PD_USB1_PHY); /* ENABLE USB1 HS HOST CLOCK */ // CLOCK_EnableClock(kCLOCK_Usbh1); // CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); // status_t status; // status = CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 480000000U); // PRINTF("USB host clock init status = %d\r\n", status); /* FORCE USB1 INTO HOST MODE */ USBHSH->PORTMODE &= ~(1UL << 16); USBHSH->PORTMODE |= (1UL << 16); /* Small delay for PHY */ for (volatile uint32_t d = 0; d < 180000; d++) __NOP(); PRINTF("USB PORTMODE = 0x%08lX\r\n", USBHSH->PORTMODE); PRINTF("USBHSH->PORTSC1 = 0x%08lX\r\n", USBHSH->PORTSC1); PRINTF("USBHSH->USBSTS = 0x%08lX\r\n", USBHSH->USBSTS); PRINTF("USBHSH->USBCMD = 0x%08lX\r\n", USBHSH->USBCMD); PRINTF("\r\n--- USB CLOCK DIAGNOSTICS ---\r\n"); /* USB PLL state */ PRINTF("USBPLLCTRL : 0x%08lX\r\n", SYSCON->USBPLLCTRL); PRINTF("USBPLLSTAT : 0x%08lX\r\n", SYSCON->USBPLLSTAT); /* USB1 clock mux + divider */ PRINTF("USB1CLKSEL : 0x%08lX\r\n", SYSCON->USB1CLKSEL); PRINTF("USB1CLKDIV : 0x%08lX\r\n", SYSCON->USB1CLKDIV); /* Power gating snapshot */ PRINTF("PDRUNCFG : 0x%08lX\r\n", SYSCON->PDRUNCFG); /* SDK-level view */ PRINTF("USB1CLK freq: %lu\r\n", CLOCK_GetFreq(kCLOCK_UsbClk)); PRINTF("--- END USB CLOCK DIAGNOSTICS ---\r\n\r\n"); /* START USB HOST STACK */ usb_status_t usbStatus = USB_HostInit(CONTROLLER_ID, &g_HostHandle, USB_HostEvent); if (usbStatus == kStatus_USB_Success) { PRINTF("USB HOST INIT OK\r\n"); } else { PRINTF("USB HOST INIT FAILED: %d\r\n", (int)usbStatus); } System Booting... USB PORTMODE = 0x00050000 USBHSH->PORTSC1 = 0x00001000 USBHSH->USBSTS = 0x00000000 USBHSH->USBCMD = 0x00000501 --- USB CLOCK DIAGNOSTICS --- USBPLLCTRL : 0x00001017 USBPLLSTAT : 0x00000001 USB1CLKSEL : 0x00000002 USB1CLKDIV : 0x00000005 PDRUNCFG : 0x40000610 USB1CLK freq: 0 --- END USB CLOCK DIAGNOSTICS --- Re: USB Host mode Host init error 3 LPC54605J256 Hi Carlos, thanks for your quick reply.  I'm using SDK 2.14.0 (I tried to use more modern, but it failed on a, I believe also a USB driver actually - IDE stated mismatch between SDK (latest) and needed (older) driver) Sorry I don't remember the details of that now. I'm using a CPU system clock of 180Mhz.  with this -  CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); status_t status; status = CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U); PRINTF("USB host clock init status = %d\r\n", status); I return - USB host clock init status = 1 does that help? Re: USB Host mode Host init error 3 LPC54605J256 Hi @SOOTY1, Thanks for your post! Could please share which SDK version you are using? Please review the return value of CLOCK_EnableUsbhs0HostClock. You could refer to the USB Host examples at the SDK for the LPCXpresso54608 board but that examples use USB FS instead of HS.  To have high-speed USB operating, the CPU clock must be configured to a minimum frequency of 60 MHz. BR. Re: USB Host mode Host init error 3 LPC54605J256 I tried some more and it seems USB clock is failing to attach properly and run.  It is selected correctly in clock config with 48Mhz input, from USBPLL. int main(void) { vPortDefineHeapRegions(xHeapRegions); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitBootPeripherals(); SEGGER_RTT_Init(); PRINTF("System Booting...\r\n"); PRINTF("Core clock = %lu Hz\r\n", CLOCK_GetFreq(kCLOCK_CoreSysClk)); /* Power and Clock */ POWER_DisablePD(kPDRUNCFG_PD_USB1_PHY); POWER_DisablePD(kPDRUNCFG_PD_VD2_ANA); // External crystal analog domain POWER_DisablePD(kPDRUNCFG_PD_VD3); // USB PLL domain POWER_DisablePD(kPDRUNCFG_PD_VD5); // USB PHY domain SDK_DelayAtLeastUs(1500, SystemCoreClock); CLOCK_EnableClock(kCLOCK_Usbh1); CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U);  [I don't know should it be 48M or 480M here neither work anyway] PRINTF("USB PLL freq = %lu Hz\r\n", CLOCK_GetFreq(kCLOCK_UsbPll)); PRINTF("USB1CLK freq = %lu Hz\r\n", CLOCK_GetFreq(kCLOCK_UsbClk)); /* Force Host mode - bit 16 */ USBHSH->PORTMODE &= ~(1UL << 16); USBHSH->PORTMODE |= (1UL << 16); PRINTF("USB PORTMODE = 0x%08lX\r\n", USBHSH->PORTMODE); PRINTF("USBHSH->PORTSC1 = 0x%08lX\r\n", USBHSH->PORTSC1); PRINTF("USBHSH->USBSTS = 0x%08lX\r\n", USBHSH->USBSTS); PRINTF("USBHSH->USBCMD = 0x%08lX\r\n", USBHSH->USBCMD); PRINTF("\r\n--- USB CLOCK DIAGNOSTICS ---\r\n"); /* USB PLL state */ PRINTF("USBPLLCTRL : 0x%08lX\r\n", SYSCON->USBPLLCTRL); PRINTF("USBPLLSTAT : 0x%08lX\r\n", SYSCON->USBPLLSTAT); /* USB1 clock mux + divider */ PRINTF("USB1CLKSEL : 0x%08lX\r\n", SYSCON->USB1CLKSEL); PRINTF("USB1CLKDIV : 0x%08lX\r\n", SYSCON->USB1CLKDIV); /* Power gating snapshot */ PRINTF("PDRUNCFG : 0x%08lX\r\n", SYSCON->PDRUNCFG); /* Optional SDK-level view (if available) */ // PRINTF("USB1CLK freq: %lu\r\n", CLOCK_GetFreq(kCLOCK_UsbPll)); PRINTF("--- END USB CLOCK DIAGNOSTICS ---\r\n\r\n"); /* Init stack */ usb_status_t status = USB_HostInit(CONTROLLER_ID, &g_HostHandle, USB_HostEvent); if (status != kStatus_USB_Success) { PRINTF("USB_HostInit failed with status %d)\r\n", status); } gives -  Process: JLinkGDBServerCLExe System Booting... Core clock = 180000000 Hz USB PLL freq = 0 Hz USB1CLK freq = 0 Hz USB PORTMODE = 0x00050000 USBHSH->PORTSC1 = 0x00001000 USBHSH->USBSTS = 0x00000000 USBHSH->USBCMD = 0x00000501 --- USB CLOCK DIAGNOSTICS --- USBPLLCTRL : 0x00000D3F USBPLLSTAT : 0x00000001 USB1CLKSEL : 0x00000002 USB1CLKDIV : 0x00000000 PDRUNCFG : 0x40000610 --- END USB CLOCK DIAGNOSTICS --- USB_HostInit failed with status 3) Is it something in the powerup sequence is incorrect?  I really don't know now. I have tried so long on this.  I think the incorrect driver/not found is also a separate thing. I have even less of an idea with that - I have it registered in the .map, enabled in the host_config, included in the build, present in the workspace . . Re: USB Host mode Host init error 3 LPC54605J256 @carlos_o  I'm still having the problems with the SDK (see thread for more details) I have today changed SDK to 25.06.00 and updated the Config Tools to 26.03 also I still get the USB Host init fail error code 3.  PLL is not starting, even though it seems configured by the book in the config tools clock tree.   Any insight is very welcome. thanks, Re: USB Host mode Host init error 3 LPC54605J256 Hi @SOOTY1  Apologize the late reply and thank you for the detailed testing you have done. Could you please remove the call to CLOCK_EnableClock(kCLOCK_Usbh1); before calling   CLOCK_EnableUsbhs0HostClock(kCLOCK_UsbSrcUsbPll, 48000000U);   The reason is that the clock enable is already handled inside CLOCK_EnableUsbhs0HostClock(). Additionally, some peripherals must be disabled before changing their configuration, and enabling the clock beforehand may prevent proper reconfiguration.   Let me know your results. 
View full article
S32デザインスタジオ3.6(GDBクライアント9.2パッケージ付き) S32 design studio 3.6.6 に「GDB Client for ARM Embedded Processors 9.2 Build 1701」をインストールしたいです。オフライン/明示的なインクルードのためにこのパッケージをIDEに取り込むことができません。バージョン3.6.6現在、GDBクライアント15.1を使用しています。それは可能ですか?それは推奨されますか? Re: S32 design studio 3.6 with GDB client 9.2 package こんにちは、 @sushil_zeroさん 最も簡単な方法は、必要なツールチェーンバージョンが既に含まれているS32 Design Studio for S32 プラットフォーム v3.6.3をインストールすることです。 インストール後、既存のS32 Design Studio v3.6.3をv3.6.6にアップグレードできます。詳細な手順については、S32 Design Studio 3.6.6のセクション4.2を参照してください。RFPのインストールガイドは、IDEをダウンロードしたのと同じリンクから入手できます。 BR、VaneB
View full article
S32 Design Studio for ARM Version: 2018.R1 License Extension Hello, NXP team! Currently using S32 Design Studio for ARM v2018.R1 development environment, license license expired, please help to extend, thank you! S32 Design Studio for ARM ActivationId: E29E-CFD0-B62F-1EB1 Evaluation Days: 1 Feature Version: 1.0 Feature Status: EVALUATION Re: S32 Design Studio for ARM Version: 2018.R1 License延期 Hi,  your S32DS license has been extended. Please activate S32DS again with your old code. 
View full article
Regarding : Installation and Activation of S32 2.2 Arm Hi, I am trying to install S32 Version 2.2 Arm, but the activation key says, its already been activated and so, am not able to install. Please look into this and help to resolve. Thanks and Regards Re: Regarding : Installation and Activation of S32 2.2 Arm Hi ,  This issue isn't resolved, can anyone please help to resolve and reply back. Thanks and regards, NXP User. #S32 DesignStudio V2.2 Arm Re: Regarding : Installation and Activation of S32 2.2 Arm Hi,  please download S32DS v2.2 installer ( without Update 2), run it and activate it again. If activation still fails, try to backup and delete content of c:\ProgramData\FLEXnet\ and start installation again. The folder is hidden by default. 
View full article
当 PN7160 设置为 LPCD 模式时,不能使用 2×2 厘米天线从 LPCD 模式激活它。 使用 “NFC 天线工具”,我们为 PN7160 设计了一个 2 cm × 2 cm 的板载天线,Q 系数为 20,目标阻抗为 11 Ω。由于这是一个小型天线,我们根据 "PN7160 常见问题 [AN13892]"启用了 PN7160 的 DPC。 在这种情况下,如果我们不启用 PN7160 的 LPCD 模式,两台 PN7160 设备可以通过 P2P 进行正常通信。但是,如果我们启用 PN7160 的 LPCD 模式,PN7160 将无法从 LPCD 模式唤醒。不过,使用相同的驱动器,我们可以用 2 厘米 × 4 厘米的天线从 LPCD 模式激活它。 来自 2 厘米 × 2 厘米天线的 LPCD TRACE 信息如下: D (6358097) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6358597) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6359107) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6359617) PN7160_I2C:NCI<< 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 有关天线设计参数,请参阅附件。 并将 CORE_SET_CONFIG_CMD 设置为 : uint8_t NxpNci_CORE_CONF_EXTN[]={0x20, 0x02, 0x6B, 0x05, /* CORE_SET_CONFIG_CMD */ 0xA0, 0x40, 0x01, 0x81、 /* TAG_DETECTOR_CFG */ 0xA0, 0x41, 0x01, 0x10, /* TAG_DETECTOR_THRESHOLD_CFG */ 0xA0, 0x42, 0x01, 0x0F、 /* TAG_DETECTOR_PERIOD_CFG */ 0xA0, 0x43, 0x01, 0x00, /* TAG_DETECTOR_FALLBACK_CNT_CFG */ 0xA0, 0x0B, 0x57, 0xE5, 0x05, 0x90, 0x6E, 0x0F, 0x4E, /* DPC_CONFIG*/ 0x00, 0x40, 0x95, 0xB7, 0xAA, 0x40, 0x9F, 0xA7, 0x99、 0x53, 0x9F, 0x97, 0x99, 0x5D, 0x9F, 0x97, 0x99, 0x5F, 0x9F, 0x97, 0x00, 0x68, 0x9F, 0x07, 0x00, 0x6A, 0x1F, 0x07, 0x00, 0x74, 0x1F, 0x07, 0x00, 0x78, 0x1F, 0x07, 0x00, 0x7F, 0x1F, 0x07, 0x00, 0x81, 0x1F, 0x07, 0x00、 0x8B, 0x1F, 0x04, 0x00, 0x8C, 0x1F, 0x04, 0x00, 0x96, 0x1F, 0x04, 0x00, 0x98, 0x1F, 0x04, 0x00, 0xA1, 0x1F、 0x02、0x00、0xA9、0x1F、0x00、0x00、0xAF、0x1F、0x00、 0x00、0xB8、0x1F、0x00、0x00、0xC2、0x1F、0x00、0x00 }; 这个问题是由天线匹配还是寄存器设置引起的?
View full article
When the PN7160 is set to LPCD mode, it cannot be activated from LPCD mode using a 2×2 cm antenna Using the “NFC Antenna Tool,” we designed a 2 cm × 2 cm on-board antenna for the PN7160 with a Q-factor of 20 and a target impedance of 11 Ω. Since this is a small antenna, we enabled the PN7160's DPC in accordance with the “PN7160 Frequently Asked Questions [AN13892].” Under these conditions, if we do not enable the PN7160’s LPCD mode, the two PN7160 devices can communicate normally via P2P. However, if we enable the PN7160’s LPCD mode, the PN7160 will be unable to wake up from LPCD mode. Using the same driver, however, we can activate it from LPCD mode with a 2cm × 4cm antenna. The LPCD TRACE messages from 2 cm × 2 cm antenna are: D (6358097) PN7160_I2C: NCI << 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6358597) PN7160_I2C: NCI << 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6359107) PN7160_I2C: NCI << 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 D (6359617) PN7160_I2C: NCI << 0x6f 0x13 0x04 0x80 0x83 0x80 0x03 Please refer to the attachment for the antenna design parameters. And the CORE_SET_CONFIG_CMD is set to : uint8_t NxpNci_CORE_CONF_EXTN[]={0x20, 0x02, 0x6B, 0x05, /* CORE_SET_CONFIG_CMD */ 0xA0, 0x40, 0x01, 0x81,    /* TAG_DETECTOR_CFG */ 0xA0, 0x41, 0x01, 0x10,     /* TAG_DETECTOR_THRESHOLD_CFG */ 0xA0, 0x42, 0x01, 0x0F,   /* TAG_DETECTOR_PERIOD_CFG */ 0xA0, 0x43, 0x01, 0x00,   /* TAG_DETECTOR_FALLBACK_CNT_CFG */ 0xA0, 0x0B, 0x57, 0xE5, 0x05, 0x90, 0x6E, 0x0F, 0x4E, /* DPC_CONFIG*/ 0x00, 0x40, 0x95, 0xB7, 0xAA, 0x40, 0x9F, 0xA7, 0x99, 0x53, 0x9F, 0x97, 0x99, 0x5D, 0x9F, 0x97, 0x99, 0x5F, 0x9F, 0x97, 0x00, 0x68, 0x9F, 0x07, 0x00, 0x6A, 0x1F, 0x07, 0x00, 0x74, 0x1F, 0x07, 0x00, 0x78, 0x1F, 0x07, 0x00, 0x7F, 0x1F, 0x07, 0x00, 0x81, 0x1F, 0x07, 0x00, 0x8B, 0x1F, 0x04, 0x00, 0x8C, 0x1F, 0x04, 0x00, 0x96, 0x1F, 0x04, 0x00, 0x98, 0x1F, 0x04, 0x00, 0xA1, 0x1F, 0x02, 0x00, 0xA9, 0x1F, 0x00, 0x00, 0xAF, 0x1F, 0x00, 0x00, 0xB8, 0x1F, 0x00, 0x00, 0xC2, 0x1F, 0x00, 0x00 }; Is this issue caused by antenna matching or by the register settings?
View full article
Fuse mapping related to secure debug on iMX8MM Hello, I am working on the secure debug feature for iMX8MM, but cannot find the correct fuse mapping for JTAG_SMODE, SJC_DISABLE, JTAG_HEO, SJC_RESP and SJC_RESP_LOCK. I looked at the RM and Security RM. Is this publicly available somewhere? Best regards, Sergio Prado i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Security Re: Fuse mapping related to secure debug on iMX8MM fuse map is under NDA, do you have it? if no, pls click "request an NDA"  https://www.nxp.com/support/support:SUPPORTHOME?tid=sbmenu Re: Fuse mapping related to secure debug on iMX8MM Alright. I will request an NDA. Re: Fuse mapping related to secure debug on iMX8MM @joanxie I confirmed I already have a NDA contract in place with expiration date 04/28/2027. Can you please confirm and share the information over email?
View full article
RW612 非安全 Flash 设置会中断 RESET 功能 你好 我在 FRDM-RW612 上使用 ARM TF-M 和 Zephyr(恩智浦下游 v4.3.0)时遇到了一个奇怪的错误。我想将闪存芯片的一个区域用于非安全 LittleFS 文件系统。 我按照恩智浦指南添加了一个 NS 区域(链接),并成功将该区域用于我的文件系统,Zephyr/FS API 或访问问题都没有出现。 我的问题是,当我启用 CONFIG_FLASH KConfig 选项时,我无法再重置我的板了。调用 tfm_platform_system_reset ()、nvic_systemReset (),甚至按下物理 RESET 按钮,都会锁定处理器,实际上不会再重置主板了。 我用调试器执行了一遍,在调试器脱离/断开之前执行的最后一行是 core_cm33.h:2683(在 __NVIC_SystemReset 内): SCB->AIRCR = (uint32_t)((0x5FAUL<< SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR& SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk ); 如果我在 RESET 后连接了调试器,GDB 会永远显示地址为 0x20005840 的程序。 我在一个非常基本的程序上尝试过同样的事情,即使在 zephyr hello world 程序中添加 CONFIG_FLASH 也会以同样的方式导致重置失败。 希望得到任何帮助,谢谢! Re: RW612 Nonsecure Flash Setting Breaks Reset Functionality 你好,@jm-streametric,希望你一切都好。 为了帮助我更好地分析这种行为,请确认在您使用 hello world 示例进行的测试中,您添加的唯一设置是否是 CONFIG_FLASH?或者,您是否也使用根据指南创建的设置(CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)启用了添加的 NS 区域? 我试过运行 Zephyr(下游 v4.3.0)中的你好世界示例,只添加了 CONFIG_FLASH 设置,我就能重置主板。
View full article
S32DS for PA v2.1 许可证即将到期,请延期 您好, 我的 S32DS for PA v2.1 许可证即将到期。 请帮助延长维护时间。 非常感谢。 Re: S32DS for PA v2.1 license will expire soon, please extend 你好、 您的 PA v2.1 版 S32DS 许可证已延期。请使用旧代码重新激活 S32DS。
View full article
HDMI-CSIコンバータモジュールTC358743とi.MX8MP-FRDMボードの接続 Waveshare製の東芝製IC TC358743をベースにしたHDMI-CSI2変換モジュールを、インターフェースしようとしています。 私はYoctoプロジェクトを使用してイメージをビルドしています $ DISTRO=fsl-imx-wayland MACHINE=imx8mp-lpddr4-frdm source imx-setup-release.sh -b frdm_sources_whinlatter そして、このコマンドを使用してドライバを選択しました bitbake -c menuconfig /virtual/kernel そしてそれは.configファイルに反映されていますファイルも CONFIG_VIDEO_TC358743=y CONFIG_VIDEO_TC358743_CEC=y それに応じてdtsファイルを修正しました。参考のためにdtsファイルを添付します。 しかし、ICと通信できませんでした i2cdetect -y 1 の場合でも、0x0F アドレスにロックされません (UU)。しかし、i2c1でデバイスアドレスを確認することはできます。 DTSファイルまたはドライバ選択で何が不足しているのでしょうか? Linux マルチメディア Yocto Project Re: Iterfacing HDMI-CSI convertor module TC358743 with i.MX8MP- FRDM board これに関する公式に検証済みのコードはありません。お送りしたリンクにはdts設定が共有されていますので、ご自身の設定と比較して、何か見落としている点がないか確認してください。 Re: Iterfacing HDMI-CSI convertor module TC358743 with i.MX8MP- FRDM board このクエリで言及されている解決策に対して、「ページが見つかりません」というエラーが表示されます。 この問題を解決するための公式サポートページはありますか? Re: Iterfacing HDMI-CSI convertor module TC358743 with i.MX8MP- FRDM board 正しく設定されているかどうかを確認するには、以下のリンクを参照してください。 https://community.nxp.com/t5/i-MX-Processors/i-MX8MP- %E7% A7 %BB% E6 %A4% 8Dtc358743 %E5% 88 %86% E8 %BE% A8 %E7% 8E %87% E8 %B0% 83 %E6% 95 %B4% E9 %97% AE %E9% A2%98/mp/1631189 Re: Iterfacing HDMI-CSI convertor module TC358743 with i.MX8MP- FRDM board この問題は解決しましたが、Gstremer を使用した CSI2 から HDMI へのビデオパイプラインに関して別の問題に直面しています。これが DTS の問題なのか、それとも別の問題なのかがわかりません。 参考までに、デバイスからの応答ログを添付します。そしてdtsファイル、 root@imx8mp-lpddr4-frdm:~# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 abcdef 00: -- -- -- -- -- -- -- UU 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- うう -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@imx8mp-lpddr4-frdm:~# v4l2-ctl --list-devices (): /dev/v4l-subdev0 FSLキャプチャメディアデバイス(プラットフォーム:32c00000.bus:camera): /dev/media0 mxc-isi_v1 (プラットフォーム:32e00000.isi:cap_devic): /dev/video3 mxc-isi-m2m_v1 (プラットフォーム:32e00000.isi:m2m_devic): /dev/video2 vsi_v4l2dec (プラットフォーム:vsi_v4l2dec): /dev/video1 vsi_v4l2enc (プラットフォーム:vsi_v4l2enc): /dev/video0 root@imx8mp-lpddr4-frdm:~# v4l2-ctl -d /dev/v4l-subdev1 --query-dv-timings 有効幅: 1280 アクティブ高さ:720 全幅:1650 全高:750 フレーム形式: プログレッシブ 極性: -vsync -hsync ピクセルクロック:74250000 Hz(毎秒60.00フレーム) 水平方向の玄関ポーチ:0 水平同期: 370 水平方向の裏ポーチ:0 垂直型フロントポーチ:0 垂直同期: 30 垂直バックポーチ:0 基準: 旗: root@imx8mp-lpddr4-frdm:~# v4l2-ctl -d /dev/v4l-subdev1 --set-dv-bt-timings query BTのタイミングが設定されました root@imx8mp-lpddr4-frdm:~# media-ctl -p メディアコントローラーAPIバージョン6.18.2 メディアデバイス情報 ------------------------ ドライバ mxc-md モデルFSLキャプチャメディアデバイス シリアル バス情報プラットフォーム:32c00000.バス:カメラ ハードウェアリビジョン 0x0 ドライバーバージョン 6.18.2 デバイストポロジー - エンティティ 1: mxc_isi.0(パッド16個、リンク2個、ルート0個) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 pad0: シンク <- "mxc-mipi-csi2.0":4 [有効] pad1: シンク pad2: シンク pad3: シンク pad4: シンク pad5: シンク pad6: シンク pad7: シンク pad8: シンク pad9: シンク pad10: 沈む pad11: シンク pad12: ソース -> "mxc_isi.0.capture":0 [有効] pad13: ソース pad14: ソース pad15: シンク - エンティティ 18: mxc_isi.0.capture (1 パッド、1 リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/video3 pad0: シンク <- "mxc_isi.0":12[有効] - エンティティ22: mxc-mipi-csi2.0 (8パッド、2リンク) タイプ ノード サブタイプ V4L フラグ 0 デバイスノード名 /dev/v4l-subdev0 pad0: シンク <- "tc358743 1-000f":0 [有効、不変] pad1: シンク pad2: シンク pad3: シンク pad4: ソース -> "mxc_isi.0":0[有効] pad5: ソース pad6: ソース pad7: ソース - エンティティ 31: tc358743 1-000f (パッド 1、リンク 1、ルート 0) タイプ V4L2 サブデバイス サブタイプ 不明 フラグ 0 デバイスノード名 /dev/v4l-subdev1 pad0: ソース [stream:0 fmt:RGB888_1X24/1280x720 field:none colorspace:srgb] [dv.caps:BT.656/1120最小:640x350@13000000 最大:1920x1200@165000000 標準:CEA-861、DMT、CVT、GTF キャップ:プログレッシブ、リデュースド- ブランキング、カスタム] [dv.detect:BT.656/11201280x720p60 (1650x750) stds: flags:] [dv.current:BT.656/11201280x720p60 (1650x750) stds: flags:] -> "mxc-mipi-csi2.0":0 [有効、不変] root@imx8mp-lpddr4-frdm:~# gst-launch-1.0v4l2src デバイス=/dev/video3 num-buffers=10 !\ > video/x-raw,format=YUY2,width=1920,height=1080,framerate=60/1 !\ 偽シンク パイプラインを一時停止状態に設定しています... パイプラインは稼働中で、事前登録は不要です。 パイプラインは事前登録済みです... パイプラインを再生中に設定します... 新しい時計: GstSystemClock エラー: 要素 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0 から: 必要なメモリの割り当てに失敗しました。 追加のデバッグ情報: /usr/src/debug/gstreamer1.0-plugins-good/1.26.6.imx/sys/v4l2/gstv4l2src.c(957): gst_v4l2src_decide_allocation (): /GstPipeline:pipel ine0/GstV4l2Src:v4l2src0: バッファプールのアクティベーションに失敗しました 実行は0:00:00.025120625で終了しました。 パイプラインをNULLに設定中... エラー: 要素 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0 から: 内部データストリームエラー。 追加のデバッグ情報: /usr/src/debug/gstreamer1.0/1.26.6.imx/libs/gst/base/gstbasesrc.c(3187):gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l 2src0: ストリーミングが停止しました。理由は交渉不能です(-4) パイプラインを解放する... 外部ディスプレイ(HDMI接続)にも何も表示されません。 Re: Iterfacing HDMI-CSI convertor module TC358743 with i.MX8MP- FRDM board 第7.3.9章を参照してください。Linuxユーザーガイドのカメラプレビューでは、media-ctlを使用して接続を作成する必要があります。 https://www.nxp.com/docs/en/user-guide/UG10163.pdf
View full article