Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32G3:RTD MemMap 截面违规(用于 LLCE) 您好, 根据"[S32G3/Valeo] RTD MemMap Sections Violations - NXP Community" 的建议,我创建了此票据,用于为 LLCE 进行 xxx_MemMap 审核,具体如下(完整文档附后)。 请检查使用 GHS 编译后,下列参数/函数是否遗漏包含在适当的内存区域。 ================================================================= (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_43_LLCE_AFcfg.c: Llce_Eth2Can_EnabledFormats => CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE(即 bss 部分)中的数据 pLlce_Can_AfBuffer => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED(即 rodata 部分)中的数据 (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_43_LLCE_MAIN_SOC_PBcfg.c:// VariantPostBuild 已启用 (MAIN_SOC) Llce_Rx_Filters_List_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据为 rodata 部分 Llce_RxAf_Filters_List_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据为 rodata 部分 Llce_Rx_Filters_Ctrl0_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据为啮合数据。 Llce_Rx_Filters_Ctrl2_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,它是啮合数据 Llce_Rx_Filters_Ctrl4_PB_MAIN_SOC=> CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据是啮合数据段 Llce_Rx_Filters_Ctrl9_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据是啮合数据段 Llce_Rx_Filters_Ctrl15_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据是啮合数据段。 Llce_RxAf_Filters_Ctrl0_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据。这是rodata部分 Llce_RxAf_Filters_Ctrl5_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,这是 Llce_RxAf_Filters_Ctrl9_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据为 rodata 部分 Llce_RxAf_Filters_Ctrl15_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED 中的数据,该数据为 rodata 部分 (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_Llce: llce_minihif => 未包含在 Can_43_LLCE_MemMap.h 中的静态全局变量 u8Length => 未包含在 Can_43_LLCE_MemMap.h 中的静态局部变量 stringBuf => 未包含在 Can_43_LLCE_MemMap.h 中的静态局部变量 ***************************************************************************************************************************************************************** 答:请通过标签"LLCE" 在恩智浦社区 ***************************************************************************************************************************************************************** 向 LLCE 团队提出此问题。 LLCE Re: S32G3: RTD MemMap Sections Violations (For LLCE) 您好, 你知道修复工作是否有时间表吗?如果有,何时? Re: S32G3: RTD MemMap Sections Violations (For LLCE) 您好, 法雷奥很晚才对您的问题做出反馈: 1.当你说:"Llce_Eth2Can_EnabledFormats => data in CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE which is bss section", 你是说 Llce_Eth2Can_EnabledFormats 应该放在例如 .mcal_bss_no_cacheable 中,但实际上却放在 .bss 部分? 该变量的初始化值为 4,但变量位于 .bss 部分,而不是 .data 部分。部分,因此变量应放在 .mcal_data_x 中。 2. 将全局静态变量llce_minihif加入相应的 MemMap 部分。u8Length/ stringBuf 是函数静态变量,它们不受 MemMap 控制,因为根据 SWS_MemMap_00023,MemMap 不能添加到函数体内部。如果需要通过 MemMap 部分对其进行控制,我们可以遵循 AUTOSAR 建议:"要强制对函数的静态变量进行特殊内存映射,必须将该变量移至文件静态作用域"。 看起来这个变量在 Can_43_LLCE_TS_T40D11M10I10R0 中已被修复。 3.对于 Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ ,您确定将其放在正确的部分吗? 从下图中可以看到,有(static、static const),但它们都被放在同一个部分,即 .mcal_cont_cfg 部分。它是 rodata,而这个文件是生成的,所以我不能把它放在任何部分。 在之前/旧的交易所中,你预计下一个版本中不会有任何软件更新,因为不会有新的软件版本。现在还是这样吗? Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi Cong、 我已将我方的答复汇总给客户,但至今没有进一步的反馈。 我刚刚向我们的联系人发送了一封电子邮件,就您提出的 LLCE 问题征求进一步的反馈意见。 如果客户有任何回复,我们将在此更新。 此致, 理查德-钟 Re: S32G3: RTD MemMap Sections Violations (For LLCE) HiRichard, 感谢您的更新! 我们将在 2025 年 3 月在 S32G 上发行一张光盘,计划于 2025 年 5 月发行。此后没有发布下一个版本的计划。因此,我想收集有关该主题的信息,然后我们可以将这些实现纳入即将发布的2025年5月版本中。 请就我最初答复中的问题提供反馈意见: 1.我是否正确理解了他们所说的话?当他们说"Llce_Eth2Can_EnabledFormats => data in CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE which is bss section", 他们是否说 Llce_Eth2Can_EnabledFormats 应放在 .mcal_bss_no_cacheable 等位置,但实际上却放在 .bss 部分? 2. 将全局静态变量llce_minihif加入相应的 MemMap 部分。u8Length/ stringBuf 是函数静态变量,它们不受 MemMap 控制,因为根据 SWS_MemMap_00023,MemMap 不能添加到函数体内部。如果需要通过 MemMap 部分来控制它们,我们可以遵循 AUTOSAR 的建议:"要强制对函数的静态变量进行特殊内存映射,必须将该变量移至文件静态作用域"。 您能否确认这是一个强烈要求? 3. 对于 Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ , 您是否检查过为什么客户认为它被放在了错误的部分? Re: S32G3: RTD MemMap Sections Violations (For LLCE) 您好, 根据原始票据上关于修复期望的更新,客户将在 6 月冻结代码。 尽管涉及许多元器件并且需要补丁,但要在6月之前组装起来会很困难。 因此,除非客户进一步强调,否则请根据现有假设/资源进行规划。 此致, 理查德-钟 Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi Cong、 很抱歉迟迟没有更新,但正如您在原始票据上看到的,客户完全没有反馈。 我将再次推动这项工作,但看起来您可以根据您对当前形势的评估来制定计划。 此致, 理查德-钟 Re: S32G3: RTD MemMap Sections Violations (For LLCE) 嗨,理查德、 你有关于这个话题的最新消息吗? 我们需要尽快在 S32G 上的三月光盘中实施。 此致, Cong Re: S32G3: RTD MemMap Sections Violations (For LLCE) 对于 2.是的,我们创建了AF-4950票来记录这些详细信息。正在等待上述问题的确认,以便最终确定机票细节。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) 您好, 感谢您的更新。 1.对于Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ ,我将进一步检查为什么客户认为它被放在了错误的部分。 2.至于其他部分,既然您提到我们将进行修订,以确保包含适当的部分,那么我们是否已经制定了解决这些问题的方案/计划,以便与客户分享? 3.如原始票据"[S32G3/Valeo] RTD MemMap Sections Violations - NXP Community" 所述,FAE 正在与客户核实他们对此问题修正的期望,如有进一步信息,将在此更新。 此致, 理查德-钟 Re: S32G3: RTD MemMap Sections Violations (For LLCE) 你好, 首先,我需要了解报告的内容。当他们说"Llce_Eth2Can_EnabledFormats => CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE 中的数据,这是 bss 部分 "时, ,他们是否说 Llce_Eth2Can_EnabledFormats 应位于例如.mcal_bss_no_cacheable、但实际上它被放入 .bss部分? 根据上述假定的理解,反馈意见是: NXP 将: - 将全局静态变量 llce_minihif 纳入相应的 MemMap 部分。u8Length/ stringBuf 是函数静态变量,它们不受 MemMap 控制,因为根据 SWS_MemMap_00023,MemMap 不能添加到函数体内部。如果需要通过 MemMap 部分对其进行控制,我们可以遵循 AUTOSAR 建议:"要强制对函数的静态变量进行特殊内存映射,必须将该变量移至文件静态作用域"。您能确认这是一个强烈要求吗? - 将全局静态变量 llce_minihif 定义纳入相应的 MemMap 部分 - 将 Llce_Eth2Can_EnabledFormats 的声明纳入相应的 MemMap 部分。这很可能就是放错位置的原因。 - 将 pLlce_Can_AfBuffer 的声明纳入相应的 MemMap 部分,并仔细检查当前 MemMap 部分是否合适。 - Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ 已被放入相应的 MemMap 部分,因此需要进行额外分析以确定变量错放的原因。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) 您好, 是否有任何更新? 此致, 理查德-钟
記事全体を表示
S32G3: RTD MemMap Sections Violations (For LLCE) Hi, As suggested by  "[S32G3/Valeo] RTD MemMap Sections Violations - NXP Community", I am creating this ticket for xxx_MemMap review for LLCE as below (full document attached.) Please check if below parameter/functions missed to be included in proper memory region after compiled with GHS. ================================================================= (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_43_LLCE_AFcfg.c: Llce_Eth2Can_EnabledFormats => data in CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE which is bss section pLlce_Can_AfBuffer => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_43_LLCE_MAIN_SOC_PBcfg.c: // VariantPostBuild is enabled (MAIN_SOC) Llce_Rx_Filters_List_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_RxAf_Filters_List_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_Rx_Filters_Ctrl0_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_Rx_Filters_Ctrl2_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_Rx_Filters_Ctrl4_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_Rx_Filters_Ctrl9_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_Rx_Filters_Ctrl15_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_RxAf_Filters_Ctrl0_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_RxAf_Filters_Ctrl5_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_RxAf_Filters_Ctrl9_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section Llce_RxAf_Filters_Ctrl15_PB_MAIN_SOC => data in CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED which is rodata section (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_Llce: llce_minihif => Static global variable not inculded in the Can_43_LLCE_MemMap.h u8Length => Static local variable not inculded in the Can_43_LLCE_MemMap.h stringBuf => Static local variable not inculded in the Can_43_LLCE_MemMap.h ***************************************************************************************************************************************************************** Answer: please raise this questions to LLCE team via tag "LLCE" on NXP community ***************************************************************************************************************************************************************** LLCE Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi, Do you know if fixes are schedule then? if so, when? Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi, Extremely late feedback from Valeo regarding your question: 1. When you said: “Llce_Eth2Can_EnabledFormats => data in CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE which is bss section”, do you say that Llce_Eth2Can_EnabledFormats should be in e.g. .mcal_bss_no_cacheable, but it is actually placed into .bss section? This variable is initialized by a value of 4 but the variable is within A .bss section not .data section so yes the variable should be in e.g .mcal_data_x. 2. Include global static variable llce_minihif into the appropriate MemMap section. u8Length/ stringBuf are function-static variables and they are not under MemMap control because the MemMap cannot be added inside the body of the function according to SWS_MemMap_00023. If it is required to control them by MemMap section, we can follow the AUTOSAR recommendation : “To force a special memory mapping of a function’s static variable, this variable must be moved to file static scope”.  looks like this variable has been fixed in Can_43_LLCE_TS_T40D11M10I10R0. 3. For the Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ , are you sure you placed it in the right section? as you can see in the below image there are (static, static const) but all of them are placed in the same section which is .mcal_cont_cfg which is rodata, and this file is generated so it's not up to me to place it in any section. In the previous/old exchanges you expected no sw updates in next release as there will be no new sw version. Is it still the case?  Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi Cong, I had summarized the response from our side to customer but no further feedback so far. I just sent an individual email to our contact to ask for further feedback on LLCE questions you raised. Will update here if any reply from customer. Regards, Richard Chung. Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi Richard, Thanks for your updates! We will have a CD on S32G in Mar-2025, and it is planed in May-2025. There is no plan for the next release after that. So I want to collect the information on the topic, then we can include these implementations in this upcoming release of May-2025. Please help me with feedback on the questions on my initial response: 1. Do I understand correctly what they say? e.g: When they say: “Llce_Eth2Can_EnabledFormats => data in CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE which is bss section”, do they say that Llce_Eth2Can_EnabledFormats should be in e.g. .mcal_bss_no_cacheable, but it is actually placed into .bss section? 2. Include global static variable llce_minihif into the appropriate MemMap section. u8Length/ stringBuf are function-static variables and they are not under MemMap control because the MemMap cannot be added inside the body of the function according to SWS_MemMap_00023. If it is required to control them by MemMap section, we can follow the AUTOSAR recommendation : “To force a special memory mapping of a function’s static variable, this variable must be moved to file static scope”. Can you confirm this is a strong request? 3. For the Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ , Did you check why customer consider this being placed in wrong section? Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi, As updated on originating ticket about fix expectation, customer will have the code freeze by June. While there being many components getting involved and need patch, it would be difficult to put them together before June. So please plan according to your current assumption/resources unless further highlighted by customer. Regards, Richard Chung. Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi Cong, Sorry for the late update but as you can see on the origin ticket, there is totally no feedback from customer. I will push for this again but it looks like you can plan according to your evaluation as of current situation. Regards, Richard Chung. Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi Richard, Do you have any update on the topic? We need to implement it asap for the March CD on S32G. Regards, Cong Re: S32G3: RTD MemMap Sections Violations (For LLCE) For 2. Yes, we created the ticket AF-4950 to log these details. Waiting for the confirmations for the above questions to finalize the ticket details. Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi, Thanks for your update. 1. For the Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ , I will further check why customer consider this being placed in wrong section. 2. For the rest, since you mentioned we will revise to ensure the proper section inclusion, do we have a ticket/plan in place to fix them so that we can share with customer? 3. As described on the originating ticket "[S32G3/Valeo] RTD MemMap Sections Violations - NXP Community" FAE is checking with customer on their expectation of this issue correction, will update if any further information here. Regards, Richard Chung. Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi, First of all, I need to understand the report. When they say: “Llce_Eth2Can_EnabledFormats => data in CAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLE which is bss section”, do they say that Llce_Eth2Can_EnabledFormats should be in e.g. .mcal_bss_no_cacheable, but it is actually placed into .bss section? Following the presumed understanding above, the feedback is: NXP will: • Include global static variable llce_minihif into the appropriate MemMap section. u8Length/ stringBuf are function-static variables and they are not under MemMap control because the MemMap cannot be added inside the body of the function according to SWS_MemMap_00023. If it is required to control them by MemMap section, we can follow the AUTOSAR recommendation : “To force a special memory mapping of a function’s static variable, this variable must be moved to file static scope”. Can you confirm this is a strong request? • Include global static variable definition llce_minihif into the appropriate MemMap section • Include the declaration of Llce_Eth2Can_EnabledFormats into the corresponding MemMap section. This is most probably the reason for misplacement. • Include the declaration of pLlce_Can_AfBuffer into the corresponding MemMap section and double check whether the current MemMap section is appropriate . • Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ is already placed into the corresponding MemMap section, extra analysis is required to determine the source of variable misplacing. Re: S32G3: RTD MemMap Sections Violations (For LLCE) Hi, Is there any update? Regards, Richard Chung.
記事全体を表示
S32K3 SPD DMA 您好。 我使用 RTD400 和 SPD105,开发板是 S32K312 144P 开发板 我在测试的 UART+DMA 程序中添加了 FCCU 模块,但没有进行任何设置。即使未参考头文件,也没有在代码中初始化 FCCU 部分,该程序也会在 clock_ip_setWaitStates 时死亡 我在已测试的 SPD 模块程序中正常添加了 uart 模块(包括 RAM 和闪存注入错误),然后添加了 DMA 模块,但未作任何设置。即使代码中没有参考头文件和初始化 Fdma 部分,该程序仍将处于函数 Clock_Ip_SetWaitStates() 中;然后它会进入硬件错误中断。 我上传了 UART+DMA 的代码,没有添加 FCCU 模块,可以正常运行。但是,添加后,时钟初始化程序会出现硬件错误。出现这种情况的原因是什么,如何解决这个问题? Re: S32K3 SPD DMA 我也遇到了类似的问题。在 Dma_Ip_Init() 和 Rm_Init() 之后运行Lpuart_Uart_Ip_AsyncSend() 或Lpuart_Uart_Ip_AsyncReceive() 时,使用 S32K312 的UART 中断模式 可以正常工作,但会进入HardFault_Handler()。 有人能帮我一下吗? Re: S32K3 SPD DMA 你好@Neo1096 很抱歉,我们不支持 IAR,您可以参考我们提供的链接文件进行修改。 Re: S32K3 SPD DMA 能否提供 icf 文件?我需要在 IAR 中使用它 Re: S32K3 SPD DMA 你好@Neo1096 我们找到了问题的原因。 这是因为 S32 DS 提供的链接文件存在配置问题。 我们用 S32 DS 中的链接文件替换了 SPD 代码包,这个问题就可以解决了。 因此,请参考附件中的链接文件进行进一步测试。 Re: S32K3 SPD DMA 你好@Neo1096 内部团队已重现该问题,目前正在排除可能的原因。 更新时间 : 7/23/2025. Re: S32K3 SPD DMA 你好@Neo1096 我还没有收到内部论坛的回复,感谢您的耐心等待。 更新数据:2025 年 7 月 15 日。 Re: S32K3 SPD DMA 你好@Neo1096 我还没有收到内部论坛的回复,感谢您的耐心等待。 更新数据:7/7/2025。 Re: S32K3 SPD DMA 你好@Neo1096 我今天早上又催了一次,但还没有收到内部论坛的任何回复。 Re: S32K3 SPD DMA 有什么进展吗? Re: S32K3 SPD DMA 你好@Ne01096 这可能是一个错误,我需要与设计团队确认我是否忽略了什么。 目前的情况是,只要我添加了 DMA 模块,它就会在初始化时钟时进入硬停机状态。 我在不同版本中进行了测试,结果都是一样的。 Re: S32K3 SPD DMA 我在 exceptions.c 中添加了一些代码主要用于处理由错误注入引起的硬件错误。其他部分保持不变。 Re: S32K3 SPD DMA 你好@Neo1096 我在测试您提供的项目"S32K312_SPD104_DMA_UART" 时遇到了您的问题。 我还没有找到原因,但从理论上讲,如果您的设置与"S32K312_SPD104" 相同,应该不会出现这样的问题。 明天我将尝试在"S32K312_SPD104" 中修改您的代码。 这需要一些时间,而且您可能已经修改了启动文件。 Re: S32K3 SPD DMA 我之前上传的代码可以运行。单独添加 FCCU 模块将导致操作失败。 我重新上传了两份代码。 根据 SPD104 版本,可以正确运行测试 RAM 和 FLASH 注入错误的文件。(S32K312_SPD104) 另一个无法正常运行。在前面的代码中额外添加 DMA+UART 部分,该部分将位于 Clock_Ip_SetWaitStates();输入硬件中断 (S32K312_SPD104_DMA_UART) 请看一看。谢谢。 Re: S32K3 SPD DMA 你好@Neo1096 首先,我测试了你提供的项目,没有遇到你提到的问题。您能否提供更多信息,以及是否需要做一些改动? 第二,对应于 4.0.0 的 SPD 版本P24 应为 1.0.4。您可以尝试安装 1.0.4 版,然后再试一次
記事全体を表示
OM27160 ラズベリー i2c NfcService 初期化失敗 OM27160A1HNをラズベリーパイにコネクテッドしています。 https://www.nxp.com/docs/en/application-note/AN12991.pdfの i2c の手順に従いました。 「nfcDemoApp poll」を実行すると、「NfcService Init Failed」というメッセージが表示されます。 これまで試したこと: ボードを二重にチェックしましたが、SPI ではなく I2C でした。 「i2cdetect -y 1」でi2cをスキャンしても何も表示されません。 他の i2c デバイスで動作することがわかっている 2 種類のラズベリー ナッツ クッキーで試しました。 デバッグを有効にしました。ログが添付されています。 今何をチェックすべきかアイデアがありますか? Re: OM27160 raspberry i2c NfcService Init Failed セットアップの詳細: Debian を実行している Raspberry Pi 5 (カーネル 6.12.25+rpt-rpi-2712、aarch64) NXP NFCチップ用のlinux_libnfc-nciライブラリの使用 /dev/i2c-1、/dev/i2c-13、/dev/i2c-14 のバスで I2C が有効 現在の問題: sudo i2cdetect -y 1 はデバイスを表示しません(すべて "--") nfcDemoApp はコンパイルされますが、「NfcService Init Failed」で失敗します また、strings.cpp で C++ std::out_of_range 例外が発生します。 I2C スキャンでは、バス 1 に NFC ハードウェアが検出されないことが示されています。モジュールが正しくコネクテッドされていないか、NFC チップの I2C が正しく構成されていません。 ソースコードの分岐したブランチを使うと進歩しましたが、 @danielchenの返信を見た別の会話によると、皆さんはどこかにプライベートに保存された動作するソースコードのバージョンを持っているようです。 Re: OM27160 raspberry i2c NfcService Init Failed こんにちは@mikytron98さん、 CANセットアップの詳細を教えていただけますか?どの Raspberry Pi と Linux バージョンを使用していますか? BR トーマス Re: OM27160 raspberry i2c NfcService Init Failed 文脈的には、同じことが言えます: NfcService の初期化に失敗しました Elechouse クイック スタート ガイドに従っています。 私はM2チップを搭載したMacからSSH経由でPiにアクセスしています。ここで何が起こっているのかを正確に特定するのに役立つ追加のコンテキスト。 Re: OM27160 raspberry i2c NfcService Init Failed こんにちは@Tomas_Parizek 私も上記と同様の立場です。パッチ ファイルを見つけましたが、nfcDemoApp のポーリングを実行すると、依然として問題が発生します。sudo i2cdetect -y 1 を実行すると、ピンが検出されないことが示されます。他のセットアップで使用していて動作したため、Raspberry Pi が故障していないと判断しました。では、Pi が NFC コントローラを検出するようにするには、他にどのようなパッチを適用すればよいでしょうか? Re: OM27160 raspberry i2c NfcService Init Failed こんにちは、 KennyGさんとStephan_Bさん、 解決策はすでに用意されています。私の同僚が NXP NFC Knowledge base 経由でそれを共有します。 ここのリンクもすぐに更新します。 BR トーマス Re: OM27160 raspberry i2c NfcService Init Failed この問題は最新の Pi リリースで動作するように解決されましたか? よろしくお願いします! --ケン Re: OM27160 raspberry i2c NfcService Init Failed ***アップデート*** --> 修正を見る https://community.nxp.com/t5/NFC-Knowledge-Base/Porting-PN7160-NCI2-stack-to-Raspberry-Pi-5-OS-Bookworm/ta-p/1977521 最新の Raspian Linux バージョン 12 (Bookworm) では、PN7160 が「NfcService Init Failed」を返すことがわかります。 Linux バージョン 11 (bullseye) の場合、この問題は発生しないはずです。 NXP はできるだけ早く修正するために取り組んでいます。 Re: OM27160 raspberry i2c NfcService Init Failed こんにちは@Tomas_Parizek 今日、セットアップがうまくいきました。古い Rasbian バージョン (bullseye) をインストールする必要がありましたが、その後はエラーなしでコンパイルされ、動作します。 どの OS / HW バージョンでテストされているかについては、「スタートガイド」にいくつかのヒントがあればよかったと思います。 よろしくお願いします。 ステファン Re: OM27160 raspberry i2c NfcService Init Failed こんにちは@Tomas_Parizek 私は Raspberry Pi 5 と Raspberry Pi 3 B+ で試してみました。32 ビット版と 64 ビット版の両方をテストしました。ただし、64 ビット バージョン用にコンパイルするときに、後で 64 ビット パッチ ファイルで見つかったコードの一部を修正する必要がありました。 次に、オシロスコープで I2C 信号が送信されているのをCAN確認できたので、これはハードウェアの問題であると想定しました。SO、別の EvalBoard を購入しましたが、まだ動作しません。 「NfcService の初期化に失敗しました」 「出発します…」 それが私が得たすべてです。OSに関してはRasbianを使っています。私は開発キットに付属していたRaspberry Shieldを使用し、ターミナル(SSH/Putty)経由ですべてをセットアップ/インストールしました。 ステファンより Re: OM27160 raspberry i2c NfcService Init Failed こんにちはStephan_Bさん、 セットアップの詳細を教えていただけますか?使用している Raspberry と OS は何ですか? 最新の Raspberry には PN7160 の問題があるようですが、当社の SW チームがすでにそれを確認しています。 BR トーマス Re: OM27160 raspberry i2c NfcService Init Failed こんにちは@Tomas_Parizek 私も同じ問題を抱えています。I2C をチェックし、プラグを抜いて何度も再起動しましたが、常に「NfcService Init Failed」というメッセージが表示されます。セットアップを実行するために試すことができる他の提案はありますか? OM27160 が接続されているかどうかに関係なく、エラー メッセージは同じです。PN7160 が応答しているかどうかを確認する簡単な方法はありますか?ハードウェアに何らかの欠陥があるのでしょうか? よろしくお願いします。 ステファン Re: OM27160 raspberry i2c NfcService Init Failed 皆さん、完全なインストールを実行して、何かを変更できると信じているドライバを使用する時間がありませんでした。 同時に、解決策としてマークされているものは何も解決しません。私の説明を読めば、I2C を使用してさまざまなデバイスと通信することに問題がないことがわかります。SO、マークされたソリューションは、I2C を無効にすることによってそれ自体が作成した問題のみを解決します。 Re: OM27160 raspberry i2c NfcService Init Failed こんにちは、パウェルさん。 私は自分のRaspberry Piでテストしました 私はアプリに記載されている指示に正確に従いました。あなたが言及したことに注意してください。 結果は次のとおりです。 初めてですが、私もあなたと同じように「 NfcService Init Failed 」というエラー メッセージを受け取りました。 SO、PN7160 をソケットから取り外して元に戻し、I2C が有効になっているかどうかを確認しました。 すると、写真の通り、NFC アプリケーションが動作し始めました。 私が使用している HW に関する情報は次のとおりです。 また、最初にやったことがもうひとつあります。設定で I2C を有効にしました。 BR トーマス Re: OM27160 raspberry i2c NfcService Init Failed こんにちは、パウェルさん。 わかりました。Raspberry Pi を 1 台取り出して、私の側で PN7160 をチェックしてみます。 ところで、Raspberry Piの「シールド」を使用していますか、それともケーブル接続を使用していますか? BR トーマス Re: OM27160 raspberry i2c NfcService Init Failed 7160 にファームウェアが欠落しているか、間違ったファームウェアがインストールされている可能性はありますか? SPI を試してみると役立ちますか? Re: OM27160 raspberry i2c NfcService Init Failed 以下は設定から抜粋した関連部分です。ビルディング前に構成が変更されました。 NXP_TRANSPORT=0x02 ############################################################################### # NFCデバイスノード名 NXP_NFC_DEV_NODE="/dev/i2c-1" strace ファイルには、正しいファイルが開かれていることが示されます。興味深いThreadからログのみを抜粋しました。 コマンドは「strace -ff -o strace.log nfcDemoApp poll」でした。 Re: OM27160 raspberry i2c NfcService Init Failed 設定は正しいです。/dev/i2c-1 を開いていることを示す strace ログを添付します。 Re: OM27160 raspberry i2c NfcService Init Failed こんにちは、パウェルさん。 libnfc-nxp.confを確認してください。お願いします? ここでも I2C 代替ドライバを設定する必要があります。 I2Cの場合 -> NXP_TRANSPORT= 0x02 BR トーマス Re: OM27160 raspberry i2c NfcService Init Failed こんにちは@paweljasinski 、 あなたの調子が良いといいのですが。 PN7160 Linux 移植ガイドを参照してください。このドキュメントでは、汎用 GNU/Linux システムに PN7160 コントローラのサポートを追加する方法について詳しく説明します。 よろしく。 エドゥアルド。
記事全体を表示
EB RTDライセンス 申し訳ありませんが、eb の使用中にいくつか問題が発生しました。mcal モジュールをクリックすると、下の図に示すように、このモジュールのライセンスがないことが示されます。eblicense をアクティブ化して対応する rtd exe パッケージをインストールする以外に、実行する必要がある操作はありますか? Re: EB RTD license こんにちは、 RTD 自体にはライセンスは必要ありません。EB tresos のライセンスが不足している可能性があります。現在の EB Tresos アクティベーション キーは、NXP アカウントでCAN。
記事全体を表示
Need fastest possible LVGL graphics VGLite or PXP on iMX RT1176? I'm looking to achieve the fastest possible graphics, i.e. scrolling, animations, etc... on the iMX RT1176, running in landscape 720x1280. What settings / example LVGL demo could I reference? Right now I'm using the MIMXRT1170-EVKB and RK055HDMIPI4MA0 5.5" inch screen. Also using FreeRTOS, not bare metal... Thank you, Scott Re: Need fastest possible LVGL graphics VGLite or PXP on iMX RT1176? Hi @jingpan, @application_ninja  I am working on a LVGL to understand if I can use it in my project. That is why, I am using SDK examples and GUI Guider.  I have both MIMXRT1166 and MIMXRT1170 EVK Board. I run all examples in SDK and over GUI Guider directly. I especially focused on ScreenTransition Example in GUI Guider v1.9.0.  Till now, I tried many many possible scenarios to reach FPS values greater than 25-30FPS. However, I could not see it even though I enable GPU, which is VG-Lite or PXP or both of that. I experienced running UI just with CPU is working much better than enabling & using VGLite or PXP.  If CPU usage were too low levels, I will continue to my workings with only using CPU. However CPU usage for ScreenTransition Example in Gui Guider reaches over %90. So when my BSP involving later, I could not run and manage my project. That is why I focused to use VGLite. But surprisingly, using VGlite does not work at all. Just dropped CPU usage %70 levels but cause FPS values to 6-7 fps levels.  While I searching what else I can do more to improve UI Fps performance, I found your ticket. You mentioned that you reached 47fps levels on a 720 x 1280  display panel. So your experience is the exact my focus subject. As you read in below link, I tried many things but not close to 30fps or even 20-25 fps values at an acceptable CPU consuming usage. So, I really need your help how you obtained to reach 47fps levels?  I also opened a ticket for finding solution of the problem to GUI Guider side. Here is the link. You can read all the details what I have done so far to improve performance of LVGL UI. https://community.nxp.com/t5/GUI-Guider/LVGL-Demo-Example-Working-too-slowly-problem/td-p/2164492  Waiting your comments. Thanks in advance Re: Need fastest possible LVGL graphics VGLite or PXP on iMX RT1176? -O2 does help, but still not the performance I'd expect from this device. 😞 Re: Need fastest possible LVGL graphics VGLite or PXP on iMX RT1176? Hi @application_ninja , The original example report 20FPS on my board. If you set compile optimization level to -O2, it will be 34FPS.  The example use VGLite to off-load CPU work load. If you set  LV_USE_GPU_NXP_VG_LITE to 0, the weighted FPS is 24. And if you set compile optimization to -O2, it will be 47FPS. Regards, Jing Re: Need fastest possible LVGL graphics VGLite or PXP on iMX RT1176? I have tried GUI Guider and the results are still slow, this is why I am asking what are the optimal settings that can be used to achieve the best results? I would think a dual core 1Ghz processor should produce lighting fast graphics, but that's just not the case. Running the example "benchmark" LVGL programs result in less than 15fps, is this normal / expected? Re: Need fastest possible LVGL graphics VGLite or PXP on iMX RT1176? Hi @application_ninja , Please use GUI Guider. It's base on LVGL and is optimized for RT1176 and PXP. https://www.nxp.com/design/software/development-software/gui-guider:GUI-GUIDER Regards, Jing 
記事全体を表示
S32K3 SPD DMA Hello. I use RTD400 and SPD105, and the development board is the S32K312 144P development board I added the FCCU module to the tested UART+DMA program without making any Settings. Even if the header file is not referenced and the FCCU part is not initialized in the code, the program will die at Clock_Ip_SetWaitStates I added the uart module normally in the tested SPD module program (including RAM and flash injection errors), and then added the DMA module without making any Settings. Even if the header file and the initialization Fdma part are not referenced in the code, the program will still be in the function Clock_Ip_SetWaitStates(); Then it enters a hardware error interrupt. I uploaded the code of UART+DMA without adding the FCCU module, and it can run normally. However, after adding it, there will be a hardware error in the clock initialization program. What could be the reason for this and how can this problem be solved? Re: S32K3 SPD DMA I encountered a similar problem. It works when I use UART Interrupt mode of S32K312, but it enter HardFault_Handler(), when I running Lpuart_Uart_Ip_AsyncSend() or Lpuart_Uart_Ip_AsyncReceive()  after Dma_Ip_Init() and Rm_Init(). Can anybody help me? Re: S32K3 SPD DMA Hi@Neo1096 Sorry, we cannot support IAR, you can refer to the link file we provide to modify it. Re: S32K3 SPD DMA Could you provide the icf file? I need to use it in IAR Re: S32K3 SPD DMA Hi@Neo1096 We found the cause of the problem. This is because of the configuration problem of the link file provided by S32 DS. We replaced the link file in the SPD package with that in S32 DS, and this problem can be solved. So please refer to the link file in the attachment for further testing. Re: S32K3 SPD DMA Hi@Neo1096 The internal team has reproduced the problem and is currently eliminating possible causes. Update time : 7/23/2025. Re: S32K3 SPD DMA Hi@Neo1096 I haven't received a response from the internal forum yet, thank you for your patience. Update data:15/7/2025. Re: S32K3 SPD DMA Hi@Neo1096 I haven't received a response from the internal forum yet, thank you for your patience. Update data:7/7/2025. Re: S32K3 SPD DMA Hi@Neo1096 I pushed again this morning, but I haven't received any response from the internal forum yet. Re: S32K3 SPD DMA Has there been any progress? Re: S32K3 SPD DMA Hi@Ne01096 This may be a bug, I need to confirm with the design team if I have overlooked something. The current situation is that as long as I add the DMA module, it will enter hardfalut when initializing the clock. I have tested it in different versions and the results are the same. Re: S32K3 SPD DMA I added some code in exceptions.c under the Startup_Code folder, mainly to handle the hardware errors caused by error injection. The other parts remain unchanged. Re: S32K3 SPD DMA Hi@Neo1096 I encountered your problem when testing the project "S32K312_SPD104_DMA_UART" you provided. I haven't found the reason yet, but in theory, if your settings are the same as "S32K312_SPD104", there shouldn't be such a problem. I will try to modify your code in "S32K312_SPD104" tomorrow. It will take some time, and you may have modified the startup file. Re: S32K3 SPD DMA The code I uploaded before can run. Adding the FCCU module separately will cause the operation to fail. I re-uploaded two copies of the code. A file that can run correctly tests RAM and FLASH injection errors based on the SPD104 version. (S32K312_SPD104) Another one cannot run correctly. It is to add the DMA+UART part additionally in the previous code, which will be in Clock_Ip_SetWaitStates(); Enter the hardware interrupt (S32K312_SPD104_DMA_UART) Please have a look. Thank you. Re: S32K3 SPD DMA Hi@Neo1096 First,I tested the project you provided, and I did not encounter the problem you mentioned. Can you provide more information and whether some changes are needed? Secondly, the SPD version corresponding to 4.0.0 P24 should be 1.0.4. You can try to install version 1.0.4 and try again
記事全体を表示
S32G3: RTD MemMap セクション違反 (LLCE の場合) こんにちは、 「 [S32G3/Valeo] RTD MemMap セクション違反 - NXP コミュニティ」の提案に従い、LLCE の xxx_MemMap レビュー用のチケットを以下のように作成します (完全なドキュメントを添付します)。 GHS でコンパイルした後、以下のパラメータ/関数が適切なメモリ領域に含まれていないかどうかを確認してください。 ================================================================= (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_43_LLCE_AFcfg.c: Llce_Eth2Can_EnabledFormats => BSSSセクションのCAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLEのデータ pLlce_Can_AfBuffer => rodataセクションであるCAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIEDのデータ (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_43_LLCE_MAIN_SOC_PBcfg.c: // VariantPostBuildが有効になっています (MAIN_SOC) Llce_Rx_Filters_List_MAIN_SOC => rodataセクションであるCAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIEDのデータ Llce_RxAf_Filters_List_MAIN_SOC => rodataセクションのCAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIEDのデータ Llce_Rx_Filters_Ctrl0_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_Rx_Filters_Ctrl2_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_Rx_Filters_Ctrl4_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_Rx_Filters_Ctrl9_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_Rx_Filters_Ctrl15_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_RxAf_Filters_Ctrl0_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_RxAf_Filters_Ctrl5_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_RxAf_Filters_Ctrl9_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) Llce_RxAf_Filters_Ctrl15_PB_MAIN_SOC => CAN_43_LLCE_START_SEC_CONFIG_DATA_UNSPECIFIED のデータ(rodata セクション) (Can_43_LLCE_TS_T40D11M10I8R0) (Llce_Af_TS_T40D11M10I8R0) Can_Llce: llce_minihif => 静的グローバル変数が Can_43_LLCE_MemMap.h に含まれていません u8Length => 静的ローカル変数は Can_43_LLCE_MemMap.h に含まれていません stringBuf => 静的ローカル変数は Can_43_LLCE_MemMap.h に含まれていません ***************************************************************************************************************************************************************** 回答: この質問は、NXPコミュニティのタグ「LLCE」を介してLLCEチームに提起してください。 ***************************************************************************************************************************************************************** LLCE Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、 修正が予定されているかどうかご存知ですか?もしSOなら、いつですか? Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、 あなたの質問に関して、Valeo からの非常に遅いフィードバック: 1. 「Llce_Eth2Can_EnabledFormats => bssセクションのCAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLEのデータ」とおっしゃった場合、 Llce_Eth2Can_EnabledFormats は、たとえば .mcal_bss_no_cacheable にあるべきだと言っていますが、実際には .bss セクションに配置されていますか? この変数は4の値で初期化されていますが、変数は.dataではなく.bssセクション内にあります。セクションSO、変数はたとえば .mcal_data_x にある必要があります。 2.グローバル静的変数llce_minihif を適切な MemMap セクションに含めます。u8Length/ stringBuf は関数の静的変数であり、SWS_MemMap_00023 に従って関数の本体内に MemMap を追加できないため、MemMap の制御下にありません。MemMap セクションでそれらを制御する必要がある場合は、AUTOSAR の推奨事項に従うことができます。 「関数の静的変数の特別なメモリ マッピングを強制するには、この変数をファイルの静的スコープに移動する必要があります。」 この変数はCan_43_LLCE_TS_T40D11M10I10R0で修正されたようです。 3. Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ については、正しいセクションに配置しましたか? 下の画像を見ると、(static、static const) がありますが、それらはすべて .mcal_cont_cfg という同じセクションに配置されています。これは rodata であり、このファイルは生成されるSO、どのセクションに配置するかは私の責任ではありません。 以前のやり取りでは、新しいソフトウェア バージョンがないため、次のリリースではソフトウェア アップデートは行われないと予想されていました。それはまだCASEなのでしょうか? Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、コングさん。 弊社側からの回答をお客様にまとめましたが、今のところそれ以上のフィードバックはありません。 あなたが提起した LLCE に関する質問に対するさらなるフィードバックをお願いするために、お問い合わせに個別のメールを送信しました。 お客様からの返信があればここで更新します。 よろしくお願いいたします。 リチャード・チャン。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、リチャード。 更新情報をありがとうございます! S32GのCDは2025年3月にリリース予定で、2025年5月にもリリース予定です。それ以降のリリース予定はありません。SO、このトピックに関する情報を収集し、これらの実装を2025年5月のリリースに組み込む予定です。 最初の回答の質問に対するフィードバックをお願いします。 1. 彼らの言っていることは正しく理解していますか?例えば、 「Llce_Eth2Can_EnabledFormats => BSSSセクションのCAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLEのデータ」と書いてある場合、 Llce_Eth2Can_EnabledFormats は、たとえば .mcal_bss_no_cacheable にあるべきだと言われていますが、実際には .bss セクションに配置されていますか? 2.グローバル静的変数llce_minihif を適切な MemMap セクションに含めます。u8Length/ stringBuf は関数の静的変数であり、SWS_MemMap_00023 に従って関数の本体内に MemMap を追加できないため、MemMap の制御下にありません。MemMapセクションで制御する必要がある場合は、AUTOSARの推奨事項に従うことができます。 「関数の静的変数に特別なメモリマッピングを強制するには、この変数をファイルの静的スコープに移動する必要があります。」これは強い要求であるとCANご確認いただけますか? 3.Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ については、お客様がこれを間違ったセクションに配置されていると考える理由を確認しましたか? Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、 修正の期待に関する元のチケットの更新によると、お客様は 6 月までにコードをフリーズする予定です。 多くのコンポーネントが関係しており、パッチが必要なため、6月までにそれらをまとめるのは難しいでしょう。 SO、お客様からさらに指示がない限り、現在の想定/リソースに従って計画を立ててください。 よろしくお願いいたします。 リチャード・チャン。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、コングさん。 更新が遅くなり申し訳ございませんが、元のチケットでわかるように、お客様からのフィードバックはまったくありません。 私はこれを再度推進しますが、現状の評価に応じて計画を立てることがCANそうです。 よろしくお願いいたします。 リチャード・チャン。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、リチャード。 このトピックに関して何か最新情報はありますか? S32G の 3 月の CD にできるだけ早く実装する必要があります。 よろしくお願いいたします。 コング Re: S32G3: RTD MemMap Sections Violations (For LLCE) 2. はい、これらの詳細を記録するためにチケットAF-4950を作成しました。チケットの詳細を確定するために、上記の質問の確認を待っています。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、 更新情報をありがとうございます。 1.Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ については、なぜお客様がこれを間違ったセクションに配置されていると考えるのかをさらに確認します。 2. 残りの部分については、適切なセクションが含まれるように修正するとおっしゃっていましたが、修正するためのチケットや計画は用意されていて、お客様と共有できますか? 3. 元のチケット「 [S32G3/Valeo] RTD MemMap セクション違反 - NXPコミュニティ」に記載されているように、FAE はこの問題の修正に関するお客様の期待について確認しており、追加情報が入りましたらここで更新します。 よろしくお願いいたします。 リチャード・チャン。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、 まず、レポートを理解する必要があります。「Llce_Eth2Can_EnabledFormats => bssセクションのCAN_43_LLCE_START_SEC_VAR_CLEARED_16_NO_CACHEABLEのデータ」と書かれている場合、 Llce_Eth2Can_EnabledFormatsは例えば.mcal_bss_no_cacheable、しかし、実際には.bssに配置されますセクション? 上記の前提となる理解に従うと、フィードバックは次のようになります。 NXP は次のことを行います。 • グローバル静的変数 llce_minihif を適切な MemMap セクションに含めます。u8Length/ stringBuf は関数の静的変数であり、SWS_MemMap_00023 に従って関数の本体内に MemMap を追加できないため、MemMap の制御下にありません。MemMap セクションでそれらを制御する必要がある場合は、AUTOSAR の推奨事項に従うことができます。「関数の静的変数の特別なメモリ マッピングを強制するには、この変数をファイルの静的スコープに移動する必要があります。」これは強い要求であることをCAN確認できますか? • グローバル静的変数定義llce_minihifを適切なMemMapセクションに含める • Llce_Eth2Can_EnabledFormats の宣言を対応する MemMap セクションに含めます。これがおそらく置き忘れの原因です。 • pLlce_Can_AfBuffer の宣言を対応する MemMap セクションに含め、現在の MemMap セクションが適切かどうかを再確認します。 • Llce_Rx_Filters_List_ / Llce_RxAf_Filters_List_ はすでに対応する MemMap セクションに配置されているため、変数の配置ミスの原因を特定するには追加の分析が必要です。 Re: S32G3: RTD MemMap Sections Violations (For LLCE) こんにちは、 アップデートはありますか? よろしくお願いいたします。 リチャード・チャン。
記事全体を表示
OM27160 raspberry i2c NfcService Init Failed I have a OM27160A1HN connected to raspberry pi. I have followed the instructions for i2c from https://www.nxp.com/docs/en/application-note/AN12991.pdf When I run "nfcDemoApp poll", I get the "NfcService Init Failed". What I tried so far: I have double checked the board and it is i2c and not spi. Scanning of the i2c with "i2cdetect -y 1" does not show anything. I have tried with 2 different raspberries, which are knows to work with other i2c devices. I have enabled debug, log is attached. Any idea what should I check now? Re: OM27160 raspberry i2c NfcService Init Failed Setup Details: Raspberry Pi 5 running Debian (kernel 6.12.25+rpt-rpi-2712, aarch64) Using linux_libnfc-nci library for NXP NFC chips I2C enabled with buses at /dev/i2c-1, /dev/i2c-13, /dev/i2c-14 Current Issue: sudo i2cdetect -y 1 shows no devices (all "--") nfcDemoApp compiles but fails with "NfcService Init Failed" Also getting C++ std::out_of_range exception in strings.cpp The I2C scan suggests no NFC hardware is detected on bus 1. Either the module isn't connected properly or I2C isn't configured correctly for the NFC chip. I made progress when I used a forked branch of the source code but it seems you guys have a version of the source code that works saved privately somewhere based on another conversation I saw @danielchen reply in Re: OM27160 raspberry i2c NfcService Init Failed Hello @mikytron98 ,  Can you share more details about your setup? Which Raspberry Pi and Linux version are you using?  BR Tomas  Re: OM27160 raspberry i2c NfcService Init Failed For context, I am getting the same: NfcService Init Failed and have been following the Elechouse Quick start guide. I am access the Pi via SSH from my mac that has M2 chip. Some additional context that can help pinpoint what is going on here. Re: OM27160 raspberry i2c NfcService Init Failed Hello @Tomas_Parizek I am in a similar position as the above. I found the patch file and still running into issues when I run nfcDemoApp poll. When I run sudo i2cdetect -y 1 it shows none of the pins are detected. I determined the raspberry pi is not fried because I am using with other setups and it worked. So what other things can I try to patch to get the pi to detect the NFC controller? Re: OM27160 raspberry i2c NfcService Init Failed Hello KennyG and Stephan_B,  The solution is already in place. My colleague will share it via NXP NFC Knowladge base.  I will also update the link here soon.  BR Tomas  Re: OM27160 raspberry i2c NfcService Init Failed Has this been resolved to work on the latest Pi releases? Thanks! --Ken Re: OM27160 raspberry i2c NfcService Init Failed ***UPDATE*** --> See the fix  https://community.nxp.com/t5/NFC-Knowledge-Base/Porting-PN7160-NCI2-stack-to-Raspberry-Pi-5-OS-Bookworm/ta-p/1977521 We see that the PN7160 returns "NfcService Init Failed" for latest Raspian Linux version 12 (Bookworm). For Linux version 11 (bullseye), the issue should not occur.  NXP is working to fix it as as soon as possible.  Re: OM27160 raspberry i2c NfcService Init Failed Hello @Tomas_Parizek  Today, I got my setup working. I had to install an old Rasbian version (bullseye) and then it compiled without error and it works. Would have been nice to have some pointers in the "get started guide" concerning which OS / HW versions this has been tested with. Regards Stephan Re: OM27160 raspberry i2c NfcService Init Failed Hello @Tomas_Parizek  I used a tried with a Raspberry Pi 5 as well as with a Raspberry Pi 3 B+. I tested both 32 and 64bit versions. Though when compiling for the 64bit version I needed to correct some of the code as I later found in the 64bit patch file. I then assumed, that it is a HW problem, as I can see the I2C signals being sent with the oscilloscope. So I bought another EvalBoard, but it still not working. "NfcService Init Failed" "Leaving ..." is all i get. As for the OS, I am working with Rasbian. I use the Raspberry Shield, that came with the Developmentkit and setup/installed everything via the Terminal (SSH/Putty) Regards Stephan Re: OM27160 raspberry i2c NfcService Init Failed Hello Stephan_B,  Can you share more details about your setup.... what Raspberry and OS are you using, please?  It seems that the latest Raspberry has an issue with our PN7160, our SW team is already checking that.  BR Tomas  Re: OM27160 raspberry i2c NfcService Init Failed Hi @Tomas_Parizek  I have the same issue. I've checked the I2C, unplugged and rebooted multiple times but I always get the "NfcService Init Failed". Do you have any more suggestions I could try to get my setup running? The error message is the same whether the OM27160 is plugged in or not. Is there a easy way to verify whether the PN7160 is responding? Maybe my hardware has some defect? Thanks Stephan Re: OM27160 raspberry i2c NfcService Init Failed guys, I had no time to perform the full install and try to use the driver which I believe can change something. At the same time what is marked as solution, does not solve anything. If you read my description, I have no problem talking to different devices using I2C. So the marked solution solves only the problem it created itself by disabling I2C. Re: OM27160 raspberry i2c NfcService Init Failed Hello Pawel,  I just tested with the Raspberry Pi on my side  I exactly followed the instructions listed in the App. Note you have mentioned.  Here is the result: You can see that for the first time, I also got the "NfcService Init Failed" error message as you.  So I removed the PN7160 from the socket and put it back + I checked if the I2C was enabled.  Then the NFC application started to work as you can see in the picture.  Here is the information about HW that I am using:  Also, one more thing I did at the beginning. I enabled the I2C in preferences: BR Tomas  Re: OM27160 raspberry i2c NfcService Init Failed Hello Pawel,  Ok, I see. Let me grab one Raspberry Pi and check with PN7160 on my side.  BTW. Are you using a raspberry Pi "shield" or are you using a cable connection?  BR Tomas  Re: OM27160 raspberry i2c NfcService Init Failed Is it possible that the 7160 is missing firmware or has a wrong firmware? Would trying with SPI help? Re: OM27160 raspberry i2c NfcService Init Failed here is the relevant snipped from the config. The config was changed before building. NXP_TRANSPORT=0x02 ############################################################################### # Nfc Device Node name NXP_NFC_DEV_NODE="/dev/i2c-1" The strace file shows that the correct file is open. I have selected only the log from interesting thread. The command was: "strace -ff -o strace.log nfcDemoApp poll" Re: OM27160 raspberry i2c NfcService Init Failed The setting are correct. I will attach strace log which shows opening /dev/i2c-1 Re: OM27160 raspberry i2c NfcService Init Failed Hello Pawel,  Can you check the libnfc-nxp.conf, please?  You need to set the I2C alternative driver also here: So for I2C -> NXP_TRANSPORT=0x02 BR Tomas  Re: OM27160 raspberry i2c NfcService Init Failed Hello @paweljasinski, Hope you are doing well. Could you please refer to the PN7160 Linux porting guide? This document describes in detail how to add support for a PN7160 controller to a generic GNU/Linux system. Regards. Eduardo.
記事全体を表示
EB RTD 许可证 对不起,我在使用 eb 时遇到了一些问题。如下图所示,当我点击 mcal 模块时,显示我没有该模块的许可证。除了激活 eblicense 和安装相应的 rtd exe 软件包之外,我还需要执行其他操作吗? Re: EB RTD license 你好、 RTD 本身不需要任何许可证。您可能缺少 EB tresos 的许可证。您可以在恩智浦账户中找到当前的 EB Tresos 激活密钥。
記事全体を表示
OM27160 raspberry i2c NfcService Init 失败 我有一个连接到 raspberry pi 的 OM27160A1HN。 我按照https://www.nxp.com/docs/en/application-note/AN12991.pdf上的说明进行了 i2c 操作。 当我运行"nfcDemoApp poll" 时,我收到"NfcService Init Failed" 。 我目前尝试过的 我仔细检查了板,它是 i2c 而不是 spi。 使用"i2cdetect -y 1" 扫描 i2c,没有任何显示。 我尝试过 2 种不同的覆盆子,据说它们可以与其他 i2c 设备配合使用。 我已启用调试功能,日志附后。 我现在应该检查什么? Re: OM27160 raspberry i2c NfcService Init Failed 设置详情: 运行 Debian(内核 6.12.25+rpt-rpi-2712,aarch64)的 Raspberry Pi 5 为恩智浦 NFC 芯片使用 linux_libnfc-nci 库 启用 I2C,总线位于 /dev/i2c-1、/dev/i2c-13、/dev/i2c-14 本期: sudo i2cdetect-y 1 不显示任何设备(全部 "--") nfcDemoApp 编译失败,显示"NfcService Init Failed" 还在 strings.cpp 中出现 C++ std:: out_of_range 异常 I2C 扫描表明总线 1 上未检测到 NFC 硬件。要么是模块连接不正确,要么是 NFC 芯片的 I2C 配置不正确。 我在使用源代码的分叉分支时取得了进展,但根据我看到@danielchen在另一个对话中的回复,你们似乎私下在某个地方保存了能正常工作的源代码版本 Re: OM27160 raspberry i2c NfcService Init Failed 你好@mikytron98、 能否详细介绍一下您的设置?您使用的是哪种 Raspberry Pi 和 Linux 版本? BR 托马斯 Re: OM27160 raspberry i2c NfcService Init Failed 根据上下文,我也收到了同样的信息: NfcService Init 失败 并一直在使用 Elechouse 快速入门指南。 我通过装有 M2 芯片的 Mac 以 SSH 方式访问 Pi。一些额外的背景信息可以帮助确定这里发生了什么。 Re: OM27160 raspberry i2c NfcService Init Failed 你好@Tomas_Parizek 我的情况与上述情况类似。我找到了补丁文件,但在运行 nfcDemoApp 轮询时仍遇到问题。当我运行 sudo i2cdetect -y 1 时,显示没有检测到任何引脚。我确定 raspberry pi 没有烧坏,因为我在其他设备上使用过,而且也能正常工作。那么我还能尝试修补哪些其他东西来让 pi 检测 NFC 控制器呢? Re: OM27160 raspberry i2c NfcService Init Failed 你好 KennyG和 斯蒂芬_B, 解决方案已经到位。我的同事将通过恩智浦 NFC Knowladge 基地与大家分享。 我也会尽快更新这里的链接。 BR 托马斯 Re: OM27160 raspberry i2c NfcService Init Failed 这个问题已经解决了适用于最新的 Pi 版本吗? 谢谢您! --肯 Re: OM27160 raspberry i2c NfcService Init Failed ***更新**** --> 查看修复 https://community.nxp.com/t5/NFC-Knowledge-Base/Porting-PN7160-NCI2-stack-to-Raspberry-Pi-5-OS-Bookworm/ta-p/1977521 我们看到,对于最新的 Raspian Linux 版本 12 (Bookworm),PN7160 返回"NfcService Init Failed" 。 对于 Linux 版本 11(靶心),这个问题应该不会出现。 恩智浦正在努力尽快修复。 Re: OM27160 raspberry i2c NfcService Init Failed 你好@Tomas_Parizek 今天,我的设置成功了。我不得不安装一个旧的 Rasbian 版本(bullseye),然后编译无误,可以正常工作。 如果能在"入门指南" 中提供一些指向性信息,说明已对哪些操作系统/硬件版本进行了测试,那就更好了。 此致 斯蒂芬 Re: OM27160 raspberry i2c NfcService Init Failed 你好@Tomas_Parizek 我用 Raspberry Pi 5 和 Raspberry Pi 3 B+ 都试过。我测试了 32 位和 64 位版本。不过在编译 64 位版本时,我需要更正一些代码,后来我在 64 位补丁文件中发现了这一点。 于是我认为是硬件问题,因为我可以用示波器看到 I2C 信号的发送。于是我又买了一块 EvalBoard,但它仍然无法工作。 "NfcService Init Failed" " Leaving ..." 是我得到的全部信息。至于操作系统,我正在使用 Rasbian。我使用的是开发套件附带的 Raspberry 子卡,然后通过终端(SSH/Putty)设置/安装了所有东西 问候 Stephan Re: OM27160 raspberry i2c NfcService Init Failed 你好 史蒂芬_B, 请提供有关您的设置的更多详细信息....,您使用的是什么树莓和操作系统? 最新的树莓机似乎与我们的 PN7160 有问题,我们的 SW 团队已经在检查这个问题。 BR 托马斯 Re: OM27160 raspberry i2c NfcService Init Failed 你好@托马斯-帕里泽克 我也有同样的问题。我检查了 I2C,拔掉电源插头并重启了多次,但总是得到"NfcService Init Failed" 。您还有什么建议可以让我尝试运行我的设置吗? 无论是否插入 OM27160,错误信息都是一样的。有什么简单的方法可以验证 PN7160 是否有响应?也许我的硬件有缺陷? 谢谢! 斯蒂芬 Re: OM27160 raspberry i2c NfcService Init Failed 伙计们,我没有时间进行完全安装并尝试使用驱动程序,我相信它能改变一些东西。 同时,标记为解决方案的东西并不能解决任何问题。如果你阅读我的描述,我使用I2C与不同的设备通话没有问题。因此,标记的解决方案只能通过禁用 I2C 来解决它自己造成的问题。 Re: OM27160 raspberry i2c NfcService Init Failed 你好,帕维尔、 我刚刚用我这边的 Raspberry Pi 进行了测试 我完全按照应用程序中列出的说明进行了操作。请注意您提到的 结果如下: 你可以看到,我第一次也收到了" NfcServiceInit Failed" 错误信息。 因此,我将 PN7160 从插座中取出,然后放回插座 + 检查 I2C 是否启用。 然后,NFC 应用程序开始工作,如图所示。 以下是我正在使用的 HW 的相关信息: 另外,我在一开始还做了一件事。我在首选项中启用了 I2C: BR 托马斯 Re: OM27160 raspberry i2c NfcService Init Failed 你好,帕维尔、 好吧,我明白了。让我抓起一个树莓派,用我这边的 PN7160 检查一下。 顺便说一句。你在使用树莓派 " shield " 还是在使用电缆连接? BR 托马斯 Re: OM27160 raspberry i2c NfcService Init Failed 7160 有没有可能缺少固件或固件有误? 尝试使用 SPI 会有帮助吗? Re: OM27160 raspberry i2c NfcService Init Failed 以下是从配置中截取的相关内容。配置在构建前已更改。 NXP_TRANSPORT=0x02 ################################################################### N FC_DEV_NODE_NODE = " /dev/i2c-1 " strace 文件显示打开了正确的文件。我只选择了有趣主题中的日志。 命令是:"strace -ff -o strace.log nfcDemoApp poll" Re: OM27160 raspberry i2c NfcService Init Failed 设置正确。我将附上跟踪日志,其中显示打开了 /dev/i2c-1 Re: OM27160 raspberry i2c NfcService Init Failed 你好,帕维尔、 请检查libnfc-nxp.conf 文件、请 您还需要在此处设置 I2C 替代驱动程序: 因此,对于 I2C -> NXP_TRANSPORT=0x02 BR 托马斯 Re: OM27160 raspberry i2c NfcService Init Failed 你好,@paweljasinski、 希望你一切顺利。 请参考PN7160 Linux 移植指南。本文档详细介绍了如何在通用 GNU/Linux 系统中添加对 PN7160 控制器的支持。 Eduardo.
記事全体を表示
MIMXRT1170 Interrupt issue Hi Everyone, I want to ask something about GPIO external interrupt. In the MIMXRT1170_igpio_input_interrupt example, GPIO13_io0 pin is defined as input and is enabled rising edge interrupt. I want to GPIO8_io29 instead of GPIO13_io0. But I can't see any interrupt handler for gpio8. How can I define gpio8_29 as external interrupt? Re: MIMXRT1170 Interrupt issue Hi @EdwinHz, I recently saw this answer you gave and started wondering whether it's actually true as something was off for me. You stated that "GPIO7 through GPIO12 are all accessible only by the CM4 domain", so I started looking through RM and I found the following: The description of AIPS-4 clearly says that this memory map range is accessible by both CM7 and CM4 cores. So from my understanding, it stands in contradiction with what you stated some time ago. What is more, I think the Bus Diagram that you pasted, actually has a bus connection to the GPIO[12-7] through the following route (provided that my understanding is correct): I sort of assumed the flow looks like that based on the information from RM that says those PGIOs are accessible. Please correct me if I'm wrong but something is definitely off and I feel it should be straightened out. Best Regards, Michael Re: MIMXRT1170 Interrupt issue I encountered the same problem. Is there any progress? Re: MIMXRT1170 Interrupt issue Thanks Edwin, I understand Re: MIMXRT1170 Interrupt issue Hi @muratokusluk, Although most of the pins are accessible by both the CM7 domain and the CM4 domain, GPIO7 through GPIO12 are all accessible only by the CM4 domain: GPIO8 is therefore only intended for CM4 access, so it does not have a CM7 interruption. Note how "Table 4-2. CM4 domain interrupt summary" from the Reference Manual has GPIO7 through GPIO11 on IRQ 99: But "Table 4-1. CM7 domain interrupt summary" has CM7_GPIO2 and CM7_GPIO3 IRQs instead: That said, GPIO_EMC_B2_19, which is the pad that routes GPIO8_IO29, also routes GPIO_MUX2_IO29 when using alt function 5 rather than 10: Therefore, you can configure the pad and interruption for GPIO8 with IRQ 99 when using CM4 or configure the same pad and interruption for CM7_GPIO2 when using CM7, and the IRQ will continue being IRQ 99 (CM7_GPIO2). If you base your project on ipgio_input_interrupt_cm4 rather than cm7, you will find "GPIO7_8_9_10_11_IRQHandler()" on startup_mimxrt1176_cm4.c I hope this answers your question. BR, Edwin.
記事全体を表示
IMX8 Video overlay with graphics before H264 encode Hi we are designing a visual inspection system using a 1920x1080p30 video camera. We need to overlay graphics onto the video stream prior to H264 encode as well as to the display on a low power system. I am not finding any information on how to do this with a SOC like an iMX8M-Plus. The iMX6 had an IPU that could compose/overlay graphics onto the video stream although at a max resolution of 1024x1024 (could do this 4 x for 1920x1080). The iMX8M family seems to have lost this aspect of video processing. So I guess the 2D or 3D GPU would have to do this composition/overlay to memory while also performing normal display work. It appears there are no gstreamer plugins to handle this so I would have to create something. However at this stage I want to know: 1. Would the iMX8-Plus hardware be capable of this with minimal CPU usage (camera would be YUV I422/I421 and composer/overlay output needs to be fed to the VPU encoder (NV12 ?) as well as to the display) ? 2. Any ideas on how to go about this ? We would have to use the GPU whilst the normal X11/Wayland graphics GUI is in use and feed the data through zero copy dma buffer pipeline etc. Terry Re: IMX8 Video overlay with graphics before H264 encode Its simple in our application. The overlay QImage is created asynchronously about once per second (Actually two QImages, one being drawn, one for display with a Mutex for switching between). The gstreamer appsrc element is configured to emit video frames at 5 fps and takes the QImage and injects it into the gstreamer stream via the imxcompositor_g2d. ogstOverlaysrc=gst_bin_get_by_name(GST_BIN(ogstPipeline), "appsrc"); if(ogstOverlaySrc){ g_object_set(G_OBJECT(ogstOverlaySrc), "caps", gst_caps_new_simple("video/x-raw", "format", G_TYPE_STRING, "BGRA", "width", G_TYPE_INT, osize.width(), "height", G_TYPE_INT, osize.height(), "framerate", GST_TYPE_FRACTION, 5, 1, NULL), NULL); g_object_set(G_OBJECT(ogstOverlaySrc), "stream-type", 0, // GST_APP_STREAM_TYPE_STREAM "format", GST_FORMAT_TIME, "is-live", FALSE, NULL); g_signal_connect(ogstOverlaySrc, "need-data", G_CALLBACK(gstOverlayAddFrameCallback), gpointer(this)); }  Pipeline bits: imxcompositor_g2d name=c latency=20000000 sink_1::alpha=1.0 ! identity drop-allocation=true v4l2src device=/dev/video3 ! video/x-raw,width=1920,height=1080,framerate=25/1 ! c.sink_0 appsrc name="appsrc" ! videoconvert ! video/x-raw,format=ARGB ! c.sink_1 Re: IMX8 Video overlay with graphics before H264 encode Thank you for the detailed answer! A few more questions based on this, if you don't mind: 1. How are you keeping the QT overlay and the video frames in sync? I presume the data overlay needs to be correctly synchronized to the video frame to which it corresponds to. 2. I'm not that experienced with the QT + Gstreamer combination, can you please give a few more details about how these two are interfaced? I found some information on how to get video using Gstreamer inside QT Apps, but not what we're trying to do. PS: My initial interpretation of your post is that you're saving the overlay as an image and then injecting that using appSrc. That link is what's not that clear to me.  Thank you! Re: IMX8 Video overlay with graphics before H264 encode Well we have an analogue camera feeding a 1920x1080p25 video stream and are overlaying on that. We create the overlay image using Qt into a QImage of the full 1920x1080 size and then use a gstreamer appSrc to inject this into one of the imxcompositor_g2d sources along with the video stream with alpha=1.0. In our case we generate the appSrc gstreamer overlay frames at 5 fps to save CPU usage on the Qt drawing side as we don't need it any faster than this, but have done the full 25 fps without issue. With our system which is capturing a FHD video stream, overlaying text/graphics, displaying on a LCD panel while H264 encoding and saving toi a file as well as managing a sound stream, the overal usage (4 cores) of the imx8mp is about 25%. But working with the IMX8mp with gstreamer is a bit of a minefield. It is relatively complex system under the hood without detailed documentation and this means you often have to play with gstreamer arrangements and settings, quite a few which are not obvious, to get things working efficiently. Re: IMX8 Video overlay with graphics before H264 encode @TerryBarnaby1 , what sort of framerate were you able to get using this solution? We're evaluating different options and there are very little resources on what potential solutions are to draw shapes or overlay text on frames captured from the camera. Thanks! Re: IMX8 Video overlay with graphics before H264 encode hello Terry In my case,  consider use case like simple wayland application with a video window inside it with a position and resolution configured , what could be the best approach ?should I use multiple egl surfaces ? or wayland sub-surfaces ? could you suggest which approach would be better? Re: IMX8 Video overlay with graphics before H264 encode hello  Any inputs on my above query ? is waylandsink has limitation with respect to alpha property ? Also any Idea how to use chromakey  property  using GPU/VPU ?  Re: IMX8 Video overlay with graphics before H264 encode hello NXP the alpha property of waylandsink is not working (5.4.70- imx8mplus) , is there any limitation?  Re: IMX8 Video overlay with graphics before H264 encode Hello  consider  simple wayland application which run multiple videos in it And another point , I am trying to use alpha property of waylandsink (imx8m-plus) which is not working, any limitation here ? Re: IMX8 Video overlay with graphics before H264 encode I guess that depends on exactly what you want to do. You will need to understand the iMX8mp hardware, the implemented gstreamer modules, the wayland server code, your GUI toolkit etc. info on which is lacking and I'm no expert. And it also depends on what you mean by Wayland GUI layer. In my case I needed to overlay some text on the video stream prior to displaying it in a Qt window as well as h264 encoding it to a file and I am using the Qt GUI platform. In my code the graphical "layer" (which comes from test1.png in my example) that is overlaid on the video is generated in a Qt QImage using normal Qt drawing primitives and the gstreamer "appsrc name=\"appsrc\" ! videoconvert ! imagefreeze ! c.sink_1" partial pipeline is used to feed this into the imxcompositor_g2d. The screen output is "waylandsink name=\"videoSink\"" and there is some C++ GUI code to move and size this walyandsink area over a particular Qt window in my application. Re: IMX8 Video overlay with graphics before H264 encode Hello Terry Thanks for the inputs, If I want to blend video  layer with wayland GUI layer is it possible with similar approach ? Re: IMX8 Video overlay with graphics before H264 encode With the current (NXP Yocto hardknott) based Linux I have found you can to use the graphics 2D engine to perform the overlay processing. The gstreamed imxcompositor_g2d module can do this. A typical gstreamer command could be like: gst-launch-1.0 imxcompositor_g2d name=c sink_1::alpha=0.5 ! waylandsink v4l2src device=/dev/video3 ! video/x-raw,width=1920,height=1080,framerate=30/1 ! c.sink_0 multifilesrc location=./test1.png caps=image/png,framerate=1/1 ! pngdec ! imagefreeze ! c.sink_1 This will take a full HD camera stream and overlay the test1.png file on it. Following the imxcompositor_g2d you can pass this video stream through "vpuenc_h264 ! h264parse ! avimux ! filesink location=/tmp/temp.avi" to encode using the hardware h264 encoder possibly teeing it to the display as well as the h264 encoder if needed. Re: IMX8 Video overlay with graphics before H264 encode Hello  I am working with similar requirements , I would like to understand how to test video overlays on imx8m plus platform, unfortunately the doc Linux user guide  dated L5.4.70_2.3.0, 13 January 2021 does not have imx8m-plus specific info and the plugin overlaysink is not available. Re: IMX8 Video overlay with graphics before H264 encode Many thanks. It would be nice to have an overview of the video processing architecture (hardware and software layers/API's and packages) and the history in the "i.MX Linux® User's Guide" and how this is supported in the NXP Yocto BSP and community Yocto BSP. Re: IMX8 Video overlay with graphics before H264 encode Hi Yes,imx-gst1.0-plugin has replaced the gstreamer1.0-plugins-imx. In i.MX6 Family :Video render relys on G2D, not DRI In i.MX8 Family:Video render relys on DRI,due to Wayland using DRI Re: IMX8 Video overlay with graphics before H264 encode Thanks for the info, but that is specific information to a specific NXP BSP release. I need to produce a Yocto release for a custom board and thus need to configure a Yocto build for this to get the most current and up-to-date video processing gstreamer elements. The NXP "Yocto" builds are different from the community builds (which are more mainline) and there is the BSP type and the three different kernel variants and then all of the paraphernalia of different kernel driver configurations etc. Aslo old Yocto builds have different gstreamer elements and drivers etc. I am just trying to understand what the current/planned underlying video processing software tree is, so I follow this in our builds. It has been stated to use the community Yocto BSP for custom boards but this is quite different to the NXP Yocto wrt video processing. For example at the user level there is the gstreamer1.0-plugins-imx and imx-gst1.0-plugin package both of which do not build with a community based Yocto dunfell build for an IMX6DL. Am I right in thinking that the imx-gst1.0-plugin package has taken over from the gstreamer1.0-plugins-imx for all IMX variants and does this rely on the DRI GPU interface route ? I just want to understand the overall hardware video processing software/hardware architecture/packages and its history so I can develop in the most sensible way. Terry Re: IMX8 Video overlay with graphics before H264 encode Hi All bsp release note and the details about i.MX GStreamer 1.0 plugins  are in i.MX_Linux_Release_Notes.pdf (Multimedia) i.MX_Linux_Users_Guide.pdf talks about how to do tests. About the last point you mentioned, the release note has said: i.MX 6 Family: • overlaysink : G2D-based video sink plugin • imxv4l2sink: V4L2-based video sink plugin Re: IMX8 Video overlay with graphics before H264 encode Thanks for the information, I had just worked out that the imx8m didn't support some video processing but I didn't release it didn't have a 2D GPU! This iMX8 range is very messy and has strange part naming! However the basic question remains, we are not targeting the imx8mq for our design, we will probably be using a IMX8M-Plus or IMX8-DualXPlus. What I am trying to determine is how to build a suitable Yocto release with support for hardware video compositing before H264 in general. The software support has changed a lot over the last 5 years and there are many routes to producing a Yocto release and many graphics and video processing driver changes in the kernel and outside etc. There doesn't appear to be a simple overall guide on these changes and where the direction is going and what user level API and what kernel and kernel level API's are needed. So I'm trying to understand this so we can first test or video processing concept and then design and board and produce a suitable Yocto build for this custom board. For example am I right in thinking that the imx-gst1.0-plugin package has replaced the gstreamer1.0-plugins-imx package and when and what lower level API's/drivers does it need/support (DRI ?). I would like to build systems for iMX6 and iMX8M-Plus that are compatible but I'm not sure this is possible. Terry Re: IMX8 Video overlay with graphics before H264 encode Hi The i.MX8MQ doesn't have 2D GPU,so you can not use imxcompositor_g2d,you can try another imxcompositor BR Re: IMX8 Video overlay with graphics before H264 encode Many thanks for the info. I would like to try this to prove that the output of this can be taken through the H264 VPU encoder and the overall CPU usage of this. However where and how would I get the gstreamer imxcompositor_g2d plugin ? I have been trying to build a suitable community or nxp based Yocto build for the iMX6 and iMX8 test platforms I have but have never seen this plugin ? The NXP gstreamer plugins seem to be in quite a mess at the moment. Should the user level part of this be in the gstreamer1.0-plugins-imx package ? If I build a IMX community Yocto release using: "https://github.com/Freescale/fsl-community-bsp-platform -b dunfell" this cannot build a gstreamer1.0-plugins-imx package. If I build a IMX NXP Yocto release using: "https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.70-2.3.0.xml" for a imx8mqevk machine there is no imxcompositor_g2d plugin as far as I can seen in the build (cannot run it as I don't have a imx8mqevk) and if I add "gstreamer1.0-plugins-imx" to the build (IMAGE_INSTALL_append) I get the error "imx8mqevk (not in COMPATIBLE_MACHINE)". So what should I build to get a suitable Yocto Linux system that will provide a working imxcompositor_g2d gstreamer plugin ? Re: IMX8 Video overlay with graphics before H264 encode Hi 1.YUV422 and YUV420 input and output formats are also supported, supports encoder (NV12). 2.You can see 7.3.16 Video composition in i.MX_Linux_User's_Guide.pdf imxcompositor_g2d uses corresponding hardware to accelerate video composition. It can be used to composite multiple videos into one. The video position, size, and rotation can be specified while composition. Video color space conversion is also performed automatically if input and output video are not same. Each video can be set to an alpha and z-order value to get alpha blending and video blending sequence.
記事全体を表示
What is the recommended microcontroller series that replaces the LPC1768 series? Hi, Anyone please suggest exact pin to pin replacement for LPC17xx series. I have existing designs, modify hardware is a problem, but I have a lot of code (tons) using LPC2148 peripherals (UART, I2C, Timers, ...), which new family is peripheral-software compatible?. What series recommended for new designs has roughly equivalent capability (Memory size, speed, peripherals, etc.)? Re: What is the recommended microcontroller series that replaces the LPC1768 series? I have the same question, and appreciate it's now almost 5 years later. Which series of microcontrollers should I be looking at to use for new designs? Re: What is the recommended microcontroller series that replaces the LPC1768 series? Hi the LPC1768 is a replacement for the LPC2368. and the LPC1769 is a replacement for the LPC1768. The only difference is the max clock frequency (120Mhz) . A replacement with less memory is the LPC1766.LPC4078 is an option for LPC176x replacement.(http://www.nxp.com/products/microcontrollers/core/cortex_m4_m4f/LPC4078FBD100.html ) Please note LPC4078 release time is 2013, 15 years longevity. Our Recommendation is LPC546xx or LPC540xx MCUs series, based on Cortex M4 core at 220MHz (with optional secondary Cortex M0+ core), similar peripherals, up to 512KB Flash and up to 200KB RAM.Please check more information in the following link:https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc54000-series-cortex-m4-mcus:MC_1414576688124 LPC546xx and LPC540xx are not pin to pin replacement of LPC17xx Have a nice day, Jun Zhang
記事全体を表示
替代 LPC1768 系列的推荐微控制器系列是什么? 您好, 请就 LPC17xx 系列的精确引脚对引脚替换提出建议。 我有现有的设计,修改硬件是个问题,但我有很多使用 LPC2148 外围设备(UART、I2C、计时器等)的代码(很多),哪个新系列与外设软件兼容? 建议用于新设计的哪个系列具有大致相当的能力(内存大小、速度、外设等)? Re: What is the recommended microcontroller series that replaces the LPC1768 series? 我也有同样的问题,而且现在已经过去快 5 年了。 新设计应该使用哪个系列的微控制器? Re: What is the recommended microcontroller series that replaces the LPC1768 series? HI LPC1768 是 LPC2368 的替代品。而 LPC1769 则是 LPC1768 的替代品。唯一不同的是最大时钟频率(120Mhz)。内存较少的替代品是LPC1766。LPC4078是更换LPC176x的选项。(http://www.nxp.com/products/microcontrollers/core/cortex_m4_m4f/LPC4078FBD100.html) 请注意,LPC4078 的版本时间为 2013 年,寿命为 15 年。 我们的建议是 LPC546xx 或 LPC540xx MCU 系列,基于 220MHz 的 Cortex M4 内核(带有可选的辅助 Cortex M0+ 内核)、类似的外围设备、高达 512KB 的闪存和高达 200KB 的内存。请在以下链接中查看更多信息:https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc54000-series-cortex-m4-mcus:MC_1414576688124 LPC546xx 和 LPC540xx 不是 LPC17xx 的引脚对引脚替代品 祝您愉快 张俊
記事全体を表示
CAAM 和内核加密测试 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好, 启用 CAAM 时,我们在不同版本的 Linux 和各种板上看到一些令人不安的错误消息 内核自检 使用 3.10.31-alpha 在 SABRE-SD 上进行测试 root@imx6qsabresd:~# dmesg ... alg: hash:hmac-sha1-caam 测试 1 失败 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: F1 46 BE 00 alg: hash:对 sha1-caam 的测试 1 失败 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010:9C D0 D8 9D alg: hash:hmac-sha224-caam 测试 1 失败 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010:47 B4 B1 16 99 12 BA 4F 53 68 4B 22 alg: hash:对 sha224-caam 的测试 1 失败 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 2A AD BC E4 BD A0 B3 F7 E3 6C 9D A7 root@imx6qsabresd:~# cat /proc/cmdline console=ttymxc0,115200 ip=dhcp root=/dev/mmcblk0p2 rootwait caam 内核配置与 v7_defconfig 基本相同,只是增加了一些调试标志: ~/linux-imx6$ make arch=arm cross_compile=arm-linux-GNUEABIHF-savedefconfig scripts/kconfig/conf --savedefconfig=defconfig Kconfig ~/linux-imx6$ diff diff diff arch/arm/configs/imx_v7_defconfig 253a254 > CONFIG_USB_PHY=y 329d329 < CONFIG_DEBUG_LOCK_ALLOC=y 334d333 < # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS 未设置 我们在使用内核 3.0.35_4.1.0 时也看到了同样的结果和 3.10.17-1.0.0-ga on Nitrogen6x. 有人对此有什么见解吗? 提前感谢! 埃里克 i.MX6_All Linux Re: CAAM and kernel crypto tests SecretCryptos 是您匿名加密货币交易的一站式解决方案。无论您是想使用加密货币混合器还是在安全交易所进行交易,SecretCryptos 都能确保您所有交易的完全隐私性和匿名性。 SecretCryptos 密码混合器和交易所 所有混合器页面(每个硬币) SecretCryptos 密码混合器| 比特币 (BTC) 混合器| 以太坊(ETH)混合器| 以太坊(USDT)混合币| 美元币(USDC)混合器| BNB (BSC) 混合币| 莱特币(LTC)混合币| Dogecoin (DOGE) 混合币| XRP(瑞波币)混合币| 索拉纳(SOL)混合币| TRON (TRX) 混合器| TON (Toncoin) 混合器| 多边形(MATIC)混合器| Avalanche (AVAX) 混合器| 卡达诺(ADA)混合器| Polkadot (DOT) 混合器| Shiba Inu (SHIB) 混合器 即时加密货币交易所 加密货币交易所 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 非常感谢,乔恩 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 实际上,在 Herbert Xu 的 crypto-2.6 中已经对这个问题进行了适当的修复。树 特别是LKML: Herbert Xu:Crypto Fixes for 3.13andLKML: Herbert Xu:Re:3.13 的密码修复程序解决了问题。 它们需要向后移植到 3.10.xx Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 多亏了飞思卡尔的 Steve Cornelius 等人,我们才得以证明这个问题与高速缓存一致性有关。 特别是,CAAM驱动程序期望所有输入和输出在缓存行边界(i.MX6上为32字节)上对齐。 由于 testmgr 代码最初是为测试软件实现而创建的,从内核 3.10.17 开始,它并没有确保任何特定的对齐方式,这就导致了故障的发生: crypto testmgr: 在缓存行上对齐结果缓冲区 - e3e7ad4 - boundarydevices/linux-imx6 - GitHub 正如提交日志中提到的,用户空间代码中也存在对输入和输出的这种要求,因此应用程序在分配时需要小心谨慎。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> jamesbone你有这个案件的最新进展吗? Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 尚未修复。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这个问题已经解决了吗? 我也有这个问题。但是,我需要将延迟值改为 100usec 才能成功测试。 这是一个大问题。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Jamesbone你能继续跟进这个案子吗? Re: Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 还有更多细节: 在caam_jr_dequeue() 的这两个位置中的任何一个位置使用相同的 udelay(20) 都不会导致测试成功: linux-imx6/drivers/crypto/caam/jr.c at boundary-imx_3.10.17_1.0.0_ga - boundarydevices/linux-imx6 - GitHub linux-imx6/drivers/crypto/caam/jr.c at boundary-imx_3.10.17_1.0.0_ga - boundarydevices/linux-imx6 - GitHub Re: Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 有关这些测试的更多信息... 在 caam_jr_enqueue() 结束时调用 udelay(20) 可以使测试成功,因此这似乎是某种形式的定时错误。 ~/linux-imx6$ git diff diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c 索引 80ddddb...c8c4a7e 100644 --- a/drivers/crypto/caam/jr.c +++ b/drivers/crypto/caam/jr.c @@ -288,6 +288,7 @@ int caam_jr_enqueue (结构设备 *dev,u32 *Desc, spin_unlock_bh(&jrp->inplock); + udelay(20); 返回 0; } EXPORT_SYMBOL(caam_jr_enqueue); Re: Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 进一步更新:在随后在 3.10.17-1.0.0-ga 上启动时,我只看到了 8 字节的零: alg: hash:hmac-sha1-caam 测试 1 失败 00000000: 00 00 00 00 00 00 00 00 E2 8B C0 B6 FB 37 8C 8E 00000010: F1 46 BE 00 alg: hash:对 sha1-caam 的测试 1 失败 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 其他说明: 测试失败时显示的数值: alg: hash:hmac-sha1-caam 测试 1 失败 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: F1 46 BE 00 似乎与预期结果相似。这是 crypto/testmgr.c 中 hmac-sha1 的第一个测试向量: static struct hash_testvec hmac_sha1_tv_template[] = {   { key ="\x0b\x0b\x0b\x0b" 、 .ksize = 20、 .plaintext ="你好" 、 .psize = 8、 .digest ="\xb6\x17\x31\x86\x55\x05\x72\x64" "\xe2\x8b\xc0\xb6\xfb\x37\x8c\x8e\xf1" "\x46\xbe" 、 ... 请注意,"f1 46 be" 序列与预期值相吻合。 另请注意,每项失败测试的前 16 字节显示为零。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,海梅、 我想你没注意到我们正在测试 3.0.35_4.1.0、3.10.17-1.0.0-ga 和 3.10.31_1.0.0-alpha。 每个页面都已包含其他页面的补丁: dma_map_sg_chained 补丁: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.0.0&id=b30237c79003223c6e8035d5be183cd4f0b469f9 3.10.17 信息来源 https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/crypto/caam/sg_sw_sec4.h#L96 给 driver_algs 打补丁: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.0.0&id=6068d7a77b2101c172fc2f003f90b1febbf99505 3.10.17 信息来源 https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/crypto/caam/caamalg.c#L2083 我也不清楚我们看到的问题是否只存在于哈希算法中。 此致, 埃里克 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 亲爱的埃里克 在 linux 3.0.35 上需要打一些补丁,以获得 CAAM 的正常功能 问&答:为什么 iMX6 的 CAAM 驱动程序在 Linux 下无法运行? 祝您愉快, Jaime ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击正确答案按钮。Thank you! -----------------------------------------------------------------------------------------------------------------------
記事全体を表示
CAAM and kernel crypto tests Hi all, We're seeing some disconcerting error messages on various versions of Linux and various boards when enabling CAAM and the kernel self-tests. Testing on SABRE-SD with 3.10.31-alpha root@imx6qsabresd:~# dmesg ... alg: hash: Test 1 failed for hmac-sha1-caam 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: f1 46 be 00 alg: hash: Test 1 failed for sha1-caam 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 9c d0 d8 9d alg: hash: Test 1 failed for hmac-sha224-caam 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 47 b4 b1 16 99 12 ba 4f 53 68 4b 22 alg: hash: Test 1 failed for sha224-caam 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 2a ad bc e4 bd a0 b3 f7 e3 6c 9d a7 root@imx6qsabresd:~# cat /proc/cmdline console=ttymxc0,115200 ip=dhcp root=/dev/mmcblk0p2 rootwait caam The kernel configuration is essentially the same as the stock v7_defconfig with a few additional debug flags: ~/linux-imx6$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- savedefconfig scripts/kconfig/conf --savedefconfig=defconfig Kconfig ~/linux-imx6$ diff defconfig arch/arm/configs/imx_v7_defconfig 253a254 > CONFIG_USB_PHY=y 329d329 < CONFIG_DEBUG_LOCK_ALLOC=y 334d333 < # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set We've seen the same results with kernel 3.0.35_4.1.0 and 3.10.17-1.0.0-ga on Nitrogen6x. Does anyone have some insight about this? Thanks in advance, Eric i.MX6_All Linux Re: CAAM and kernel crypto tests SecretCryptos is your one-stop solution for anonymous crypto transactions. Whether you're looking to use a crypto mixer or trade on a secure exchange, SecretCryptos ensures full privacy and anonymity for all your transactions. SecretCryptos Crypto Mixer and Exchange All Mixer Pages (per coin) SecretCryptos Crypto Mixer | Bitcoin (BTC) Mixer | Ethereum (ETH) Mixer | Tether (USDT) Mixer | USD Coin (USDC) Mixer | BNB (BSC) Mixer | Litecoin (LTC) Mixer | Dogecoin (DOGE) Mixer | XRP (Ripple) Mixer | Solana (SOL) Mixer | TRON (TRX) Mixer | TON (Toncoin) Mixer | Polygon (MATIC) Mixer | Avalanche (AVAX) Mixer | Cardano (ADA) Mixer | Polkadot (DOT) Mixer | Shiba Inu (SHIB) Mixer Instant Crypto Exchange Crypto Exchange Re: CAAM and kernel crypto tests Many thanks, Jon Re: CAAM and kernel crypto tests There are actually proper fixes to this problem in Herbert Xu's crypto-2.6 tree.  Specifically LKML: Herbert Xu: Crypto Fixes for 3.13 and LKML: Herbert Xu: Re: Crypto Fixes for 3.13 fix the problems.  They would need to be backported to 3.10.xx Re: CAAM and kernel crypto tests Thanks to Steve Cornelius and others at Freescale, we've been able to show that this issue has to do with cache coherency. In particular, the CAAM drivers expect all inputs and outputs to be aligned with on a cache line boundary (32 bytes on i.MX6). Since the testmgr code was originally created to test software implementations, as of kernel 3.10.17, it didn't ensure any particular alignment, which caused the failures, and a simple update to address this prevents the errors:          crypto testmgr: Align result buffer on cache-line · e3e7ad4 · boundarydevices/linux-imx6 · GitHub As mentioned in the commit log, this requirement for inputs and outputs also exists in userspace code, so applications will need to take care in allocations. Re: CAAM and kernel crypto tests jamesbone do you have an update of this case? Re: CAAM and kernel crypto tests Not fixed yet. Re: CAAM and kernel crypto tests Is this problem fixed?? or, solution is just delay??? I have the problem too. but, I need to change delay value up to 100usec for successful test. It is big problem. Re: CAAM and kernel crypto tests jamesbone can you continue with the follow up on this case? Re: Re: CAAM and kernel crypto tests Yet more detail: The same udelay(20) in either of these two spots in caam_jr_dequeue() do not result in successful tests:      linux-imx6/drivers/crypto/caam/jr.c at boundary-imx_3.10.17_1.0.0_ga · boundarydevices/linux-imx6 · GitHub      linux-imx6/drivers/crypto/caam/jr.c at boundary-imx_3.10.17_1.0.0_ga · boundarydevices/linux-imx6 · GitHub Re: Re: CAAM and kernel crypto tests Yet more information regarding these tests... A udelay(20) call at the end of caam_jr_enqueue() allows the tests to succeed, so it appears to be some form of timing bug. ~/linux-imx6$ git diff diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c index 80ddddb..c8c4a7e 100644 --- a/drivers/crypto/caam/jr.c +++ b/drivers/crypto/caam/jr.c @@ -288,6 +288,7 @@ int caam_jr_enqueue(struct device *dev, u32 *desc,         spin_unlock_bh(&jrp->inplock); +       udelay(20);         return 0; } EXPORT_SYMBOL(caam_jr_enqueue); Re: Re: CAAM and kernel crypto tests Further update: In a subsequent boot on 3.10.17-1.0.0-ga, I'm seeing only 8 bytes of zeros: alg: hash: Test 1 failed for hmac-sha1-caam 00000000: 00 00 00 00 00 00 00 00 e2 8b c0 b6 fb 37 8c 8e 00000010: f1 46 be 00 alg: hash: Test 1 failed for sha1-caam Re: CAAM and kernel crypto tests Additional notes: The values shown in the test failures: alg: hash: Test 1 failed for hmac-sha1-caam  00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  00000010: f1 46 be 00  Appear to be similar to the expected results. This is the first test vector for hmac-sha1 in crypto/testmgr.c: static struct hash_testvec hmac_sha1_tv_template[] = {   {   .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",   .ksize = 20,   .plaintext = "Hi There",   .psize = 8,   .digest = "\xb6\x17\x31\x86\x55\x05\x72\x64"    "\xe2\x8b\xc0\xb6\xfb\x37\x8c\x8e\xf1"    "\x46\xbe", ... Note that the sequence "f1 46 be" matches the expected value. Also note that the first 16 bytes of each of the failed tests is showing as zero. Re: CAAM and kernel crypto tests Hi Jaime, I think you missed that we're testing against 3.0.35_4.1.0, 3.10.17-1.0.0-ga, and 3.10.31_1.0.0-alpha. Each of them already contains the patches from the other page: Patch to dma_map_sg_chained:      http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.0.0&id=b30237c79003223c6e8035d5be183cd4f0b469f9 3.10.17 sources:      https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/crypto/caam/sg_sw_sec4.h#L96 Patch to driver_algs:      http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.0.0&id=6068d7a77b2101c172fc2f003f90b1febbf99505 3.10.17 sources:      https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/crypto/caam/caamalg.c#L2083 I also wasn't clear that the problem we're seeing is only with the hash algorithms. Regards, Eric Re: CAAM and kernel crypto tests Dear Eric, On linux 3.0.35 there is a need for some patches in order to get  proper functionality of CAAM Q&A: Why is CAAM Driver Not Functioning in Linux for iMX6? Have a great day, Jaime ----------------------------------------------------------------------------------------------------------------------- Note: If this post answers your question, please click the Correct Answer button. Thank you! -----------------------------------------------------------------------------------------------------------------------
記事全体を表示
在 H264 编码前叠加带图形的 IMX8 视频 你好,我们正在设计一个使用 1920x1080p30 摄像机的视觉检测系统。 我们需要在 H264 编码之前将图形叠加到视频流上,并叠加到低功耗系统的显示屏上。我没有找到任何关于如何使用 iMX8M-Plus 等 SOC 实现这一功能的信息。iMX6 有一个 IPU,可以在视频流上合成/叠加图形,但最大分辨率为 1024x1024(1920x1080 时可叠加 4 次)。iMX8M 系列似乎已经失去了视频处理的这一方面。 因此,我猜 2D 或 3D GPU 在执行正常显示工作的同时,还必须在内存中进行合成/叠加。似乎没有 gstreamer 插件来处理这个问题,所以我必须创建一个。然而,在现阶段,我想知道 1.iMX8-Plus 硬件能否以最低的 CPU 占用率实现这一功能(摄像机为 YUV I422/I421,合成器/叠加输出需要输入到 VPU 编码器(NV12? 2.有什么好办法吗?我们必须在使用普通 X11/Wayland 图形用户界面时使用 GPU,并通过零拷贝 dma 缓冲管道等馈送数据。 特里 Re: IMX8 Video overlay with graphics before H264 encode 我们的应用很简单。叠加的 QImage 大约每秒异步创建一次(实际上是两个 QImage,一个正在绘制,一个用于显示,中间有一个用于切换的 Mutex)。 gstreamer appsrc 元素被配置为以 5 fps 的速度发射视频帧,并通过 imxcompositor_g2d 获取 QImage 并将其注入 gstreamer 流。 ogstOverlaysrc=gst_bin_get_by_name(GST_BIN(ogstPipeline), "appsrc"); if(ogstOverlaySrc){ g_object_set(G_OBJECT(ogstOverlaySrc), "caps", gst_caps_new_simple("video/x-raw", "format", G_TYPE_STRING, "BGRA", "width", G_TYPE_INT, osize.width(), "height", G_TYPE_INT, osize.height(), "framerate", GST_TYPE_FRACTION, 5, 1, NULL), NULL); g_object_set(G_OBJECT(ogstOverlaySrc), "stream-type", 0, // GST_APP_STREAM_TYPE_STREAM "format", GST_FORMAT_TIME, "is-live", FALSE, NULL); g_signal_connect(ogstOverlaySrc, "need-data", G_CALLBACK(gstOverlayAddFrameCallback), gpointer(this)); } 管道位: imxcompositor_g2d name=c latency=20000000 sink_1::alpha=1.0 ! identity drop-allocation=true v4l2src device=/dev/video3 ! video/x-raw,width=1920,height=1080,framerate=25/1 ! c.sink_0 appsrc name="appsrc" ! videoconvert ! video/x-raw,format=ARGB ! c.sink_1 Re: IMX8 Video overlay with graphics before H264 encode 感谢您的详细解答!如果您不介意的话,在此基础上再提几个问题: 1.您是如何保持 QT 叠加和视频帧同步的? 2. 我对 QT + Gstreamer 组合没有太多经验,能否请您详细介绍一下这两者是如何连接的?我找到了一些关于如何在 QT 应用程序中使用 Gstreamer 获取视频的信息,但不是我们要做的。 注:我对您帖子的初步理解是,您将叠加保存为图像,然后使用 appSrc 注入。我不太清楚的就是这个环节。 谢谢! Re: IMX8 Video overlay with graphics before H264 encode 我们有一台模拟摄像机,可以传输 1920x1080p25 的视频流,并在此基础上进行叠加。我们使用 Qt 将叠加图像创建为 1920x1080 全尺寸的 QImage,然后使用 gstreamer appSrc 将其与 alpha=1.0 的视频流一起注入其中一个 imxcompositor_g2d 源。 在我们的案例中,我们以 5 帧/秒的速度生成 appSrc gstreamer 叠加帧,以节省 Qt 绘图方面的 CPU 占用率,因为我们并不需要比这更快的速度,但也顺利完成了 25 帧/秒的全速。 我们的系统捕获全高清视频流,叠加文本/图形,在液晶显示屏上显示,同时进行H264编码,保存为文件以及管理声音流,imx8mp 的总体使用率(4 核)约为 25%。 但是,使用 gstreamer 处理 IMX8mp 有点像雷区。由于没有详细的文档说明,它在引擎盖下是一个相对复杂的系统,这就意味着你经常需要使用 gstreamer 的安排和设置(其中有很多并不明显),才能让事情高效运转。 Re: IMX8 Video overlay with graphics before H264 encode @TerryBarnaby1,使用这种解决方案,您能获得什么样的帧速率?我们正在评估不同的选项,但关于在相机捕获的帧上绘制形状或叠加文本的潜在解决方案的资源很少。 谢谢您! Re: IMX8 Video overlay with graphics before H264 encode 你好,Terry 在我的案例中,考虑的用例是简单的 wayland 应用程序,其中有一个配置了位置和分辨率的视频窗口,最佳方法是什么?我使用多个 egl 表面?还是 Wayland 子表面?您能建议哪种方法更好吗? Re: IMX8 Video overlay with graphics before H264 encode 你好 ,对我的上述查询有什么意见吗? 另外,您知道如何使用 GPU/VPU 来使用 chromakey 属性吗? Re: IMX8 Video overlay with graphics before H264 encode 你好,恩智浦 waylandsink 的 alpha 属性不起作用(5.4.70- imx8mplus),有什么限制吗? Re: IMX8 Video overlay with graphics before H264 encode 您好 考虑在其中运行多个视频的简单 wayland 应用程序 还有一点,我试图使用 waylandsink(imx8m-plus)的 alpha 属性,但无法正常工作,这有什么限制吗? Re: IMX8 Video overlay with graphics before H264 encode 我想这取决于你到底想做什么。您需要了解 iMX8mp 硬件、已实施的 gstreamer 模块、wayland 服务器代码、图形用户界面工具包等。这也取决于你所说的 W ayland GUI 层是什么意思。 就我而言,我需要在视频流上叠加一些文本,然后才能将其显示在 Qt 窗口中,并将 h264 编码为文件,我使用的是 Qt GUI 平台。在我的代码中,叠加在视频上的图形 " 层 "(在我的示例中来自 test1.png)是使用普通的 Qt 绘图原语和 gstreamer " appsrc name=\ " appsrc\ " 在 Qt QImage 中生成的!视频转换!imagefreeze!c.sink_1 " 部分管道用于将其输入到 imxcompositor_g2D 中。屏幕输出是 " waylandsink name=\ " VideoSink\ " " 还有一些 C++ GUI 代码可以在我的应用程序中的特定 Qt 窗口上移动这个 walyandsink 区域并调整其大小。 Re: IMX8 Video overlay with graphics before H264 encode 你好 特里 感谢您的输入,如果我想将视频层与 Wayland GUI 层融为一体,可以用类似的方法吗? Re: IMX8 Video overlay with graphics before H264 encode 我发现在当前基于(恩智浦 Yocto hardknott)的 Linux 系统中,可以使用图形 2D 引擎来执行叠加处理。gstreamed imxcompositor_g2d 模块可以做到这一点。典型的 gstreamer 命令如下 gst-用上市,不用发布-1.0imxcompositor_g2d name=c sink_1::alpha=0.5 !waylandsink v4l2src 设备=/dev/video3!video/x-raw,width=1920,height=1080,framerate=30/1 !c.sink_0 multifilesrc location=./test1.png caps=image/png,framerate=1/1 !pngdec !图像冻结 !c.sink_1 这将获取全高清摄像机数据流,并在其上叠加 test1.png 文件。继 imxcompositor_g2d 之后,您可以通过"vpuenc_h264 传输视频流!h264parse !avimux !filesink location=/tmp/temp.avi" 使用硬件 h264 编码器进行编码,必要时也可将其与 h264 编码器一起连接到显示器。 Re: IMX8 Video overlay with graphics before H264 encode 您好 我也有类似的需求,我想了解如何在 imx8m plus 平台上测试视频叠加,遗憾的是,日期为 2021 年 1 月 13 日的 L5.4.70_2.3.0 Linux 用户指南文档中没有 imx8m-plus 的具体信息,也没有overlaysink插件。 Re: IMX8 Video overlay with graphics before H264 encode 非常感谢。 如果能在 " i.MX Linux® 用户指南 " 中概述视频处理架构(硬件和软件层/API 和代码包)和历史,以及恩智浦Yocto 电路板支持包和社区Yocto 电路板支持包如何支持该架构,那就太好了。 Re: IMX8 Video overlay with graphics before H264 encode HI 是的,imx-gst1.0-plugin 已取代 gstreamer1.0-plugins-imx。 在 i.MX6 系列中:视频渲染依赖于 G2D,而不是 DRI 在 i.MX8 系列中:视频渲染依赖于 DRI,因为 Wayland 使用了 DRI Re: IMX8 Video overlay with graphics before H264 encode 感谢您提供的信息,但这是特定恩智浦电路板支持包。版本的特定信息。 我需要为自定义板制作一个 Yocto 版本,因此需要为此配置 Yocto 版本,以获得最新和最新的视频处理 gstreamer 元素。恩智浦 " Yocto " 版本与社区版本(更主线)不同,有电路板支持包类型和三种不同的内核变体,然后是不同内核驱动程序配置的所有工具等。此外,旧的 Yocto 版本具有不同的 gstreamer 元素和驱动程序等。 我只是想了解当前/计划中的底层视频处理软件树是什么,所以我在我们的版本中遵循了这一点。据说在定制主板上使用社区Yocto 电路板支持包,但这与恩智浦的Yocto wrt视频处理有很大不同。例如,在用户层面有 gstreamer1.0-plugins-imx和 imx-gst1.0-plugin这两个代码包都不是使用基于社区的 IMX6DL 的 Yocto dunfell 版本构建的。 我认为 imx-gst1.0-plugin代码包已取代 gstreamer1.0-plugins-imx这是否依赖于 DRI GPU 接口路线? 我只想了解整个硬件视频处理软件/硬件架构/代码包及其历史,这样我就可以以最明智的方式进行开发。 特里 Re: IMX8 Video overlay with graphics before H264 encode HI 所有电路板支持包版本说明和有关 i.MX GStreamer 1.0 插件的详细信息均在 i.MX_Linux_release_Notes.pdf(多媒体)中 i.MX_Linux_Users_Guide.pdf 介绍了如何进行测试。 关于你提到的最后一点,版本说明中说: i.MX 6 系列: • overlaysink:基于 G2D 的视频接收器插件 • imxv4l2sink:基于 V4L2 的视频接收器插件 Re: IMX8 Video overlay with graphics before H264 encode 感谢您提供的信息,我刚刚发现 imx8m 不支持某些视频处理,但我没有版本它没有 2D GPU!iMX8 系列产品非常杂乱,零件命名也很奇怪! 但基本问题仍然存在,我们的设计目标不是 imx8mq,我们可能会使用 IMX8M-Plus 或 IMX8-DualXPlus。我想确定的是如何在 H264 之前构建一个支持硬件视频合成的合适的 Yocto 版本。 在过去的5年中,软件支持发生了很大变化,制作Yocto版本的途径很多,内核和外部也有许多图形和视频处理驱动程序的更改等。目前似乎还没有一个简单的整体指南来说明这些变化和方向,以及需要哪些用户级 API 和哪些内核和内核级 API。所以我想理解这一点,这样我们就可以先测试或视频处理概念,然后为这个定制板设计和开发合适的 Yocto 版本。 例如,我认为 imx-gst1.0-plugin代码包已经取代了 gstreamer1.0-plugins-imx代码包以及它何时需要/支持哪些较低级别的 API/驱动程序(DRI?)。我想为 imx6 和 IMX8M-Plus 版本兼容的系统,但我不确定这是否可能。 特里 Re: IMX8 Video overlay with graphics before H264 encode HI i.MX8MQ 没有 2D GPU,因此无法使用imxcompositor_g2d,您可以尝试使用其他 imxcompositor。 BR Re: IMX8 Video overlay with graphics before H264 encode 非常感谢您提供的信息。我想试一试,以证明可以通过 H264 VPU 编码器获取输出,以及 CPU 的总体使用率。但是,我从哪里以及如何获取 gstreamer imxcompositor_g2d 插件?我一直在尝试为我拥有的iMX6和iMX8测试平台构建一个合适的社区或基于恩智浦的Yocto版本,但从未见过这个插件?恩智浦的 gstreamer 插件目前似乎一团糟。 用户级部分是否应放在 gstreamer1.0-plugins-imx 中?包裹? 如果我使用以下方法构建 IMX 社区 Yocto 版本:" https://github.com/Freescale/fsl-community-bsp-platform-b dunfell " 这无法构建 gstreamer1. 0-plugins-imx包裹。 如果我使用以下方法版本 IMX 恩智浦 Yocto 版本:" https://source.codeaurora.org/external/imx/imx-manifest-b imx-linux-zeus-m imx-5.4.70-2.3.0.xml " 据我所见 imx8mqevk 机器没有 imxcompositor_g2d 插件(因为我没有 imx8mqevk 所以无法运行)以及如果我在版本中添加 " gstreamer1.0-plugins-imx "(image_install_append)我收到错误 " imx8mqevk(不在 COMPATIBLE_MACHINE 中)"。 那么,我应该版本什么才能获得一个能提供有效的 imxcompositor_g2D gstreamer 插件的合适的 Yocto Linux 系统呢? Re: IMX8 Video overlay with graphics before H264 encode HI 1.还支持 YUV422 和 YUV420 输入和输出格式, 支持编码器 (NV12)。 2.您可以查看 7.3.16i.MX_Linux_User's_Guide.pdf 中的视频合成 imxcompositor_g2d 使用相应的硬件来加速视频合成。它可用于将多个 视频合成为一个视频。视频位置、大小和旋转可在合成时指定。如果输入和输出视频不一致, ,视频色彩空间转换也会自动进行。每个视频都可以设置一个 alpha 值和 Z 阶值,以便 获取 alpha 混合和视频混合序列。
記事全体を表示
MIMXRT1170 割り込みの問題 こんにちは、皆さん GPIO 外部割り込みについて質問があります。MIMXRT1170_igpio_input_interrupt の例では、GPIO13_io0 ピンが入力として定義され、立ち上がりエッジ割り込みが有効になっています。GPIO13_io0 の代わりに GPIO8_io29 を使いたいです。しかし、gpio8 の割り込みハンドラーは見つかりません。 gpio8_29 を外部割り込みとして定義するにはどうすればよいですか? Re: MIMXRT1170 Interrupt issue こんにちは@EdwinHz 、 最近、あなたの回答を見て、何かがおかしいと感じたので、本当にそうなのかどうか疑問に思い始めました。 「GPIO7 から GPIO12 はすべて CM4 ドメインからのみアクセス可能」と述べられていた。SO、RM を調べ始めたところ、次のことがわかりました。 AIPS-4 の説明では、このメモリ マップ範囲は CM7 コアと CM4 コアの両方からアクセスできると明記されています。SO、私の理解では、それはあなたが少し前に述べたことと矛盾しています。 さらに、あなたが貼り付けたバスダイアグラムは、実際には次の経路でGPIO[12-7]へのバス接続を持っていると思います(私の理解が正しいと仮定)。 RM からの情報によると、PGIO はアクセス可能であるため、フローは次のようになると想定しました。間違っていたら訂正してください。しかし、何かが明らかに間違っているので、正す必要があると感じています。 よろしくお願いします、 マイケル Re: MIMXRT1170 Interrupt issue 私も同じ問題に遭遇しました。何か進展はありますか? Re: MIMXRT1170 Interrupt issue ありがとうエドウィン、分かりました Re: MIMXRT1170 Interrupt issue こんにちは@muratokuslukさん、 ほとんどのピンは CM7 ドメインと CM4 ドメインの両方からアクセスできますが、GPIO7 から GPIO12 はすべて CM4 ドメインからのみアクセスできます。 したがって、GPIO8 は CM4 アクセスのみを目的としており、CM7 割り込みはありません。「表 4-2.リファレンスマニュアルの「CM4 ドメイン割り込み概要」には、IRQ 99 に GPIO7 から GPIO11 が示されています。 しかし、「表4-1.「CM7 ドメイン割り込みサマリー」には、代わりに CM7_GPIO2 と CM7_GPIO3 IRQ があります。 ただし、GPIO8_IO29 をルーティングするパッドである GPIO_EMC_B2_19 は、代替機能 10 ではなく 5 を使用する場合、GPIO_MUX2_IO29 もルーティングします。 したがって、CM4 を使用する場合は GPIO8 のパッドと割り込みを IRQ 99 で構成し、CM7 を使用する場合は CM7_GPIO2 に同じパッドと割り込みを構成することができ、IRQ は引き続き IRQ 99 (CM7_GPIO2) になります。 プロジェクトをcm7ではなくipgio_input_interrupt_cm4に基づいている場合は、startup_mimxrt1176_cm4.cに「GPIO7_8_9_10_11_IRQHandler()」が見つかります。 これでご質問への回答になったかと思います。 BR、 エドウィン。
記事全体を表示
H264エンコード前のグラフィック付きIMX8ビデオオーバーレイ こんにちは。私たちは 1920x1080p30 ビデオカメラを使用した目視検査システムを設計しています。 低電力システムでは、H264 エンコードの前とディスプレイの前に、ビデオ ストリームにグラフィックをオーバーレイする必要があります。iMX8M-Plus のような SOC でこれを行う方法に関する情報が見つかりません。iMX6 には、最大解像度 1024x1024 (1920x1080 の場合は 4 倍) でビデオ ストリームにグラフィックを合成/オーバーレイできる IPU がありました。iMX8M ファミリでは、ビデオ プロセッシングのこの側面が失われているようです。 SO、2D または 3D GPU は、通常の表示作業も実行しながら、メモリへのこの合成/オーバーレイを実行する必要があると思います。これを処理するための gstreamer プラグインは存在しないようです、SO何かを作成する必要があります。しかし、この段階で私が知りたいのは、次のことです。 1. iMX8-Plus ハードウェアは、CPU 使用率を最小限に抑えてこれを実現できますか (カメラは YUV I422/I421 で、コンポーザー/オーバーレイ出力は VPU エンコーダー (NV12 ?) とディスプレイに供給する必要があります)? 2. これについてどのように進めればよいか、何かアイデアはありますか?通常の X11/Wayland グラフィックス GUI が使用されている間は GPU を使用し、ゼロ コピー DMA バッファー パイプラインなどを通じてデータを供給する必要があります。 Terry Re: IMX8 Video overlay with graphics before H264 encode 私たちのアプリケーションでは簡単です。オーバーレイ QImage は、1 秒に 1 回程度非同期的に作成されます (実際には 2 つの QImage があり、1 つは描画用、もう 1 つは切り替え用の Mutex による表示用です)。 gstreamer appsrc 要素は、5 fps でビデオ フレームを送信するように構成されており、QImage を取得して、imxcompositor_g2d を介して gstreamer ストリームに挿入します。 ogstOverlaysrc=gst_bin_get_by_name(GST_BIN(ogstPipeline), "appsrc"); if(ogstOverlaySrc){ g_object_set(G_OBJECT(ogstOverlaySrc), "caps", gst_caps_new_simple("video/x-raw", "format", G_TYPE_STRING, "BGRA", "width", G_TYPE_INT, osize.width(), "height", G_TYPE_INT, osize.height(), "framerate", GST_TYPE_FRACTION, 5, 1, NULL), NULL); g_object_set(G_OBJECT(ogstOverlaySrc), "stream-type", 0, // GST_APP_STREAM_TYPE_STREAM "format", GST_FORMAT_TIME, "is-live", FALSE, NULL); g_signal_connect(ogstOverlaySrc, "need-data", G_CALLBACK(gstOverlayAddFrameCallback), gpointer(this)); } パイプライン ビット: imxcompositor_g2d name=c latency=20000000 sink_1::alpha=1.0 ! identity drop-allocation=true v4l2src device=/dev/video3 ! video/x-raw,width=1920,height=1080,framerate=25/1 ! c.sink_0 appsrc name="appsrc" ! videoconvert ! video/x-raw,format=ARGB ! c.sink_1 Re: IMX8 Video overlay with graphics before H264 encode 詳しいご回答ありがとうございます!もしよろしければ、これに基づいてさらにいくつか質問します。 1.QT オーバーレイとビデオ フレームをどのように同期させていますか?データ オーバーレイは、対応するビデオ フレームに正しく同期される必要があると思われます。 2. QT + Gstreamer の組み合わせについてはあまり詳しくないのですが、この 2 つがどのようにインターフェースされるかについてもう少し詳しく教えていただけますか?QT アプリ内で Gstreamer を使用してビデオを取得する方法についていくつかの情報を見つけましたが、それは私たちがやろうとしていることではありませんでした。 PS: あなたの投稿を最初に解釈すると、オーバーレイを画像として保存し、それを appSrc を使用して挿入していると思われます。そのリンクは私にとってはよく分かりません。 ありがとう! Re: IMX8 Video overlay with graphics before H264 encode そうですね、1920x1080p25 のビデオ ストリームを送信するアナログ カメラがあり、それにオーバーレイしています。Qt を使用して、フル 1920 x 1080 サイズの QImage にオーバーレイ イメージを作成し、次に gstreamer appSrc を使用して、これをアルファ = 1.0 のビデオ ストリームとともに imxcompositor_g2d ソースの 1 つに挿入します。 私たちの場合、これ以上の速度は必要ないため、Qt 描画側での CPU 使用率を節約するために appSrc gstreamer オーバーレイ フレームを 5 fps で生成しましたが、問題なく 25 fps を完全に実行できました。 FHD ビデオ ストリームをキャプチャし、テキスト/グラフィックをオーバーレイし、H264 エンコードしながら LCD パネルに表示し、ファイルに保存し、サウンド ストリームを管理する当社のシステムでは、imx8mp の全体的な使用率 (4コア) は約 25% です。 しかし、IMX8mp を gstreamer で操作するのは、ちょっとした危険地帯です。詳細なドキュメントがなく、内部的には比較的複雑なシステムであるため、効率的に動作させるには、gstreamer の配置や設定(多くはわかりにくい)を試行錯誤する必要があることがよくあります。 Re: IMX8 Video overlay with graphics before H264 encode @TerryBarnaby1 、このソリューションを使用して、どのようなフレームレートを実現できましたか?私たちはさまざまなオプションを評価していますが、カメラからキャプチャしたフレームに図形を描画したりテキストを重ねたりするための潜在的な解決策に関するリソースはほとんどありません。 よろしくお願いします! Re: IMX8 Video overlay with graphics before H264 encode こんにちは、テリー 私のCASE、位置と解像度が設定されたビデオウィンドウを内部に持つシンプルなWaylandアプリケーションのようなユースケースを考えてみましょう。最善のアプローチは何でしょうか?複数の egl サーフェスを使用しますか?あるいはウェイランドの地下表面ですか?どちらのアプローチがより良いかご提案いただけますか? Re: IMX8 Video overlay with graphics before H264 encode こんにちは 上記の質問に関して何か情報はありますか? waylandsink にはアルファ プロパティに関する制限がありますか? また、GPU/VPU を使用してクロマキー プロパティを使用する方法については何かアイデアがありますか? Re: IMX8 Video overlay with graphics before H264 encode こんにちはNXP waylandsink のアルファ プロパティが機能しません (5.4.70- imx8mplus) 、何か制限がありますか? Re: IMX8 Video overlay with graphics before H264 encode こんにちは 複数のビデオを実行するシンプルなWaylandアプリケーションを検討してください もう 1 つのポイントとして、waylandsink (imx8m-plus) のアルファ プロパティを使用しようとしていますが、機能しません。ここには何か制限がありますか? Re: IMX8 Video overlay with graphics before H264 encode それはあなたが具体的に何をしたいかによると思います。iMX8mp ハードウェア、実装された gstreamer モジュール、Wayland サーバー コード、GUI ツールキットなどを理解する必要がありますが、その情報は不足しており、私は専門家ではありません。また、W ayland GUI レイヤーの意味によっても異なります。 私の場合、Qtウィンドウに表示する前にビデオストリームにテキストをオーバーレイし、さらにH264エンコードしてファイルに出力する必要がありました。Qt GUIプラットフォームを使用しています。コードでは、ビデオにオーバーレイされるグラフィカル「レイヤー」(この例ではtest1.pngから取得)を、通常のQt描画プリミティブを使用してQt QImageで生成し、gstreamerの「appsrc name=\"appsrc\" ! videoconvert ! imagefreeze ! c.sink_1」部分パイプラインを使用してimxcompositor_g2dに送り込んでいます。画面出力は「waylandsink name=\"videoSink\"」で、このwaylandsink領域をアプリケーション内の特定のQtウィンドウ上で移動およびサイズ調整するためのC++ GUIコードが含まれています。 Re: IMX8 Video overlay with graphics before H264 encode こんにちは、テリー ご意見ありがとうございます。ビデオ レイヤーと Wayland GUI レイヤーをブレンドしたい場合、同様のアプローチで可能ですか? Re: IMX8 Video overlay with graphics before H264 encode 現在の (NXP Yocto hardknott) ベースの Linux では、グラフィックス 2D エンジンを使用してオーバーレイ プロセッシングを実行できることがわかりました。gstreamed imxcompositor_g2d モジュールはこれをCAN。典型的な gstreamer コマンドは次のようになります。 gst-launch-1.0imxcompositor_g2d name=c sink_1::alpha=0.5 !waylandsink v4l2src デバイス=/dev/video3 !ビデオ/x-raw、幅=1920、高さ=1080、フレームレート=30/1 !c.sink_0 マルチファイルrc location=./test1.png caps=image/png,framerate=1/1 !pngdec !画像フリーズ!c.シンク_1 これにより、フル HD カメラ ストリームが取得され、その上に test1.png ファイルがオーバーレイされます。imxcompositor_g2d に続いて、このビデオ ストリームを "vpuenc_h264 に渡すCAN。h264parse !アビムックス!「filesink location=/tmp/temp.avi」と入力して、ハードウェア h264 エンコーダーを使用してエンコードし、必要に応じて h264 エンコーダーだけでなくディスプレイにも出力します。 Re: IMX8 Video overlay with graphics before H264 encode こんにちは 私も同様の要件で作業しており、imx8m plus プラットフォームでビデオ オーバーレイをテストする方法を理解したいと思いますが、残念ながら、2021 年 1 月 13 日の L5.4.70_2.3.0 の Linux ユーザー ガイドのドキュメントには imx8m-plus 固有の情報がなく、プラグインoverlaysinkも利用できません。 Re: IMX8 Video overlay with graphics before H264 encode どうもありがとう。 「i.MX Linux ®ユーザー ガイド」にビデオ プロセッシング アーキテクチャ (ハードウェアおよびソフトウェア レイヤー/API およびパッケージ) の概要と履歴が記載されており、NXP Yocto BSP およびコミュニティ Yocto BSP でこれがどのようにサポートされているかが説明されていると便利です。 Re: IMX8 Video overlay with graphics before H264 encode ハイ はい、 imx-gst1.0-plugin が gstreamer1.0-plugins-imx に置き換えられました。 i.MX6ファミリでは、ビデオレンダリングはDRIではなくG2Dに依存します。 i.MX8ファミリでは、WaylandがDRIを使用しているため、ビデオレンダリングはDRIに依存します。 Re: IMX8 Video overlay with graphics before H264 encode 情報ありがとうございます。ただし、これは特定の NXP BSP リリースに固有の情報です。 カスタム ボード用の Yocto リリースを作成する必要があるため、最新のビデオ プロセッシング gstreamer 要素を取得するには、これ用の Yocto ビルドを構成する必要があります。NXP「Yocto」ビルドはコミュニティ ビルド (より主流) とは異なり、BSP タイプと 3 つの異なるカーネル バリアント、そしてさまざまなカーネル ドライバ構成などの付属品がすべて存在します。また、古い Yocto ビルドには、さまざまな gstreamer 要素やドライバなどがあります。 私は、現在および計画中のビデオ プロセッシング ソフトウェア ツリーの基礎が何であるかを理解しようとしているだけなので、ビルドではこれに従います。カスタム ボードにはコミュニティの Yocto BSP を使用すると言われていますが、これは NXP Yocto wrt ビデオ プロセッシングとはまったく異なります。例えば、ユーザーレベルではgstreamer1.0-plugins-imxがありますおよびimx-gst1.0-プラグインどちらのパッケージも、IMX6DL 用のコミュニティ ベースの Yocto dunfell ビルドではビルドされません。 imx-gst1.0-pluginはパッケージはgstreamer1.0-plugins-imxから引き継がれましたすべての IMX バリアントで、これは DRI GPU インターフェース ルートに依存しますか? 私は、最も賢明な方法で開発できるように、ハードウェア ビデオ プロセッシング ソフトウェア/ハードウェア アーキテクチャ/パッケージとその履歴全体を理解したいと考えています。 Terry Re: IMX8 Video overlay with graphics before H264 encode ハイ すべての BSP リリース ノートと i.MX GStreamer 1.0 プラグインの詳細は、i.MX_Linux_Release_Notes.pdf (マルチメディア) に記載されています。 i.MX_Linux_Users_Guide.pdf では、テストの実行方法について説明しています。 最後に言及した点については、リリースノートに次のように書かれています。 i.MX 6ファミリ: • overlaysink : G2Dベースのビデオシンクプラグイン • imxv4l2sink: V4L2ベースのビデオシンクプラグイン Re: IMX8 Video overlay with graphics before H264 encode 情報ありがとうございます。imx8m は一部のビデオプロセッシングをサポートしていないことがわかりましたが、2D GPU を搭載していないためリリースしていませんでした。この iMX8 シリーズは非常に乱雑で、部品の命名も奇妙です。 しかし、基本的な疑問は残ります。私たちのデザインでは imx8mq をターゲットにしておらず、おそらく IMX8M-Plus または IMX8-DualXPlus を使用することになるでしょう。私が決定しようとしているのは、一般的な H264 の前に、ハードウェア ビデオ合成をサポートする適切な Yocto リリースを構築する方法です。 ソフトウェア サポートは過去 5 年間で大きく変化しており、Yocto リリースを作成するためのルートは多数あり、カーネル内外のグラフィックスおよびビデオ プロセッシング ドライバの変更も数多く行われています。これらの変更や、方向性がどこに向かっているのか、どのようなユーザー レベル API とカーネルおよびカーネル レベル API が必要なのかについての、簡単な全体ガイドは存在しないようです。SO私はこれを理解して、最初にビデオプロセッシングのコンセプトをテストし、次にボードをデザインして、このカスタム ボードに適した Yocto ビルドを作成できるようにしたいと考えています。 例えば、imx-gst1.0-pluginはパッケージはgstreamer1.0-plugins-imxを置き換えましたパッケージと、いつ、どのような低レベル API/ドライバが必要/サポートされるか (DRI ?)。iMX6 と iMX8M-Plus に互換性のあるシステムを構築したいのですが、それが可能かどうかわかりません。 Terry Re: IMX8 Video overlay with graphics before H264 encode ハイ i.MX8MQには2D GPUがないSO、 imxcompositor_g2dは使用できません。別のimxcompositorを試すCAN。 BR Re: IMX8 Video overlay with graphics before H264 encode 情報ありがとうございます。これを試して、この出力が H264 VPU エンコーダーを介して取得CANこと、およびこれの全体的な CPU 使用率を証明したいと思います。しかし、gstreamer imxcompositor_g2d プラグインはどこでどうやって入手すればいいのでしょうか?私は、iMX6 および iMX8 テスト プラットフォームに適したコミュニティまたは nxp ベースの Yocto ビルドを構築しようとしていますが、このプラグインを見たことはありません。NXP gstreamer プラグインは現時点ではかなり混乱しているようです。 このユーザーレベルの部分はgstreamer1.0-plugins-imxにあるべきでしょうか?パッケージ ? 「 https://github.com/Freescale/fsl-community-bsp-platform -b dunfell」を使用してIMXコミュニティYoctoリリースをビルドすると、gstreamer1.0-plugins-imxをビルドできませんパッケージ。 IMX NXP Yocto リリースをビルドする場合: " https://source.codeaurora.org/external/imx/imx-manifestimx8mqevk マシンの「-b imx-Linux-zeus -m imx-5.4.70-2.3.0.xml」では、ビルド内に確認できる限り imxcompositor_g2d プラグインがありません (imx8mqevk がないため実行できません)。また、ビルド (IMAGE_INSTALL_append) に「gstreamer1.0-plugins-imx」を追加すると、「imx8mqevk (not in COMPATIBLE_MACHINE)」というエラーが発生します。 SO、機能する imxcompositor_g2d gstreamer プラグインを提供する適切な Yocto Linux システムを構築するには、何を構築すればよいのでしょうか? Re: IMX8 Video overlay with graphics before H264 encode ハイ 1.YUV422 および YUV420 入出力フォーマットもサポートされ、エンコーダー (NV12) をサポートします。 2.7.3.16をご覧くださいi.MX_Linux_User's_Guide.pdf のビデオ構成 imxcompositor_g2d は対応するハードウェアを使用してビデオ合成を高速化します。複数の ビデオを 1 つにまとめます。合成時にビデオのポジショニング、サイズ、回転を指定CAN。ビデオカラースペース変換は 入力ビデオと出力ビデオが同じでない場合も自動的に実行されます。各ビデオにはアルファ値とZオーダー値をCAN設定し、 アルファブレンディングとビデオブレンディングシーケンスを取得します。
記事全体を表示