Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
S32DS arm V1.3 activation code failed Hello, the software activation code of my S32DS Arm V1.3 has expired. Could you help me extend the time.   My original activation code was:FF3F-27C7-FFAB-837F Re: S32DS arm V1.3 activation code failed Hello, It is extended now. Best regards, Peter 回复: S32DS arm V1.3 activation code failed My activation ID (0D3F-EFEF-B771-DA51) is new, and both online and offline activation failed when I tried to activate the same version of the software. The failure screen is in the attachment below. I hope you can help me solve this. Thank you.
View full article
NXPS32K358: ブートローダーがアプリケーションにジャンプした後にFreeRTOSタスクが実行されない サンプルアプリケーションプロジェクトを作成し、それをブートローダーとして使用しています。実際のアプリケーションプロジェクトは同一で、唯一の違いはフラッシュスタートのアドレスだけです。 ブートローダーは無事にアプリケーションにジャンプし、アプリケーションは実行を開始します。しかし、アプリケーション内ではxTaskCreate()関数は実行されません。 ブートローダーからFreeRTOSベースのアプリケーションにジャンプする際に、追加の設定が必要ですか?例えば、FreeRTOSタスクを作成・実行する前に、起動、割り込み、ベクターテーブル、スタックポインタ、スケジューラ関連の設定などを行う必要がありますか? 私はそのことを紹介しました コミュニティからの統一ブートローダーデモ チケット。解決策は得られませんでした。問題はFreeRTOSを含めたときだけで、RTOSなしでアプリケーションは問題なく動作することです。  S32K344では動作しますが、NXPS32K358では動作しません。 追加情報が必要な場合はお知らせください。 Re: NXPS32K358: FreeRTOS Tasks Not Running After Bootloader Jumps to Application 私たちのプロジェクトで使用されているブートローダーからアプリケーションへのジャンプコード: void Boot_JumpToApp(uint32 i_AppAddr) { uint32_t appStack; uint32_t 関数; uint8 i;   DisableAllInterrupts();   S32_SysTick->CSRr = 0; S32_SysTick->RVR = 0; S32_SysTick->CVR = 0;   for(i = 0; i < 10; i++)     { S32_NVIC->ICER[i] = 0xFFFFFFFFU; S32_NVIC->ICPR[i] = 0xFFFFFFFFU;    } appStack = *(volatile uint32_t *)0x00442000; __set_MSP(appStack); S32_SCB->VTOR = 0x00442000; func = *(uint32_t volatile *)(((uint32_t)0x00442004)); (* (void (*) (void)) func)(); } Re: NXPS32K358: FreeRTOS Tasks Not Running After Bootloader Jumps to Application こんにちは、 @Indhumathi さん。 根本原因を絞り込むために、以下の割り込みハンドラが実際に実行されているか確認していただけますか? SVCハンドラ(vPortSVCHandler)—最初のFreeRTOSタスクを開始する役割を担う PendSVハンドラー(vPortPendSVHandler)—タスク間のコンテキスト切り替えを担当 SysTick ハンドラ (vPortSysTickHandler / xPortSysTickHandler) — FreeRTOS のティック処理を担当 最も簡単な確認方法は、アプリケーション内の各ハンドラのエントリにブレークポイントやGPIOトグルを配置することです。 ありがとうございました。 よろしくお願いいたします。 ダニエル
View full article
S32K118 FlexIO Hello. I would like to consult about implementing both-edge detection for motor Hall sensor signals using the FlexIO module on S32K118. Currently, I need to capture both rising and falling edges of three Hall feedback signals from the BLDC motor. I am trying to configure FlexIO pins as input capture channels. However, I am confused about how to set FlexIO to detect both rising and falling edges simultaneously. Could you share the proper FlexIO timer and shifter configuration workflow for dual-edge capture。Besides.I also want to know if interrupts can be triggered on every edge, and whether there are known limitations or precautions when using FlexIO for Hall signal sampling on the S32K118 platform. Thank you very much. Re: S32K118 FlexIO Hello @Niuyanlin, If application is Hall sensor in BLDC motor feedback, I suggest looking into the FTM module instead. The following application note mentions how to configure the module for single and dual edge capture, and how to generate a capture interrupt: AN5303: Features and Operation Modes of FlexTimer Module on S32K – Application Note. "The Hall sensors are connected to the channels of the independent FTM (FTM_CHx). The FTM can then detect both the falling and rising edges of the Hall sensor signals and generate a capture interrupt." FlexIO, by contrast, requires constructing input capture behavior indirectly through timer-decrement modes, and it can work, but in my opinion, FTM module is better suited. Best regards, Julián Re: S32K118 FlexIO Hello, Julian, Thank you very much for your prompt reply and valuable suggestions. I recognize that FTM is a superior choice for feedback from BLDC motor Hall sensors. However, due to insufficient peripheral resources in the project, we had to implement input capture functionality using FlexIO. We would greatly appreciate it if you could provide a detailed software implementation plan related to FlexIO for our reference. Best regards, Niu Yanlin Re: S32K118 FlexIO Hello @Niuyanlin, Since FlexIO does not have the dedicated input capture capability, most of the documentation is based on communication emulation. The main suggestion I can give is to refer to S32K1's reference manual chapter 54. You can refer to the following application notes, which detail how to configure shifters and timers, along with the respective interrupts: AN14284: Timing Parameter Tuning for FlexIO Emulated Interface | NXP Semiconductors AN12174: Using FlexIO to emulate communications and timing peripherals – Application Note Understanding FlexIO The FlexIO module can generate an interrupt from 3 sources: Shifter error, Shifter status flag and Timer status flag. To enable the interrupts, you need to set the bits in the SHIFTSIEN, SHIFTEIEN and TIMIEN. However, there are no routines for input capture or BLDC motor control. I apologize for the inconveniences. Best regards, Julián
View full article
GUIGuider 1.10.1 から 2.0.0 への移行 私たちはGUIGuiderプロジェクトをバージョン1.10.1で構築してきましたが、新しいバージョン2.0.0に移行して新機能を試してみたいと思っています。古いGUIGuiderプロジェクトファイルが新しいバージョンでは読み込めないことが分かりました。おそらくそれはプロジェクトが使う新しいJSON構造の2.0.0のせいだと思います。 GUIGuiderの新しいバージョンにプロジェクトを簡単に移行する方法はありますか?それとも手動で変換する必要がありますか?
View full article
iMXEBOOKDC5 触摸控制器 IC 零件编号 亲爱的团队, 我正在使用iMXEBOOKDC5和i.MX8ULP EVK 。 目前为止,一切进展顺利。电子墨水显示屏工作正常,按钮和操纵杆也都能正常工作。 我现在想启用显示屏上的触摸面板。但是,我无法确定 EPD 模块上使用的触摸控制器 IC 的零件编号,因为 IC 上的标记似乎已被激光打标擦除。 我曾尝试自己查找相关信息,但没有成功。 请问您能否分享一下: iMXEBOOKDC5 显示屏上使用的触摸控制器 IC 部件号。 任何可用于支持触摸功能的 Linux 驱动程序、库或软件包。 感谢您的帮助。 顺祝商祺! 评估板 Re: Touch Controller IC Part Number for iMXEBOOKDC5 你好, 所使用的触摸控制器IC是汇顶科技(Goodix Technology)生产的GT911。 您可以通过以下链接查看驱动程序: https://github.com/nxp-imx/linux-imx/blob/lf-6.18.y/drivers/input/touchscreen/goodix.c 顺祝商祺! Re: Touch Controller IC Part Number for iMXEBOOKDC5 亲爱的, 感谢您的支持 顺便问一下,您能否提供电子墨水面板的 wayform bin 文件? BRs, 莱德
View full article
S32K5の2つの異なるコルテックスM7からメインプラットフォームドメインのSEMA42ユニットにアクセスする S32K5の2つの異なるCortex M7コア(M7_0とM7_1)からメインプラットフォームのSEMA42_1ユニットにアクセスしようとしています。システムがフリーズします。ここで社内作業スペースを共有することはできません。 訂正ERR053433には次のように記載されています:SEMA42:複数のアプリケーションコアによるSEMA42_0およびPBRIDGE_2への同時アクセスによりシステムがハングします。 残念ながら、SEMA42_1を使用するという回避策では、システムハングアップの問題は解決しません。 S32K56xで2つのCortex M-7コアを設定・検証し、Design StudioのSEMA42_1ユニットのgate0にアクセスして最適化-OSを有効にしてもらえますか? システムのフリーズ問題は、以下のいずれか1つを使用することで解消されます。 最適化を無効にする -O0 命令キャッシュを無効にする SoC上の別のドメインのSRAMを使用する例CPE デバッガー経由でステップインする Re: Accessing SEMA42 unit on main platform domain from two different cortex M7 in S32K5 こんにちは、 @seasonedbit さん。 ご存知かもしれませんが、S32K5は現在プリプロダクション段階にあります。イネーブルメント(ドキュメント、ソフトウェア、ボード)は承認されたお客様のみが利用可能であり、そのため当社のグローバルオンラインサポートチームからはまだサポートされていません。 最初にこの装置を提供したFAEやNXPの担当者に連絡していただけますか?彼らはさらなる支援を提供できるでしょう。 ご理解いただきありがとうございます。 よろしくお願いします、 ジュリアン
View full article
IMXRT1172 LPSPI EDMA転送APIを使用する場合、SPI転送が完了する前にDMA IRQハンドラが呼び出されます。 こんにちは、 私はIMXRT1172上でSDKのLPSPI EDMA転送API(2.16.100)を使って、SPIデータを同時に読み書きしています(つまり、同じサイズのバッファを持つ2つのDMAチャネルでのTX+RX転送)。残念ながら、EDMAコールバックは転送が実際に完了する前に呼び出されているようです。コールバック内でLPSPIのSR、FSR、RSRを確認すると、DMAは処理が完了したと考えているにもかかわらず、SPIはまだビジー状態であると考えていることがわかります。つまりMBFは設定されたままで、TXCOUNTは1です。 SR = 0x01000100 (MBF、WCF) FSR TXCOUNT = 1、RXCOUNT = 0 RSR = 0x00000002 (RXEMPTY、!SOF) もしTXだけを扱うなら、SPIペリフェラルがDMAから最後に読み込まれたバイトをまだ処理している可能性があるので、ある程度理にかなっているかもしれません。その場合、DMA周辺機器はRAMからSPIのデータTXレジスタへの最後のバイトの読み込みを終えていますが、SPIはそれを送信する作業をまだ必要としていました。 しかし、TXとRXを同時に行う場合、TXCOUNTが1ならRXCOUNTも1になるはずだと予想していました。つまり、DMAはすべてのTXデータがクロックアウトされるまでRXで完了してはならない。なぜなら、最後のバイトはSPI RXデータレジスタからDMAによってRAMに転送される必要があり、これは転送の最後のクロックサイクルでのみ発生するからである。 これは本当に問題なのでしょうか? もしそうなら、SDKで問題ですか? それともハードウェアIPで? DMAコールバック内でLPSPI SRをチェックして、SPIエラーが発生しているかどうかを判断できればと思っていました。 ありがとうございます -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done こんにちは、 @nxp16 さん。 私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。 DMA完了とSPIバス完了は、2つの異なる概念です。 eDMAコールバックは、DMAエンジンがメモリとLPSPI FIFO/レジスタパス間で設定されたバイト数のデータの転送を完了したことを示します。これは必ずしも、LPSPIバスステートマシンが最後のフレームを完了した、あるいはアイドル状態に戻ったことを意味するものではありません。 LPSPIバスの完了を確認するには、SR[TCF]を確認するか、SR[MBF]がクリアされるまでお待ちください。 お役に立てれば幸いです。 よろしくお願いいたします。 5月 Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done はい、しかしTX/RX転送の場合、DMAが完了した時点でTX_COUNTとRX_COUNTの両方がゼロになることを期待していました。つまり、RX DMAが最後のSPIクロックより前に完了することは不可能であるはずです。なぜなら、SPI周辺機器はその時間までにデータの最後のビットをRX FIFOにシフトしておらず、DMAは最後のバイトをRX FIFOにシフトするまでRAMにコピーできないからです。その場合、TXとRXの両方がDMAが完成する前に完了しているはずです。もしTXの転送だけなら、DMAがSPIより先に完了し、TX_COUNTはまだ1のままかもしれません。 ありがとうございます -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done こんにちは、 @Mike_M3 さん、 ご意見ありがとうございます。 あなたの指摘はRXデータパスに関しても正しいです。RX EDMAチャネルが完了すると、期待されるRXデータはすでにRAMに移されています。しかし、これはLPSPIバスの完了とはまだ同じではありません。 TXCOUNT/RXCOUNTはFIFO占有率インジケーターです。RXCOUNT=0はDMAによってRX FIFOが消耗されたことを意味し、TXCOUNT=1は送信/コマンドFIFO内の保留中のエントリを1つ示すことがあります。LPSPIでは、送信FIFOはコマンドやTCRエントリにも使用されるため、TXCOUNTは単なるRX補完のミラーではありません。MBF=1は、LPSPIバスステートマシンがまだ完全にアイドル状態に戻っていないことを示します。 したがって、転送完了の条件としてTXCOUNT/RXCOUNTの等価性を使用することはお勧めしません。LPSPIバス完了条件については、代わりにSR[TCF]=1またはSR[MBF]=0を使用してください。割り込みベースの表示が望ましい場合は、kLPSPI_TransferCompleteInterruptEnableを有効にし、EDMAコールバックをDMA完了表示専用にしてください。 よろしくお願いいたします。 5月
View full article
S32K314でDMAを使用したUARTが正しく動作しません こんにちは、 現在、DMAと連携するようにLPUART0チャネルの設定を試みています。UARTチャネルは1Mbpsのビットレートで動作している必要があります。 現在のUARTとDMAの設定は以下のようになっています。 MCUではクロックが有効化され、バッファはキャッシュできない領域内に宣言され、DMAのISR優先度はLPUARTよりも小さいです。 私たちの問題は、RXバッファ内のデータを見ることができない、あるいはデータが不完全であることです。 私たちのワークフローはこうです(LINコミュニケーションに似ています) 😞 受信バッファを準備 -> AsyncReceive スレーブにヘッダーを送信する -> AsyncSend 次のサイクルでスレーブからデータが受信されるまで待機します(私の関数は1msのタスクで実行されます)。 AsyncSendの実行後にブレークポイントを設けると、RXバッファ内のスレーブからのすべてのデータ送信が確認できます。 そのまま実行させても、何も表示されないか、不完全な結果しか得られない。 私の推測では、DMA割り込みは後から発生する。 私たちの設定のどこが問題なのか、あるいは次に何をチェックすればいいのか、いくつかヒントを教えてもらえますか? ご回答をお待ちしています。 コスミン Re: Uart using DMA is not working correct on S32K314 こんにちは、@ CosminSbera 1. DMA要求オプションを有効にするのを忘れないでください。 2. 「プラットフォーム」コンポーネントでLPUART0_IRQn割り込みを有効にするのを忘れないでください。 「プラットフォーム」->」LPUART0_IRQn--LPUART_UART_IP_0_IRQHandler」
View full article
i.MX93プロセッサ向けパラレルプログラミングシステム 私はIMX93プロセッサを使っていて、2台のボードを同時にプログラムする必要があります。しかし、それを試すと、ボードの1つでHID(W)エラーが発生し、他のボードのフラッシュは正常に完了します。 uu.exe -m 1:10 -b uuu-xxxxxx.flash uu.exe -m 1:7 -b uuu-xxxxxx.flash パス(1:10,1:7)を指定しても同じエラーが発生します。 案内してください。 Re: Parallel Programming System for i.MX93 Processors こんにちは、 次のコマンドを実行してみてください。 uuu -d -m 1:7 -m 1:10 uuu-xxxxxx.flash 何が手に入るの? uuu -lsusb 列挙されたポート番号に従って、正しいポート番号を使用していることを確認してください。 よろしくお願いいたします。
View full article
S32K314 上使用 DMA 的 UART 功能无法正常工作 你好, 我们目前正在尝试配置 LPUART0 通道以使其与 DMA 配合使用。UART 通道需要以 1Mbps 的比特率工作。 我们目前的 UART 和 DMA 配置如下所示。 MCU 中时钟已启用,缓冲区在不可缓存区域内声明,DMA ISR 的优先级低于 LPUART。 我们的问题是,我们无法看到 RX 缓冲区中的数据,或者数据不完整。 我们的工作流程如下(类似于LIN通信)。 😞 准备接收缓冲区 -> 异步接收 将头部信息发送到从设备 -> AsyncSend 等待下一个周期从从设备接收到数据(我的函数运行时间为 1 毫秒)。 如果我在 AsyncSend 执行后设置断点,我可以看到从设备发送的所有数据都在 RX 缓冲区中。 如果我让它运行,要么什么都没有,要么运行不完整。 我的假设是 DMA 中断稍后发生。 您能否提供一些关于配置中哪里出了问题的线索,或者我接下来应该检查哪些方面? 谢谢! 科斯明 Re: Uart using DMA is not working correct on S32K314 嗨@CosminSbera 1.不要忘记启用DMA请求选项。 2.不要忘记在“平台”组件中启用 LPUART0_IRQn 中断。 “平台”->“LPUART0_IRQn --LPUART_UART_IP_0_IRQHandler“
View full article
FETMX6ULL-C:LCDとCTPが同時に接続された際のランダムなCTP I2C通信エラー、CTP ハードウェアプラットフォーム:FETMX6ULL-Cコアボード。   CTP接続時はI2Cエラーなしで安定的に動作します。   LCDディスプレイとCTPを同時に接続すると、CTP上でランダムにI2C通信例外が発生し、タッチ機能が時折動作しなくなる。 LCD回路によって発生する電磁干渉が、タッチパネルのI2C信号の不安定化を引き起こしているのではないかと疑っています。   関連するカーネルのdmesgログを分析のために添付します。   当社のソフトウェア環境:Linux 4.1.15BSP。   CTPはI2Cバスを介して通信します。ハードウェアの配線と電源を確認しましたが、問題は依然として解決していません。   技術的なご提案をお待ちしております。
View full article
T2081プロセッサMT29F64G08AECAB NANDフラッシュへのアクセス こんにちは、 T2081プロセッサを使ってMT29F64G08AECAB NANDフラッシュにアクセスしようとしています。 NANDフラッシュデバイスの総容量は8GBで、CE1(Chip Enable 1)とCE2(Chip Enable 2)はそれぞれCS5とCS6を介してIFCコントローラに接続されています。 CS5はCE1に接続された4GBのNANDフラッシュに使用されます。 CS6はCE2に接続された4GBのNANDフラッシュに使用されます。 このNANDデバイスのXMLフラッシュ構成ファイルは、以下のパスに存在しません。 {CodeWarrior}\PA\bin\plugins\support\Products\ProductData\FPDevices.mwpdb\FP そこで、Flash Programmer for Power Architectureプロセッサ アプリケーションノート(AN4349)という文書を参照して新しいXMLファイルを作成しました。 私には以下の質問があります。 フラッシュプログラマの設定ファイル(.xml)では、NANDフラッシュのサイズを4GB (チップセレクトあたり)に設定すべきでしょうか、それとも8GB (CS5とCS6を合わせたデバイス全体の容量)に設定すべきでしょうか? CS5の4GBサイズのNANDフラッシュ構成に合わせて、T2081QDS_init_core.tclファイルを修正しました。 製造元IDとデバイスIDを読み取るための診断テストを実行すると、コンソールに次のエラーが表示されます。   参考資料として、T2081QDS_init_core.tclファイルとMT29F64G08AECAB.xmlファイルを添付しました。 設定を確認し、 T2081プロセッサを使ってNANDフラッシュデバイスにアクセスする正しい手順を教えていただけますか? よろしくお願いいたします。 ヴィマル。 QorIQ T2デバイス Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor こんにちは、 現在タイムアウトが発生している可能性が最も高い原因は、 TCL のチップセレクトインデックスの誤り、 IFC クロックの初期化不足、 CSOR ページ/ブロックのジオメトリの不一致、タイミングが厳しすぎる、または正しい NAND ID シーケンスを実装していないアルゴリズムを指す XML エントリです。実際のXMLと修正 T2081QDS_init_core.tcl されたCS5/CS6のセクションを共有してくれれば、フィールドを直接確認して値を登録できます。 フラッシュプログラマのターゲット/チップセレクトごとに4GBを使用し、最初にCS5のみを起動して、IDタイムアウトを8GBのXMLサイズの問題としてではなく、IFCの初期化/アルゴリズム/ジオメトリの問題としてデバッグしてください。   よろしくお願いします。 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor こんにちは、 @Bio_TICFSL さん、 ご回答ありがとうございます。 Chip Select 5(CS5)を使って4GBのNANDフラッシュにアクセスしようとしましたが、先ほど述べた問題が依然として解決しています。 参考資料として、 T2081QDS_init_core.tclファイルとテキスト形式のXMLファイルを添付しました。 これらのファイルと設定値をご確認いただき、適切な解決策を教えていただけますか? よろしくお願いいたします。 ヴィマル。 Re: Accessing MT29F64G08AECAB NAND Flash on T2081 Processor こんにちは、   前回の返信について、まだご回答をいただいていないため、改めてご連絡いたします。   MT29F64G08AECAB NANDフラッシュのタイミングパラメータに関して、いくつか疑問があります。添付のデータシート画像にあるタイミング表をご参照ください。 NXP T2081 IFCインターフェースでどのNANDタイミングモードを使うべきでしょうか?   これらのタイミング値から、対応する入力クロックサイクルはどのように導き出されるのでしょうか?   NxP T2081プロセッサからIFC経由でNANDフラッシュ(MT29F64G08AECAB)にアクセスする方法について、アドバイスをいただけますか? よろしくお願いいたします。 ヴィマル。
View full article
将开发板 PCB 导入 Altium 我们的团队正在使用 S32K148-Q176 评估板 RevB。我们正在设计一个与评估板连接的板,并试图获得该板的模型以帮助我们完成这项工作。从您的网站下载时,文件将保存为 BRD 文件。我们这里使用的是 Altium,所以无法导入该文件。你们的工程团队能否将 .BRD 文件转换为 ASCII .alg 文件?文件,还是 Altium 可以导入的其他文件格式? Re: Getting a Dev Board PCB imported to Altium 嗨@rollypoli 遗憾的是,我没有办法将 Allegro BRD 数据库转换为 Altium 格式。 对于过去类似的请求,我通常建议使用免费的 Cadence Allegro 查看器。Cadence 提供了一个免费的查看器,可以打开 BRD 文件,并允许您直接检查 PCB 数据库。 使用查看器中提供的测量和检查工具,您应该能够准确地确定连接器、安装孔和其他机械特征的位置和间距。通常情况下,这样做足以在您自己的 Altium 设计中复制电路板轮廓和连接器位置,从而使新的 PCB 在机械上与原电路板保持兼容。 您可以从以下网址下载免费的 Cadence 查看器: https://www.cadence.com/en_US/home/tools/pcb-design-and-analysis/allegro-downloads-start.html 虽然这不如拥有原生 Altium 设计文件方便,但对于需要参考 Allegro PCB 布局并在其他 CAD 工具中重新创建相关机械尺寸的客户来说,这种方法效果很好。 此致, Lukas Re: Getting a Dev Board PCB imported to Altium 您能否将其从 .brd 文件转换为 .alg 文件?(ascII) allegro 文件? 我会看看观众。 Re: Getting a Dev Board PCB imported to Altium 抱歉,我没有这样的机会。
View full article
Touch Controller IC Part Number for iMXEBOOKDC5 Dear Team, I am using the iMXEBOOKDC5 together with the i.MX8ULP EVK. So far, everything is working well. The E-Ink display is functioning correctly, and both the buttons and joystick are operating as expected. I would now like to enable the touch panel on the display. However, I cannot identify the part number of the touch controller IC used on the EPD module because the marking on the IC appears to have been erased by laser marking. I have tried to find the information myself, but without success. Could you please share: The touch controller IC part number used on the iMXEBOOKDC5 display. Any available Linux driver, library, or software package for supporting the touch functionality. Thank you for your help. Best regards, Evaluation Board Re: Touch Controller IC Part Number for iMXEBOOKDC5 Hello, The touch controller IC used is the GT911, manufactured by Goodix Technology. You can take a look into the driver in the next link: https://github.com/nxp-imx/linux-imx/blob/lf-6.18.y/drivers/input/touchscreen/goodix.c Best regards. Re: Touch Controller IC Part Number for iMXEBOOKDC5 Dear, Thanks for your support BTW, can you help to provide the wayform bin file for the e-ink panel? BRs, Ryder
View full article
Linux QBMan QMan ドライバー safe_copy_dqrr QorIQプロセッサ用のLinux SDKには、ドライバーステージングツリーに qman_high.c が含まれています。これには、コメントで「読み取りが順番通りにQBManに到達することを保証し、//WRAPトランザクションがQBManに認識されないようにする//」と説明されている関数safe_copy_dqrr()が含まれます。 これは、DQRRインデックスラップとは関係なく、AXI WRAPバーストトランザクションのことを指していると思われます。 なぜこの問題が安全にしなければならないのか、誰か説明してもらえますか? よろしくお願いします。 QorIQ LS1デバイス Re: Linux QBMan QMan driver safe_copy_dqrr こんにちは、 はい、そのコメントはおそらくバス/キャッシュラインのWRAPトランザクションに関するものであり、DQRRプロデューサー/コンシューマーインデックスのラッピングに関するものではないと思われます。 「安全」である必要がある理由は、DQRRエントリが通常のRAMではないからです。これはQBManポータル構造であり、その内容はQManによって生成され、CPUキャッシュに隠され、ソフトウェアが VERBバイトの有効なビット を使って消費されます。DPAAマニュアルでは、QManがDQRRエントリを原子的に更新しても、GPPコアの読み取りがエントリのすべてのバイトが同時に変化するのを観測することはできないと記載されています。ソフトウェアは有効なビットを含むVERBバイトがDQRRエントリの他の部分より先に読み込まれることを確実にしなければなりません。 だから safe_copy_dqrr() この危険なパターンを避けようとしているのです: CPU は DQRR エントリをコピーしたい - > コンパイラ / CPU / キャッシュサブシステムがそれをバーストまたはキャッシュラインの充填に変換 します - > トランザクションが QBMan に到達すると WRAP スタイル の リード - > QBMan / インターコネクトがある順序 で ビートを認識 ・ 読み取ることができます論理フィールドの順序 とは異なり - > ソフトウェアは、古いまたはまだ表示されていないエントリデータ に関連する 有効な 動詞 バイトを観察することがあります これは有効なビットが同期点であるため重要です。DQRRエントリスタッシングを有効にすると、ドキュメントは関連するDQRRエントリスタッシュがプロセッサキャッシュに到達する前に更新され、レースが発生する可能性があると明 DQRR.PI 記しています。したがって、ソフトウェアは DQRR.PI ではなく、DQRRエントリ内の有効なビットを使って本番を検出すべきです。有効ビット自体は、リングが最後のエントリからエントリ0に戻るたびに極性が切り替わる交互極性ビットです。   よろしくお願いします。 Re: Linux QBMan QMan driver safe_copy_dqrr ご返信ありがとうございます。 私の理解が正しければ、DQRRスタッシングを無効にすると、キャッシュ無効化とメモリバリアの後にDQRRエントリのCPU読み取りがキャッシュラインの埋め込みを引き起こしますが、DQRRエントリが更新されている間にAXIラップバーストトランザクションで「破れる」ことは可能でしょうか? 私はLS1046A RDBを使っていますが、NXPのマニュアルにはこの挙動に関する記述が見当たりません。どこかに文書化されていますか?この安全コピー機能の正当性を裏付ける根拠を探しています。 DQRRスタッシングが有効になっている場合、QManはDQRRエントリをキャッシュに書き込みます。これも同じ問題に該当するのでしょうか? ご協力ありがとうございました。
View full article
開発ボードのPCBをAltiumにインポートする 私たちのチームは、S32K148-Q176評価ボードRevBと協力しています。私たちは評価ボードとインターフェースするボードを設計しており、そのモデルを手に入れてその作業を支援しようとしています。ファイルは、お客様のサイトからダウンロードされる際にBRD形式で保存されます。ここではAltiumを使っているので、そのファイルはインポートできません。貴社のエンジニアリングチームは、.BRD ファイルを ASCII .alg 形式に変換できますか?ファイル、あるいはAltiumがインポートできる他のファイル形式ですか? Re: Getting a Dev Board PCB imported to Altium こんにちは、 @rollypoli さん。 残念ながら、Allegro BRDデータベースをAltium形式に変換する方法は持ち合わせていません。 過去に同様の依頼を受けた際には、通常、無料のCadence Allegroビューアの使用をお勧めしてきました。CadenceはBRDファイルを開けることができ、PCBデータベースを直接検査できる無料のビューアを提供しています。 ビューアに搭載されている測定ツールや検査ツールを使用すれば、コネクタ、取り付け穴、その他の機械的部品の位置と間隔を正確に特定できるはずです。これで通常は、自分のAltium設計で基板の輪郭やコネクタ位置を再現し、新しいPCBが元の基板と機械的に互換性を保つことができます。 無料のCadenceビューアは以下からダウンロード可能です: https://www.cadence.com/en_US/home/tools/pcb-design-and-analysis/allegro-downloads-start.html ネイティブのAltium設計ファイルほど便利ではありませんが、Allegro PCBレイアウトを参照し、別のCADツールで関連する機械寸法を再作成する必要があるお客様にはうまく機能しています。 よろしくお願いいたします。 ルーカス Re: Getting a Dev Board PCB imported to Altium .brd ファイルを .alg に変換する機能はありますか?(ascII) アレグロファイル? 私は視聴者を見ます Re: Getting a Dev Board PCB imported to Altium 申し訳ありませんが、そのようなことは私にはできません。
View full article
KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, I am trying to program the KW45B41Z-EVK using the kw45b41zevk_hello_world SDK example code. When I start debugging, the onboard debugger gets detected, but then I get the following error: 0 Available SWD Devices detected. Connect a device and try again. I have connected the USB cable to J14 and left JP22 open (to program using the onboard debugger itself). Also, JP28 pins 1 and 2 are shorted, as mentioned in the KW45UM. However, even after that, I am unable to program and debug the example. I have also tried the kw45b41zevk_led_blinky SDK example, but it behaves in the same way. I also tried using an external debugger to debug the board by shorting JP22, as mentioned in the KW45UM, but I am getting the same issue. I have attached a screenshot of the issue I am facing. I also tried to erase the flash and write the image using the Secure Provisioning Tool. First, I entered ISP mode by shorting JP25 to enable SW4, then long-pressed SW4 and Reset (SW3). Once the Test Connection passed, I erased the flash (location 0x00000000, size 0x100000) successfully. Then I used the following image: ${SPT_INSTALL_BIN}\data\sample_data\targets\KW45B41Z8\source_images\kw45b41zevk_led_blinky.s19 I was able to build and program the image successfully, and the intended RGB LED1 is also blinking indicating that KW45B41Z microcontroller is working fine. However, even after this, I am still unable to program or debug the board. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, @kaif1  Which IDE are you using?  MCUXpresso IDE or MCUXpresso for VS Code? Let me have a try on my side, then let you know the default jumper settings. Best regards, Christine. Re: KW45B41Z EVK not programming over on board Debugger MCU Link. Hi, @kaif1  Please refer to my jumper settings, and I verified on my local side, I can flash hello_world example into the board successfully. And I am using MCUXpresso IDE with SDK 25.12.00. Please have a try with my jumper settings and then let me know whether it works for you . Best regards, Christine.
View full article
Linux QBMan QMan driver safe_copy_dqrr The Linux SDK for QorIQ processors includes qman_high.c in the driver staging tree. This includes the function safe_copy_dqrr(), which the comments say is ensuring reads reach QBMan in order and //preventing a WRAP transaction to be seen by the QBMan//. I presume this is referring to an AXI WRAP burst transaction, rather than anything to do with the DQRR index wrap. Can anyone explain why this is problem that needs to be made safe? Thanks in advance. QorIQ LS1 Devices Re: Linux QBMan QMan driver safe_copy_dqrr Hello, Yes — the comment is most plausibly about a bus/cache-line WRAP transaction , not the DQRR producer/consumer index wrapping. The reason it needs to be “safe” is that a DQRR entry is not ordinary RAM. It is a QBMan portal structure whose contents are produced by QMan, possibly stashed into the CPU cache, and consumed by software using the valid bit in the VERB byte . The DPAA manuals state that even though QMan updates a DQRR entry atomically, a GPP core’s reads may not observe all bytes of the entry changing at the same time; software must ensure the VERB byte containing the valid bit is loaded before the rest of the DQRR entry. So safe_copy_dqrr() is trying to avoid this unsafe pattern: CPU wants to copy DQRR entry -> compiler/CPU/cache subsystem turns that into a burst or cache-line fill -> transaction reaches QBMan as a WRAP-style read -> QBMan/interconnect may see/read beats in an order different from the logical field order -> software may observe a valid VERB byte associated with stale or not-yet-visible entry data That matters because the valid bit is the synchronization point. With DQRR entry stashing enabled, the documentation specifically warns that DQRR.PI can be updated before the associated DQRR entry stash arrives in the processor cache, creating a race; therefore software should use the valid bit in the DQRR entries, not DQRR.PI , to detect production. The valid bit itself is an alternating-polarity bit that toggles each time the ring wraps from the last entry back to entry 0.   Regards Re: Linux QBMan QMan driver safe_copy_dqrr Thanks for you reply. If I understand correctly, with DQRR stashing disabled the CPU read of a DQRR entry (after a cache invalidation and memory barrier) triggers a cache line fill but this can be "broken" by a AXI wrap burst transaction while the DQRR entry is being updated? I'm using LS1046A RDB and can see no reference to this behaviour in NXP manuals. Is it documented somewhere? I'm looking for a reference to justify this safe copy function. With DQRR stashing enabled, QMan writes the DQRR entry to cache. Is this subject to the same issue? Thanks again for your help.
View full article
Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Hi, I've been using the LPSPI EDMA transfer API from the SDK (2.16.100) on IMXRT1172 to read and write SPI data simultaneously (i.e. a TX+RX transfer on two DMA channels with two buffers of the same size).  Unfortunately, it appears that the EDMA callback is getting called before the transfer actually finishes.  In the callback, checking LPSPI's SR, FSR, and RSR shows that SPI thinks it's still busy even though DMA thinks it's complete.  I.e. MBF is still set and TXCOUNT is 1. SR = 0x01000100 (MBF, WCF) FSR TXCOUNT = 1, RXCOUNT = 0 RSR = 0x00000002 (RXEMPTY, !SOF) Now, if I was only doing TX, this could somewhat make sense as the SPI peripheral could still be clocking out the last byte loaded from DMA.  So in that case the DMA peripheral would actually be finished loading the last byte from RAM into the SPI data TX register, but SPI still had work to do to send it out. However, when doing TX and RX simultaneously, I would have expected that if TXCOUNT was 1, then so would RXCOUNT be.  I.e. the DMA shouldn't be complete with RX until all the TX data is clocked out because the last byte needs to be transferred by DMA into RAM from the SPI RX data register, and this would only happen on the last clock cycle of the transfer. Is this actually a problem? If so, is it with the SDK?  Or with the hardware IP? I was hoping to be able to check LPSPI SR in the DMA callback to determine if there are any SPI errors. Thanks, -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Hi @nxp16 , Thank you so much for your interest in our products and for using our community. DMA completion and SPI bus completion are two different concepts. The eDMA callback indicates that the DMA engine has completed moving the configured number of bytes between memory and the LPSPI FIFO/register path. It does not necessarily mean that the LPSPI bus state machine has already completed the last frame or returned to idle. For LPSPI bus completion, please check SR[TCF] or wait for SR[MBF] to clear. Wish it helps you Best Regards May Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Yes, but in a TX/RX transfer, I would have expected the TX_COUNT and RX_COUNT to both be zero when DMA completes.  I.e., it should be impossible for RX DMA to complete before the last SPI clock, because the SPI peripheral wouldn't have shifted the last bit of the data into the RX FIFO until then, and DMA would not be able to copy the last byte into RAM until the last bit is shifted into the RX FIFO.  So in that case, both TX and RX should be completed before the DMA completes.  If it was only a TX transfer then yes, DMA could complete before SPI does and TX_COUNT could still be 1. Thanks, -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done Hi @Mike_M3 , Thanks for your feedback. Your point is valid for the RX data path: once the RX EDMA channel has completed, the expected RX data has already been moved to RAM. However, this is still not the same as LPSPI bus completion. TXCOUNT/RXCOUNT are FIFO occupancy indicators. RXCOUNT=0 means the RX FIFO has been drained by DMA, while TXCOUNT=1 can still indicate one pending entry in the transmit/command FIFO. In LPSPI, the transmit FIFO is also used for command/TCR entries, so TXCOUNT is not simply a mirror of RX completion. MBF=1 indicates that the LPSPI bus state machine has not yet fully returned to idle. Therefore, I would not use TXCOUNT/RXCOUNT equality as the transfer-complete condition. For the LPSPI bus-complete condition, please use SR[TCF]=1 or SR[MBF]=0 instead. If an interrupt-based indication is preferred, enable kLPSPI_TransferCompleteInterruptEnable and keep the EDMA callback as the DMA-complete indication only. Best Regards May
View full article
使用 IMXRT1172 LPSPI EDMA 传输 API 时,DMA IRQ 处理程序在 SPI 传输完成之前被调用。 您好, 我一直在使用 IMXRT1172 上的 SDK (2.16.100) 中的 LPSPI EDMA 传输 API 同时读取和写入 SPI 数据(即在两个大小相同的缓冲区的两个 DMA 通道上进行 TX+RX 传输)。不幸的是,EDMA 回调似乎在传输实际完成之前就被调用了。在回调中,检查 LPSPI 的 SR、FSR 和 RSR 显示,即使 DMA 认为它已完成,SPI 仍然认为它很忙。IEMBF 仍然已设置,TXCOUNT 为 1。 SR = 0x01000100(MBF、WCF) FSR TXCOUNT = 1,RXCOUNT = 0 RSR = 0x00000002 (RXEMPTY, !SOF) 如果我只执行 TX 操作,这在某种程度上是有意义的,因为 SPI 外设可能仍然会输出从 DMA 加载的最后一个字节。因此,在这种情况下,DMA 外设实际上已经完成了将最后一个字节从 RAM 加载到 SPI 数据 TX 寄存器,但 SPI 仍然需要做一些工作才能将其发送出去。 但是,当同时执行 TX 和 RX 时,我原本预期如果 TXCOUNT 为 1,那么 RXCOUNT 也应该为 1。也就是说,在所有 TX 数据时钟输出完毕之前,DMA 不应该完成 RX,因为最后一个字节需要通过 DMA 从 SPI RX 数据寄存器传输到 RAM 中,而这只会在传输的最后一个时钟周期发生。 这真的是个问题吗? 如果是这样,是用SDK实现的吗?还是用硬件IP实现的? 我希望能够在 DMA 回调中检查 LPSPI SR,以确定是否存在任何 SPI 错误。 谢谢! -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 嗨@nxp16 , 非常感谢您对我们产品的关注以及对我们社区的使用。 DMA 完成和 SPI 总线完成是两个不同的概念。 eDMA 回调表明 DMA 引擎已完成在内存和 LPSPI FIFO/寄存器路径之间移动配置的字节数。这并不一定意味着 LPSPI 总线状态机已经完成最后一帧或返回空闲状态。 对于 LPSPI 总线完成情况,请检查 SR[TCF] 或等待 SR[MBF] 清除。 希望对你有帮助 顺祝商祺! 5月 Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 是的,但在 TX/RX 传输中,我预期 DMA 完成后 TX_COUNT 和 RX_COUNT 都应为零。也就是说,RX DMA 不可能在最后一个 SPI 时钟之前完成,因为 SPI 外设要到那时才会将数据的最后一位移入 RX FIFO,而 DMA 要到最后一位移入 RX FIFO 后才能将最后一个字节复制到 RAM 中。因此,在这种情况下,TX 和 RX 都应该在 DMA 完成之前完成。如果只是 TX 传输,那么是的,DMA 可能在 SPI 完成之前完成,TX_COUNT 仍然可能为 1。 谢谢! -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 嗨@Mike_M3 , 感谢您的反馈。 你的观点对于 RX 数据路径是有效的:一旦 RX EDMA 通道完成,预期的 RX 数据就已经被移动到 RAM 中。然而,这仍然与 LPSPI 总线完成不同。 TXCOUNT/RXCOUNT 是先进先出 (FIFO) 占用指示符。RXCOUNT=0 表示 RX FIFO 已被 DMA 清空,而 TXCOUNT=1 可能仍然表示发送/命令 FIFO 中有一个待处理的条目。在 LPSPI 中,发送 FIFO 也用于命令/TCR 条目,因此 TXCOUNT 不仅仅是 RX 完成的镜像。MBF=1 表示 LPSPI 总线状态机尚未完全恢复到空闲状态。 因此,我不会使用 TXCOUNT/RXCOUNT 相等作为转账完成的条件。对于 LPSPI 总线完成条件,请改用 SR[TCF]=1 或 SR[MBF]=0。如果更倾向于基于中断的指示,请启用 kLPSPI_TransferCompleteInterruptEnable,并将 EDMA 回调仅保留为 DMA 完成指示。 顺祝商祺! 5月
View full article