Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Cannot flash a PN7642 with Host Interface (I2C) Hello, I'm trying to flash a customized FW in a PN7642 via I2c with the LPC55S16 companion board. I've generated the esfwu file with Host Crypto Scripts (01.03), using as Transport Key the one for C101 chip (We have reworked our EVK board to solder a new C101 chip) Step by Step Guide to update user firmware through host interface for PN7642  Custom (not secure) update fails with error 0x01.  If I flash the NXP FW (secure), version 03.00, works OK. I suspect the HostScript configuration file is not OK for a customer FW. I only modified it to change the aes_key from C100 transport key to C101 transport key. Can I get some help? Regards, Re: Cannot flash a PN7642 with Host Interface (I2C) Hello @V_Palacio  For C101, you should select the project: KaiLi_0-1781878068922.png For updating customized FW, you should put your customized FW in the correct path and  select "6". Re: Cannot flash a PN7642 with Host Interface (I2C) Hello @V_Palacio  Or could you share your FW file with us and let me try it on my site? Re: Cannot flash a PN7642 with Host Interface (I2C) HI, Find attached my FW file. Is generated as esfwu, but renamed so I can attach it here. Also attached my toml file and the original .bin FW. Let me know if works in your side. Regards, Re: Cannot flash a PN7642 with Host Interface (I2C) Hi @KaiLi , I assume this is not the problem, because it connects ok, and I had no problem updating the NXP secure firmware with the LPC via I2C. Regards, Re: Cannot flash a PN7642 with Host Interface (I2C) Hi, Some thoughts on this problem?. Regards,
記事全体を表示
PN7462AU FreeRTOS: heap_3からheap_4への切り替えに失敗し、システムが停止しました + ヒープ使用状況の可視化 チームの皆さん、こんにちは。私はFreeRTOSを搭載したPN7462AUプラットフォームを使用しており、SDKのサンプルはheap_3.cを使用するように構成されています。メモリオーバーフローの問題に直面しており、ヒープ構成についてより深く理解したいと考えています。 heap_3は標準ライブラリのmalloc()/free()を使用するため、xPortGetFreeHeapSize()やヒープ統計などの関数は利用できません。ヒープの使用状況を可視化し、利用可能なヒープを増やすために、heap_3.c を無効にして heap_3.c から heap_4.c に切り替えてみました。そしてheap_4.cを有効にする。しかし、この変更を加えた後、アプリケーションが起動中にフリーズしてしまう。 私には以下の質問があります。 PN7462AUでheap_3からheap_4に切り替えるのは安全で推奨されることでしょうか? heap_3に現在利用可能なメモリ量をどのように確認できますか? heap_3 は xPortGetFreeHeapSize() をサポートしていないため、ヒープの使用状況を監視し、メモリ不足を検出するための推奨される方法は何ですか? heap_3からheap_4に移行する際に、他にどのような構成変更が必要ですか(例:configTOTAL_HEAP_SIZE、リンカースクリプトの変更、メモリ領域など)? PN7462AUとFreeRTOSに特化したガイダンスや事例があれば、ぜひ教えていただきたいです。 ありがとう コアとメモリ Re: PN7462AU FreeRTOS: Unable to switch from heap_3 to heap_4, system stuck + heap usage visibility こんにちは、 @uday_gowda さん、 NFCリーダライブラリには、PN7462でFreeRTOSを実装した例が掲載されており、参考になるかもしれません。また、 AN11784を見ることをお勧めします。PN7462にRTOSを統合するためのガイダンスが載っており、参考にして参考にできます。 MCUXpresso IDEにはFreeRTOSベースのアプリケーション向けのデバッグ機能もいくつか含まれています。特に「ヒープ使用ビュー」がこのCASEに役立ちます。詳細は MCUXpresso IDE 25.06 FreeRTOSデバッグガイドの第3.6章に記載されています。 最後に、PN7462のSRAM容量は12KBのみであることにご注意ください。 BR ハビブ
記事全体を表示
S32k328 HSEドメインID こんにちは、NXPテクニカルチームの皆様 S32k328ドメインIDの正確な検証方法についてお問い合わせいたします。 現在、S32k328ボードとHSEファームウェアを使用しています。 - 環境設定: 私はHSEファームウェアイメージs32k358_hse_fw_1.14.0_2.40.0_pb230807.binを使用しています。 現在、マルチコア環境でRMモジュールを使用しています(XRDCのみ使用)。 - 質問: HSE FW RMでは、添付ファイルに示すように、S32k328ドメインIDは2に設定されています。 dpsdprtmvl_1-1781577003974.png しかし、S32k3xx RM 内の S32k328 ブロック図では、HSE は MDAC3 に設定されており、MDAC3 の DID (ドメイン ID) は 3 として出力されます。 dpsdprtmvl_2-1781577150058.png (1)登録確認コード:             uint32_t mda [ 8 ];             mda [ 0 ] = IP_XRDC -> MDA_W0_0_DFMT0 ;             mda [ 1 ] = IP_XRDC -> MDA_W0_1_DFMT1 ;             mda [ 2 ] = IP_XRDC -> MDA_W0_2_DFMT1 ;             mda [ 3 ] = IP_XRDC -> MDA_W0_3_DFMT0 ;             mda [ 4 ] = IP_XRDC -> MDA_W0_4_DFMT0 ;             mda [ 5 ] = IP_XRDC -> MDA_W0_5_DFMT1 ;             mda [ 6 ] = IP_XRDC -> MDA_W0_6_DFMT0 ;             mda [ 7 ] = IP_XRDC -> MDA_W0_7_DFMT1 ;             UART_Print ( "--- MDA ロック --- \n " );             for ( uint32_t i = 0 ; i < 8 ; i ++) ヤージュ                 uint32_t vld = ( mda [ i ] >> 31 ) & 1U ;                 uint32_t lk1 = ( mda [ i ] >> 30 ) & 1U ;                 uint32_t did = mda [ i ] & 0x3U ;                 UART_Print ( "MDA %lu=0x% lx VLD= %lu DID= %lu LK1= %lu %s \n " ,( unsigned long ) i , ( unsigned long ) mda [ i ],( unsigned long ) vld , ( unsigned long ) did , ( unsigned long ) lk1 , lk1 ? "(LOCKED)" : "" ); } (2)レジスタ値: MDA0=0x80000000 VLD=1 DID=0 LK1=0 MDA1=0x20000000 VLD=0 DID=0 LK1=0 MDA2=0x20000000 VLD=0 DID=0 LK1=0 MDA3=0xc0000003 VLD=1 DID=3 LK1=1 (ロック済み) MDA4=0x80000001 VLD=1 DID=1 LK1=0 MDA5=0x20000000 VLD=0 DID=0 LK1=0 S32k328の正しいドメインIDは何ですか? Re: S32k328 HSE DomainID こんにちは、 @dpsdprtmvl S32K328には0~3の4つのドメインがあり、HSEは常に利用可能な最高位のドメイン(この場合はドメイン3)に割り当てられます。 lukaszadrapa_0-1781608491449.png これは固定設定であり、変更できません。 表136は、主要な導関数のみを示しており、すべての副導関数を示していないため、少し分かりにくい。つまり、次のようになるということです。 2行目のS32K32xは、S32K322とS32K324を表します。 3行目のS32K35xは、S32K358、S32K356、S32K348、S32K338、S32K328、およびS32K37xとS32K39xの派生型を表します。 よろしくお願いいたします。 ルーカス
記事全体を表示
S32K344の受信割り込みは機能しません こんにちは、 私はS32K344のUARTについて研究しています。このチップのUART0/UART1/UART8を使用し、各UARTはRS485チップに接続され、A/Bピンを外部回路に引き出します。UART1のRS485のA端子をUART8のRS485のA端子に、UART1のRS485のB端子をUART8のRS485のB端子に接続します。UART1のRS485のDE/REを1、UART8のRS485のDE/REを0に設定します。UART1からUART8へデータを送信しようとしたところ、スコープ内でLPUART1_TXとLPUART8_RXに波形が観測されました。つまり、UART1からUART8へデータが送信されたということです。しかし、UART8には受信割り込みがないため、UART8の受信処理は実行できません。デバッグ中、UART8 CTRL の RE=1/RIE=1 は確認できますが、STAT の RDRF=0 となっています。UART8を送信、UART1を受信に切り替えてみましたが、現象は同じです。問題箇所を確認するのを手伝っていただけますか?プロジェクトファイルを添付します。ありがとう。 通信および制御(I3C | I2C | SPI | FlexCAN | イーサネット | FlexIO) S32K344's rx interrupt can't work こんにちは、ジュリアンさん、 お返事ありがとうございます。はい、CANやPITなどの他の割り込みは問題ありません。コールバック内のすべてのコードをコメントアウトしました(つまり、tx および rx 割り込みではコールバック内の rx 関数は実行されません)が、それでもコードは受信機ステータスチェックループから抜け出せず、RDRF フラグを設定することができません(interrupt.png の赤い四角を参照)。私はRx FIFOを使用していないので、データを受信するとRDRFは1になるはずです。しかし、そうではない。UART1から文字「R」(ASCII=0x01010010)と「Q」(ASCII=0x01010001)を送信し、UART1のTXDとUART8のRXDを測定したところ、波形は正しいようです。この問題を引き起こす可能性のある他の原因はありますか? SDKのバージョンも添付します。 Re: S32K344's rx interrupt can't work こんにちは、 @Jimmybai さん。 他の割り込みも問題なく動作すると思いますか?(PIT、CANなど)割り込みが発生しているかどうかを確認するために、コールバック関数内にブレークポイントを設定していますか? コードを見ると、 Lpuart_Uart_Ip_SyncReceive とLpuart_Uart_Ip_AsyncReceive の両方を使用していることがわかります。SyncReceive はポーリングを使用しますが、 AsyncReceive 関数は受信を開始したらすぐに処理を終了します。アプリケーションは受信完了のタイミングを知るために、受信ステータスを取得する必要があります。受信が完了したら(指定されたバイト数を受信したら)、 AsyncReceive を再度呼び出して新しい受信を開始する必要があります。 ただし、コールバック内では、AsyncReceive を再度呼び出す代わりに、Lpuart_Uart_Ip_SyncReceive 関数を使用して受信をブロックします。UARTの受信機能を再度有効にしてはいけません。 私たちのコミュニティには、参考になる事例がいくつかあります。 [RTD600 IP] S32K312-EVB Lpuart割り込みエコー - NXPコミュニティ S32K344 LPUART RX/TX ISR FreeRTOS S32DS36 RTD600 の例 - NXPコミュニティ よろしくお願いします、 ジュリアン Re: S32K344's rx interrupt can't work 添付ファイルが見つからないのはなぜだろう。再び取り付けてください。 S32K344's LPUART rx interrupt can't work こんにちは、ジュリアンさん。 根本原因を突き止めました。以下のコードでは、非同期受信コードを非同期送信コードの前に配置する必要があります。なぜなら、uartの送信は非常に高速で、送信が完了するとデータは受信バスに送信されているからです。この時点でレシーバの受信手順を開始し、データ信号はバス内で消えています。つまり、レシーバを有効にする必要があります。データ信号が入ったらレシーバは動作します。必要なのはレシーバの割り込み信号を確認するだけです。コードの分析にご協力いただき、ありがとうございました。 Jimmybai_0-1781766992780.png
記事全体を表示
以太网摄像头同步流媒体传输解决方案 我们正在为汽车摄像头系统开发基于i.MX8MP的定制主板。我们在5.15.71恩智浦Yocto BSP上使用VPU硬件解码器,有一条有效的单摄像机H.264 RTP直播流水线。我们目前计划通过以太网交换机将系统扩展至支持4路同时传输的摄像头流。 该交换机将聚合4个100BASE-T1摄像头端口,并通过千兆RGMII上行链路连接至i.MX8MP EQOS MAC,每个摄像头均隔离在各自的VLAN中。 我们的显示屏分辨率为1280x800。要实现4路视频同时显示,每路视频只需占据屏幕的四分之一(约640×400或更低分辨率,30帧/秒),因此我们可以根据需要降低摄像头的分辨率。 1.是否有涵盖多通道视频解码的恩智浦i.MX8MP参考设计或应用说明可以作为起点? 2。H.264 VPU 解码器能否处理来自不同来源的多个独立实例,还是需要预解码组合步骤来减少进程和上下文切换的数量?如果需要进行图像合成,在 i.MX8MP 上推荐采用什么方法? 3. 从恩智浦的角度来看,针对此用例,总体推荐的软件架构是什么? 我们未来的应用是全景视图,因此可扩展性和低延迟是关键要求。 谢谢! Re: Simultaneous Ethernet Camera Streaming Solution 嗨@Wobaffet i.MX8MP 可以作为此 4 通道以太网 H.264 摄像机四视图应用的候选平台;然而,只有 i.MX8QM 和 i.MX95 具有环视参考设计。 推荐的架构适用于四个 RTP/H.264流进入单独的 GStreamer 管道,由 VPU 硬件解码器分别解码,解码后进行硬件辅助缩放和合成,输出显示在 1280×800 显示器上。不建议在 H.264 解码之前尝试合成,因为除非上游交换机或摄像机已经完成解码和重新编码,否则无法将单独的 H.264 流直接合成到压缩功能域中的单个显示帧中。 对于 4 路 640×400@30fps 的显示要求,根据像素速率的粗略估计,负载明显低于 1080p60 解码,因此这种方法是合理的。然而,这是否最终满足环视的低延迟和稳定性要求,还需要进行系统级验证,考虑实际的摄像机比特率、配置文件、GOP、RTP抖动、DDR带宽、GStreamer零拷贝路径和合成方法。 此致, 志明 Re: Simultaneous Ethernet Camera Streaming Solution 你好, 谢谢你的回答! 作为后续, 1. 我们计划同时运行 4 个独立的 GStreamer 流水线,每个流水线使用 VPU 硬件解码自己的 H.264 流。我们想确认 5.15.71 BSP 中的 VPU 驱动程序是否支持 4 个真正并发的解码实例。该电路板支持包中是否存在任何已知的配置或限制,会阻止所有四个流水线并行解码,或者是否需要调度方法?如果有,能否提供一些例子? 2. 我们的设置中,有一个以太网交换机,通过单个 RGMII 上行链路将 4 个摄像头连接到 i.MX8MP,每个摄像头都有自己的 VLAN。在 Linux 端,我们计划在 EQOS 端口上创建 VLAN 子接口,并让每个 GStreamer 管道从其自己的子接口接收 UDP/RTP。关于这一点有两个问题:5.15.71 电路板支持包。中的 EQOS 驱动程序是否开箱即用地正确支持 802.1Q VLAN 标记帧,还是需要任何额外的配置?对于在此 电路板支持包。 中在此接口上同时运行 4 个 UDP 流,是否有已知的接收路径调优建议? 谢谢您!  
記事全体を表示
S32K344 的接收中断无法工作 您好,     我目前正在研究 S32K344 的 UART。我们使用该芯片的UART0/UART1/UART8,每个UART都连接到一个RS485芯片,并将A/B引脚引出至外部电路。我将UART1的RS485接口的A引脚连接到UART8的RS485接口的A引脚,并将UART1的RS485接口的B引脚连接到UART8的RS485接口的B引脚。 我将UART1 RS485的DE/RE设置为1,将UART8 RS485的DE/RE设置为0。我尝试将数据从 UART1 发送至 UART8,并在示波器上观察到 LPUART1_TX 和 LPUART8_RX 信号线上有波形。这意味着,数据已从UART1发送至UART8。但 UART8 中没有 rx 中断,因此 uart8 的 rx 处理程序无法运行。在调试过程中,我可以看到 UART8 CTRL 的 RE=1/RIE=1,但 STAT 的 RDRF=0。我将发送端口切换为UART8,接收端口切换为UART1,但现象依然如故。您能帮忙查一下问题出在哪里吗?我将该项目附上。谢谢。 通信& 控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) S32K344's rx interrupt can't work 嗨,胡利安, 谢谢您的答复。是的,其他中断,例如 CAN、PIT 都没有问题。现在我已将回调函数中的所有代码注释掉(这意味着发送和接收中断都不会在回调中执行接收函数),但代码仍然无法脱离检查接收器状态的循环,也无法使 RDRF 标志被设置(参见 interrupt.png 中的红色矩形)。我没有使用 Rx FIFO,因此,当接收到数据时,RDRF 应该变为 1。但事实并非如此。我通过UART1发送字符'R'(ASCII=0x01010010)和'Q'(ASCII=0x01010001),并测量了UART1的TXD和UART8的RXD,波形看起来是正确的。还有其他可能导致此问题的原因吗? 我同时附上了我的 SDK 版本。 Re: S32K344's rx interrupt can't work 嗨,@Jimmybai, 我想其他中断应该都能正常工作吧?(PIT、CAN 等)。你是否在回调函数中设置了断点,以确认中断是否触发?  从你的代码中我可以看出你同时使用了 LPUART_UART_IP_SyncreCeive & LPUART_UART_IP_Asyncreceiv e lpuart_UART_IP_ Asyncreceive。SyncreCeive 使用轮询,而 AsyncreCeive 功能则支持接收并立即退出功能。应用程序必须获得接收状态才能知道何时完成接收。接收完成后(已定义的接收字节数), 您需要再次调用 AsyncreCeive 以开始 新的接收。 不过,在回调函数内部,不要再次调用 AsyncReceive,而应使用 Lpuart_Uart_Ip_SyncReceive 函数进行阻塞式接收。你永远不会重新布防 UART 的接收。 我们社区里有一些例子,你可以参考一下:  [RTD600 IP] S32K312-EVB Lpuart 中断回显 - NXP 社区 示例 S32K344 LPUART 接收/发送中断处理程序 FreeRTOS S32DS36 RTD600 - NXP 社区 致以最诚挚的问候, Julián Re: S32K344's rx interrupt can't work 我不知道为什么我的附件不见了。将其重新安装。 S32K344's LPUART rx interrupt can't work 嗨,朱利安, 我找到了根本原因。下面的代码中,异步接收代码应该放在异步发送代码之前。因为UART传输速度非常快,发送完成后,数据就已经发送到接收总线了。此时,当您开始接收器接收程序时,总线上的数据信号已经消失。所以,我们需要启用接收器,当数据信号到来时,接收器才能工作。我们只需要检查接收器的接收中断信号即可。感谢您帮忙分析我的代码。 Jimmybai_0-1781766992780.png
記事全体を表示
P1013 为确保散热和通信稳定性而对 CPU/CCB/DDR 进行降频 我的开发板上有旧的 P1013NSE2MHB 元器件。 我想降低它们的时钟以降低元器件的热负荷,并使用 P1013NSE2LFB 元器件的 PCIe 和 SPI 标准的通信时钟,这是我最熟悉的。 简而言之,我希望让 P1013NSE2MHB 采用 P1013NXE2LFB 的 PLL 时钟配置,即 P1013NSE2MHB 的 CPU/CCB/DDR 最终时钟频率应为 1067/533/533 MHz。  根据 AN4343 第 6 节,两个元器件都应该能够支持 1067/533/533 的时钟速度。 我唯一担心的是,P1013NSE2MHB的CCB限制据说为480MHz。除了只有 CCB 时钟 400 和 480 MHz 才能使用内置的 PLL 设置来达到最大值 1200MHz 之外,我找不到任何理由。(参见AN4343第6.2.1节表16) 我只想让CPU的核心频率达到1067MHz。  P1013NSE2MHB 和 P1013NXE2LFB 均来自同一产品线,应采用相同的架构;因此,即使 CPU 最大时钟频率提升至 1200MHz,也不应妨碍使用先前已实现的 CCB 架构来实现较低的 CPU 时钟频率。除非重新设计CCB总线以支持新的CPU,尽管没有根本的不同,但这将是资源的巨大浪费。 感谢大家提供的见解。 QorIQ P1 设备 Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability 根据以下数据,架构似乎有所不同,CPU/CCB/DDR可能不会有相同的趋势 CPU/CCB/D DR 频率 (MHz) LF=1067/533/667 MH=1200/480/800 但这是旧设备,因此可能需要向恩智浦内部团队查询解释 Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability 你好, 是的——文档支持您的观察,即 CPU/核心、平台/CCB 和 DDR 在 T2080/T2081 上不必遵循相同的扩展趋势,因为它们是由不同的 PLL 功能域生成的,并且内存总线明确地由其自身的 PLL 决定。核心时钟和平台时钟由不同的 PLL 生成,T2080/T2081 时钟映射为核心集群 PLL、平台 PLL 和 DDR PLL 公开了单独的状态/控制点( Clocking_PLLCnGSR 、 Clocking_PLLPGSR 、 Clocking_PLLDGSR )。硬件规格还直接指出,内存总线时钟速度由其自身的 PLL 决定。 因此,从建筑学角度解释如下: CPU/核心频率来自核心集群PLL,根据配置的不同,可能以PLL/1、/2或/4运行。 平台/CCB 频率是一个独立的平台时钟域,具有其自身允许的 SYSCLK 比率。 DDR频率是独立于DDR的,内存总线时钟频率是DDR数据速率的一半,并由其自身的PLL控制。 这就是为什么像以下这种看起来非单调的数对: LF = 1067 / 533 / 667 MH = 1200 / 480 / 800 从建筑学的角度来看,这在原则上是合理的:这三个功能域不需要同时上升和下降。然而,我在现有的 T2080/T2081 资料中找不到记录的那两个 T2080 频率三元组。   此致 Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability 我问的不是T2080/T2081处理器。 我正在考虑P1013/P1022处理器。
記事全体を表示
ECU Core Configuration Clarification on S32K311 Hi @danielmartynek and Team We have one question regarding core configuration. On S32K311 (single-core), the generated code defines: DET_NO_ECU_CORES = 4 NUMBER_OF_CORES = 4 Since we are facing RAM constraints: Can we safely reduce these to 1? Any side effects in MCAL/DET? Also, is there a way to configure this in the NXP config tool or any configuration instead of manually editing generated files? Thanks & Regards, Yusup Khan S32K3  S32DS-ARM S32K31XEVB-Q100 Re: ECU Core Configuration Clarification on S32K311 Hi @yusupkhan241, Refer to this answer provided by the RTD SW development team: https://community.nxp.com/t5/S32K/RTD-memory-occupation/td-p/2148479 This parameter cannot be configured via the configuration tool, and there are currently no plans to support such functionality. Regards, Daniel
記事全体を表示
GD3160 SPI 配置 根据数据手册,如果我要配置 GD3160,需要先将 MODE_2 中的 CONFIG_EN 位设置为 1。既然如此,MODE_2 的第一位(Rb/W)应该是 0 还是 1? Re: GD3160 SPI 配置 了解后请看下面: 正确的解释确实是: 0 = 读取 1 = 写入   Re: GD3160 SPI 配置 是的,另外除了下图中说的 CONFIG1 to 7 registers, the MODE1 and 2 registers, the RMSK1 and RMSK2 registers, and the MSK1 and 2 registers ,这些寄存器的写受MODE_2的CONFIG_EN控制,其余寄存器只要bit23为1的情况就会进行配置吗? henh_0-1781578575329.png Re: GD3160 SPI 配置 guoweisun_0-1781578136768.png 你说的是bit23吗?
記事全体を表示
P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability I have old P1013NSE2MHB components on dev boards.  I want to work to under clock them to reduce the thermal load on the component and use the communication clock for PCIe and SPI standard from the P1013NSE2LFB component, It is what I am most familiar with. Essentially, I want to have the P1013NSE2MHB use the P1013NXE2LFB PLL clocking setup, i.e, CPU/CCB/DDR final clock rates of the P1013NSE2MHB to be 1067/533/533 MHz.  Based on the AN4343 Section 6 both components should be able to support the 1067/533/533 clock speeds.  The only concern that I have is that the CCB limit of the P1013NSE2MHB is supposedly 480MHz. I can find no reasoning for this besides that only CCB clocks 400 and 480 MHz can use the built in PLL settings to get to the maximum of 1200MHz. (See AN4343 Section 6.2.1 Table 16) I just want the CPU to have a core clock of 1067MHz.  Both the P1013NSE2MHB use the P1013NXE2LFB are from the exact same line and should share the same architecture, the improvement in the CPU maximum clock to 1200MHz should not prevent the previously implemented CCB architecture from being used to reach a lower CPU clock speed. Unless the CCB bus was redesigned, which would be a massive waste of resources, to support the new CPU even though it isn't radically different.  Thanks for any insights. QorIQ P1 Devices Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability It seems the architecture may be different according to the data below, the CPU/CCB/DDR may not share the same trend CPU/CCB/DDR frequency (MHz) LF=1067/533/667    MH=1200/480/800 But this is old device so may need to check with NXP internal team for the explaination Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability The T2080/T2081 are not the processors I am asking about. I am looking at the P1013/P1022 processors. Re: P1013 CPU/CCB/DDR Underclocking for Thermal and Communication Stability Hello, Yes — the documentation supports your observation that CPU/core, platform/CCB, and DDR do not have to follow the same scaling trend on T2080/T2081, because they are generated by different PLL domains and the memory bus is explicitly dictated by its own PLL . Core and platform clocks are generated by different PLLs , and the T2080/T2081 clocking map exposes separate status/control points for core-cluster PLLs, the platform PLL, and the DDR PLL ( Clocking_PLLCnGSR , Clocking_PLLPGSR , Clocking_PLLDGSR ) The hardware specs also state directly that the memory bus clock speed is dictated by its own PLL. So the architectural explanation is: CPU/core frequency comes from the core cluster PLL(s) and may run at PLL/1, /2, or /4 depending on configuration. Platform/CCB frequency is a separate platform clock domain with its own allowed SYSCLK ratios. DDR frequency is separate again, and the memory bus clock is half the DDR data rate and is controlled by its own PLL That is why a non-monotonic-looking pair such as: LF = 1067 / 533 / 667 MH = 1200 / 480 / 800 is architecturally plausible in principle: the three domains are not required to rise and fall together. However, I could not find those exact two T2080 frequency triplets documented in the available T2080/T2081 material.   Regards
記事全体を表示
GD3160 SPI 構成 データシートによると、GD3160を設定するには、まずMODE_2のCONFIG_ENビットを1に設定する必要があります。その場合、MODE_2の最初のビットであるRb/Wは0であるべきか、それとも1であるべきか? Re: GD3160 SPI 配置 理解済み请次を参照: 正しい解釈は確かに次の通りです。 0 = 読み取り 1 = 書く   Re: GD3160 SPI 配置 はい、下の図に示されているCONFIG1~7レジスタ、MODE1およびMODE2レジスタ、RMSK1およびRMSK2レジスタ、MSK1およびMSK2レジスタ(これらの書き込みはMODE_2のCONFIG_ENによって制御されます)に加えて、ビット23が1である限り、他のレジスタも設定されますか? henh_0-1781578575329.png Re: GD3160 SPI 配置 guoweisun_0-1781578136768.png 23番目のビットのことですか?
記事全体を表示
S32K311におけるECUコア構成の明確化 こんにちは、 @danielmartynek さん、そしてチームの皆さん。 コア構成に関して質問が1つあります。S32K311(シングルコア)では、生成されたコードで以下のように定義されます。 DET_NO_ECU_CORES = 4 コア数 = 4 RAMの制約に直面しているため: これらを安全に1に減らすことは可能でしょうか? MCAL/DETに副作用はありますか? また、生成されたファイルを手動で編集するのではなく、NXPの設定ツールやその他の設定ツールでこれを設定する方法はありますか? よろしくお願いいたします。 ユスプ・カーンS32K3 S32DS-ARM S32K31XEVB-Q100 Re: ECU Core Configuration Clarification on S32K311 こんにちは、@yusupkhan241 さん。 RTDソフトウェア開発チームが提供したこちらの回答を参照してください。 https://community.nxp.com/t5/S32K/RTD-memory-occupation/td-p/2148479 このパラメータは設定ツールでは設定できず、現時点ではそのような機能をサポートする予定もありません。 よろしくお願いいたします。 ダニエル
記事全体を表示
无法通过主机接口(I2C)对 PN7642 进行烧录 你好 我正在尝试使用 LPC55S16 配套主板通过 i2C 在 PN7642 中刷新自定义固件。 我已经使用 Host Crypto Scripts (01.03) 生成了 esfwu 文件,将 C101 芯片的文件用作传输密钥(我们已经重新设计了 EVK 板来焊接新的 C101 芯片) PN7642通过主机接口更新用户固件的分步指南  自定义(不安全)更新因错误代码 0x01 而失败。  如果我刷入 NXP 固件(安全版),版本 03.00,就能正常工作。 我怀疑HostScript配置文件对某位客户的防火墙来说有问题。 我只是将其修改了一下,将 aes_key 从 C100 传输密钥改成了 C101 传输密钥。 能帮我一下吗? 此致, Re: Cannot flash a PN7642 with Host Interface (I2C) 你好@V_Palacio 对于 C101,您应该选择项目: KaiLi_0-1781878068922.png 要更新自定义固件,您应该将自定义固件放在正确的路径中,然后选择“6”。 Re: Cannot flash a PN7642 with Host Interface (I2C) 你好@V_Palacio 或者您能否将您的固件文件分享给我们,让我在我的网站上测试一下? Re: Cannot flash a PN7642 with Host Interface (I2C) 您好, 附件是我的固件文件。生成的文件名为esfwu,但为了方便上传,我已将其重命名。 我还附上了我的 toml 文件和原始的 .bin 文件。FW。 如果你们那边运行正常,请告诉我。 此致, Re: Cannot flash a PN7642 with Host Interface (I2C) 嗨@KaiLi , 我估计这不是问题所在,因为它连接正常,而且我通过 I2C 使用 LPC 更新 NXP 安全固件也没有遇到任何问题。 此致, Re: Cannot flash a PN7642 with Host Interface (I2C) 你好, 关于这个问题,大家有什么想法吗? 问候,
記事全体を表示
GD3160 SPI 配置 According to the data sheet, if I want to configure the GD3160, I need to first set the CONFIG_EN bit in MODE_2 to 1. In that case, should the first bit of MODE_2, Rb/W, be 0 or 1? Re: GD3160 SPI 配置 了解了请看下面: The correct interpretation is indeed: 0 = Read 1 = Write   Re: GD3160 SPI 配置 Yes, and in addition to the CONFIG1 through 7 registers, the MODE1 and 2 registers, the RMSK1 and RMSK2 registers, and the MSK1 and 2 registers shown in the figure below—writing to these registers is controlled by CONFIG_EN in MODE_2—will the remaining registers be configured whenever bit 23 is set to 1? henh_0-1781578575329.png Re: GD3160 SPI 配置 guoweisun_0-1781578136768.png Are you talking about bit23?
記事全体を表示
使用 OV5648 的 IMX8MP 在拍照时会锁定 你好我正在尝试将OV5648传感器添加到IMX8MP 上。以下是我的 dts 配置 ov5648_osc: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "ov5648_xvclk"; }; ... ov5648_0: cam_ov5648_0@36 { compatible = "ovti,ov5648"; reg = <0x36>; clocks = <&ov5648_osc>; clock-names = "xvclk"; powerdown-gpios = <&io_expander 1 GPIO_ACTIVE_LOW>; dovdd-supply = <&ov5648_0_dovdd>; dvdd-supply = <&ov5648_0_dvdd>; status = "okay"; csi_id = <0>; #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ov5648_0_mipi_ep: endpoint { remote-endpoint = <&mipi_csi_0_in>; link-frequencies = /bits/ 64 <210000000 168000000>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; ... &mipi_csi_0 { status = "okay"; clock-frequency = <168000000>; port { mipi_csi_0_in: endpoint { remote-endpoint = <&ov5648_0_mipi_ep>; // imx8-mipi-csi2-sam.c doesn't care it's usually <1 2>... data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; ... &isi_0 { status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "disabled"; }; }; 我正在尝试使用以下命令拍摄照片 v4l2-ctl -d /dev/video2 -v width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=photo.raw 我还向 dmesg 中添加了一些调试输出。 [ 224.928864] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1107 [ 224.940895] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2472 on 1 [ 224.950246] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_resume:2434 [ 224.959057] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_power:1870 on 1 [ 225.004545] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_init:1797 [ 225.037496] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2480 ov5648_resume ret 0 [ 225.053146] input fmt RGB4 [ 225.055866] output fmt YUYV [ 225.058682] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1118 mxc_isi_config_parm ret 0 f[ 225.073740] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1124 vb2_ioctl_streamon ret 0 [ 225.087962] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:124 media_graph_walk_init ret 0 [ 225.102609] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_stream:2146 enable 1 [ 225.112697] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 ov5648 2-0036 ov5648 2-0036 [ 225.140978] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 mxc-mipi-csi2.0 mxc-mipi-csi2.0 [ 225.158893] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret -515 mxc_isi.0 mxc_isi.0 [ 225.175873] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1136 mxc_isi_pipeline_enable ret -515 [ 225.190760] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3145 info->func() ret 0 [ 225.200349] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3490 trace() [ 225.208805] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3515 in_compat_syscall() [ 225.218306] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3532 video_put_user() [ 225.227569] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3438 [ 225.235336] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3458 check_array_args() [ 225.244760] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3482 func() [ 225.253136] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3133 info->func() 该日志的末尾显示了 v4l 命令处于等待状态时,代码在何处被锁定。我还使用 strace 运行了该命令,结果如下: ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=2, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=3, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, fmt.pix_mp={width=1280, height=720, pixelformat=v4l2_fourcc('Y', 'U', 'Y', 'V') /* V4L2_PIX_FMT_YUYV */, field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_SRGB, plane_fmt=[{sizeimage=1843200, bytesperline=2560}], num_planes=1}}) = 0 ioctl(3, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE]) = 0 pselect6(4, NULL, NULL, [3], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) ioctl(3, VIDIOC_DQBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE 你可以看到它正在等待 VIDIOC_DQBUF。我确信相机能正确地从LP模式切换到HS模式。 看来 MIPI CSI 从未发出过数据已接收的信号。 我正在使用 linux-imx 内核中的 staging 驱动程序。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MP with OV5648 lock on taking photo 我发现,当我启动流时,CSI中断计数器会增加 25: 365486 0 0 0 GICv3 49 Level 32e40000.csi 26: 0 0 0 0 GICv3 48 Level 32e00000.isi 不过,ISI中断仍保持为0。 我还启用了mxc-mipi-csi2上的调试输出,看起来SOT上出现了错误。 [ 2231.150985] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0 [ 2231.151200] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 8 bit! [ 2231.151240] mxc-mipi-csi2.0: fmt: 0x3001, 1280 x 720 [ 2231.151270] mxc-mipi-csi2.0: SOT Error: 1 [ 2231.151275] mxc-mipi-csi2.0: status: 00030000 [ 2231.151294] mxc-mipi-csi2.0: SOT Error: 2 [ 2231.151298] mxc-mipi-csi2.0: status: 00030000 [ 2231.151317] mxc-mipi-csi2.0: SOT Error: 3 [ 2231.151321] mxc-mipi-csi2.0: status: 00030000 [ 2231.151337] mxc-mipi-csi2.0: SOT Error: 4 [ 2231.151341] mxc-mipi-csi2.0: status: 00030000 [ 2231.151360] mxc-mipi-csi2.0: SOT Error: 5 [ 2231.151367] mxc-mipi-csi2.0: status: 00010000 [ 2231.151383] mxc-mipi-csi2.0: SOT Error: 6 [ 2231.151389] mxc-mipi-csi2.0: status: 00010000 [ 2231.151407] mxc-mipi-csi2.0: SOT Error: 7 [ 2231.151413] mxc-mipi-csi2.0: status: 00010000 [ 2231.151440] mxc-mipi-csi2.0: SOT Error: 8 [ 2231.151444] mxc-mipi-csi2.0: status: 00010000 Re: IMX8MP with OV5648 lock on taking photo 您需要根据所连接的摄像头模块的日期速率更新 dts 中的 csis-hs-settle 属性。更多详情请参阅应用笔记 AN13857,第 3.2.5 节。 https://www.nxp.com/webapp/Download?colCode=AN13857
記事全体を表示
IMX8MP with OV5648 lock on taking photo Hello. I'm trying to add OV5648 sensor to IMX8MP. Here is my dts setup ov5648_osc: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "ov5648_xvclk"; }; ... ov5648_0: cam_ov5648_0@36 { compatible = "ovti,ov5648"; reg = <0x36>; clocks = <&ov5648_osc>; clock-names = "xvclk"; powerdown-gpios = <&io_expander 1 GPIO_ACTIVE_LOW>; dovdd-supply = <&ov5648_0_dovdd>; dvdd-supply = <&ov5648_0_dvdd>; status = "okay"; csi_id = <0>; #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ov5648_0_mipi_ep: endpoint { remote-endpoint = <&mipi_csi_0_in>; link-frequencies = /bits/ 64 <210000000 168000000>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; ... &mipi_csi_0 { status = "okay"; clock-frequency = <168000000>; port { mipi_csi_0_in: endpoint { remote-endpoint = <&ov5648_0_mipi_ep>; // imx8-mipi-csi2-sam.c doesn't care it's usually <1 2>... data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; ... &isi_0 { status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "disabled"; }; }; I'm trying to take photo with following command v4l2-ctl -d /dev/video2 -v width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=photo.raw I have also added some debug prints to dmesg. [ 224.928864] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1107 [ 224.940895] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2472 on 1 [ 224.950246] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_resume:2434 [ 224.959057] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_power:1870 on 1 [ 225.004545] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_init:1797 [ 225.037496] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2480 ov5648_resume ret 0 [ 225.053146] input fmt RGB4 [ 225.055866] output fmt YUYV [ 225.058682] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1118 mxc_isi_config_parm ret 0 f[ 225.073740] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1124 vb2_ioctl_streamon ret 0 [ 225.087962] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:124 media_graph_walk_init ret 0 [ 225.102609] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_stream:2146 enable 1 [ 225.112697] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 ov5648 2-0036 ov5648 2-0036 [ 225.140978] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 mxc-mipi-csi2.0 mxc-mipi-csi2.0 [ 225.158893] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret -515 mxc_isi.0 mxc_isi.0 [ 225.175873] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1136 mxc_isi_pipeline_enable ret -515 [ 225.190760] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3145 info->func() ret 0 [ 225.200349] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3490 trace() [ 225.208805] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3515 in_compat_syscall() [ 225.218306] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3532 video_put_user() [ 225.227569] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3438 [ 225.235336] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3458 check_array_args() [ 225.244760] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3482 func() [ 225.253136] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3133 info->func() End of this log shows where the code locks while v4l command waits on. I have also started the command with strace and I see: ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=2, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=3, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, fmt.pix_mp={width=1280, height=720, pixelformat=v4l2_fourcc('Y', 'U', 'Y', 'V') /* V4L2_PIX_FMT_YUYV */, field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_SRGB, plane_fmt=[{sizeimage=1843200, bytesperline=2560}], num_planes=1}}) = 0 ioctl(3, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE]) = 0 pselect6(4, NULL, NULL, [3], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) ioctl(3, VIDIOC_DQBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE You can see it waits on the VIDIOC_DQBUF. I'm sure camera transitions from the LP mode into HS mode correctly. Looks like the MIPI CSI never signals that the data has been received. I'm using staging drivers from linux-imx kernel. i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MP with OV5648 lock on taking photo I'm seeing that the csi interrupt counter goes up when i start the stream 25: 365486 0 0 0 GICv3 49 Level 32e40000.csi 26: 0 0 0 0 GICv3 48 Level 32e00000.isi The ISI interrupts however stay at 0. I have also enabled debug prints on the mxc-mipi-csi2 and it looks like I'm getting errors on the SOT [ 2231.150985] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0 [ 2231.151200] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 8 bit! [ 2231.151240] mxc-mipi-csi2.0: fmt: 0x3001, 1280 x 720 [ 2231.151270] mxc-mipi-csi2.0: SOT Error: 1 [ 2231.151275] mxc-mipi-csi2.0: status: 00030000 [ 2231.151294] mxc-mipi-csi2.0: SOT Error: 2 [ 2231.151298] mxc-mipi-csi2.0: status: 00030000 [ 2231.151317] mxc-mipi-csi2.0: SOT Error: 3 [ 2231.151321] mxc-mipi-csi2.0: status: 00030000 [ 2231.151337] mxc-mipi-csi2.0: SOT Error: 4 [ 2231.151341] mxc-mipi-csi2.0: status: 00030000 [ 2231.151360] mxc-mipi-csi2.0: SOT Error: 5 [ 2231.151367] mxc-mipi-csi2.0: status: 00010000 [ 2231.151383] mxc-mipi-csi2.0: SOT Error: 6 [ 2231.151389] mxc-mipi-csi2.0: status: 00010000 [ 2231.151407] mxc-mipi-csi2.0: SOT Error: 7 [ 2231.151413] mxc-mipi-csi2.0: status: 00010000 [ 2231.151440] mxc-mipi-csi2.0: SOT Error: 8 [ 2231.151444] mxc-mipi-csi2.0: status: 00010000 Re: IMX8MP with OV5648 lock on taking photo You need to update csis-hs-settle property in the dts according to the date rate of the connected camera module. More details can be found in the application note AN13857, section 3.2.5. https://www.nxp.com/webapp/Download?colCode=AN13857
記事全体を表示
IMX8MP、OV5648ロックオンで撮影 こんにちは。IMX8MPにOV5648センサーを追加しようとしています。これが私のDTS設定です ov5648_osc: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "ov5648_xvclk"; }; ... ov5648_0: cam_ov5648_0@36 { compatible = "ovti,ov5648"; reg = <0x36>; clocks = <&ov5648_osc>; clock-names = "xvclk"; powerdown-gpios = <&io_expander 1 GPIO_ACTIVE_LOW>; dovdd-supply = <&ov5648_0_dovdd>; dvdd-supply = <&ov5648_0_dvdd>; status = "okay"; csi_id = <0>; #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ov5648_0_mipi_ep: endpoint { remote-endpoint = <&mipi_csi_0_in>; link-frequencies = /bits/ 64 <210000000 168000000>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; ... &mipi_csi_0 { status = "okay"; clock-frequency = <168000000>; port { mipi_csi_0_in: endpoint { remote-endpoint = <&ov5648_0_mipi_ep>; // imx8-mipi-csi2-sam.c doesn't care it's usually <1 2>... data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; ... &isi_0 { status = "okay"; cap_device { status = "okay"; }; m2m_device { status = "disabled"; }; }; 以下のコマンドで写真を撮ろうとしています v4l2-ctl -d /dev/video2 -v width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=photo.raw dmesgにデバッグ用の出力もいくつか追加しました。 [ 224.928864] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1107 [ 224.940895] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2472 on 1 [ 224.950246] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_resume:2434 [ 224.959057] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_power:1870 on 1 [ 225.004545] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_sensor_init:1797 [ 225.037496] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_power:2480 ov5648_resume ret 0 [ 225.053146] input fmt RGB4 [ 225.055866] output fmt YUYV [ 225.058682] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1118 mxc_isi_config_parm ret 0 f[ 225.073740] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1124 vb2_ioctl_streamon ret 0 [ 225.087962] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:124 media_graph_walk_init ret 0 [ 225.102609] ov5648 2-0036: /drivers/media/i2c/ov5648.c:ov5648_s_stream:2146 enable 1 [ 225.112697] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 ov5648 2-0036 ov5648 2-0036 [ 225.140978] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret 0 mxc-mipi-csi2.0 mxc-mipi-csi2.0 [ 225.158893] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_pipeline_enable:149 v4l2_subdev_call s_stream ret -515 mxc_isi.0 mxc_isi.0 [ 225.175873] isi-capture 32e00000.isi:cap_device: /drivers/staging/media/imx/imx8-isi-cap.c:mxc_isi_cap_streamon:1136 mxc_isi_pipeline_enable ret -515 [ 225.190760] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3145 info->func() ret 0 [ 225.200349] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3490 trace() [ 225.208805] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3515 in_compat_syscall() [ 225.218306] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3532 video_put_user() [ 225.227569] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3438 [ 225.235336] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3458 check_array_args() [ 225.244760] /drivers/media/v4l2-core/v4l2-ioctl.c:video_usercopy:3482 func() [ 225.253136] /drivers/media/v4l2-core/v4l2-ioctl.c:__video_do_ioctl:3133 info->func() このログの末尾には、v4l コマンドが待機している間にコードがロックされる箇所が示されています。straceコマンドも実行してみたところ、以下のようになりました。 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=2, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_QBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, index=3, memory=V4L2_MEMORY_MMAP, m.offset=0xceb922f0, length=1, bytesused=0, flags=V4L2_BUF_FLAG_MAPPED|V4L2_BUF_FLAG_QUEUED|V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC|V4L2_BUF_FLAG_TSTAMP_SRC_EOF, ...}) = 0 ioctl(3, VIDIOC_G_FMT, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, fmt.pix_mp={width=1280, height=720, pixelformat=v4l2_fourcc('Y', 'U', 'Y', 'V') /* V4L2_PIX_FMT_YUYV */, field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_SRGB, plane_fmt=[{sizeimage=1843200, bytesperline=2560}], num_planes=1}}) = 0 ioctl(3, VIDIOC_STREAMON, [V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE]) = 0 pselect6(4, NULL, NULL, [3], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout) ioctl(3, VIDIOC_DQBUF, {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE VIDIOC_DQBUFで待機していることがわかります。カメラがLPモードからHSモードに正しく切り替わることは間違いないと思います。 MIPI CSIは、データが受信されたことを決して通知しないようです。 私はlinux-imxカーネルのステージングドライバを使用しています。 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: IMX8MP with OV5648 lock on taking photo ストリームを開始すると、CSI割り込みカウンタが上昇することがわかります。 25: 365486 0 0 0 GICv3 49 Level 32e40000.csi 26: 0 0 0 0 GICv3 48 Level 32e00000.isi しかし、ISI割り込みは0のままです。 mxc-mipi-csi2 のデバッグ出力も有効にしましたが、SOT でエラーが発生しているようです。 [ 2231.150985] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0 [ 2231.151200] mxc-mipi-csi2.0: mipi_csis_imx8mp_phy_reset: bus fmt is 8 bit! [ 2231.151240] mxc-mipi-csi2.0: fmt: 0x3001, 1280 x 720 [ 2231.151270] mxc-mipi-csi2.0: SOT Error: 1 [ 2231.151275] mxc-mipi-csi2.0: status: 00030000 [ 2231.151294] mxc-mipi-csi2.0: SOT Error: 2 [ 2231.151298] mxc-mipi-csi2.0: status: 00030000 [ 2231.151317] mxc-mipi-csi2.0: SOT Error: 3 [ 2231.151321] mxc-mipi-csi2.0: status: 00030000 [ 2231.151337] mxc-mipi-csi2.0: SOT Error: 4 [ 2231.151341] mxc-mipi-csi2.0: status: 00030000 [ 2231.151360] mxc-mipi-csi2.0: SOT Error: 5 [ 2231.151367] mxc-mipi-csi2.0: status: 00010000 [ 2231.151383] mxc-mipi-csi2.0: SOT Error: 6 [ 2231.151389] mxc-mipi-csi2.0: status: 00010000 [ 2231.151407] mxc-mipi-csi2.0: SOT Error: 7 [ 2231.151413] mxc-mipi-csi2.0: status: 00010000 [ 2231.151440] mxc-mipi-csi2.0: SOT Error: 8 [ 2231.151444] mxc-mipi-csi2.0: status: 00010000 Re: IMX8MP with OV5648 lock on taking photo コネクテッドカメラモジュールの日付レートに応じてDTSのcsis-hs-settleプロパティを更新する必要があります。詳細はアプリケーションノートAN13857、セクション3.2.5に記載されています。 https://www.nxp.com/webapp/Download?colCode=AN13857
記事全体を表示
S32K312 迷你板不可用 S32K312 迷你板在 S32 设计工作室 3.6 的示例代码中不可用。我也已经安装了所有的驱动程序。请帮帮我。 Re: S32K312 mini board is not available 嗨,@Turtledove  根据您共享的屏幕截图,目前似乎没有安装任何软件包。 S32K3 设备的 RTD 可以从 S32K3 标准软件中下载,位于: 汽车软件-S32K3/S32M27x-Cortex-M 的实时驱动程序。下载完成后,可按照《如何使用 S32 Design Studio 3.6.0 下载、安装和配置 RTD 5.0.0》主题中描述的步骤进行安装。 关于 FRDM-A-S32K312 的示例,RTD 封装中目前没有专门针对该主板提供的示例。此外,在最新版本中,没有针对 S32K312 设备的专用示例。但是,您仍然可以使用其他 S32K3 衍生物的示例作为参考。 尽管 RTD 包中未提供示例,但应用程序代码中心提供了 FRDM-A-S32K312 的应用程序示例。你可以在那里搜索这个特定的设备,将显示所有可用的示例。   BR、VaneB
記事全体を表示
PN7462AU FreeRTOS: Unable to switch from heap_3 to heap_4, system stuck + heap usage visibility Hi Team, I am using the PN7462AU platform with FreeRTOS, and the SDK example is configured to use heap_3.c. I am facing memory overflow issues and would like to better understand the heap configuration. Since heap_3 uses the standard library's malloc()/free(), functions such as xPortGetFreeHeapSize() and heap statistics are not available. To gain visibility into heap usage and potentially increase the available heap, I tried switching from heap_3.c to heap_4.c by disabling heap_3.c and enabling heap_4.c. However, the application gets stuck during startup after making this change. I have the following questions: Is it safe and recommended to switch from heap_3 to heap_4 on PN7462AU? How can I determine the amount of memory currently available to heap_3? Since heap_3 does not support xPortGetFreeHeapSize(), what are the recommended methods to monitor heap usage and detect memory exhaustion? What additional configuration changes are required when migrating from heap_3 to heap_4 (e.g., configTOTAL_HEAP_SIZE, linker script changes, memory regions, etc.)? Any guidance or examples specific to PN7462AU and FreeRTOS would be appreciated. Thank you Core and Memory Re: PN7462AU FreeRTOS: Unable to switch from heap_3 to heap_4, system stuck + heap usage visibility Hello @uday_gowda, The NFC reader library offers examples that shows the implementation of FreeRTOS with the PN7462 that could be helpful. Also, I can recommend see the AN11784, it provides guidance on integrating an RTOS with the PN7462, that you can take by reference. MCUXpresso IDE also includes several debugging features for FreeRTOS based applications. In particular, the "Heap Usage view" can help you in this case. Additional details are available in the chapter 3.6 of MCUXpresso IDE 25.06 FreeRTOS Debug Guide. Finally, please take in mind that the PN7462 only have 12k of the SRAM. BR Habib
記事全体を表示
AM/FM tuner tef6686 application circuit needed I need AM/FM tuner tef6686 application circuit, could you give me, also could you give all related information, I am designing a circuit based on it -Thanks -Alok  Re: AM/FM tuner tef6686 application circuit needed Dear Ahmishra, I have a confidential TEF668XA datasheet with an example application circuit. This can be shared only under a valid NDA with NXP. Please create a new ticket here with your company email and also share your NDA number. If you do not have the NDA yet, and you would like to sign a new one, please create a new request for the NDA here and our representative for NDA matters will help you with the process.  With Best Regards, Jozef
記事全体を表示