Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
最高のリンクインデクサー&ウェブサイトインデックスツール 最高のインデクサーはロケットインデクサーとピングマチックです
記事全体を表示
最佳链接索引器和网站索引工具 最好的索引器是 Rocket Indexer 和 Pingomatic。
記事全体を表示
LPI2C6 can't send 0 bit? Hello, I am trying to implement controls on a device connected to T5 and R5 on my MIMXRT1170 SoC. Initially, I tried to set it up like so:    lpi2c_master_config_t cfg;   LPI2C_MasterGetDefaultConfig(&cfg);   LPI2C_MasterInit(I2C_BASE, &cfg,                    srcClockHz);   status_t start_status = LPI2C_MasterStart(I2C_BASE, 0x15, kLPI2C_Write);   And I saw that it does not seem to work as expected on the scope. What I saw was the start sequence, followed by a 0, and then nothing. So I tried to replace the start command by directly writing into MTDR something like:     I2C_BASE->MTDR = 0x4FA;   This address has a bunch of ones, followed by alternating ones and zeroes. What I see on the scope is that after the first zero, the module gives up and does not transmit the remaining bits. Why would that happen? For your convenience, I'll attach the schematic: and I'll also add that we added a couple of 2.2k pullups. Re: LPI2C6 can't send 0 bit? Hi @alex0 , Thank you so much for your interest in our products and for using our community. regarding your question, for the LPI2C6 communication issue on pins T5 and R5, please check the below: 1: Pin configuration: Configure both SCL and SDA with SION enabled and open drain enabled . Confirm that T5/GPIO_LPSR_11 is muxed to LPI2C6_SCL and R5/GPIO_LPSR_10 to LPI2C6_SDA.  Also verify that the SCL and SDA input DAISY selections point to these pads, and check the pull-ups. 2: Debug interface: Confirm whether you are using SWD or JTAG. These pins(T5 and R5) also have JTAG functions.  if JTAG is in use, please check for a pin-mux or board-level connection conflict. 3: Clock configuration: Confirm that the LPI2C6 functional clock is enabled and that the srcClockHz value passed to LPI2C_MasterInit() matches its configured frequency. LPI2C timing depends on that functional clock. Please retry the transfer after these checks. If it still stops during the address byte, please share the SCL/SDA waveforms and the LPI2C6 MSR value captured after the failure.  Wish it helps you Best Regards May Liu Re: LPI2C6 can't send 0 bit? Minor correction, we are actually using JTAG, not SWD.  With JTAG disconnected and the configuration suggested by you (fast slew rate, normal drive strength, keeper select), we now get no clock.   Re: LPI2C6 can't send 0 bit? Hello May, thank you for your quick response! 1. Regarding the pin configuration, I noticed that it differs slightly from what we had, but SION and open drain were enabled. Regardless, we tried to modify it to match the screenshot exactly - and it still did not work.  2. Regarding JTAG - we are aware of this. We are using SWD, but it seems that the default configuration works as is with no pin configurations.  3. Clock works as expected. The I2C is configured to run at 100khz and it runs at exactly that. Below is how we configure the pads: IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_10_LPI2C6_SDA,1U); IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_11_LPI2C6_SCL, 1U); IOMUXC_SetPinConfig(IOMUXC_GPIO_LPSR_10_LPI2C6_SDA, 0x21U); IOMUXC_SetPinConfig(IOMUXC_GPIO_LPSR_11_LPI2C6_SCL, 0x21U); It is my understanding that IOMUXC_SetPinMux handles the input DAISY selections.  #define IOMUXC_GPIO_LPSR_10_LPI2C6_SDA 0x40C08028U, 0x2U, 0x40C08090U, 0x1U, 0x40C08068U #define IOMUXC_GPIO_LPSR_11_LPI2C6_SCL 0x40C0802CU, 0x2U, 0x40C0808CU, 0x1U, 0x40C0806CU This seems correct: The MSR value we get after this is: 0x02000801 Re: LPI2C6 can't send 0 bit? Hi @alex0 , Thanks for your updated information. I recommend switching to SWD for a comparison test and confirming that both the debugger and the RT1170 target board are connected and configured for SWD. Simply unplugging the JTAG probe may not isolate resistors or other circuitry that remain connected to the SDA/SCL nets on the board. I could not identify pull-up resistors on the SDA and SCL nets in the schematic you shared. Since you mentioned adding two 2.2 kΩ pull-ups, could you please confirm that one is connected to SDA and the other to SCL, and that both are pulled up to the appropriate I/O supply? Best regards, May Re: LPI2C6 can't send 0 bit? Hi Mary, I'm not sure I understand what you mean by "Simply unplugging the JTAG probe may not isolate resistors or other circuitry that remain connected to the SDA/SCL nets on the board." We flash the image, disconnect the JTAG probe from the board itself, and perform power on reset. Is there some additional configuration that is necessary on the software side to disable JTAG, or is this a hardware issue? The two resistors I mentioned are indeed connected as you described. They are not on the schematic, but are present on the I2C slave side. Re: LPI2C6 can't send 0 bit? Hi May, I'm happy to share the issue has been resolved. The issue stemmed from overlapping pin configurations. The pin mux was defined in the setup for the CM7, and was overwritten by the CM4. We can mark it as solved. Thank you for your time! Re: LPI2C6 can't send 0 bit? Hi @alex0 , 1: Sorry, my earlier wording was unclear. I did not mean that you need an additional software step to disable JTAG after disconnecting the probe and performing a power-on reset. My concern is whether any subsequent pin configuration might overwrite the LPI2C6 settings for GPIO_LPSR_10/11. Could you please read back the pin-mux, input-selection, and pad-control registers immediately before the transfer to confirm that the LPI2C6 configuration is still in effect? 2: Are the I²C master and slave on the same board? If not, please confirm that they share a common ground. 3: With the probe disconnected, please confirm via UART or GPIO that the application reaches the transfer, and record the transfer return status and LPI2C6 MSR immediately before and after it. If available, SWD debugging could help inspect the registers when the transfer stops. Best Regards, May
記事全体を表示
The Best Link Indexer & Website Indexing Tool The Best indexer is rocket indexer and Pingomatic
記事全体を表示
i.MX RT1176 – Enabling CM4 for Ethernet alongside an existing CM7 application (HAB enabled) Hello, We have an application running only on the Cortex-M7 of an i.MX RT1176. The Cortex-M4 is currently not used. We want to enable the CM4 to handle Ethernet (FreeRTOS + lwIP), while the CM7 keeps running the existing application unchanged. Environment: - MCUXpresso IDE 11.6.1, SDK 2.13.0 - Boot from external FlexSPI NOR flash - HAB (secure boot) enabled - FreeRTOS on CM7 Questions: 1. What is the recommended way to load and start the CM4 from an already running CM7 application? Are there special considerations when HAB is enabled? 2. How should a CM4 crash or restart be handled so that the CM7 keeps running without a full system reset? 3. What is the recommended mechanism for communication between the cores, including transferring larger data blocks (a few KB)? 4. What should be considered for clocks, pins, interrupts, caches and memory regions so that the CM4 does not interfere with the CM7? 5. Is SDK 2.13.0 suitable for this, or is a newer SDK version recommended? 6. Is there an SDK example or application note with Ethernet running on the CM4 of the RT1170? Any guidance or experience from similar projects would be appreciated. Thank you! Development Board Re: i.MX RT1176 – Enabling CM4 for Ethernet alongside an existing CM7 application (HAB enabled) Hi @durgesh, I recommend reviewing AN13264 - i.MX RT1170 Dual Core Application. This document introduces dual-core applications on the i.MX RT1170, including the boot process, shared memory usage, and debugging procedures across different toolchains. Regarding the SDK, I recommend using the latest available version, as it includes the most recent fixes, enhancements, and improvements. As for examples, there are single-core CM4 SDK examples that use Ethernet. However, I was unable to locate a dual-core application example that implements Ethernet on CM4. Best Regards, Pablo
記事全体を表示
LPI2C6 无法发送 0 位吗? 您好,我正在尝试在我的 MIMXRT1170 SoC 上对连接到 T5 和 R5 的设备实现控制。 最初,我尝试这样设置:   lpi2c_master_config_t cfg ;   LPI2C_MasterGetDefaultConfig ( & cfg );   LPI2C_MasterInit ( I2C_BASE , & cfg ,                    srcClockHz );   status_t start_status = LPI2C_MasterStart ( I2C_BASE , 0x15 , kLPI2C_Write );   我发现它在示波器上似乎没有按预期工作。我看到的是起始序列,然后是 0,之后就什么都没有了。所以我尝试直接在 MTDR 中写入类似这样的内容来替换启动命令:   I2C_BASE -> MTDR = 0x4FA ;   这个地址由很多 1 组成,后面跟着 1 和 0 交替出现。我在示波器上看到,在接收到第一个零之后,模块就放弃了,不再传输剩余的比特。为什么会发生这种情况? 为了方便起见,我附上原理图: 我还要补充一点,我们还增加了几个 2.2k 的引体向上。 Re: LPI2C6 can't send 0 bit? 嗨@alex0 , 非常感谢您对我们产品的关注以及对我们社区的使用。 关于您提出的LPI2C6引脚T5和R5的通信问题,请查看以下内容: 1:引脚配置:将 SCL 和 SDA 配置为启用 SION 和启用开漏。确认 T5/GPIO_LPSR_11 已复用至 LPI2C6_SCL,R5/GPIO_LPSR_10 已复用至 LPI2C6_SDA。还要确认 SCL 和 SDA 输入 DAISY 选择是否指向这些焊盘,并检查上拉电阻。 2:调试接口:确认您使用的是 SWD 还是 JTAG。这些引脚(T5 和 R5)也具有 JTAG 功能。如果使用 JTAG,请检查是否存在引脚复用或板级连接冲突。 3:时钟配置:确认 LPI2C6 功能时钟已启用,并且传递给 LPI2C_MasterInit() 的 srcClockHz 值与其配置的频率相匹配。LPI2C 时序取决于该功能时钟。 请在完成这些检查后重试转账。如果在地址字节处仍然停止,请提供故障发生后捕获的SCL/SDA波形和LPI2C6 MSR值。 希望对你有帮助 顺祝商祺! 刘梅 Re: LPI2C6 can't send 0 bit? 你好May,谢谢你的快速回复! 1. 关于引脚配置,我注意到它与我们之前使用的略有不同,但 SION 和开漏已启用。尽管如此,我们还是尝试修改它,使其与截图完全一致——但仍然无效。 2. 关于 JTAG——我们已经了解。我们使用的是SWD,但似乎默认配置无需任何引脚配置即可正常工作。 3. 时钟工作正常。I2C配置为以100kHz运行,并且它正是以这个频率运行的。 以下是我们配置焊盘的方式: IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_10_LPI2C6_SDA,1U); IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_11_LPI2C6_SCL, 1U); IOMUXC_SetPinConfig(IOMUXC_GPIO_LPSR_10_LPI2C6_SDA, 0x21U); IOMUXC_SetPinConfig(IOMUXC_GPIO_LPSR_11_LPI2C6_SCL, 0x21U); 据我了解,IOMUXC_SetPinMux 函数负责处理输入 DAISY 引脚的选择。 #define IOMUXC_GPIO_LPSR_10_LPI2C6_SDA 0x40C08028U, 0x2U, 0x40C08090U, 0x1U, 0x40C08068U #define IOMUXC_GPIO_LPSR_11_LPI2C6_SCL 0x40C0802CU, 0x2U, 0x40C0808CU, 0x1U, 0x40C0806CU 这似乎是正确的: 之后得到的 MSR 值为: 0x02000801 Re: LPI2C6 can't send 0 bit? 稍作更正,我们实际上使用的是JTAG,而不是SWD。 断开 JTAG 连接并按照您建议的配置(快速转换速率、正常驱动强度、保持选择)后,我们现在没有时钟信号。   Re: LPI2C6 can't send 0 bit? 嗨,玛丽, 我不太明白您所说的“仅仅拔掉 JTAG 探针可能无法隔离仍然连接到板上 SDA/SCL 网络的电阻器或其他电路”是什么意思。 我们将镜像写入板,断开 JTAG 探针与板的连接,然后执行上电复位。是否需要在软件方面进行一些额外的配置才能禁用 JTAG,还是这是硬件问题? 我提到的那两个电阻器确实是按照你描述的方式连接的。它们不在原理图中,但存在于 I2C 从设备侧。 Re: LPI2C6 can't send 0 bit? 嗨@alex0 , 感谢您提供的最新信息。 我建议切换到 SWD 进行对比测试,并确认调试器和 RT1170 目标板均已连接并配置为 SWD。仅仅拔下 JTAG 探针可能无法隔离仍然连接到板上 SDA/SCL 网络的电阻器或其他电路。 我无法在您提供的原理图中识别出 SDA 和 SCL 网络上的上拉电阻。既然您提到要添加两个 2.2 kΩ 的上拉电阻,请您确认一个连接到 SDA,另一个连接到 SCL,并且两个电阻都上拉到相应的 I/O 电源? 此致, 可能 Re: LPI2C6 can't send 0 bit? 嗨@alex0 , 1:抱歉,我之前的措辞不够清楚。我的意思并不是说在断开探针并执行上电复位后,还需要额外的软件步骤来禁用 JTAG。我担心后续的任何引脚配置是否可能会覆盖 LPI2C6 的 GPIO_LPSR_10/11 设置。请您在传输之前立即读取引脚多路复用寄存器、输入选择寄存器和焊盘控制寄存器,以确认 LPI2C6 配置仍然有效? 2:I²C 主设备和从设备是否在同一块板上?如果没有,请确认他们是否有共同点。 3:断开探针连接后,请通过 UART 或 GPIO 确认应用程序是否到达传输点,并记录传输返回状态以及传输前后 LPI2C6 MSR 的值。如果可用,SWD 调试可以帮助在传输停止时检查寄存器。 此致, 可能 Re: LPI2C6 can't send 0 bit? 嗨,May, 我很高兴地告诉大家,这个问题已经解决了。问题源于引脚配置重叠。CM7 的设置中定义了引脚复用,但 CM4 覆盖了该定义。 我们可以将其标记为已解决。感谢您抽出时间!
記事全体を表示
提升SEO效果的最佳即时URL索引工具 Rocket Indexer 被广泛认为是目前最好的即时索引平台,能够快速发现 URL 和反向链接。 顶级即时指数 • Rocket Indexer :使用实时 ping 系统,可在几分钟内定期触发信号爬虫访问,成功率很高。套餐计划从价格合理的信用等级开始。 • 索引型:在快速反向链接和内容索引方面表现出色,能够快速地将新链接路由到多个发现和 AI/LM 平台。
記事全体を表示
What Makes a Streaming Service Reliable for Everyday Viewing? When comparing online streaming services, I believe the most important factors are playback stability, picture quality, device compatibility, and how regularly the content is updated. While exploring different options, I came across NexusIPTV, a service that presents itself as offering live TV and video-on-demand content for viewers using different devices. Some features worth evaluating include: Picture quality: Support for Full HD and 4K, depending on the content and connection. Device compatibility: Options for Smart TVs, Android devices, Fire TV devices, computers, and smartphones. Content variety: Live television alongside movies and series. Playback performance: How well the service performs during busy hours and on different internet connections. Content updates: Whether the available library is maintained and updated regularly. Of course, specifications alone do not guarantee a good experience. Actual performance depends on the internet connection, device, and service conditions. It is also important to verify that the content is properly licensed in your region. click here for more informations Discussion question: When evaluating a streaming service, which matters most to you: stable playback, 4K quality, content variety, or compatibility with your devices?
記事全体を表示
什么因素决定了流媒体服务是否适合日常观看? 在比较在线流媒体服务时,我认为最重要的因素是播放稳定性、图像质量、设备兼容性以及内容更新的频率。 在探索不同选择的过程中,我发现了NexusIPTV ,这项服务声称可以为使用不同设备的观众提供直播电视和在线点播内容。 值得评估的一些功能包括: 图像质量:支持全高清和 4K,具体取决于内容和连接方式。 设备兼容性:可兼容智能电视、安卓设备、Fire TV 设备、电脑和智能手机。 内容丰富多样:除了电影和电视剧外,还有直播电视节目。 播放性能:服务在高峰时段和不同网络连接下的性能表现。 内容更新:现有资料库是否得到定期维护和更新。 当然,单凭规格参数并不能保证良好的体验。实际性能取决于网络连接、设备和服务条件。此外,还需确认该内容在您所在地区是否已获得合法授权。 点击此处了解更多信息 讨论问题:在评估流媒体服务时,您最看重的是:播放稳定性、4K 画质、内容多样性,还是与您的设备的兼容性?
記事全体を表示
SEO効果を高めるための最適な即時URLインデックスツール Rocket Indexerは、迅速なURLとバックリンクの発見において、総合的に最高のインスタントインデックスプラットフォームと広く評価されています。 トップインスタントインデクサー • Rocket Indexer :リアルタイムのpingシステムを使用し、高い成功率で数分以内に定期的にクローラーの訪問をトリガーします。プランは、手頃な信用格付けレベルから始まります。 • インデックス作成:高速なバックリンクおよびコンテンツインデックス作成に優れた性能を発揮し、複数の発見およびAI/LMサーフェス全体に新しいリンクを迅速にルーティングできます。
記事全体を表示
iMX8MP 和解串器 大家好! 我们的数字视频注册器中使用的是 i.MX 8M Plus。我们目前的任务是修改设计,使用 SerDes 芯片连接至少两个(最好是 4 个)摄像头。在研究过程中,我发现连接 DS90UB960 或 DS90UB954 可能会有问题,因为该处理器不支持虚拟通道。 是否有关于连接其他解串器(例如 TI、模拟设备、THine Electronics 等)的信息或积极经验? 此致, 哔叽 Re: iMX8MP and Deserializers 您好, 感谢您对恩智浦半导体产品的关注, 正如您所提到的,由于缺少虚拟通道,i.MX 8M Plus 没有可用的串行器,但有适用于 i.MX 8 系列处理器(使用 i.MX8QM 和 i.MX8QXP)的参考,i.MX 95 支持虚拟通道,并且也有串行器参考。 此致 Re: iMX8MP and Deserializers 我知道不能使用解串器将两台摄像机连接到单个 MIPI 接口。 但是,是否有成熟的解串器解决方案可以将单个/两个摄像头连接到单个/两个 CSI/MIPI 接口? 例如,是否可以使用 MAX96714? Re: iMX8MP and Deserializers 您好, 不,目前还没有像文中描述的那样被证实有效的解决方案。 此致, Re: iMX8MP and Deserializers 这很奇怪。我亲眼见过并亲手体验过基于 THCV242A + iMXMP 的解决方案——虽然我不记得它连接的是一台摄像头还是两台摄像头了…… Re: iMX8MP and Deserializers 嗨@sfatyushkin,由于该平台不支持虚拟通道,因此每个 CSI/MIPI 端口一次只能从一个摄像头进行流传输。例如,两个解串器分别连接到一个 CSI/MIPI 端口。这里有一份关于GMSL的资源,如果你想了解一下的话。 如果您不需要连续流传输,或者可以容忍所有四个传感器较低的捕获速率,那么另一种可能的方法是实现一个自定义驱动程序,该驱动程序可以在摄像头流之间切换,并根据需要启动和停止每个传感器。理想情况下,还需要一种方法将其与用户空间应用程序同步,以确保捕获帧并将其与正确的摄像头关联起来。 此致, 丹尼尔·冈萨雷斯 RidgeRun公司的嵌入式软件工程师 开发者维基: https://developer.ridgerun.com 网站: www.ridgerun.com
記事全体を表示
i.MX95 SEMA42 GATEn ドメインIDのレジストラ 私は、Cortex-M7とCortex-A55の間で相互排他を実装するために、i.MX95でSEMA42を使う予定です。 これを行うには、SEMA42 GATEnレジスタのGTFSMフィールド(ビット3~0)にドメイン番号(ドメイン0~14)を指定する必要があります。 ドメイン0から14までの各バス・マスタ(Cortex-A55、Cortex-M7、Cortex-M33、DMAなど)がどのバス・マスタに対応しているか教えていただけますか? MCUXpresso SDKsのSEMA42ドライバ例からCortex-M7とCortex-M33のドメイン番号を見つけることができました (APP_CORTEX_M33_DID = 8、APP_CORTEX_M7_DID = 9)、この例はこれらの値で動作します。 しかし、System マネージャのcfgファイルで設定されているTRDCのDIDとは一致しません(M33/SMはdid=2、M7はdid=4)。 さらに、i.MX943 EVKのSEMA42例ではこれらの値を「SoCのマスターID割り当て」として説明しているため、SEMA42はTRDCのDIDではなくバス・マスタIDを使用していると推測します。 しかし、i.MX95でCortex-A55の対応する値は見つかりませんでした。この情報(例:i.MX95のマスターID割り当てテーブル)が任意の文書で記述されている場合 またはウェブ上でも、もし教えていただけると助かります。 mcuxpresso-sdk\mcuxsdk\examples\_boards\IMX95LPD5EVK19\driver_examples\sema42\SM\CM7\App.h --- #define APP_CORTEX_M7_DID 9 #define APP_CORTEX_M33_DID 8 --- Re: i.MX95 SEMA42 GATEn regiser of Domain ID i.MX95 SEMA42の例ではCortex-M7にはDID 9を使用してください。System マネージャやTRDCのDID 4は使いません。この構成では異なる識別子です。SEMA42はSDKs値を受け入れ、ドメイン9でロックされたゲートはGTFSM = 10(ドメイン+1)を読み戻します。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID 私の環境のSystem マネージャ/TRDC構成のCortex-M7 DIDは4です。 私は最初にこのDIDを試しました。しかし、SEMA42は機能しなかった。GATEn.GTFSM の値はMCUXpressoSDK の例でのみ動作します。 何かアイデアはありますか? Re: i.MX95 SEMA42で使用するDomain ID i.MX95リファレンスマニュアルでは、Cortex-A55はデフォルトでドメインID 3として記載されています。Cortex-M7とCortex-M33のデフォルトIDはそれぞれ4と2です。 あなたのSDK例では、M7を9、M33を8と定義しています。A55 DID 3をA55–M7のロックに使う前に、その例で使われているSystem マネージャ/TRDCの設定を確認してください。また、ロックされたGATEn.GTFSMはDID + 1として読み戻されます。読み戻し値が9の場合はDID 8を示します。 i.MX95リファレンスマニュアルでは、 Cortex-A55の既定のDomain ID(DID)は3 です。Cortex-M7とCortex-M33の既定DIDは、それぞれ4と2です。 一方、ご提示のSDK例ではM7を9、M33を8と定義しています。 A55–M7間の排他処理にA55のDID 3を使う前に、その例で使用するSystem マネージャ/TRDCの設定を確認してください。 また、ロック後の GATEn.GTFSM の読み出し値は DID + 1 です。読み出し値9はDID 8を示します。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID 実はCortex-A55とCortex-M7の両方でSEMA42をテストしました。書きながら 値1から15までをGATEn.GTFSMに変換し、どの値が実際にゲートをロックできるか確認します。   GATEn.GTFSM DID + 1 (*1) Cortex-A55 コア 0 1 4 Cortex-A55コア1 2 4 Cortex-M7 10 (*2) 5 *1 System マネージャ cfg ファイルの DID 定義に基づく値 *2 MCUXpresso SDKのSEMA42ドライバー例で使用される値 GATEn.GTFSM に書き込まれる値は明らかに DID + 1 (*1) ではありません。 i.MX95 SEMA42仕様によると、どのデバイス(バス・マスタ)が GATEn.GTFSM 値の1から15に対応していますか? 最低限、GATEn.GTFSMの値が次のように設定する必要があります。 Cortex-A55コア0から5とCortex-M7です。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID 重要な点は、GATEn.GTFSMが固定されたバス・マスタIDテーブルではないということです。これは、要求者が設定したDIDに1を加えた値です。 GTFSM = DID + 1 標準のi.MX95/System マネージャ構成の場合: GTFSM した バス・マスタ/デバイス 1 0 標準のデフォルト割り当てはありません 2 1 標準のデフォルト割り当てはありません 3 2 Cortex-M33 / システムマネージャー 4 3 Cortex-A55プラットフォーム — コア0–5 5 4 Cortex-M7 6~15歳 5~14 構成に依存します。固定のデバイス割り当てはありません。 したがって、デフォルト設定では次のようになります。 Cortex-A55コア 0–5: GTFSM = 4 Cortex-M7: GTFSM = 5 Cortex-M33/システムマネージャー:GTFSM = 3 これがA55コア0と1の両方が値4でロックされる理由を説明しています。6つのA55コアはA55プラットフォームのDIDを共有しており、それぞれ別々のGTFSM値を持ちません。System マネージャの設定では、SM/M33はDID 2、A55はDID 3、M7はDID 4が割り当てられています。 MCUXpresso SEMA42の例では、異なる構成を使用しています。M33 DID 8、M7 DID 9であるため、対応する読み出し値は9と10になります。これらはデフォルトのシステムマネージャー構成のTRDCのDIDではありません。
記事全体を表示
iMX8MP and Deserializers Hi all! We are using the i.MX 8M Plus in our Digital Video Registrator. We are currently tasked with modifying the design to connect at least two (4 better) cameras using SerDes chips. In researching this, I see that connecting the DS90UB960 or DS90UB954 might be problematic because the processor does not support virtual channels. Is there any information or positive experience regarding the connection of other deserializers (from TI, Analog Devices, THine Electronics, etc.)? Best regards, Serge Re: iMX8MP and Deserializers Hi, Thank you for your interest in NXP Semiconductor products, As you mention, serializers are not available for i.MX 8M Plus due to the lack of virtual channel, there is a reference for i.MX 8 series processors using i.MX8QM and i.MX8QXP, i.MX 95 supports VC and has a serializer reference as well. Regards Re: iMX8MP and Deserializers I understand that two cameras cannot be connected to a single MIPI interface using a deserializer. However, are there any proven deserializer solutions for connecting a single/two camera to a single/two CSI/MIPI interfaces? Is it possible to use, for example, the MAX96714 ? Re: iMX8MP and Deserializers Hi, No, there has not been any solutions proven like the one described, Regards, Re: iMX8MP and Deserializers That’s very strange. I personally saw and held in my hands a solution based on the THCV242A + iMXMP —though I don't recall whether it connected one camera or two... Re: iMX8MP and Deserializers Hi @sfatyushkin since the platform doesn't support virtual channel, you would only be able to stream from a single camera at a time per CSI/MIPI port. For example two deserializers each connected to one CSI/MIPI port. Here is a resource on GMSL if you wanna take a look. If you don't need continuous streaming or can tolerate a lower capture rate from all four sensors, another potential approach could be to implement a custom driver that switches between camera streams, starting and stopping each sensor as needed. Ideally, you'd also need a way to synchronize this with a userspace application to ensure frames are captured and associated with the correct camera. Best regards, Daniel Gonzalez Embedded SW Engineer at RidgeRun Developers wiki: https://developer.ridgerun.com Website: www.ridgerun.com
記事全体を表示
LInux CAAMドライバは=mではなく=yでコンパイルされています Linux 6.18.2_1.0.0まではCONFIG =yモードでCAAMドライバをコンパイルできていました。しかし、最近のLinux 6.18.20_2.0.0やLinux 6.18.37_2.1.0では、カーネル内蔵証明書エラーが発生しました。 CRYPTO_DEV_FSL_CAAM_PKC、セキュア、信頼された鍵のオン/オフなどのCAAM設定を変更してみました。これで証明書がCAAMとは独立するはずですが、SILL CERTIFICATEはCAAMドライバーを=mモードにするまで壊れています。 CAAMドライバーを=yとして使うことは可能ですか?私はi.MX7を使用しています。ありがとう Re: LInux CAAM driver compiled =y instead of =m この問題が発生するかどうかを確認するには、「CONFIG_TRUSTED_KEYS_CAAM」を無効にして「n」に設定してください。 SDKsのデフォルトビルド設定で、以下の情報を見つけました。 # CONFIG_TRUSTED_KEYS_CAAM が設定されていません Re: LInux CAAM driver compiled =y instead of =m おそらく6.18.2では既に動作していなかったのでしょう。よくわからない。6.12.xでは確かに動作したはずです。 CAAM_DEBUGを有効にして、 zcat /proc/config.gz | grep CAAM # CONFIG_CRYPTO_DEV_FSL_CAAM_DMA が設定されていません CONFIG_TRUSTED_KEYS_CAAM=y CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_KEYBLOB_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y CONFIG_CRYPTO_DEV_FSL_CAAM=y CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG=y CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 # CONFIG_CRYPTO_DEV_FSL_CAAM_INTC が設定されていません CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_BLOB_GEN=y CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y # CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API_TEST が設定されていません # CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST が設定されていません CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7 CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m dmesgでこれが表示されます [ 0.600724] caam 30900000.crypto: entropy-delay property missing in DT [ 0.600757] caam 30900000.crypto: device ID = 0x0a16030000000000 (Era 8) [ 0.600776] caam 30900000.crypto: job rings = 3, qi = 0 [ 0.609580] sdhci-esdhc-imx 30b40000.mmc: Got CD GPIO [ 0.614915] caam algorithms registered in /proc/crypto [ 0.615107] caam 30900000.crypto: caam pkc algorithms registered in /proc/crypto [ 0.615138] caam 30900000.crypto: rng crypto API alg registered prng-caam [ 0.615157] caam 30900000.crypto: registering rng-caam [ 0.615184] 01: operation [ 0.615198] 02: fifo_store [ 0.615217] rng job desc@: (ptrval): b0800004 82500002 60340010 81cf2500 ......P...4`.%.. [ 0.615405] 01: operation [ 0.615423] 02: fifo_store [ 0.615440] rng job desc@: (ptrval): b0800004 82500002 60340010 8126fac0 ......P...4`..&. [ 0.616325] Device caam-keygen registered [ 0.620411] caam-snvs 30370000.caam-snvs: ipid matched - 0x3e [ 0.620477] caam-snvs 30370000.caam-snvs: violation handlers armed - non-secure state [ 0.621041] hid: raw HID events driver (C) Jiri Kosina [ 0.621217] usbcore: registered new interface driver usbhid [ 0.621230] usbhid: USB HID core driver [ 0.624128] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 (8000000f) counters available [ 0.627983] NET: Registered PF_INET6 protocol family [ 0.629380] Segment Routing with IPv6 [ 0.629471] In-situ OAM (IOAM) with IPv6 [ 0.629630] NET: Registered PF_PACKET protocol family [ 0.629705] Bridge firewalling registered [ 0.629717] can: controller area network core [ 0.629795] NET: Registered PF_CAN protocol family [ 0.629810] can: raw protocol [ 0.630378] Key type dns_resolver registered [ 0.637395] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 2 mkt segment 1 supported-hw 0x4 0x2 [ 0.638671] Registering SWP/SWPB emulation handler [ 0.649825] Loading compiled-in X.509 certificates [ 0.650591] 07: operation [ 0.651164] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA [ 0.674771] 01: operation [ 0.674791] 02: fifo_store [ 0.674811] rng job desc@: (ptrval): b0800004 82500002 60340010 8126fac0 ......P...4`..&. [ 0.679492] Problem loading in-kernel X.509 certificate (-22) Re: LInux CAAM driver compiled =y instead of =m はい、CAAMは原理的にi.MX7上で=yである場合があります。私は、=m の回避策を i.MX7 CAAM の要件ではなく、依存関係/ビルドの回帰の証拠として扱います。 LF6.18.20_2.0.0ビルドの最初の証明書エラーを正確に貼り付ければ、どのKconfig/Makefile依存関係が原因かを追跡し、特定のNXPやアップストリームパッチでバックポートが必要なかどうかを判断できます。 Re: LInux CAAM driver compiled =y instead of =m 信頼済みキーのオン/オフを含む関連設定をすべて変更してみましたが、CAAMを=mモードに切り替えるまで変化はありませんでした。 Re: LInux CAAM driver compiled =y instead of =m もしそうなら、Yocto SDKと同様にCAAMドライバー=mの設定をしてください。 Re: LInux CAAM driver compiled =y instead of =m 質問はyの問題に関するものでした。明らかに、6.12aと6.18カーネルの間で何らかの不具合が発生した。
記事全体を表示
IW612:固件说明 我的 IW612 的 BLE 部分出现了一些问题。我收到类似这样的错误: 9月30日 14:27:11 设备 kern.err 内核: [103370.366384]蓝牙:hci0:控制器不再接受命令:ncmd = 0 9月30日 14:27:11 设备 kern.err 内核: [103370.372705]蓝牙:hci0:注入 HCI 硬件错误事件 9月30日 14:27:32 设备 kern.err 内核: [103391.064915]蓝牙:hci0:帧重组失败(-84) 9月30日 14:27:34 设备 kern.err 内核: [103393.005935]蓝牙:hci0:操作码 0x0c03 失败:-110 我的平台是 STM32MP1,内核版本为 6.6.x,使用 Murata 2EL 模块。使用 NXP HCI 驱动程序。 请问以下说法是否属实? - github.com/nxp-imx/mwifiex 的版本应与 github.com/nxp-imx/imx-firmware 匹配 - 校准版本 (github.com/murata-wireless/nxp-linux-calibration)无关紧要 - 无需将标签与内核版本匹配,因此我不必使用lf-6.6.52_2.2.0 分支,较新的 lf-6.18.37_2.1.0 应该向下兼容我的内核。 我希望在测试新版本之前先解决这个问题,看看更新是否能解决我的问题。 Re: IW612: Firmware clarification 嗨, @allard_p - github.com/nxp-imx/mwifiex 的版本应与 github.com/nxp-imx/imx-firmware 匹配 ==>[NXP]:是的,我们强烈建议使用匹配的驱动程序(github.com/nxp-imx/mwifiex)。以及固件(github.com/nxp-imx/imx-firmware)。 - 校准版本 (github.com/murata-wireless/nxp-linux-calibration)无关紧要 ==>[NXP]: 是的,对于您当前的 HCI 错误,校准并不重要。它通常会影响射频性能、发射功率和监管行为。 - 无需将标签与内核版本匹配,因此我不必使用lf-6.6.52_2.2.0 分支,较新的 lf-6.18.37_2.1.0 应该向下兼容我的内核。 ==>[NXP]:是的,我们的驱动程序与旧内核兼容,例如您的6.6.x 内核。但是您需要使用内核交叉编译工具链交叉编译驱动程序源代码。 顺便问一下,您提到您正在使用 nxp hci 驱动程序。 您正在使用我们的 btnxpuart 吗?或者您使用的是Linux开源UART? 对于蓝牙:hci0:帧重组失败(-84)错误,我建议您检查与蓝牙相关的设备树以及波特率。 顺祝商祺! Christine。 Re: IW612: Firmware clarification 我正在使用 btnxpuart.c,内核 6.6.129 中包含的版本 Re: IW612: Firmware clarification 更新:我已更新至 lf-6.18.37_2.1.0。我还没有遇到最初的问题,但我遇到了另一个问题:蓝牙控制器有时会停止发送 LE 广播报告,而主机仍然启用了扩展被动扫描。停车很突然,没有任何错误提示。 我有 HCI 日志,但我不想将它们附加到公共论坛上,我会就此提交一个支持案例。 Re: IW612: Firmware clarification 嗨, @allard_p 感谢您的反馈,请问您最初的问题已通过更新到 lf-6.18.37_2.1.0 得到解决吗? 对于新的BLE广播问题,当然可以,请随时通过我们的支持工单系统创建新案例: https://support.nxp.com/s/?language=en_US 如果本帖没有其他问题,我将暂时关闭此帖。 如果您还有其他疑问,可以随时回复。 顺祝商祺! Christine。
記事全体を表示
i.MX95 SEMA42 GATEn regiser of Domain ID I am planning to use SEMA42 on the i.MX95 to implement mutual exclusion between the Cortex-M7 and the Cortex-A55. To do this, a domain number (Domain 0–14) needs to be specified in the GTFSM field (bits 3-0) of the SEMA42 GATEn register. Could you please tell me which bus master (Cortex-A55, Cortex-M7, Cortex-M33, DMA, etc.) each of Domain 0–14 corresponds to? I was able to find the domain numbers for the Cortex-M7 and Cortex-M33 from the SEMA42 driver example in the MCUXpresso SDK (APP_CORTEX_M33_DID = 8, APP_CORTEX_M7_DID = 9), and the example works with these values. However, they do not match the TRDC DIDs configured in the System Manager cfg file (did=2 for the M33/SM and did=4 for the M7). In addition, the SEMA42 example for the i.MX943 EVK describes these values as a "Master ID assignment for the SoC", so I assume SEMA42 uses the bus master ID rather than the TRDC DID. However, I could not find the corresponding value for the Cortex-A55 on the i.MX95. If this information (e.g., a master ID assignment table for the i.MX95) is described in any document or on the web, I would also appreciate it if you could point me to it. mcuxpresso-sdk\mcuxsdk\examples\_boards\imx95lpd5evk19\driver_examples\sema42\sm\cm7\app.h --- #define APP_CORTEX_M7_DID 9 #define APP_CORTEX_M33_DID 8 --- Re: i.MX95 SEMA42 GATEn regiser of Domain ID Use DID 9 for the Cortex-M7 in the i.MX95 SEMA42 example, not the System Manager/TRDC DID of 4. They are different identifiers in this configuration: SEMA42 accepts the SDK value, and a gate locked by domain 9 reads back GTFSM = 10 (domain + 1). Re: i.MX95 SEMA42 GATEn regiser of Domain ID Cortex-M7 DID of the System Manager/TRDC configuration in my environment is 4. I first tried this DID. But SEMA42 didn't work. GATEn.GTFSM value of MCUXpressoSDK example only work. Do you have a idea? Re: i.MX95 SEMA42で使用するDomain ID The i.MX95 Reference Manual lists Cortex-A55 as Domain ID 3 by default . Its default IDs for Cortex-M7 and Cortex-M33 are 4 and 2, respectively. Your SDK example instead defines M7 as 9 and M33 as 8. Check the System Manager/TRDC configuration used by that example before using A55 DID 3 for A55–M7 locking. Also, a locked GATEn.GTFSM reads back as DID + 1 ; a readback value of 9 indicates DID 8. i.MX95リファレンスマニュアルでは、 Cortex-A55の既定のDomain ID(DID)は3 です。Cortex-M7とCortex-M33の既定DIDは、それぞれ4と2です。 一方、ご提示のSDK例ではM7を9、M33を8と定義しています。 A55–M7間の排他処理にA55のDID 3を使う前に、その例で使用するSystem Manager/TRDCの設定を確認してください。 また、ロック後の GATEn.GTFSM の読み出し値は DID + 1 です。読み出し値9はDID 8を示します。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID The key point is that GATEn.GTFSM is not a fixed bus-master ID table. It reflects the requester’s configured DID plus one: GTFSM = DID + 1 For the standard i.MX95/System Manager configuration: GTFSM DID Bus master / device 1 0 No standard default assignment 2 1 No standard default assignment 3 2 Cortex-M33 / System Manager 4 3 Cortex-A55 platform — cores 0–5 5 4 Cortex-M7 6–15 5–14 Configuration-dependent; no fixed device assignment Thus, for the default configuration: Cortex-A55 cores 0–5: GTFSM = 4 Cortex-M7: GTFSM = 5 Cortex-M33/System Manager: GTFSM = 3 This explains why A55 cores 0 and 1 both lock with value 4: the six A55 cores share the A55 platform DID; they do not have separate GTFSM values. The System Manager configuration assigns SM/M33 DID 2, A55 DID 3, and M7 DID 4. The MCUXpresso SEMA42 example uses a different configuration: M33 DID 8 and M7 DID 9, therefore the corresponding readback values are 9 and 10. These are not the TRDC DIDs from the default System Manager configuration. Re: i.MX95 SEMA42 GATEn regiser of Domain ID I actually tested SEMA42 on both the Cortex-A55 and the Cortex-M7 by writing values 1 to 15 to GATEn.GTFSM, to check which values can actually lock the gate.   GATEn.GTFSM DID + 1 (*1) Cortex-A55 core 0 1 4 Cortex-A55 core 1 2 4 Cortex-M7 10 (*2) 5 *1 Values based on the DID definitions in the System Manager cfg file *2 Value used in the SEMA42 driver example of the MCUXpresso SDK The value to be written to GATEn.GTFSM is clearly not DID + 1 (*1). According to the i.MX95 SEMA42 specification, which devices (bus masters) correspond to GATEn.GTFSM values 1 to 15? At a minimum, I need the GATEn.GTFSM values corresponding to Cortex-A55 cores 0 to 5 and the Cortex-M7.
記事全体を表示
i.MX95 SEMA42 GATEn 功能域注册器 我计划在 i.MX95 上使用 SEMA42 来实现 Cortex-M7 和 Cortex-A55 之间的互斥。 为此,需要在 SEMA42 GATEn 寄存器的 GTFSM 字段(位 3-0)中指定功能域号(功能域 0-14)。 请问功能域 0 到 14 分别对应哪些总线主控芯片(Cortex-A55、Cortex-M7、Cortex-M33、DMA 等)? 我从 MCUXpresso SDK 中的 SEMA42 驱动程序示例中找到了 Cortex-M7 和 Cortex-M33 的功能域数字。 (APP_CORTEX_M33_DID = 8,APP_CORTEX_M7_DID = 9),并且该示例适用于这些值。 但是,它们与系统管理器 cfg 文件中配置的 TRDC DID 不匹配(M33/SM 的 did=2,M7 的 did=4)。 此外,i.MX943 EVK 的 SEMA42 示例将这些值描述为“SoC 的主 ID 分配”,因此我假设 SEMA42 使用的是总线主 ID 而不是 TRDC DID。 但是,我找不到 i.MX95 上 Cortex-A55 的对应值。如果任何文档中描述了此信息(例如,i.MX95 的主 ID 分配表)。 或者在网上,如果您能告诉我哪里可以找到,我将不胜感激。 mcuxpresso-sdk\mcuxsdk\examples\_boards\imx95lpd5evk19\driver_examples\sema42\sm\cm7\app.h --- #define APP_CORTEX_M7_DID 9 #define APP_CORTEX_M33_DID 8 --- Re: i.MX95 SEMA42 GATEn regiser of Domain ID 在 i.MX95 SEMA42 示例中,Cortex-M7 请使用 DID 9,而不是系统管理器/TRDC DID 4。在此配置中,它们是不同的标识符:SEMA42 接受 SDK 值,并且由功能域 9 锁定的门会读取 GTFSM = 10(功能域 + 1)。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID 我的环境中系统管理器/TRDC 配置的 Cortex-M7 DID 为 4。 我首先尝试了这个DID。但SEMA42不起作用。MCUXpressoSDK 示例中的 GATEn.GTFSM 值仅有效。 你有什么想法吗? Re: i.MX95 SEMA42で使用するDomain ID i.MX95 参考手册默认将 Cortex-A55 列为功能域 ID 3。Cortex-M7 和 Cortex-M33 的默认 ID 分别为 4 和 2。 您的 SDK 示例将 M7 定义为 9,将 M33 定义为 8。在使用 A55 DID 3 进行 A55-M7 锁定之前,请检查该示例使用的系统管理器/TRDC 配置。此外,锁定的 GATEn.GTFSM 读取为 DID + 1;读取值为 9 表示 DID 8。 i.MX95rifァrensumanyuaruでは、 Cortex-A55の既定のDomain ID (DID )は3です。Cortex-M7とCortex-M33の既定DIDは、それぞれ4と2です。 另外、ご提示のSDK例ではM7を9、M33を8と定义しています。 A55–M7间の排他处理にA55のDID 3を使う前に、その例で使用する系统管理器/TRDC的设定を确认してください。また、ロック后の GATEn.GTFSMの読み出し値はDID + 1です。読み出し値9はDID 8を示します。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID 实际上,我通过编写以下代码在 Cortex-A55 和 Cortex-M7 上测试了 SEMA42: 将值 1 到 15 传递给 GATEn.GTFSM,以检查哪些值可以实际锁定该门。   GATEn.GTFSM DID + 1 (*1) Cortex-A55 核心 0 1 4 Cortex-A55 核心 1 2 4 Cortex-M7 10 (*2) 5 *1 值基于系统管理器配置文件中的 DID 定义 *2 此值用于 MCUXpresso SDK 的 SEMA42 驱动程序示例中。 要写入 GATEn.GTFSM 的值显然不是 DID + 1 (*1)。 根据 i.MX95 SEMA42 规范,哪些设备(总线主控器) 对应于 GATEn.GTFSM 值 1 到 15? 我至少需要与以下各项对应的 GATEn.GTFSM 值: Cortex-A55 核心 0 至 5 和 Cortex-M7。 Re: i.MX95 SEMA42 GATEn regiser of Domain ID 关键在于 GATEn.GTFSM 不是一个固定的总线主控 ID 表。它反映了请求者配置的DID加一: GTFSM = DID + 1 对于标准的 i.MX95/系统管理器配置: GTFSM 做过 总线主控/设备 1 0 没有标准默认赋值 2 1 没有标准默认赋值 3 2 Cortex-M33 / 系统管理器 4 3 Cortex-A55平台——核心0-5 5 4 Cortex-M7 6-15 5–14 取决于配置;没有固定的设备分配 因此,对于默认配置: Cortex-A55 核心 0–5:GTFSM = 4 皮层-M7:GTFSM = 5 Cortex-M33/系统管理器:GTFSM = 3 这就解释了为什么 A55 核心 0 和 1 都锁定为值 4:六个 A55 核心共享 A55 平台 DID;它们没有单独的 GTFSM 值。系统管理器配置分配 SM/M33 DID 2、A55 DID 3 和 M7 DID 4。 MCUXpresso SEMA42 示例使用不同的配置:M33 DID 8 和 M7 DID 9,因此相应的回读值为 9 和 10。这些不是默认系统管理器配置中的 TRDC DID。
記事全体を表示
Linux CAAM 驱动程序编译为 =y 而不是 =m 在Linux 6.18.2_1.0.0 及更早版本中,以 CONFIG =y 模式编译 CAAM 驱动程序没有问题。但在较新的 Linux 6.18.20_2.0.0 和 Linux 6.18.37_2.1.0 版本中,这样做会导致内核内置证书错误。 我尝试更改 CAAM 设置,例如 CRYPTO_DEV_FSL_CAAM_PKC、安全密钥和受信任密钥的开启/关闭,这些设置应该使证书部分独立于 CAAM,但证书仍然无法正常工作,直到我将 CAAM 驱动程序切换到 =m 模式。 是否可以使用 CAAM 驱动程序作为 =y?我正在使用 i.MX7。谢谢 Re: LInux CAAM driver compiled =y instead of =m 请禁用“ CONFIG_TRUSTED_KEYS_CAAM”并将其配置为“n”,以检查是否存在此问题。 在 SDK 默认版本配置中,我发现了以下内容。 # CONFIG_TRUSTED_KEYS_CAAM 未设置 Re: LInux CAAM driver compiled =y instead of =m 或许在 6.18.2 版本中就已经存在这个问题了。我不知道。我确定它在 6.12.x 版本中可以正常工作。 启用 CAAM_DEBUG 和 zcat /proc/config.gz | grep CAAM # CONFIG_CRYPTO_DEV_FSL_CAAM_DMA 未设置 CONFIG_TRUSTED_KEYS_CAAM=y CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_KEYBLOB_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y CONFIG_CRYPTO_DEV_FSL_CAAM=y CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG=y CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 # CONFIG_CRYPTO_DEV_FSL_CAAM_INTC 未设置 CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_BLOB_GEN=y CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y # CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API_TEST 未设置 # CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST 未设置 CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7 CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m 我在 dmesg 中看到了这个 [ 0.600724] caam 30900000.crypto: entropy-delay property missing in DT [ 0.600757] caam 30900000.crypto: device ID = 0x0a16030000000000 (Era 8) [ 0.600776] caam 30900000.crypto: job rings = 3, qi = 0 [ 0.609580] sdhci-esdhc-imx 30b40000.mmc: Got CD GPIO [ 0.614915] caam algorithms registered in /proc/crypto [ 0.615107] caam 30900000.crypto: caam pkc algorithms registered in /proc/crypto [ 0.615138] caam 30900000.crypto: rng crypto API alg registered prng-caam [ 0.615157] caam 30900000.crypto: registering rng-caam [ 0.615184] 01: operation [ 0.615198] 02: fifo_store [ 0.615217] rng job desc@: (ptrval): b0800004 82500002 60340010 81cf2500 ......P...4`.%.. [ 0.615405] 01: operation [ 0.615423] 02: fifo_store [ 0.615440] rng job desc@: (ptrval): b0800004 82500002 60340010 8126fac0 ......P...4`..&. [ 0.616325] Device caam-keygen registered [ 0.620411] caam-snvs 30370000.caam-snvs: ipid matched - 0x3e [ 0.620477] caam-snvs 30370000.caam-snvs: violation handlers armed - non-secure state [ 0.621041] hid: raw HID events driver (C) Jiri Kosina [ 0.621217] usbcore: registered new interface driver usbhid [ 0.621230] usbhid: USB HID core driver [ 0.624128] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 (8000000f) counters available [ 0.627983] NET: Registered PF_INET6 protocol family [ 0.629380] Segment Routing with IPv6 [ 0.629471] In-situ OAM (IOAM) with IPv6 [ 0.629630] NET: Registered PF_PACKET protocol family [ 0.629705] Bridge firewalling registered [ 0.629717] can: controller area network core [ 0.629795] NET: Registered PF_CAN protocol family [ 0.629810] can: raw protocol [ 0.630378] Key type dns_resolver registered [ 0.637395] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 2 mkt segment 1 supported-hw 0x4 0x2 [ 0.638671] Registering SWP/SWPB emulation handler [ 0.649825] Loading compiled-in X.509 certificates [ 0.650591] 07: operation [ 0.651164] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA [ 0.674771] 01: operation [ 0.674791] 02: fifo_store [ 0.674811] rng job desc@: (ptrval): b0800004 82500002 60340010 8126fac0 ......P...4`..&. [ 0.679492] Problem loading in-kernel X.509 certificate (-22) Re: LInux CAAM driver compiled =y instead of =m 是的,CAAM 原则上可以在 i.MX7 上实现。我会将 =m 解决方法视为依赖项/版本回归的证据,而不是 i.MX7 CAAM 的要求。 如果您能粘贴 LF6.18.20_2.0.0 版本中的第一个证书错误,我可以追踪是哪个 Kconfig/Makefile 依赖项导致了这个问题,并确定是否有需要向后移植的特定 NXP/上游补丁。 Re: LInux CAAM driver compiled =y instead of =m 我尝试更改所有相关设置,包括启用/禁用可信密钥,但问题依旧,直到我将 CAAM 切换到 =m 模式。 Re: LInux CAAM driver compiled =y instead of =m 如果是这样,请配置 CAAM 驱动程序 =m,就像 Yocto SDK 所做的那样。 Re: LInux CAAM driver compiled =y instead of =m 问题是关于=y问题的。显然,6.12 内核和 6.18 内核之间出现了一些问题。
記事全体を表示
LInux CAAM driver compiled =y instead of =m It was ok up to Linux 6.18.2_1.0.0 to compile CAAM driver in CONFIG =y mode. With more recent Linux 6.18.20_2.0.0 and Linux 6.18.37_2.1.0 this leads to kernel build-in certificates errors.  I tried changing CAAM settings like CRYPTO_DEV_FSL_CAAM_PKC, secure, trusted keys on/off, which should make certificates part independent of CAAM, but sill certificates are broken until I turn CAAM driver to =m mode.  Is it possible to use CAAM driver as =y? I'm using i.MX7. Thanks Re: LInux CAAM driver compiled =y instead of =m Please disable "CONFIG_TRUSTED_KEYS_CAAM" to configure it as "n" to check whether this problem exists. In SDK default build configuration, I found the following. # CONFIG_TRUSTED_KEYS_CAAM is not set Re: LInux CAAM driver compiled =y instead of =m Perhaps it wasn't working already with 6.18.2, I'm not sure. I'm sure it worked with 6.12.x.  With enabled CAAM_DEBUG and zcat /proc/config.gz | grep CAAM # CONFIG_CRYPTO_DEV_FSL_CAAM_DMA is not set CONFIG_TRUSTED_KEYS_CAAM=y CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_KEYBLOB_API_DESC=y CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y CONFIG_CRYPTO_DEV_FSL_CAAM=y CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG=y CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 # CONFIG_CRYPTO_DEV_FSL_CAAM_INTC is not set CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y CONFIG_CRYPTO_DEV_FSL_CAAM_BLOB_GEN=y CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API=y # CONFIG_CRYPTO_DEV_FSL_CAAM_TK_API_TEST is not set # CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y CONFIG_CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE=7 CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m I get this in dmesg [ 0.600724] caam 30900000.crypto: entropy-delay property missing in DT [ 0.600757] caam 30900000.crypto: device ID = 0x0a16030000000000 (Era 8) [ 0.600776] caam 30900000.crypto: job rings = 3, qi = 0 [ 0.609580] sdhci-esdhc-imx 30b40000.mmc: Got CD GPIO [ 0.614915] caam algorithms registered in /proc/crypto [ 0.615107] caam 30900000.crypto: caam pkc algorithms registered in /proc/crypto [ 0.615138] caam 30900000.crypto: rng crypto API alg registered prng-caam [ 0.615157] caam 30900000.crypto: registering rng-caam [ 0.615184] 01: operation [ 0.615198] 02: fifo_store [ 0.615217] rng job desc@: (ptrval): b0800004 82500002 60340010 81cf2500 ......P...4`.%.. [ 0.615405] 01: operation [ 0.615423] 02: fifo_store [ 0.615440] rng job desc@: (ptrval): b0800004 82500002 60340010 8126fac0 ......P...4`..&. [ 0.616325] Device caam-keygen registered [ 0.620411] caam-snvs 30370000.caam-snvs: ipid matched - 0x3e [ 0.620477] caam-snvs 30370000.caam-snvs: violation handlers armed - non-secure state [ 0.621041] hid: raw HID events driver (C) Jiri Kosina [ 0.621217] usbcore: registered new interface driver usbhid [ 0.621230] usbhid: USB HID core driver [ 0.624128] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 (8000000f) counters available [ 0.627983] NET: Registered PF_INET6 protocol family [ 0.629380] Segment Routing with IPv6 [ 0.629471] In-situ OAM (IOAM) with IPv6 [ 0.629630] NET: Registered PF_PACKET protocol family [ 0.629705] Bridge firewalling registered [ 0.629717] can: controller area network core [ 0.629795] NET: Registered PF_CAN protocol family [ 0.629810] can: raw protocol [ 0.630378] Key type dns_resolver registered [ 0.637395] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 2 mkt segment 1 supported-hw 0x4 0x2 [ 0.638671] Registering SWP/SWPB emulation handler [ 0.649825] Loading compiled-in X.509 certificates [ 0.650591] 07: operation [ 0.651164] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA [ 0.674771] 01: operation [ 0.674791] 02: fifo_store [ 0.674811] rng job desc@: (ptrval): b0800004 82500002 60340010 8126fac0 ......P...4`..&. [ 0.679492] Problem loading in-kernel X.509 certificate (-22) Re: LInux CAAM driver compiled =y instead of =m Yes, CAAM can in principle be =y on i.MX7. I would treat the =m workaround as evidence of a dependency/build regression, not as an i.MX7 CAAM requirement. If you paste the exact first certificate error from the LF6.18.20_2.0.0 build, I can trace which Kconfig/Makefile dependency is causing it and determine whether there is a specific NXP/upstream patch that needs to be backported. Re: LInux CAAM driver compiled =y instead of =m I've tried changing all related settings including trusted keys on/off, no change until switching CAAM to =m mode.  Re: LInux CAAM driver compiled =y instead of =m If so, please configure CAAM driver =m, just like the Yocto SDK doing. Re: LInux CAAM driver compiled =y instead of =m The question was about =y issues. Clearly something got broken between 6.12 aand 6.18 kernels.
記事全体を表示
iMX8MPとデシリアライザ こんにちは、みんな! 当社では、デジタルビデオレコーダーにi.MX 8M Plusを使用しています。現在、SerDesチップを使って少なくとも2台(より良い4台)のカメラを接続する設計を修正する任務を負っています。調べてみると、DS90UB960やDS90UB954を接続すると問題があるかもしれません。なぜなら、プロセッサは仮想チャネルをサポートしていないからです。 他のデシリアライザー(TI、アナログ Devices、THine Electronicsなど)との接続について、何か情報や良い経験はありますか? 敬具 セルジュ Re: iMX8MP and Deserializers こんにちは、 NXP Semiconductors製品にご関心いただきありがとうございます。 ご指摘の通り、8M Plus i.MX では仮想チャネルがないためシリアライザーは利用できません。i.MX8QMやi.MX8QXP i.MX 8シリーズプロセッサの参照があり、95 i.MX VCをサポートし、シリアライザーの参照もあります。 よろしくお願いします。 Re: iMX8MP and Deserializers デシリアライザーを使って2台のカメラを単一のMIPIインターフェースにコネクテッドすることはできないと理解しています。 しかし、シングルまたはツーカメラをシングルまたは2台のCSI/MIPIインターフェースに接続する実証済みのデシリアライザーソリューションはありますか? 例えば、MAX96714を使用することは可能ですか? Re: iMX8MP and Deserializers こんにちは、 いいえ、説明されているような解決策は証明されていません。 よろしくお願いいたします。 Re: iMX8MP and Deserializers それはとても奇妙だ。私は個人的にTHCV242A+iMXMPを基にしたソリューションを見て手に取ったことがありますが、それが1台のカメラを接続したのか2台のカメラだったかは覚えていません。 Re: iMX8MP and Deserializers こんにち@sfatyushkin、プラットフォームはバーチャルチャネルをサポートしていないため、CSI/MIPIポートごとに一度に1台のカメラからしかストリーミングできません。例えば、2つのデシリアライザがそれぞれ1つのCSI/MIPIポートに接続されている場合です。GMSLに関する資料はこちらです。よろしければご覧ください。 連続したストリーミングが不要で、4つのセンサすべてで低いキャプチャレートを許容できるなら、カメラのストリームを切り替えて各センサを起動・停止するカスタムドライバを実装するのも考えられます。理想的には、ユーザースペースアプリケーションと同期して、フレームが正しく撮影され、正しいカメラに関連付けられていることを確実にする方法も必要です。 よろしくお願いします、 ダニエル・ゴンザレス RidgeRunの組み込みソフトウェアエンジニア 開発者向けWiki: https://developer.ridgerun.com ウェブサイト: www.ridgerun.com
記事全体を表示