Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
MiFARE Plus APDUs Hi, I am working on a Windows/Linux application that encodes data onto MIFARE cards using the `winscard`/`pcsc-lite` libraries and an HID Global OMNIKEY 5122 reader. I have successfully implemented support for Classic and Ultralight cards, and now I need to add support for Plus cards. From the `MF1P(H)x2.pdf` public document (see the link below), I know that the card supports a number of native commands such as `GetVersion` and `WritePerso`, and, if I understand section 8.2.3 correctly, these commands may be wrapped in APDUs. That would be ideal, because this is exactly how I handle the other cards: I build and send APDUs. Here are my questions: 1. Which documents describe the native commands and their parameters for MIFARE Plus? I need this information in order to frame these commands correctly. 2. As I understand it, MIFARE Plus requires AES-based authentication and encryption to send commands to the card. Which document describes this in detail? 3. Is there any documentation on how to wrap native commands in APDUs? 4. The `MF1P(H)x2.pdf` contains many links, or text that appears to be links, but they are not clickable. For example: `CommitReaderID`, `WritePerso`, `CommitPerso`, and `Virtual Card Architecture`. How can I access these documents? Is there a way to determine which document each of these links refers to? I have signed an NDA and received access to some documents in the Secure Section of my NXP account, but none of them answer my questions. https://www.nxp.com/docs/en/data-sheet/MF1P(H)x2.pdf Re: MiFARE Plus APDUs Hello @Codringher Hope you are doing well. Resources supporting MIFARE Plus EV2 are secured under NDA and must be requested through the Secure Access Rights by following the instructions from this page: Secure Access Rights | NXP Semiconductors. Also, I would recommend checking the Secure Access Rights FAQs | NXP Semiconductors. Please check your Inbox, I just sent you a private community message. Regards, Eduardo.
查看全文
KE1 WDOGプリスケーラのLPOクロックにおける不正確さ タイムアウトを20msに設定してWDOGを実行しようとしています。 WDOG_CSをLPOクロックソース(128kHz)に設定し、PRES = 1、WDOG_TOVAL = 0x000Aとしました。 それは 10/(128,000/256) = 10/500 = 0.02秒になるはずです。 しかし、いくつかの矛盾に気づき始め、SWで20msを超えているのではないかと思うようになりましたが、WDOGはリセットしてくれませんでした。次に、GPIOピンを設定/クリアするコードを組み込み、WDOGを更新するまでにどれくらいの時間が経過しているかを確認したところ、更新間隔は20.67msでした。 WDOGのタイムアウトが実際にどれくらい設定されているのか気になったので、WDOGをリフレッシュした直後にダミーディレイを追加して、WDOGがリセットされるまで待つようにしました。オスコープの表示では、更新からタイムアウトまで24ミリ秒でした。 次に、CLKOUTピンを使用して、LPOクロックが実際に128kHzで動作していることを確認しました。 イライラした私はクロックソースをSIRCにスイッチし、TOVAL = 625(625/[8MHz/256] = 625/31250 = 0.02s)を調整しました。以前と同じテストを実行したところ、ちょうど20ミリ秒という結果が得られました。 混乱したのでLPOクロックに戻しましたが、プリスケーラは外しました。低周波が何らかのエラーを引き起こしているのではないかと心配していました。プリスケーラなしのLPOクロックに戻し、TOVAL = 2560 (2560/128000 = 0.02秒) に設定したところ、WDOGから20msのタイムアウトが発生し始めました。 私の質問は、LPOクロックでプリスケーラを使用した場合に、なぜこれほど大きな精度低下が見られたのかということです。プリスケーラを使用したSIRCでは、精度低下は見られませんでした。この設定に関して、既知の不具合はありますか?周波数が低すぎる? とても混乱しています。 Re: KE1 WDOG Prescaler Inaccuracies with LPO Clock こんにちは、 @sean_dvorscak さん。 あなたの理論計算は正しいです。128 kHzのLPOクロックとWDOG_CS[PRES] = 1の場合、WDOGクロックは500 Hzになります。したがって、TOVAL = 10 の場合、理論上のタイムアウトは 20 ms です。 しかし、この構成では、カウンタティックは 2 ms であり、 TOVAL = 10 は非常に小さなカウント値です。したがって、内部同期、設定更新、リフレッシュパスのレイテンシはミリ秒単位のタイミング差に拡大されます。したがって、正確な20ミリ秒のウォッチドッグタイムアウトを実装するために、LPO + ÷256をこのような小さなTOVAL値で使用することはお勧めしません。 20 ms のタイムアウトが必要な場合は、プリスケーラなしで LPO を使用し、TOVAL = 2560 に設定するか、÷256 で 8 MHz SIRC を使用し、TOVAL = 625 に設定することをお勧めします。 ソフトウェアのリフレッシュ間隔が20.67msに達する場合は、十分なデザインマージンを確保するためにウォッチドッグタイムアウトを延長することも推奨します。 お役に立てば幸いです。   よろしくお願いします。   BR アリス Re: KE1 WDOG Prescaler Inaccuracies with LPO Clock ご説明ありがとうございます。低周波に関係しているような気がした。TOVAL値が低いことも問題の一因となっているというのは興味深いですね。 ご提案いただいたとおり、プリスケーラとTOVALを2560に設定せずにLPOクロックを使用するように既に修正しました。また、WDOGのタイムアウトを超過していたこの一時的な延長処理中に、WDOGの更新処理を1回追加しました。
查看全文
RT1180 VDDA_ADC_1P8 ソース こんにちは、 RT1180のリファレンス・マニュアルでは、図70 VDDA_ADC_1P8ソースが異なります。Power Architecture(§19.3.2)および図90。電力システム概要(§24.3.2.1):それぞれVDD_AON_ANAまたはDCDC_1P8にコネクテッドです。 どちらの情報源を使用するのが望ましいですか? よろしくお願いします。 レミ Re: RT1180 VDDA_ADC_1P8 source こんにちは、 @rémi さん。 ハードウェア設計ガイドによると、内部のDCDC/LDO出力をADCの基準として使わず、より正確な外部電圧基準を使うことが推奨されています。 内部参照を使用したい場合は、VDD_AON_ANAをお勧めします。あるいは、VREFに外部参照を使用することもできます。EVKは両方のオプションに対応しています。 よろしくお願いします、 パブロ Re: RT1180 VDDA_ADC_1P8 source こんにちは、 @rémi さん。 VDDA_1P8_INのCASEは、電力VDDA_1P8_INの外部参照をVDD_AON_ANAまたは外部参照として使うEVKデザイン図を参照することをおすすめします。 よろしくお願いします、 パブロ Re: RT1180 VDDA_ADC_1P8 source こんにちは、 @Pablo_Ramos さん。 フィードバックありがとうございます。 ピン名にタイプミスがありました。正しくは以下です。 RT1180のリファレンスマニュアルでは、図70 VDDA_1P8_IN音源が異なります。Power Architecture(§19.3.2)および図90。電力システム概要(§24.3.2.1):それぞれVDD_AON_ANAまたはDCDC_1P8にコネクテッドです。 どちらの情報源を使用するのが望ましいですか? よろしくお願いします。 レミ Re: RT1180 VDDA_ADC_1P8 source こんにちは、 @rémi さん。 どちらの接続も正しいです。しかし、Hardware Design Guideでは図1に記載されていないパワードメインの詳細についても記載されています。電力制御図を参照してください。MIMXRT1180-EVK設計図を参照してください。 EVKの回路図では、VDDA_1P8_INはVDDA_ADC_1P8と同じ電源から給電されるため、外部リファレンスまたはVDD_AON_ANAのいずれかを使用するオプションが提供されます。これが、私が以前提案した内容の根拠です。 よろしくお願いします パブロ Re: RT1180 VDDA_ADC_1P8 source こんにちは、 @Pablo_Ramos さん。 ご意見ありがとうございます。 ハードウェア設計ガイドや他のNXPのドキュメントに、VDD_AON_ANAや外部の参照をパワー VDDA_1P8_INに使うのを正当化する技術的な説明はありますか?DCDC_1P8ではなく。 よろしくお願いします。 レミ
查看全文
功能安全建议:编译器设置违规 NXP 提供的 MCAL SIP 推荐的编译器设置、汇编器设置和链接器设置,与 Wind River 推荐的功能安全编译器设置不符。 需要讨论一下设置问题,并检查如何符合 Wind River 编译器的功能安全建议。 MCAL SIP 套餐信息:- ->SW32K3_S32M27x_RTD_R21-11_7.0.1_QLP02 ->SW32K3_RTD_R21-11_7.0.1_P05_D2604 ->SW32K3_SAF_1.0.6_D2512 ->SCST_M7_S32K3_RFP_1.0.7 Re: Safety recommended Compiler setting violation 你好, 如果您需要直接与应用团队沟通,请联系您指定的恩智浦代表 FAE/销售人员,他们可以为您建立直接支持渠道。 如有任何疑问,请随时提出。 此致, 彼得
查看全文
MCUxpresso 中的 SIM 宏激活 我正在接手一个旧项目,该项目最初使用 KDE 版本,后来使用 mcuexpresso 进行了修改。 我下载了最新版本的 IDE,并使用 SDK2.11.0 为我的 FRDM_K64F 板创建了一个新的 C/C++ 项目。 我正在从旧项目中复制代码,因为它包含了很多我不再需要的东西,而我正在尝试在新项目中从头开始构建。 我粘贴的第一段代码是端口初始化代码。 问题是,编译时所有硬件引用都出现“未定义”错误: ./source/Frere_2016.c:52:1: 错误: 未声明的“SIM_SCGC5”(在此函数中首次使用) 52 | SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; // 使能端口 A 时钟门 C 我已经解压了SDK,但没有任何变化。 看来原始源代码中肯定有一些我没有复制的赋值语句,但这应该可以通过以下方式在新项目中实现: #include #include "board.h" #include "peripherals.h" #include "pin_mux.h" #include "clock_config.h" #include "fsl_debug_console.h" 我甚至尝试添加了 #include "MK64F12.h",但仍然无效。 非常感谢您的帮助! 谢谢! 奈杰尔 于是我开始了。 Re: SIM Macro activation in MCUxpresso 你好@ve3id 编译错误发生的原因  SIM_SCGC5  这是一个旧的 Kinetis 寄存器符号;在 MCUXpresso SDK 2.x 的 FRDM-K64F 版本中,您应该使用  SIM->SCGC5  类似地,将其他硬件寄存器引用转换为  PERIPHERAL->REGISTER  句法。 针对您的特定线路,进行更改 SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK ; 到 SIM->SCGC5 |= SIM_SCGC5_PORTA_MASK; 谢谢! BR 爱丽丝 Re: SIM Macro activation in MCUxpresso 非常感谢你,爱丽丝。你知识渊博,做起来却毫不费力! 现在我可以继续我的项目了。 🙂 干杯 奈杰尔
查看全文
KE1 WDOG Prescaler Inaccuracies with LPO Clock I am trying to run WDOG with a 20ms timeout. I've configured the WDOG_CS for LPO clock source (128kHz) and PRES = 1, and WDOG_TOVAL = 0x000A. That should be 10/(128,000/256) = 10/500 = 0.02s. However, I started noticing some inconsistencies that led me to believe I am overrunning the 20ms in my SW, but the WDOG wasn't resetting me. I then instrumented my code to Set/Clear a GPIO pin to see how much time was elapsing before I refreshed the WDOG, and saw 20.67ms from refresh to refresh. I was curious to see how long the WDOG timeout is actually set for, so I then added some dummy delays just after refreshing the WDOG that would just wait for the WDOG to reset. The Oscope showed 24ms from refresh to timeout. I then confirmed using the CLKOUT pin that the LPO clock was indeed running at 128kHz. Frustrated, I then switched my clock source to the SIRC and adjusted the TOVAL = 625 (625/[8MHz/256] = 625/31250 = 0.02s). Running the same test as before, I saw 20ms on the dot. I got confused so I then reverted back to the LPO clock, but removed the prescaler. I was concerned that the low frequency was causing some sort of error. When reverting back to the LPO clock without prescaler, and setting TOVAL = 2560 (2560/128000 = 0.02s), I started to see 20ms timeouts from the WDOG. My question is why did I see such a huge accuracy hit when using the prescaler with the LPO clock? I didn't see the accuracy hit with the SIRC using prescaler. Is there a known error when it comes to this configuration? Frequency too low? Very confused. Re: KE1 WDOG Prescaler Inaccuracies with LPO Clock Hello @sean_dvorscak  Your theoretical calculation is correct: with a 128 kHz LPO clock and WDOG_CS[PRES] = 1 , the WDOG clock becomes 500 Hz. Therefore, with TOVAL = 10 , the theoretical timeout is 20 ms. However, in this configuration, the counter tick is 2 ms, and TOVAL = 10 is a very small count value. Any internal synchronization, configuration update, or refresh-path latency can therefore be magnified into millisecond-level timing differences.  Therefore, we do not recommend using LPO + ÷256 with such a small TOVAL value to implement an accurate 20 ms watchdog timeout. If a 20 ms timeout is required, we recommend using the LPO without the prescaler and setting TOVAL = 2560 , or using the 8 MHz SIRC with ÷256 and setting TOVAL = 625 . If the software refresh interval may reach 20.67 ms, we also recommend increasing the watchdog timeout to provide sufficient design margin. Hope it helps.   Thank you.   BR Alice Re: KE1 WDOG Prescaler Inaccuracies with LPO Clock Thanks for the clarification. I had a feeling it had something to do with the low frequency. Interesting to know that the low TOVAL is also part of the issue. I already fixed this to use the LPO clock without the prescaler and TOVAL of 2560 as you suggested. Also added an extra WDOG refresh during this one time extended process that was overrunning the WDOG timeout.
查看全文
eFlexPWM input capture not capturing on S32K364 – flags set but CAPTCOMPB remains zero I'm using the eFlexPWM module (instance IP_EFLEXPWM_0) on an S32K364 microcontroller to measure the frequency and period of an external signal via input capture. I am using submodule 2 (SM[2]). My configuration is as follows: SM2_CAPTCTRLB->EDGB0 = 0x02; (capture on rising edge for capture circuit 0) SM2_CAPTCTRLB->EDGB1 = 0x02; (capture on rising edge for capture circuit 1) SM2_ARMB = 1; (arm the capture circuits) After running the code, I observe the following: In SM2_CAPTCTRLB, the counter status bits show: CB0CNT = 0x4 CB1CNT = 0x4 In SM2_STS, both flag bits are set: CFB0 = 1 CFB1 = 1 However, the captured values (SM2_CAPTCOMPB) remain 0 for both capture circuits – no data is latched. What could be causing this? Is there any additional configuration needed (e.g., clock enable, input muxing, or counter setup) that I might have missed? The flags indicate that capture events are detected, but the captured values are not updated. Any insight would be greatly appreciated. Feel free to add any additional details (like your pin muxing settings or counter mode) if needed. Good luck! Re: eFlexPWM input capture not capturing on S32K364 – flags set but CAPTCOMPB remains zero Hi First, I checked the latest S32K3 RTD 7.0.x; however, the S32 Configuration Tool does not yet support the eFlexPWM E-Capture functionality. If it is convenient, could you share your project so I can test it on the S32K396? (Unfortunately, I don’t have the S32K364; I only have the S32K396-BGA-DC1 evaluation board.) Secondly, please review section “56.3.14 Enhanced capture (E-Capture)” in S32K396RM (Rev. 4, 11/2024). Please check the registers mentioned in that section, especially those in Figure 254. E-Capture logic. You can also share screenshots of the eFlexPWM_0 registers with me.  Besides the bits you mentioned in SM2_CAPTCTRLB [EDGB0],[EDGB1],[ARMB], how did you configure the other bits in SM2_CAPTCTRLB?   Since you observed that SM2_CAPTCTRLB[CB0CNT] = 0x4 and [CB1CNT] = 0x4, have you checked the corresponding register values of SM2_CVAL4, SM2_CVAL4CYC, SM2_CVAL5, and SM2_CVAL5CYC?   In addition, if you want to read the value of SM2_CAPTCOMPB[EDGCNTB], please first enable SM2_CAPTCTRLB[EDGCNTB_EN] and SM2_CAPTCOMPB[EDGCMPB]. I’m not sure why you set SM2_CAPTCOMPB[EDGCMPB] to 0, as this seems to prevent the comparator in Figure 254. E-Capture logic from functioning correctly. Best Regards, Robin
查看全文
MCUXpresso IDE上でLPCマイクロコントローラを開発することに関するいくつかの質問 こんにちは、皆さん 現在、NXP LPC1778FET180チップの開発に取り組んでいて、「MCUXpresso」IDEを使いたいと思っています。しかし、このプロセス中に:1.NXPの公式『SDK Builder』ではLPC1778FET180のSDKsが見つからないのに対し、「MCUXpresso」ではこのチップをサポートしていると表示されています。では、このチップのSDKはどうやって入手できますか?2. もしこのチップに対応するSDKがなければ、すでに「MCUXpresso」を使ってベアメタルプロジェクトを生成しましたが、グラフィカルピン設定はサポートされていないようです。.mex なしファイルが生成されています。このチップがグラフィカルピン設定をサポートしていないのか、それとも私のやり方が間違っているのでしょうか? 幸運をお祈りしています Re: Some questions about developing LPC Microcontrollers on MCUXpresso IDE こんにちは、Leo_wongさん。 SDKを見つけるのにも苦労しています。私のターゲットMCUはLPC1518JBD64です。私はVScodeでMCUXpresso IDEsをダウンロードし、今はSDKsを探していますLPC1518。 もしこれが分かったら、SDKsでLPC1518コーディングを始める方法も教えてください。 Re: Some questions about developing LPC Microcontrollers on MCUXpresso IDE こんにちは、 @leo_wongさん LPC1778FET180は古いLPC17xxデバイスであり、最新のMCUXpresso SDK Builderではサポートされていません。 CAN ファイルシステムからインポートできます。 .mex ファイルの不在ファイルとグラフィカルなピン/クロック構成が必要です。これらのMCUXpresso設定ツール機能は主にMCUXpresso SDKsサポートのデバイス向けに提供されています。LPC1778プロジェクトでは、一般的にピンとクロックの設定を手動で行うか、LPCOpen APIを使用する必要があります。 BR ハリー
查看全文
SIM Macro activation in MCUxpresso I'm picking up an old project that was originally built using KDE and later modified using mcuexpresso. I downloaded the latest version of the IDE and created a new C/C++ project using SDK2.11.0 for the FRDM_K64F board which I have. I'm copying code from the old project as it had all sorts of stuff I don't want anymore and am trying to build up in the new project from scratch. The first code I pasted in was a port initialisation. Problem is when I compile I get "undefined'' errors on all hardware references: ./source/Frere_2016.c:52:1: error: 'SIM_SCGC5' undeclared (first use in this function) 52 | SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; // Enable Port A Clock Gate C I have unzipped the SDK with no difference. It seems that the original source code must have had some assignment made which I am not copying, but surely that should be covered in a new project by the following: #include #include "board.h" #include "peripherals.h" #include "pin_mux.h" #include "clock_config.h" #include "fsl_debug_console.h" I even tried adding #include "MK64F12.h" to no avail Any help really apprecaited! Thanks Nigel So I started Re: SIM Macro activation in MCUxpresso Hello @ve3id  The compile error happens because  SIM_SCGC5  is an old Kinetis register symbol; in MCUXpresso SDK 2.x for FRDM-K64F you should use  SIM->SCGC5  and similarly convert the other hardware register references to  PERIPHERAL->REGISTER  syntax. For you specific line, change SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; to  SIM->SCGC5 |= SIM_SCGC5_PORTA_MASK; Thank you. BR Alice Re: SIM Macro activation in MCUxpresso Thank you very much, Alice.  You are so knowledgeable that you make it look easy! Now I can get on with my project 🙂 cheers Nigel
查看全文
S32K364 无法捕获 eFlexPWM 输入信号——标志位已设置但 CAPTCOMPB 仍为零。 我正在使用 eFlexPWM 模块(实例)。 我正在使用 S32K364 微控制器上的 IP_EFLEXPWM_0 ) 通过输入捕获来测量外部信号的频率和周期。 子模块 2 ( SM[2] )。我的配置如下: SM2_CAPTCTRLB->EDGB0 = 0x02; (上升沿捕获电路 0) SM2_CAPTCTRLB->EDGB1 = 0x02; (上升沿捕获电路 1) SM2_ARMB = 1; (Arm捕获电路) 运行代码后,我观察到以下情况: 在 SM2_CAPTCTRLB ,计数器状态位显示: CB0CNT = 0x4 CB1CNT = 0x4 在 SM2_STS ,两个标志位均已设置: CFB0 = 1 CFB1 = 1 然而,捕获的值( SM2_CAPTCOMPB )仍然存在。 0 对于这两个捕获电路——都没有数据被锁存。 造成这种情况的原因可能是什么?我是否遗漏了其他需要的配置(例如,时钟启用、输入多路复用或计数器设置)?这些标志表明检测到了捕获事件,但捕获的值没有更新。您的见解将不胜感激。 如有需要,请随时添加其他详细信息(例如引脚复用设置或计数器模式)。祝你好运! Re: eFlexPWM input capture not capturing on S32K364 – flags set but CAPTCOMPB remains zero HI 首先,我检查了最新的 S32K3 RTD 7.0.x版本;但是, S32 配置工具尚不支持eFlexPWM E-Capture功能。 如果方便的话,能否分享一下您的项目,以便我可以在 S32K396 上进行测试?(可惜我没有 S32K364,只有S32K396-BGA-DC1评估板。) 其次,请查看 S32K396RM(修订版 4,2024 年 11 月) 中的“56.3.14 增强捕获(E-Capture)” 部分。请检查该部分中提到的寄存器,特别是图 254 中的寄存器。E-捕获 逻辑。您也可以与我分享eFlexPWM_0 寄存器的屏幕截图。 除了您在SM2_CAPTCTRLB [EDGB0]、[EDGB1]、[ARMB]中提到的位之外,您是如何配置SM2_CAPTCTRLB中的其他位的?   既然您观察到SM2_CAPTCTRLB[CB0CNT] = 0x4和[CB1CNT] = 0x4 ,您是否检查过SM2_CVAL4 、 SM2_CVAL4CYC 、 SM2_CVAL5和SM2_CVAL5CYC的相应寄存器值?   此外,如果您想读取SM2_CAPTCOMPB[EDGCNTB]的值,请先启用SM2_CAPTCTRLB[EDGCNTB_EN]和SM2_CAPTCOMPB[EDGCMPB] 。 我不明白你为什么要将SM2_CAPTCOMPB[EDGCMPB]设置为 0,因为这似乎会阻止图 254 中的比较器 E-Capture 逻辑正常工作。 此致敬礼, Robin
查看全文
KE1 WDOG 预分频器在使用 LPO 时钟时出现误差 我正在尝试运行 WDOG,超时时间为 20 毫秒。 我已经将 WDOG_CS 配置为 LPO 时钟源 (128kHz) 和 PRES = 1,WDOG_TOVAL = 0x000A。 那应该是 10/(128,000/256) = 10/500 = 0.02 秒。 然而,我开始注意到一些不一致之处,这让我相信我的软件运行时间超过了 20 毫秒,但 WDOG 并没有 RESET 我。然后,我修改了我的代码,使其能够设置/清除一个 GPIO 引脚,以查看在刷新 WDOG 之前经过了多长时间,结果发现从刷新到刷新之间有 20.67 毫秒的时间。 我很好奇 WDOG 超时实际设置了多长时间,所以我在刷新 WDOG 后添加了一些虚拟延迟,等待 WDOG RESET。示波器显示从刷新到超时时间为 24 毫秒。 然后我使用 CLKOUT 引脚确认 LPO 时钟确实以 128kHz 的频率运行。 我感到很沮丧,于是将时钟源切换到 SIRC,并将 TOVAL 调整为 625(625/[8MHz/256] = 625/31250 = 0.02s)。运行与之前相同的测试,我看到结果正好是 20 毫秒。 我当时有点糊涂了,所以又改回了 LPO 时钟,但是移除了预分频器。我担心低频率会导致某种错误。当恢复到没有预分频器的 LPO 时钟,并将 TOVAL 设置为 2560(2560/128000 = 0.02 秒)时,我开始看到 WDOG 出现 20 毫秒的超时。 我的问题是,为什么在使用 LPO 时钟的预分频器时,精度会下降这么多?我没有发现使用预分频器的 SIRC 精度有所下降。这种配置是否存在已知错误?频率太低? 非常困惑。 Re: KE1 WDOG Prescaler Inaccuracies with LPO Clock 你好@sean_dvorscak 你的理论计算是正确的:当 LPO 时钟频率为 128 kHz 且 WDOG_CS[PRES] = 1 时,WDOG 时钟频率变为 500 Hz。因此,当 TOVAL = 10 时,理论超时时间为 20 毫秒。 但是,在这种配置下,计数器滴答数为 2 毫秒,而TOVAL = 10 是一个非常小的计数值。因此,任何内部同步、配置更新或刷新路径延迟都可能被放大到毫秒级的时间差异。因此,我们不建议使用 LPO + ÷256 和如此小的 TOVAL 值来实现精确的 20 毫秒看门狗超时。 如果需要 20 毫秒的超时,我们建议使用不带预分频器的 LPO 并将 TOVAL 设置为 2560 ,或者使用 8 MHz SIRC 并将 TOVAL 设置为 625。 如果软件刷新间隔可能达到 20.67 毫秒,我们也建议增加看门狗超时时间,以提供足够的设计裕度。 希望对您有所帮助。   谢谢!   BR 爱丽丝 Re: KE1 WDOG Prescaler Inaccuracies with LPO Clock 谢谢你的解释。我感觉这和低频率有关。值得注意的是,低总价值也是问题的一部分。 我已经按照您的建议,修复了这个问题,使用没有预分频器的 LPO 时钟,并将 TOVAL 设置为 2560。此外,由于此次延长进程超过了 WDOG 超时时间,还额外添加了一次 WDOG 刷新。
查看全文
JLink Debug Authentication Hello all, Im following a project based on the MCXN947 (frdm_mcxn947 board) and we need to setup the debug authentication and signed firmware validation before sending it to the client for testing, but im very unsure about two things. Is the debug authentication restricted to the "in-field" case? where the MCU is permanently locked with keys and security configuration burned in OTP? I dont want to risk permanently breaking the only board i have If i set up the debug authentication feature, then is it still possible to connect and debug code with the on board debugger? Im debugging with VSCode with a Jlink debug .launch config, how do i add the security artefacts for enabling the debug authentication? It would be great if someone that has already tackled the thing can shed some light on how to proceed, because i only see the AN14162 being referred to and not much else in terms of documentation MCXN Security(Edgelock | secure boot | OTP) Re: JLink Debug Authentication Hello @raimbowgeddon  1. Is the debug authentication restricted to the "in-field" case? where the MCU is permanently locked with keys and security configuration burned in OTP? I dont want to risk permanently breaking the only board i have ->>No, the debug authentication is not only for "in-fileld" casse. It can be tested during development. Config it on CMPA part, not in OTP. 2. If i set up the debug authentication feature, then is it still possible to connect and debug code with the on board debugger? Im debugging with VSCode with a Jlink debug .launch config, how do i add the security artefacts for enabling the debug authentication? ->>Yes. After debug authentication is enabled, you normally cannot just start a normal J-Link session as before. You must first run the debug authentication challenge-response flow, then connect your debugger. There is a video that shows the steps for configuring and using Debug Authentication on the MCXN947. I'm not sure whether you can access it: https://www.bilibili.com/video/BV13EhAzdEzV/?spm_id_from=333.1387.homepage.video_card.click  Thank you. BR Alice Re: JLink Debug Authentication Hello @Alice_Yang, Sorry for the delayed response, i've been caught up with some other urgent work. I just followed the directions given by the video you linked, and it seems to be working! I was missing the piece about unlocking the device from the tool and then simply attaching with the debugger. I also tried to overwrite the image with another one and it works, besides a warning about CFPA region not being written, but i cannot seem to be able to do a flash erase, even if debug authentication step was done, is this expected? Does it mean that now the board will permanently be secured? Is there no way to make the board return to the factory settings now? Thank you so much for the help FS
查看全文
JLink调试身份验证 大家好, 我正在做一个基于 MCXN947(frdm_mcxn947 板)的项目,我们需要在将固件发送给客户进行测试之前设置调试身份验证和签名固件验证,但我对两件事非常不确定。 调试认证是否仅限于“现场”情况?MCU是否使用密钥永久锁定,并且网络安全配置已烧录到OTP中?我不想冒着彻底损坏我唯一一块板的风险。 如果我设置了调试认证功能,是否仍然可以连接并使用板载调试器调试代码?我正在使用 VSCode 和 Jlink debug .launch 进行调试。配置中,如何添加网络安全组件以启用调试身份验证? 如果已经处理过这个问题的人能提供一些指导就太好了,因为我只看到有人提到了AN14162 ,其他文档方面就很少了。 MCX N 安全(Edgelock | 安全启动 | OTP) Re: JLink Debug Authentication 你好@raimbowgeddon 1. 调试身份验证是否仅限于“现场”情况?MCU是否使用密钥永久锁定,并且网络安全配置已烧录到OTP中?我不想冒着彻底损坏我唯一一块板的风险。 不,调试认证不仅适用于“文件内”情况。可以在开发过程中进行测试。请在 CMPA 部分进行配置,而不是在 OTP 部分。 2. 如果我设置了调试认证功能,是否仍然可以连接并使用板载调试器调试代码?我正在使用 VSCode 和 Jlink debug .launch 进行调试。配置中,如何添加网络安全组件以启用调试身份验证? 是的。启用调试认证后,通常不能像以前那样直接启动普通的 J-Link 会话。必须先运行调试认证质询-响应流程,然后再连接调试器。 有一个视频演示了在 MCXN947 上配置和使用调试身份验证的步骤。我不确定你是否可以访问它: https://www.bilibili.com/video/BV13EhAzdEzV/?spm_id_from=333.1387.homepage.video_card.click 谢谢! BR 爱丽丝 Re: JLink Debug Authentication 你好@Alice_Yang , 抱歉回复晚了,我一直忙于其他紧急工作。我按照你提供的视频里的步骤操作了,好像奏效了!我之前漏掉了需要先用工具解锁设备,然后再用调试器连接的步骤。我还尝试用另一个镜像覆盖原有镜像,虽然出现了 CFPA 区域未写入的警告,但似乎无法执行闪存擦除操作,即使调试认证步骤已经完成,这是预期行为吗?这是否意味着该板将永久受到保护?现在没有办法将主板恢复出厂设置吗? 非常感谢您的帮助 FS
查看全文
FreeMASTER 3.2.7 Update - Release Announcement Version 3.2.7 of the NXP FreeMASTER tool has just been published online.  This version is backward compatible and fully replaces older 3.2.x releases (see previous announcements). It brings new features and bugfixes described below. The updated installer is available along with documentation and other resources at http://www.nxp.com/freemaster.   Release description FreeMASTER is a powerful data visualization tool developed and provided by NXP to help users monitor and control embedded applications running on NXP’s targets. It works with almost all NXP Arm ® Cortex®-M and other microcontrollers from both Edge Processing and Automotive business lines as well as with DSC and legacy Power Architecture, ColdFire and HCS12/Z platforms. Note that the license terms and conditions does not allow using FreeMASTER with non-authorized systems from other vendors. Version 3.2.7 is a minor update of the 3.2.x mainline release. It overwrites the previous 3.2 version installed on the host computer. Older 2.x, 3.0, and 3.1 versions are not removed; however, the communication plug-ins installed with the latest version are globally registered in the operating system and will also be used by older versions. This version is backward compatible with all previous versions. It supports variable monitoring, oscilloscope real-time graphs, fast transient recorder graphs, array-to-graph views, and connectivity to third-party applications. It includes two Chromium-based HTML rendering engines—CEF and Microsoft Edge WebView2—with full support for JSON-RPC, HTML5, and JavaScript to create custom dashboards and other user interfaces running inside FreeMASTER. The older Internet Explorer rendering engine, with the ActiveX interface and protocol defined for version 2.x, is also still supported. FreeMASTER Lite, which is part of the FreeMASTER installation package, provides the communication core for Windows and Linux systems. It is accessible similarly to the FreeMASTER desktop application over the JSON-RPC interface. FreeMASTER Lite also embeds the popular Node-RED framework for graphical programming and provides many examples of its use with the FreeMASTER tool. More information related to Node-RED can be found in the dedicated training video. FreeMASTER Node.js Installable Modules enable convenient use of the FreeMASTER JSON-RPC components in a Node.js applications managed by the ‘npm’ package manager. Version 3.2.7 contains FreeMASTER Lite and Node.JS modules internally referred as version 1.4. Installing FreeMASTER Lite will require you to enter an activation code generated for this version. Get your free code on the License Keys tab at the license information page. New Features Version 3.2.7 introduces the following new features: P&E Micro debugging probes support updated This version includes the latest update of P&E Micro drivers, enabling JTAG communication with the newest NXP microcontrollers. Chromium browser component updated The Chromium browser has been updated to the most recent version, addressing several incompatibility issues and re-enabling the JScript debugger and other DevTools within FreeMASTER. ELF/DWARF parser extended  ELF file parser has been extended to locate static variables inside C++ anonymous namespaces. Bugfixes and other extensions: FreeMASTER Fixed "Show-As" style of floating point variables generated automatically from ELF symbols. Fixed CAN communication plug-in issue in its Configuration dialog. Fixed PD-BDM communication plug-in timing during initial connection to target. Fixed ELF file selection after forcing its file path by external script SetProjectOptions(). Fixed CEF and Edge web browser components to enable cross-origin content loading from file: resources. Fixed project corruption when deleting variable assigned to X-Axis in an XY graph. Related Content NXP MCUXpresso SDK For consumer, industrial or IoT edge applications, the FreeMASTER communication driver is distributed as a "middleware" component of MCUXpresso SDK. The driver sources are publicly available on GitHub along with documentation. The most convenient way to get a full SDK package including FreeMASTER and other middleware components is via the MCUXpresso SDK Builder. The full SDK is also available on GitHub. S32 Design Studio for S32 Platform For automotive parts, the FreeMASTER communication driver is distributed as an eclipse update site for S32 Design Studio. Latest versions can be installed directly from within the IDE by accessing "S32DS Extension and Updates" from "Help" menu. Additionally, it can be downloaded both as eclipse update site and a stand-alone zip archive via the Flexera Links available on FreeMASTER's home page. The distribution already includes ready to use examples. More advanced applications and demos are available on NXP's Application Code Hub (ACH). Zephyr sample applications FreeMASTER sample applications for Zephyr demonstrate Zephyr logging and shell running over FreeMASTER pipe as well as runtime visualization of Zephyr thread information, CPU utilization and stack usage. Thread performance data can be displayed in common graphs with application-specific data making it great runtime tuning tool. Release target audience Both FreeMASTER and FreeMASTER Lite are primarily targeted to our customers, engineers and developers of NXP embedded applications from Industrial, IoT and Automotive areas who want to monitor and control their applications at runtime. FreeMASTER is also a strong framework which can be used to create interactive demos and user interfaces helping to use the embedded applications by yet wider target audience. Prerequisites FreeMASTER tools run on the host computer and communicates with the target microcontroller application using Serial, CAN, Ethernet/WiFi network, JTAG, BDM or other physical interface. The microcontroller communication drivers are available as part of MCUXpresso SDK, S32 Design Studio or as a standalone installation package. Get familiar with the communication protocol and the microcontroller driver API before using the FreeMASTER tool. License terms and conditions permit use of FreeMASTER solely with systems based on NXP microprocessor or microcontroller systems. Packages A single self-extracting installation package which contains both FreeMASTER desktop application and the new FreeMASTER Lite service is available for Windows platforms. JTAG/ BDM Serial CAN TCP/IP Segger RTT FreeMASTER Desktop app. x86 for Windows ✓ ✓ ✓ ✓ ✓ Separate packages are available for FreeMASTER Lite containing x64 binaries for Windows & Linux platforms with the following supported communication interfaces. JTAG/ BDM Serial CAN TCP/IP Segger RTT FreeMASTER Lite x64 for Windows ✓* ✓ ✓ ✓ ✓ FreeMASTER Lite x64 for Linux ✗ ✓ ✗ ✓ ✗ *Requires 64 bit version of the 3 rd  party library. Tested with Segger (JLink_x64.dll). Access the installation and documentation at the FreeMASTER home page at https://www.nxp.com/freemaster.
查看全文
如何获取IMX95 FRDM中拜耳传感器的流 我目前正在尝试将拜耳传感器移植到 iMX95 FRDM 套件中。我已经安装了v4l2流媒体,它运行正常。我在 libcamera 中为我的相机创建了一个虚拟条目,其中包含 yaml 文件,并且可以正确读取。当我尝试向显示屏推送内容时,遇到了问题。我已将日志文件附在下方。 root@imx95-15x15-lpddr4x-frdm:~# v4l2-ctl -d 0 -v width=1920,height=1200,pixelformat='BA10' --strea m-mmap <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.97 帧/秒 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.98 帧/秒 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.98 帧/秒 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.98 帧/秒 <<<<<<<<<<<<<<<<<<<^C root@imx95-15x15-lpddr4x-frdm:~# cam -c 1 --info [0:03:42.550702911][754] 信息 Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:03:42.659767149][755] INFO MediaPipeline media_pipeline.cpp:240找到管道:[ar0234 3-0042| 0] -> [0|csidev-4ad30000.csi|1]-> [0|4ac10000.syscon:formatter@20|1]-> [2|横杠] [0:03:42.660611245][755] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:03:42.660680697][755] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:03:42.660794714][755] 信息 Camera camera_manager.cpp:223添加摄像头'/base/soc/bus@42000000/ i2c@42540000/ar0234_mipi@42' 用于管道处理程序 imx8-isi [0:03:42.661332196][755] 警告 ISI imx8-isi.cpp:296找不到支持的 YUV/RGB 格式 使用摄像头 /base/soc/bus@42000000/i2c@42540000/ar0234_mipi@42 作为 cam0 0: 1920x1200-SGRBG10/未设置 * 像素格式:SGRBG10 (1920x1200)-(1920x1200)/(+1,+1) - 1920x1200 root@imx95-15x15-lpddr4x-frdm:~# cam -l [0:03:45.833147768][756] 信息 Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:03:45.940562253][757] INFO MediaPipeline media_pipeline.cpp:240找到管道:[ar0234 3-0042| 0] -> [0|csidev-4ad30000.csi|1]-> [0|4ac10000.syscon:formatter@20|1]-> [2|横杠] [0:03:45.941374870][757] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:03:45.941445068][757] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:03:45.941557994][757] 信息 Camera camera_manager.cpp:223添加摄像头'/base/soc/bus@42000000/ i2c@42540000/ar0234_mipi@42' 用于管道处理程序 imx8-isi 可用摄像头: 1:外部摄像头“ar0234”(/base/soc/bus@42000000/i2c@42540000/ar0234_mipi@42) root@imx95-15x15-lpddr4x-frdm:~# export CAMERA0="/base/soc/bus@42000000/i2c@42540000/ar0234_mipi@42" root@imx95-15x15-lpddr4x-frdm:~# export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo,uvc' root@imx95-15x15-lpddr4x-frdm:~# GST_DEBUG=3 gst-launch-1.0libcamerasrc!视频转换!汽车视频 墨水 将管道设置为暂停状态... [0:04:22.673679060][758] 信息 Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:04:22.784435713][763] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:04:22.784524477][763] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:04:22.785576603][763] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:04:22.785622610][763] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:04:22.793514826][763] 信息 IPAProxy ipa_proxy.cpp:180使用调优文件 /usr/share/libcamera/ip a/nxp/neo/ar0234.yaml [0:04:22.793673227][763] 信息 NxpNeoIPA neo_ipa.cpp:146nxpneo:IPANxpNeo NXPNEO_IPA_v0.0.0+6489-l f-6.18.2-1.0.0 [0:04:22.793713608][763] 错误 NxpNeoIPA neo_ipa.cpp:161nxpneo:创建摄像头传感器帮助失败 每个 ar0234 [0:04:22.793740029][763] 错误 NxpNeoPipe neo_pipeline.cpp:2169无法初始化 NxpNeo IPA [0:04:22.793987693][763] 警告 NxpNeoPipe neo_pipeline.cpp:1268探测摄像头 ar0234 3-004 失败 2: -19 0:00:00.425814325 758 0xaaab119eb6e0 警告 libcamerasrc gstlibcamerasrc.cpp:491:gst_libc amera_src_open: 错误:在此系统上找不到任何受支持的摄像头。 0:00:00.425887295 758 0xaaab119eb6e0 警告 libcamerasrc gstlibcamerasrc.cpp:491:gst_libc amera_src_open: 错误:libcamera::CameraManager::cameras() 为空 错误:来自元素 /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0:找不到任何支持 该系统上的摄像头。 其他调试信息: /usr/src/debug/libcamera/0.6.0.imx/src/gstreamer/gstlibcamerasrc.cpp(491):gst_libcamera_src_open() : /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: libcamera::CameraManager::cameras() 为空 错误:管道无法预滚动。 无法将管道设置为 PAUSED 状态。 将管道设置为 NULL... 释放管道…… root@imx95-15x15-lpddr4x-frdm:~# cam -c 1 --info [0:04:28.421646898][764] 信息 Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:04:28.529717355][765] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:04:28.529795824][765] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:04:28.530673193][765] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:04:28.530718283][765] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:04:28.535806348][765] 信息 IPAProxy ipa_proxy.cpp:180使用调优文件 /usr/share/libcamera/ip a/nxp/neo/ar0234.yaml [0:04:28.535946325][765] 信息 NxpNeoIPA neo_ipa.cpp:146nxpneo:IPANxpNeo NXPNEO_IPA_v0.0.0+6489-l f-6.18.2-1.0.0 [0:04:28.535994624][765] 错误 NxpNeoIPA neo_ipa.cpp:161nxpneo:创建摄像头传感器帮助失败 每个 ar0234 [0:04:28.536070926][765] 错误 NxpNeoPipe neo_pipeline.cpp:2169无法初始化 NxpNeo IPA [0:04:28.536326960][765] 警告 NxpNeoPipe neo_pipeline.cpp:1268探测摄像头 ar0234 3-004 失败 2: -19 未找到摄像头 1 创建摄像头会话失败 root@imx95-15x15-lpddr4x-frdm:~# cam -l [0:04:32.340920574][766] 信息 Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:04:32.448621532][767] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:04:32.448700208][767] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:04:32.449531226][767] 警告 CameraSensorProperties camera_sensor_properties.cpp:586无静态pr 'ar0234' 的可用属性 [0:04:32.449568106][767] 警告 CameraSensorProperties camera_sensor_properties.cpp:588 请确认 更新相机传感器属性数据库 [0:04:32.454467330][767] 信息 IPAProxy ipa_proxy.cpp:180使用调优文件 /usr/share/libcamera/ip a/nxp/neo/ar0234.yaml [0:04:32.454600179][767] 信息 NxpNeoIPA neo_ipa.cpp:146nxpneo:IPANxpNeo NXPNEO_IPA_v0.0.0+6489-l f-6.18.2-1.0.0 [0:04:32.454637351][767] 错误 NxpNeoIPA neo_ipa.cpp:161nxpneo:创建摄像头传感器帮助失败 每个 ar0234 [0:04:32.454663562][767] 错误 NxpNeoPipe neo_pipeline.cpp:2169无法初始化 NxpNeo IPA [0:04:32.454898508][767] 警告 NxpNeoPipe neo_pipeline.cpp:1268探测摄像头 ar0234 3-004 失败 2: -19 请问有什么解决办法吗?
查看全文
[i.MX95] i.MX95 Rev.CでセキュアブートのためにライフサイクルをOEM_CLOSEDに変更する方法 i.MX95 Rev.C ハードウェアプラットフォーム上でSecure Bootの有効化に取り組んでいます。ブートローダーをロックダウンしてセキュアブートを有効にするには、ライフサイクル状態をOEM_CLOSEDに変更する必要があります。 以下の点についてアドバイスをいただけますか: i.MX95 Rev.CのライフサイクルをOEM_CLOSEDに移行するための適切な手順は? この変更を行う前に必要な前提条件や依存関係はありますか? 何かドキュメントや例、ベストプラクティスがあれば大変ありがたいです。 よろしくお願いします。 Re: [i.MX95] How to Change Lifecycle to OEM_CLOSED for Secure Boot on i.MX95 Rev.C セキュアブートガイドはこちらをご覧ください: https://github.com/nxp-imx/uboot-imx/blob/lf-6.18.20-2.0.0/doc/imx/ahab/guides/mx8ulp_9x_secure_boot.txt Re: [i.MX95] How to Change Lifecycle to OEM_CLOSED for Secure Boot on i.MX95 Rev.C ガイドに従って以下のubootコマンドを使用してヒューズ値を設定しましたが、読み取ったときに値が正しく適用されませんでした。 GM CHMでRev Cボードのライフサイクルを変更する他の方法があるかどうかをお伺いしたいです。そのため、fuse prog は uboot コンソールでは動作しないようです。 Re: [i.MX95] How to Change Lifecycle to OEM_CLOSED for Secure Boot on i.MX95 Rev.C 申し訳ありませんが、先ほど提供したリンクにはAHAB 2.0は含まれていませんので、無視してください。 i.MX95 Rev.CでAHABを有効にするためのSPSDKドキュメントは以下のとおりです。 https://spsdk.readthedocs.io/en/latest/examples/ahab/imx95/imx95_ahab_uboot.html
查看全文
S32K388 LPSPI SCKDIV calculation question - why SCKDIV=38 for 1MHz baud rate? Hi NXP Community, I'm working with S32K388 and configuring LPSPI baud rate. I have a question about the SCKDIV value calculation. **My Understanding:** According to the S32K3xx Reference Manual, the LPSPI baud rate formula is: ``` SCK = LPSPI_CLK / (PRESCALE_DIV × (SCKDIV + 1)) ``` **My Configuration:** - LPSPI clock source: AIPS_SLOW_CLK = 40 MHz - Target baud rate: 1 MHz - PRESCALE = 0 (÷1) **My Calculation:** ``` SCKDIV = (LPSPI_CLK / Baud) - 1 SCKDIV = (40 MHz / 1 MHz) - 1 = 39 ``` **S32DS Generated Code:** However, when I use S32DS to generate the configuration, it gives: ```c LPSPI_CCR_SCKDIV(38U) // SCKDIV = 38 ``` **Question:** With SCKDIV=38, the actual division factor is 39, which means: ``` Actual Baud = 40 MHz / 39 = 1,025,641 Hz ≈ 1.026 MHz ``` This has about 2.56% error from the target 1 MHz. Why does S32DS use SCKDIV=38 instead of SCKDIV=39? Is there a different LPSPI clock frequency being used in S32DS configuration, or is there another reason for this choice? **Additional Context:** - I'm using S32DS 3.5 - S32K388 reference manual Rev. 6 - The project was created with default clock configuration Thanks in advance for any clarification! Best regards Re: S32K388 LPSPI SCKDIV calculation question - why SCKDIV=38 for 1MHz baud rate? Hi @xlele  First, please note that the latest available version of the S32K3xx Reference Manual is Rev. 12. The revision you are currently using contains preliminary information for the S32K310, S32K311, and S32K3x8 devices, which had not yet been released when that document was published. Therefore, I recommend downloading and referring to the latest revision of the RM. Regarding the LPSPI baud rate calculation, the description of the SCKDIV field in the Clock Configuration Register (CCR) states that: Baud rate = Functional Clock ÷ (2^PRESCALE × (SCKSET + SCKHLD + 2)) where SCKSET and SCKHLD are derived from SCKDIV ÷ 2. Considering that SCKDIV = 38: SCKSET = SCKHLD = 38 ÷ 2 = 19 Baud rate = 40 MHz ÷ (2^0 × (19 + 19 + 2)) = 1 MHz which matches the expected value. BR, VaneB
查看全文
S32K388 LPSPI SCKDIV 计算问题 - 为什么 1MHz 波特率下 SCKDIV=38? NXP社区的各位好, 我正在使用 S32K388,并配置 LPSPI 波特率。我有一个关于 SCKDIV 值计算的问题。 我的理解: 根据 S32K3xx 参考手册,LPSPI 波特率公式为: ``` SCK = LPSPI_CLK / (PRESCALE_DIV × (SCKDIV + 1)) ``` 我的配置: - LPSPI 时钟源:AIPS_SLOW_CLK = 40 MHz 目标波特率:1 MHz - PRESCALE = 0 (÷1) 我的计算结果: ``` SCDKIV = (LPSPI_CLK / 波特率) - 1 SCKDIV = (40 MHz / 1 MHz) - 1 = 39 ``` **S32DS 生成的代码:** 但是,当我使用 S32DS 生成配置时,却出现以下错误: ```c LPSPI_CCR_SCKDIV(38U) // SCKDIV = 38 ``` **问题:** 当 SCKDIV=38 时,实际除法系数为 39,这意味着: ``` 实际波特率 = 40 MHz / 39 = 1,025,641 Hz ≈ 1.026 MHz ``` 与目标 1 MHz 相比,误差约为 2.56%。 为什么 S32DS 使用 SCKDIV=38 而不是 SCKDIV=39?S32DS 配置中是否使用了不同的 LPSPI 时钟频率,或者选择这种频率还有其他原因? **补充背景信息:** 我使用的是 S32DS 3.5 - S32K388 参考手册 Rev. 6 - 该项目是使用默认时钟配置创建的 感谢您提前提供的任何解释! 顺祝商祺! Re: S32K388 LPSPI SCKDIV calculation question - why SCKDIV=38 for 1MHz baud rate? 嗨@xlele 首先,请注意,S32K3xx 参考手册的最新可用版本是 Rev. 12。您当前使用的版本包含有关 S32K310、S32K311 和 S32K3x8 设备的初步信息,这些设备在发布该文档时尚未发布。因此,我建议下载并参考RM的最新版本。 关于 LPSPI 波特率的计算,时钟配置寄存器 (CCR) 中 SCKDIV 字段的描述如下: 波特率 = 功能时钟 ÷ (2^预分频 × (SCKSET + SCKHLD + 2)) 其中 SCKSET 和 SCKHLD 由 SCKDIV ÷ 2 得出。 考虑到 SCKDIV = 38: SCKSET = SCKHLD = 38 ÷ 2 = 19 波特率 = 40 MHz ÷ (2^0 × (19 + 19 + 2)) = 1 MHz,与预期值相符。 BR,VaneB
查看全文
S32 Design Studio for e200 v2.0 已过期 您好,NXP技术支持,我的S32 Design Studio for e200 v2.0许可证已过期。 请问能否延长我的激活码:9BBC-2CD1-60B7-FD1A 的有效期? 谢谢!
查看全文
How to get stream for a Bayer sensor in IMX95 FRDM I am currently trying to port a Bayer sensor in iMX95 FRDM kit. I have got v4l2 stream and it is working fine. I created a dummy entry for my camera in libcamera consisting the yaml and it gets read properly. When I try pushing to the display I am facing an issue. I have attached the logs below. root@imx95-15x15-lpddr4x-frdm:~# v4l2-ctl -d 0 -v width=1920,height=1200,pixelformat='BA10' --strea m-mmap <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.97 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.98 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.98 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 71.98 fps <<<<<<<<<<<<<<<<<<^C root@imx95-15x15-lpddr4x-frdm:~# cam -c 1 --info [0:03:42.550702911] [754] INFO Camera camera_manager.cpp:340 libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:03:42.659767149] [755] INFO MediaPipeline media_pipeline.cpp:240 Found pipeline: [ar0234 3-0042| 0] -> [0|csidev-4ad30000.csi|1] -> [0|4ac10000.syscon:formatter@20|1] -> [2|crossbar] [0:03:42.660611245] [755] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:03:42.660680697] [755] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:03:42.660794714] [755] INFO Camera camera_manager.cpp:223 Adding camera '/base/soc/bus@42000000/ i2c@42540000/ar0234_mipi@42' for pipeline handler imx8-isi [0:03:42.661332196] [755] WARN ISI imx8-isi.cpp:296 Cannot find a supported YUV/RGB format Using camera /base/soc/bus@42000000/i2c@42540000/ar0234_mipi@42 as cam0 0: 1920x1200-SGRBG10/Unset * Pixelformat: SGRBG10 (1920x1200)-(1920x1200)/(+1,+1) - 1920x1200 root@imx95-15x15-lpddr4x-frdm:~# cam -l [0:03:45.833147768] [756] INFO Camera camera_manager.cpp:340 libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:03:45.940562253] [757] INFO MediaPipeline media_pipeline.cpp:240 Found pipeline: [ar0234 3-0042| 0] -> [0|csidev-4ad30000.csi|1] -> [0|4ac10000.syscon:formatter@20|1] -> [2|crossbar] [0:03:45.941374870] [757] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:03:45.941445068] [757] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:03:45.941557994] [757] INFO Camera camera_manager.cpp:223 Adding camera '/base/soc/bus@42000000/ i2c@42540000/ar0234_mipi@42' for pipeline handler imx8-isi Available cameras: 1: External camera 'ar0234' (/base/soc/bus@42000000/i2c@42540000/ar0234_mipi@42) root@imx95-15x15-lpddr4x-frdm:~# export CAMERA0="/base/soc/bus@42000000/i2c@42540000/ar0234_mipi@42" root@imx95-15x15-lpddr4x-frdm:~# export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo,uvc' root@imx95-15x15-lpddr4x-frdm:~# GST_DEBUG=3 gst-launch-1.0 libcamerasrc ! videoconvert ! autovideos ink Setting pipeline to PAUSED ... [0:04:22.673679060] [758] INFO Camera camera_manager.cpp:340 libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:04:22.784435713] [763] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:04:22.784524477] [763] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:04:22.785576603] [763] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:04:22.785622610] [763] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:04:22.793514826] [763] INFO IPAProxy ipa_proxy.cpp:180 Using tuning file /usr/share/libcamera/ip a/nxp/neo/ar0234.yaml [0:04:22.793673227] [763] INFO NxpNeoIPA neo_ipa.cpp:146 nxpneo: IPANxpNeo NXPNEO_IPA_v0.0.0+6489-l f-6.18.2-1.0.0 [0:04:22.793713608] [763] ERROR NxpNeoIPA neo_ipa.cpp:161 nxpneo: Failed to create camera sensor hel per for ar0234 [0:04:22.793740029] [763] ERROR NxpNeoPipe neo_pipeline.cpp:2169 Failed to initialise the NxpNeo IPA [0:04:22.793987693] [763] WARN NxpNeoPipe neo_pipeline.cpp:1268 Failed to probe camera ar0234 3-004 2: -19 0:00:00.425814325 758 0xaaab119eb6e0 WARN libcamerasrc gstlibcamerasrc.cpp:491:gst_libc amera_src_open: error: Could not find any supported camera on this system. 0:00:00.425887295 758 0xaaab119eb6e0 WARN libcamerasrc gstlibcamerasrc.cpp:491:gst_libc amera_src_open: error: libcamera::CameraMananger::cameras() is empty ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Could not find any support ed camera on this system. Additional debug info: /usr/src/debug/libcamera/0.6.0.imx/src/gstreamer/gstlibcamerasrc.cpp(491): gst_libcamera_src_open () : /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: libcamera::CameraMananger::cameras() is empty ERROR: pipeline doesn't want to preroll. Failed to set pipeline to PAUSED. Setting pipeline to NULL ... Freeing pipeline ... root@imx95-15x15-lpddr4x-frdm:~# cam -c 1 --info [0:04:28.421646898] [764] INFO Camera camera_manager.cpp:340 libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:04:28.529717355] [765] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:04:28.529795824] [765] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:04:28.530673193] [765] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:04:28.530718283] [765] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:04:28.535806348] [765] INFO IPAProxy ipa_proxy.cpp:180 Using tuning file /usr/share/libcamera/ip a/nxp/neo/ar0234.yaml [0:04:28.535946325] [765] INFO NxpNeoIPA neo_ipa.cpp:146 nxpneo: IPANxpNeo NXPNEO_IPA_v0.0.0+6489-l f-6.18.2-1.0.0 [0:04:28.535994624] [765] ERROR NxpNeoIPA neo_ipa.cpp:161 nxpneo: Failed to create camera sensor hel per for ar0234 [0:04:28.536070926] [765] ERROR NxpNeoPipe neo_pipeline.cpp:2169 Failed to initialise the NxpNeo IPA [0:04:28.536326960] [765] WARN NxpNeoPipe neo_pipeline.cpp:1268 Failed to probe camera ar0234 3-004 2: -19 Camera 1 not found Failed to create camera session root@imx95-15x15-lpddr4x-frdm:~# cam -l [0:04:32.340920574] [766] INFO Camera camera_manager.cpp:340 libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:04:32.448621532] [767] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:04:32.448700208] [767] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:04:32.449531226] [767] WARN CameraSensorProperties camera_sensor_properties.cpp:586 No static pr operties available for 'ar0234' [0:04:32.449568106] [767] WARN CameraSensorProperties camera_sensor_properties.cpp:588 Please consi der updating the camera sensor properties database [0:04:32.454467330] [767] INFO IPAProxy ipa_proxy.cpp:180 Using tuning file /usr/share/libcamera/ip a/nxp/neo/ar0234.yaml [0:04:32.454600179] [767] INFO NxpNeoIPA neo_ipa.cpp:146 nxpneo: IPANxpNeo NXPNEO_IPA_v0.0.0+6489-l f-6.18.2-1.0.0 [0:04:32.454637351] [767] ERROR NxpNeoIPA neo_ipa.cpp:161 nxpneo: Failed to create camera sensor hel per for ar0234 [0:04:32.454663562] [767] ERROR NxpNeoPipe neo_pipeline.cpp:2169 Failed to initialise the NxpNeo IPA [0:04:32.454898508] [767] WARN NxpNeoPipe neo_pipeline.cpp:1268 Failed to probe camera ar0234 3-004 2: -19 Kindly let me know a solution for this.
查看全文