Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
MCUXpressoでサポートされているeMMCバージョン こんにちは、みんな eMMC から起動し、MCUXpresso を使用してイメージを作成しようとしています。 質問なのですが、ツールとドライバではどのバージョンがサポートされるのでしょうか? eMMCの最新バージョン(v5.1B)を見つけました昨年リリースされたものです。 新しいバージョンでも正常に動作していますか? ブートROM|ブート|フラッシュ Re: Supported eMMC version in MCUXpresso こんにちは@ljs1004さん、 NXP サポートにお問い合わせいただきありがとうございます。 i.MX93 は MCU ではなく、アプリケーション プロセッサであることに注意してください。 データシートによると、サポートされている eMMC 規格は eMMC 5.1 です。バージョン 5.1 と 5.1b の具体的な違いについては完全には把握していませんが、互換性を確保し、予期しない問題を回避するために、eMMC 5.1 に厳密に準拠したデバイスを使用することをお勧めします。 よろしくお願いします、 チャビラ Re: Supported eMMC version in MCUXpresso ご返信ありがとうございます。 正常に起動しないという問題が発生しています。 したがって、MCUXpresso で eMMC バージョンを確認する手順があるかどうかを知りたいです。 特にv5.1Bでは以下の変更があります: EXT_CSD[192] : 0x8 -> 0x9
查看全文
カスタム S32 ターゲット コードを MBDT プロジェクトにインポートする MBDT プロジェクトから使用したいカスタム S32K3 FlexIO ドライバー (C コード) がありますが、このコードをプロジェクトにインポートする方法が完全には明らかではありません。 ドライバー コードは S32 Design Studio で開発されており、ターゲット上で正常に動作します。しかし、Simulink コード インポーター ウィザードを使用してコードを Simulink ライブラリとしてパッケージ化すると、関連する RTD とハードウェア ヘッダーが見つからないため停止します。 コードのインポートが機能するには、コードが S32 ターゲット用と、シミュレーション用の汎用ハードウェア非依存バージョンの両方でビルドされることをサポートする必要があると思われます。 これを最も効果的に行う方法についてのガイドラインはありますか? たとえば、現在のターゲット (汎用 x86_64 と s32) に応じてコードを異なるビルドにできるようにするために、コード内で使用できる標準定義はありますか?または、シミュレーション中およびターゲット上で異なる C ファイル セットを使用するように Simulink に指示する方法はありますか? Re: Importing custom S32 target code into MBDT projects ハードウェア依存部分をラップしました #定義されている場合(CPU_S32K396) #endif 場合によっては、汎用コードを含む #else を使用します。 これで問題は解決するはずです。しかし、これは S32K RTD 依存コードを MBDT プロジェクトに追加するための推奨される方法でしょうか?
查看全文
QCVS 生成的 DDR 启动代码中的奇怪结果 日安 我正在从头开始构建 ATF 引导加载程序,包括在 LS1046 ARDB 板上进行 DDR 校准。RCW 取自 NXP github - rcw_1800_sdboot.rcw、 QCVS 工具 - 版本 4.27.00 该 RCW 的校准成功通过,我收到了 DDR 启动代码。这些值与 ATF git repo 中的参考 ls1046ardb 代码非常相似,但 NXP_DDRCLK_FREQ 除外: 在 NXP ATF git 仓库 中-# #define NXP_DDRCLK_FREQ 100000000 在来自 QCVS 的代码中 -##define NXP_DDRCLK_FREQ 105000000 参考 NXP_DDRCLK_FREQ,主板成功启动。 使用 QCVS 生成的 NXP_DDRCLK_F REQ 启动失败。在我看来,QCVS 混淆了NXP_DDRCLK_FREQ的含义。 在 CVS 世界中-NXP_DDRCLK_FREQ-DDR 总线时钟(乘法器之后的基本内存时钟)。 在现实世界中 -NXP_DDRCLK_FREQ- 基准内存时钟。 请解释一下情况。 Re: Strange results in QCVS generated code for DDR init 您好, 根据您的描述以及 ATF(Arm 可信固件)无法启动的行为, 你的结论是正确的。QCVS 工具可能为 NXP_DDRCLK_FREQ 生成了不正确的值。 下面是根据标准的恩智浦 Layerscape/QorIQ DDR 配置实践对情况进行的细分:   冲突分析 内存时钟 (DDRCLK):如 clk1.png 所示,为 DDR 控制器提供基本时钟的物理振荡器频率为 100 MHz(100,000,000 Hz)。 DDR 数据速率/总线时钟:如 clk2.png 所示,DDR 总线时钟(或数据速率减半)为 1050 MHz(100.000.000 Hz)。 ATF 行为:成功的启动配置使用 NXP_DDRCLK_ FREQ = 1000000 (100 MHz)。 QCVS 行为:QCVS 正在设置 NXP_DDRCLK_FREQ = 1050000000 (1050 MHz)。    为什么 QCVS 是错误的 R CW(RESET 配置字)或 DDR 初始化代码中的 NXP_DDRCLK_FREQ 参数是指振荡器的输入频率(100 MHz 时钟),而不是生成的内存总线速度(1050 MHz)。  通过将 NXP_DDRCLK_FREQ 设置为 1050 MHz,DDR 控制器会认为输入时钟比实际快得多。因此,它会计算错误的内部 PLL 倍增器和定时寄存器,导致内存初始化失败(DDR 训练失败),从而导致 ATF 停止。    建议 更正 QCVS 参数:在 QCVS DDR 配置向导中,在"DDR Properties" 或"Clock" 部分,确保将输入时钟频率明确设置为 100 MHz(100,000,000 Hz),即使目标数据速率为 2100 MT/s(1050 MHz)。 验证 MEM_PLL_RAT :确保 RCW 中的 MEM_PLL_RAT 设置为一个乘以 100 MHz 输入的值来达到目标总线时钟(例如,如果输入为 100MHz,M EM_PLL_ RAT 应在 21 左右才能获得 2100 MT/s 或 1050MHz 的总线时钟)。 使用 " 从目标导入 ":如果你的设置正常,你可以将现有 DDR 寄存器从 U-Boot 导入到 QCVS 中,以确保在将来生成的代码中使用正确的值 此致问候 Re: Strange results in QCVS generated code for DDR init 谢谢您的回答。我现在很清楚这个问题。希望这个问题能在未来的QCVS版本中得到解决。 顺祝商祺! Re: Strange results in QCVS generated code for DDR init 这是否意味着 QCVS 生成了错误的代码? 在这里,我们可以看到内存时钟--DDR 内存系统的基本时钟。 在这里,我们可以看到由 DDR CLK x 乘法器 (21) 产生的 DDR 总线时钟/DD R 数据速率 。该乘数由 RCW 设置,参数名为 MEM_PLL_RAT。 1050.000.000 Hz (1050 MHz)-是 DDR 总线时钟(DDR 数据速率/2-2100/2)。 在所有绝对没问题(成功启动)的 ATF 信号源中, NXP_DDRCLK_FREQ = 1000000(100 Mhz),这显然与第一张照片相对应——我们可以看到内存时钟(DDRCLK)= 1000000( 100 Mhz )。 但 QCVS 却给出了一个完全不同的值 -NXP_DDRCLK_FREQ= 1050000000(1050 MHz)。这个值似乎是错误的,因为 ATF 根本无法使用它启动。所以,请确认一下--我的结论是否正确? Re: Strange results in QCVS generated code for DDR init 你好 在使用 QCVS 生成的 nxp_ddrclk_freq (   )在 LS1046ARDB 上,而   能正常工作,可能是由于 QCVS 计算的数据速率/定时参数与实际板的参考时钟不匹配所致(   RCW 中定义的)。对于 DDR4,QCVS 工具通常会生成 NXP_DDRCLK_FREQ 作为基本内存时钟 (   ),必须与 RCW 和 PLL 设置相匹配。 形势分析: RCW rcw_1800_sdboot.rcw :此文件规定了系统时钟设置,通常将 DDR 参考时钟设置为   . 参考 ATF 值 (   😞 对应标准   输入时钟,使标准   或   DDR 时序计算,以匹配硬件 PLL。 QCVS 值 (   😞 如果 QCVS 计算出一个稍高的时钟 (   ),它假定 PLL 配置为产生该频率。如果 RCW 仍规定   如果 DDR 控制器的时钟不正确,会导致训练失败(例如,在"...... "模式下)、   或超时)。 解决方法更改 ddr_init.c 中的 NXP_DDRCLK_FREQ 返回   (   ) 以匹配参考 RCW。确保 QCVS 生成的所有其他时序值都根据正确的输入时钟进行更新。  可行步骤: 验证 sys_pll 中的 中的 sys_pll 设置。 文件中的 sys_pll 设置,确认 DDR 时钟源为   . 更新 ATF plat/nxp/soc-ls1046a/ls1046ardb/ddr_init.c 以使用 100000000 的 nxp_ddrclk_freq . 确保在 ddr_init.c 中生成的 ddr_init 结构,同时将频率保持在   .  Regards
查看全文
clrc66303 LPCD feature range Hi, We are currently working with the CLRC66303 and using the LPCD feature. We are experiencing difficulties achieving an acceptable detection range when the LPCD threshold is set greater than 0. When the LPCD threshold is set to 0, detection range is acceptable and the system works as expected. When the threshold is set to 1 or higher, the detection range decreases significantly and becomes unusable for our application. We are concerned whether using a threshold value of 0 is recommended for production use. We are also concerned about the potential increase in false wake-ups when using threshold = 0. We have tried the following to improve detection range: - Enabling LPCD_TX_HIGH - Enabling LPCD_FILTER However, these changes resulted only in marginal improvement. We’re using development kit and the NFC GUI tool. 
Is setting the LPCD threshold to 0 a supported and recommended configuration for production systems? Are there recommended register settings or tuning procedures to improve LPCD detection range while keeping threshold >= 1? Are there antenna tuning or hardware considerations specifically critical for LPCD performance with CLRC66303? Any guidance or best practices for achieving reliable LPCD detection with improved range would be appreciated. Best regards Re: clrc66303 LPCD feature range Hello @michalbogdziewicz Hope you are doing well. Please consider that the default antenna of CLRC663 Evaluation Board has some metal layer inside the antenna area; this antenna is not an optimum antenna as such. Also, it is recommended using external power supply instead of USB supply for a better performance. The behavior of detection range may depend on some other configurations. Please refer to AN11783 CLRC663 plus Low Power Card Detection, Chapter 3, for more information on available configurations around Threshold value. Some results on CLRC663 Eval Board are shown in Table 4. Regards, Eduardo. Re: clrc66303 LPCD feature range Hi EduardoZamora at NXP TechSupport. Thanks for the answer. We're working with Michael on project outlined above. We are only able to achieve less than half the wake up distance listed in table 4 with the CLRC663 Eval Board (and get similar poor results with our own PCBA design) We are specifically using the NFC cockpit to configure IC settings on the CLRC663 Eval Board. Should this approach work or are there specific registers that we need to pay special attention to for us to get similar LPCD detection range as listed in table 4? Thanks in advance,
查看全文
Flexcomm I2Sによる同期DSD(PDM)再生 LPC5528 を使用して Hi-Fi USB オーディオ インターフェースを実装することを計画しました。このようなアプリケーションには、いわゆる「DSD ネイティブ」出力が必要です。 基本的に、これは I2S SCK に類似したビットクロックを備えた 2 つの同期 PDM オーディオ出力 DSDA/DSDB です。 リファレンス・マニュアルに記載されているように、LPC5528 には I2S 信号共有と呼ばれる機能があり、異なる Flexcomm I2S インターフェースが同じ SCK/WS/DATAIN などを共有できるようになります。 2 つの Flexcomm インターフェイスを I2S Tx として設定し、そのうちの 1 つをマスターとして設定し、同じ SCK を共有すると、それらは完全に同期され、DSD オーディオ インターフェイスのタイミング要件を満たすことができますか? ヒント: DSD オーディオ インターフェイスの一般的なタイミング要件については、 CS43198 データシートの23 ページを参照してください。 全般 LPC55xx ペリフェラル USB 用户论坛 Re: Synchronized DSD(PDM) Playback with Flexcomm I2S こんにちは@nonameC_さん、 可能であれば、RM の 35.3 章「基本構成」をこの機能の構成ガイドとして使用できます。ただし、次の点に注意してください。 注: 信号共有接続はレジスタ値が変更されると行われ、 同期はデータ ストリームの開始前に行う必要があります。 両方のモジュールを同期させたままにするには、この投稿に記載されている提案に従うことができます。この投稿では、この目的のために DATAPAUSE メカニズムを使用しています。 また、データシートのセクション 11.10 に記載されている I2S ペリフェラルの動的制限にも留意してください。 他にご質問がございましたらお知らせください。 BR ハビブ
查看全文
S32DS.3.4のアクティベーションキー 現在のキーの有効期限が切れているため、S32DS.3.4 のアクティベーション キーが必要です Re: Activation key for S32DS.3.4 こんにちは、 あなたのアカウントを確認しましたが、S32DS v3.4 は存在しません。古いアクティベーションキーをお持ちですか?
查看全文
PN7642 - スリープモード やあみんな PN76_Sys_PCRM_EnterStandby(); 関数を使ってスリープさせようとしています。GPIO3でイベントが発生するまでスリープさせるように指示するだけでは、何も問題はありません。 WUC を使用しようとすると問題が発生しました。 スリープ状態に移行するときにエラーは発生しませんが、IC が直接起動しており、その理由がわかりません。 使用例としては、たとえば 5 分間スリープするために、スリープを複数回入力することです。 論理: (calc_sleep_en_b == FALSE)の場合 { dwWakeUpCntValue = calculate_sleep_time(new_lock_values. public_timer_value ); 計算されたパブリックカウンター値UI = dwWakeUpCnt値; タイマーカウンタ値ui = 0; select_wake_up_reason = E_PN76_PCRM_WAKEUP_SOURCE_GPIO3_LOW | E_PN76_PCRM_WAKEUP_SOURCE_TIMER ; max_sleep_time_li = 最大スリープ時間; PCRM_CLEARBITN(PCRM_GPREG6、 PHHAL_HW_PN76XX_GPREG_6_LPCD_ENABLED_POS ); status_pn7642 = PN76_Sys_PCRM_EnterStandby(選択ウェイクアップ理由、最大スリープ時間li); } そうでない場合、 { PCRM_CLEARBITN(PCRM_GPREG6、 PHHAL_HW_PN76XX_GPREG_6_LPCD_ENABLED_POS ); PN76_Sys_PCRM_ReEnterStandby(); } 寝た後: - BOOT Regsを確認する - BOOT REG 2と3をリセットする - カウンター値が予想される計算値と等しくない場合は、 PN76_Sys_PCRM_ReEnterStandby() で再度スリープします。 ウェイクアップの理由とカウンターを確認するためのすべての変数は AO-RAM で定義されています。 __attribute__ ((section( ". noinit .$RAM2" )))揮発性uint8_t magic_num; __attribute__ ((section( ". noinit .$RAM2" )))揮発性uint8_t sleep_reason_uc; __attribute__ ((section( ". noinit .$RAM2" )))揮発性uint32_t timer_counter_value_ui; __attribute__ ((section( ". noinit .$RAM2" )))揮発性uint32_t計算されたパブリックカウンター値ui; この問題の原因は何でしょうか? 何か見逃しましたか? これらの規則も少しリセットする必要がありますか? PCRM_SYS_BOOT1_STS PCRM_SYS_BOOT2_STS PCRM_SYS_BOOT3_STS PCRM_SYS_STBY_CFG_REG PCRM_SYS_STBY_CFG_REG PCRM_SYS_LP_CLK_EN_REG PCRM_INT_SET_STATUS_REG PCRM_INT_CLR_STATUS_REG 助けてくれてありがとう。 よろしくお願いいたします。 オリバー Re: PN7642 - Sleep Mode やあ、エドゥラド、 PN7642 FW は 02.06、SDK バージョンは 2.15.004 です。 ウェイクアップ カウンターの値は 2690 ミリ秒で 1023 です。 低電力カード検出は必要ありません。スリープして、AO-RAM カウンターを比較し、>= でない場合は反復処理を行い、再度スリープします。 再びスタンバイ状態に入るときに、BOOT レジスタ、割り込みフラグ (PCRM レジスタから) を処理 (リセット) する必要がありますか、それともこれは内部で実行されますか? スリープ状態に入るとき、BOOT_2 レジスタは 0x00000000 である必要がありますか? この PDF は知っていますが、これに関する詳細な情報はありません。 よろしくお願いいたします。 オリバー Re: PN7642 - Sleep Mode こんにちは@MPEngineering あなたの調子が良いといいのですが。 使用している PN7642 ファームウェアと SDK のバージョンは何ですか? PN7642 の低電力機能を評価する場合は、nfc_examples > nfc_low_power_mode を参考にすることを検討してください。また、低電力カード検出を実装する場合、PN7642 SDK では、さまざまな LPCD オプションを示す Nfcrdlib_Ex6_LPCD プロジェクト例が提供されます。 使用している時間 (またはウェイクアップ カウンター) の値を確認してください。最大ウェイクアップ時間は 2690 ミリ秒であることを考慮してください。PN76 ファミリー NFC コントローラーの低電力機能の使用方法も参照することをお勧めします。 よろしくお願いいたします エドゥアルド。 Re: PN7642 - Sleep Mode こんにちは、 PN7642 用の開発キットを使用していますか、それともカスタム ボードですか? ウェイクアップ ソースとして GPIO3 とタイマーを OR 結合していることがわかります。ウェイクアップソースとしてタイマーのみを設定すると(E_PN76_PCRM_WAKEUP_SOURCE_TIMER)、正常に動作するか確認してください。 PN7642 SDK の nfc_low_power_mode デモを使用して、オプション 1 -> カウンターをウェイクアップとしてスタンバイに入るを選択し、オプション 2 -> 2690ms (低電力スタンバイ最大間隔) を選択して、期待どおりに動作するかどうかをお知らせください。 よろしくお願いいたします エドゥアルド。 Re: PN7642 - Sleep Mode こんにちは、 このトピックに関してサポート チケットを送信されたことは承知しております。コミュニケーションのチャネルを 1 つだけ維持するために、社内チケットで議論を続けてください。 よろしくお願いいたします エドゥアルド。 Re: PN7642 - Sleep Mode おい、 1. はい、カスタム ボードで nfc_low_power_mode デモを実行でき、動作します。 2. PN7642 をホストなしのスタンドアロン MCU として使用します。実際の RTC がないため、定期的にスリープ状態にする必要があります。たとえば、最大スリープ時間を 2650 ミリ秒にして 5 分間スリープしたい場合、スリープ サイクルを 113 回繰り返します。SO: 起動して、AO-RAM カウンター変数を確認します。カウンター変数が 113 未満の場合、カウントアップして再度スリープします。 3. プロジェクトで PN76_Sys_PCRM_EnterStandby() などの API 関数を使用すると、IC は最大時間 (2.65 秒) スリープすることはありませんが、AO-RAM カウンターに到達し、期待どおりにコードを実行します。API を呼び出すときにエラーは発生しません。あまりにも速すぎます。 4. はい、MAX_SLEEP_TIME は 1023 です。 5. LPCD モードを使用したくありません。GPIO3 と一緒に WUC だけを使用する可能性もあるはずです。 この API の問題の他に、API 関数を使用しないようにしました。代わりに、PCRM Regs を直接使用します。現在、MCU は 1 回 (2.65 秒) スリープしますが、2 回目はスリープしません。何かがそれを妨げているため、再び眠りにつくのだと思います。 私は安全でした: - ブート1 (0x00000000) - BOOT2 (0x00022000 -> GPIO3 および WUC) - BOOT3(0x00000000)、 - PCRM_INT_ENABLE ( 0x4060010 )、 - EEPROM 内の PCRM_INT_STATUS (0x00000104)。 PCRM_SYS_STBY1_CTRL_CLR_BOOT_REGS_MASKとPCRM_SYS_STBY1_CTRL_CLR_RST_STS_MASKを使ってBOOT2をクリアしようとしましたが、効果がありません。PCRM_INT_STATUSは謎です。GPIO2_ZIFが有効になっていないからでしょうか? 防止フラグを削除するにはどうすればいいですか? よろしくお願いいたします。 オリバー Re: PN7642 - Sleep Mode こんにちは、 カスタムボードです。 タイマー (E_PN76_PCRM_WAKEUP_SOURCE_TIMER) のみを使用しても機能しません。 論理的には動作しますが、IC は 2650 ミリ秒間スリープしません。最後に、カウンターは予想されるスリープ サイクルと等しくなり、スイッチをオンにします。 例をカスタム ボードにフラッシュしたところ、動作しました。 00> 1 PCRM_SYS_STBY_CFG: 0x00000001 00> 00> ブート1レジスタ: 0x00000010 00> ブート2 レジスタ: 0x00000000 00> ブート3 レジスタ: 0x00000020 00> ---PN7642 IC構成の詳細--- 00> **************************************************************************************** 00> *****警告*****: PN7642 IC は以下の設定で構成されています。 00> *****警告*****: IC 設定はボード設定と一致する必要があります。不一致があると、PN7642 IC が損傷する可能性があります。 00> 電源/DCDC構成: 00> カードモードでのDC-DCの使用: DC-DCはバイパスではなく電源供給されます 00> リーダーモードでのDC-DCの使用: DC-DCはバイパスではなく電源供給されます 00> VUP入力電圧:内部DC-DC使用:自動バイパスおよびVDDPAに対する可変ブースト付き 00> LPCD用DC-DCの使用: LPCD用DC-DCの使用は無効 00> RFLD/NFCLD キャリブレーションステータス: キャリブレーションされていません 00> DPC関連の設定: 00> DPC アクティブターゲットモード: 有効 00> DPC はアクティブ イニシエーター モードです: 有効 00> DPC のリーダー/パッシブ イニシエーター モード: 有効 00> オートコレクト設定: 00> ランダム UID の有効化: 無効。EEPROMに保存されたUIDを使用する 00> **************************************************************************************** 00> 00> Test_a 変数:0 00> 00> 低電力モードの例: 00> ウェイクアップカウンタの期限切れ後のスタンバイ後の起動 00> ブート2 レジスタ: 0x00000000 00> ブート3 レジスタ: 0x00000020 00> Test_a 変数:0 00> モードを選択します: 00> 1 -> カウンターをウェイクアップとしてスタンバイ状態に入る: 00> 2 -> 外部RFをウェイクアップとしてスタンバイ状態に入る: 00> 3 -> カウンターをウェイクアップとして超低電力スタンバイに入る: 00> 4 -> 外部RFによるウェイクアップで超低電力スタンバイに入る: 00> 5 -> ULPCDキャリブレーションを入力: 00> 6 -> ULPCD検出を入力: 00> 7 -> LPCDキャリブレーションを入力: 00> 8 -> LPCD検出を入力: < 1 00> 1 00> 以下のオプションからウェイクアップ間隔を選択します。 00> 0 -> 500ミリ秒: 00> 1 -> 1000ミリ秒: 00> 2 -> 2690ms (低電力スタンバイ最大間隔): 00> 3 -> 4095ms (超低電力最大間隔) : 2未満 00> 2 PCRM_SYS_STBY_CFG: 0x00000001 00> 00> ブート1レジスタ: 0x00000010 00> ブート2 レジスタ: 0x00000000 00> ブート3 レジスタ: 0x00000020 Boot Regs、PCRM INT Regs などを操作する必要がないことを確認できますか? これは内部的に行われていると思います (NXP FW / FSM)。例では処理は示されていません。 他に何かアイデアはありますか? よろしくお願いいたします。 オリバー Re: PN7642 - Sleep Mode こんにちは、 私の理解では、カウンターをウェイクアップ ソースとして使用すると、PN7642 SDK から nfc_low_power_mode デモを正常に実行でき、スタンバイ モードが期待どおりに動作する、ということになりますが、これは正しいですか? また、カスタム実装では、PN7642を一定時間(例えば、デバイスは 2690 ミリ秒間スタンバイ状態になります。この「ウェイクアップ -> スタンバイ」プロセスは 5 分間繰り返されます) これも正しいですか?このようなアプリケーションが必要となるシナリオについて説明していただけますか? 「IC は 2650 ミリ秒間スリープしない」というのは、デバイスがスタンバイ状態に入るのを何かが妨げているという意味ですか?それとも、ウェイクアップ間隔が完了する前にデバイスがウェイクアップしてしまうのでしょうか? 実装では、dwWakeUpCntValue = calculate_sleep_time(new_lock_values.public_timer_value) を計算していることがわかります。ただし、max_sleep_time_li = MAX_SLEEP_TIMEを設定し、この変数を PN76_Sys_PCRM_EnterStandby(select_wake_up_reason, max_sleep_time_li) にパラメータとして渡します。N76_Sys_PCRM_EnterStandby のパラメータ dwWakeUpCntValue に対して MAX_SLEEP_TIME 値が有効であることをご確認ください。 これはスタンバイ時の LPCD モードの一般的なシーケンスです。参考になるかもしれません。 よろしくお願いいたします エドゥアルド。
查看全文
zephyr build for XIP in NOR Flash on Flexspi of RT1160 Hi, I am trying to build a zephyr image for a custom RT1160 board that uses a different QSPI NOR flash than the one used in the evk. I am using the primary group of Flexspi1 and I used the MCUXpresso config tool to generate the pinctrl and pinmux for the firmware. However, when I tried to build the image, it keeps failing on the linker script stage as it keeps targeting the onchip memory space instead of the external flash. Do I need define a new linker script in zephyr project so the build system can target the external memory space? Are there any tutorial or application documents that provide the guide to develop the XIP zephyr firmware for imxrt?  Re: zephyr build for XIP in NOR Flash on Flexspi of RT1160 Hi @TomC818 , Thanks for your interest in NXP MIMXRT series! The default Zephyr examples for the CM7 on the RT1160 should all support XIP. You can locate this KConfig CONFIG_BOOT_FLEXSPI_NOR in the successfully compiled .config file. If your goal is simply to modify Flash, these two links will be helpful: 1. https://github.com/zephyrproject-rtos/zephyr/discussions/83607 2. https://github.com/zephyrproject-rtos/zephyr/blob/main/boards/nxp/mimxrt1160_evk/CMakeLists.txt Additionally, if memory relocation is required, you can refer to this AN. Best regards, Gavin
查看全文
Asymmetric Crypto (RSA/ECC) Support for Secure Flashing on S32K144 Hi, Hardware: S32K144EVB-Q100 Software: S32 Design Studio, OpenBLT Bootloader, an5401-csec We are planning to implement a secure flashing on the S32K144. For asymmetric cryptography (RSA and ECC) used in firmware signature verification, we would like to know: Is asymmetric cryptography (RSA/ECC) supported only via software implementation on the S32K144, or is there any hardware acceleration available for these algorithms? If the S32K144 MCU does not have hardware acceleration for RSA or ECC, and must perform signature verification entirely in software (using the CPU), what is the expected time required to verify a digital signature using: RSA with a 2048-bit key ECC with the secp256r1 curve Are there any reference documents, or recommended libraries for these operations on this MCU? We need to know how long it takes to verify RSA and ECC signatures in software. Thanks. Re: Asymmetric Crypto (RSA/ECC) Support for Secure Flashing on S32K144 Hi @Kishore_14  CSEc on S32K1 supports only symmetric operations. Asymmetric operations are not supported by hardware. If needed, it must be emulated by software. You can use something like WolfSSL or similar. Because we do not provide such SW libraries, I can’t tell what will be the execution time. We do not have such benchmark. I would consider to use S32K3 devices with HSE which supports also asymmetric operations. Regards, Lukas
查看全文
ucode 7xm 読み取り保護 こんにちは、サポートチームの皆様 ucode 7xm は EPC/ユーザーメモリ読み取り保護をサポートしていますか?(正しいアクセス パスワードがないとメモリ データを読み取ることができません)、またはこの効果を達成する方法はありますか?どうもありがとう。SL3S1004_1014 UCODE-9xm Re: ucode 7xm read protect こんにちは@zysu UCODE 7xm は EPCglobal v1.2.0 に準拠しています。セクション 6.3.2.1 タグ メモリに従って、EPC、TID、またはユーザー メモリ バンクをロックまたは永続的にロックすると、ロックされたメモリ位置は書き込み不可になりますが、読み取り可能なままになります。 よろしくお願いいたします エドゥアルド。
查看全文
PFE MCALドライバのレシーバプロセッシングに再入可能性の問題がある可能性があります こんにちはチーム PFE MCAL ドライバ 1.6.0 以降、レシーバ プロセッシングに再入可能性の問題が発生する可能性があります。関数 pfe_hif_drv_process_rx_frames() の呼び出し関係は次の図のようになります。 ドライバがポーリング モードで動作している場合、_Receive、TxConfirmation、および MainFunction はpfe_hif_drv_process_rx_framesを呼び出します。呼び出し元が異なるタスクにある場合、pfe_hif_drv_process_rx_frames には再入可能性のリスクがあります。pfe_hif_drv_process_rx_framesに排他的保護を追加する必要がありますか? よろしくお願いいたします。 ライダー PFE PFE MCAL Re: PFE MCAL driver receiver processing may have reentrancy issue こんにちは@Ryder_Gongさん、 PFE チームがこのCASEを引き継ぎましたが、これを報告したお客様は誰ですか? よろしくお願いします、 ラドゥ Re: PFE MCAL driver receiver processing may have reentrancy issue こんにちは、 元の問題は Mobileye によるもので、実際にはソフトウェア チームがデバッグ呼び出しに関与しています。 Re: PFE MCAL driver receiver processing may have reentrancy issue こんにちは、ライダー。 競合状態を見つけてくれてありがとう。これは「Rx が動作を停止する」問題の原因であることが確認され、これを修正するためにバグ チケット ANET-1032 が作成されました。ご提案いただいたように、排他領域保護を追加することで修正されます。 このバグは、ポーリング モードの PFE MCAL ドライバーのすべてのバージョンに影響し、バージョン 1.8.0 で修正される予定です。
查看全文
配置未使用 GPIO 端口/引脚的最佳方法 配置未使用的 GPIO 端口或引脚的最佳方法是什么,以降低噪声和功耗等。默认情况下,端口在启动时初始化为高 Z。那么,我们是否需要对其进行配置? Re: Best way to configure unused GPIO Ports/Pins 感谢您的回答 Re: Best way to configure unused GPIO Ports/Pins 你好,我是@sharonfmc93、 没错,高 Z 是引脚的默认状态,因此无需设置。此外,我们建议将未使用的 GPIO 保持未连接状态或外部连接到 VSS/GND 参考。 有关详细信息,请参阅文章《硬件设计指南》->第7 章:未使用的引脚。 您可以从以下链接中找到应用笔记: S32K3 通用型 MCU — 硬件设计包 BR IsaulO.
查看全文
RTOSでPFEクロック構成を実装する方法   専門家の皆様、 私たちは、リアルタイム オペレーティング システム (RTOS) 内で S32G274A 用の PFE (パケット転送エンジン) イーサネット ドライバーを実装する作業を進めています。私たちの RTOS には Linux のクロック フレームワークやデバイス ツリー インフラストラクチャがないため、ハードウェア レジスタを直接プログラミングして必要なクロックを構成する必要があります。 PFE モジュールの完全なクロック構成ロジックまたはリファレンス コードを入手する方法についてアドバイスをいただけますか?あらゆるドキュメント、レジスターレベルの例、またはベストプラクティスをいただければ幸いです。 ご返信よろしくお願いします。 Re: How to implement the PFE clock configure in RTOS Hello 私はマルチコアのシナリオで作業しています。ご回答によると、システムが U-Boot によって起動される場合、オペレーティング システムはクロックを構成する必要がないということですか? Re: How to implement the PFE clock configure in RTOS こんにちは、ウェイトワン ご返信と情報ありがとうございます。 シングルコアまたはマルチコアのシナリオを使用しているかどうか教えてください。クロックの初期化はブートローダで後から行うことができますが、なぜ RTOS で PFE クロックを構成することを選択するのですか? BR ジョーイ Re: How to implement the PFE clock configure in RTOS こんにちは専門家の皆様 PFE モジュールのクロックに関して、次のような別の質問があります。 既存の RTOS BSP の GMAC ドライバーのクロック構成を参照しました。PFE モジュールを初期化するときには、MC_CGM_2 レジスタ ブロックを設定する必要があります。具体的には、PFE_MAC_0 の TX クロックを設定するには、次の図に示すように、このレジスタ グループ内のクロック Mux 1 選択制御レジスタ (MUX_1_CSC) を設定する必要があります。 このレジスタの SELCTL フィールドでは、クロック ソースを選択する必要があります。ただし、リファレンス マニュアルに記載されている clk_src_x 識別子が実際のハードウェア クロック ソースとどのように対応するかは不明です。 デバイス ツリー ファイル内に関連する説明がいくつか見つかりましたが、それらを正しくマップする方法がわかりません。マニュアルの clk_src_x がシステムで使用される実際のクロック ソースとどのように関連しているかを明確にしていただけますか? Re: How to implement the PFE clock configure in RTOS こんにちは、ウェイトワン お問い合わせいただきありがとうございます。 申し訳ございませんが、PFE + RTOS アプリケーションをお客様に参考用に提供しておりません。 通常、マルチコア シナリオではクロックはブートローダ ステージで構成されます。M コアでクロック レジスタを設定する場合は、第 24 章クロック生成モジュールの S32G2RM.pdf を参照してください。 また、PFE 用のパーティションを構成する必要があります。 BR ジョーイ
查看全文
未使用のGPIOポート/ピンを設定する最適な方法 ノイズや電力使用量などを削減するために、未使用の GPIO ポートまたはピンを構成する最適な方法は何ですか。デフォルトでは、ポートは起動時に High Z として初期化されます。それで、それを設定する必要があるのでしょうか? Re: Best way to configure unused GPIO Ports/Pins 回答ありがとうございます Re: Best way to configure unused GPIO Ports/Pins こんにちは@sharonfmc93さん、 そうです。High Z はピンのデフォルト状態なので、設定する必要はありません。さらに、未使用の GPIO は未接続のままにするか、VSS/GND リファレンスに外部接続することをお勧めします。 詳細については、「ハードウェア設計ガイドライン」の記事の「 7 章: 未使用ピン」を参照してください。 アプリケーションノートは以下のリンクからご覧いただけます。 汎用S32K3 MCU – ハードウェア設計パッケージ BR イサウルO。
查看全文
Sharing data between bootloader and app Is there a way to hold ram data after a function reset? Statement of Need: The MCU model used is the S32K364, which is required to maintain state during the upgrade process between the bootloader and the app. 1. When the app needs to be upgraded, write flags to the flag memory; 2. Executive function reset; 3, MCU reset into the bootloader query this state, if you need to upgrade to perform the upgrade; For now, I'm reserving a slice of RAM space. SHARE_RAM : ORIGIN = 0x2000ee00, LENGTH = 0x200 .share_ram (NOLOAD) . { . = ALIGN (4); /* 4-byte alignment */ KEEP (*(.share_ram)) . = ALIGN (4). } > SHARE_RAM But ram is cleaned up after a functional reset; Is there a way to reset the specified ram without clearing it, or another feasible solution, or is it only possible with dataFlash. Re: bootloader 和app共享数据方案 Hi @caigangwu  SRAM content is lost after Power-On reset or after any type of destructive reset. SRAM content is retained after functional reset. This is mentioned in Table 185 (S32K3 RM rev. 12): https://www.nxp.com/webapp/Download?colCode=S32K3XXRM Then there are two things to consider. First, SRAM memory must be initialized due to ECC after power-on and after destructive resets. In any project with RTD, there’s file startup_cm7.s. Here you can find “RamInit” section. There’s already a code which conditionally initializes standby RAM memory. You can implement something similar for your new RAM segment created in linker file. Your segments should be initialized only after POR or destructive resets. read the DES register in MC_RGM module to see if the last reset was destructive or not. If it was destructive reset, initialize this SRAM segment by 64bit writes. If not, you can skip this initialization – i.e. retain the content during functional reset. This register is read and cleared later by RTD drivers, so do not clear it here. Second, there’s a code in the same file for copying and zeroing of variables. There are tables init_table and zero_table. Your RAM segment should not be included in these tables, so your data are not overwritten. It won’t be a problem if you create new segment for your data. Regards, Lukas
查看全文
S32E288 multicore Hello, I am a bit new to this whole multicore ordeal and would need a bit of guidance. What I would like to achieve is the following: Use the M33 as the boot core and run FreeRTOS and distribute commands Use all the other (R52_0_0, R52_0_1, R52_1_0 and R52_1_1) cores as designated workers with their own state machines I have managed to run FreeRTOS on the M33 as the boot core, but I don't quite understand how to enable the other cores from the M33 core.  AI has suggested that I would need to basically just flash my code to the correct place in memory and then wake the cores/enable the core clock from the boot core, which generally makes sense to me. But what I don't understand is: Is there a specific RTD that I would need to enable for the boot core that would handle starting of other cores? The S32 Design Studio creates different projects for each core, so how can I be sure that each project is built and loaded as one flash image? How can I use the S32 Debugger for debugging the entire stack (all the cores) and which settings should I apply or check, since the debugging is done from RAM I believe? My setup: S32 Design Studio 3.6.4 S32 Debugger S32E288-975EVB Re: S32E288 multicore Hello @HiddenSquid, Thanks for reaching out to us. Regarding your questions, we do not offer a bootloader implementation using FreeRTOS for the M33, we offer an AUTOSAR project called GreenVIP for the S32Z/E family, it includes a bootloader for the SMU/M33 core. My recommendation at the moment would be to compile and debug one of the projects (SMU_LA or SMU_LAV) and check which registers are configured to load the binary and start the RTU cores. You can check section 3.2 GreenVIP booting sequence for S32E2 device and 3.1.3 Boot Service Mode of the GreenVIP user guide for mode details on how it works. I would recommend using SMU_LA, which is simpler that SMU_LAV. You can download the GreenVIP in AUTO-SW-PACKAGE-MANAGER: Please check the documentation carefully to know how to build it, it can be somewhat confusing sometimes since it is quite a big project.  Let me know if you have more questions Re: S32E288 multicore Hello @HiddenSquid, you should be able to find the user guide and user manual in your installation directory, if you are using the default installation path you can find them in C:\NXP\S32ZE_GreenVIP_1.3.1\doc. It can get somewhat tricky to configure all dependencies to build the SMU_LA/SMU_LAV projects, you can see all dependencies in Table 2. Software Products Integrated in GreenVIP, in the User Manual. Then you can check section 9.2.3 Setup EB ACP Partition of the user guide. The SMU_LA and SMU_LAV projects are not meant for S32 Design Studio they are for EB Tresos Studio, you can check this guide to know how to install and get the license for EB Tresos Studio, although the installation is a little different because you need EB Tresos AutoCore, the installation steps are the same it is just a different product. In the same guide you can see how to debug EB Tresos Projects. Let me know if you have more questions. Re: S32E288 multicore Hey, Thanks for the answer and I am now trying to use the greenVIP package, but I am unable to find a proper user manual or a getting started page. I have managed to download and install the required packages from the suggested package manager. There is suggested link at the offical greenVIP page, but it seems to be restricted. Could you post a link or a specific tutorial on how to get greenVIP package up and running in the S32 Design Studio 3.6.4? Thanks in advance for bearing with me! 😄
查看全文
MCXA346VLQ デバイスには FlexIO モジュールが含まれていますか? UM12348: FRDM-MCXA346 ボード ユーザー マニュアルのGPIO グループ インターフェースセクションには、 「MCX A346 MCU には Flexible Input/Output (FlexIO) モジュールがありません」と記載されています。 ただし、 MCX A345、A346、A355、A356、A365、および A366 リファレンス マニュアルには、A346 デバイスのFlexIOに関する説明があります。 MCXA346VLQデバイスが FlexIO モジュールをサポートしているかどうかを明確にしていただけますか? FlexIO がサポートされていない場合、 UM12348のカメラ インターフェイスの章で説明されているカメラ インターフェイスは実際にはどのように実装されますか?カメラは、固定された専用ピンを使用してSmartDMA ファームウェアによって完全に駆動されますか? MCXA Re: Does the MCXA346VLQ device include a FlexIO module? 分かりやすく詳しいご説明をありがとうございます。これにより、MCXA346 に関するいくつかの疑問が解消され、その後の調査に非常に役立つでしょう。 Re: Does the MCXA346VLQ device include a FlexIO module? こんにちは、 MCX A346 MCU には、フレキシブル入力/出力 (FlexIO) モジュールがありません。 MCX A345、A346、A355、A356、A365、A366リファレンスマニュアルの表63に記載されているALTピンマックス割り当ての説明は、表63セクション12の注記で「CAN1、I3C、FlexIO、SLCDはMCXA34x/A35xでは利用できません」と規定されているため、MCXA346には適用されません。 MCX A346 には、J9 のカメラ コネクタを介した通信をサポートする SmartDMA モジュールが含まれています。SmartDMA 固定ピンの説明は、FRDM-MCXA346 ボード ユーザー マニュアル (セクション 2.7、カメラ インターフェース) の図 12 と表 14 に示されています。 他にご質問がございましたら、お知らせください。 敬具、ルイス
查看全文
[Lear][SAF][S32K3]メモリ要件の確認 こんにちは、チームの皆さん リアには問題がある: ----------------------------------------------------------------------------------------- SAF: v1.0.5 誘導体: S32K311 対応する ASIL パーティションにシンボルを割り当てるときに、深刻な問題が発生し始めています。問題は、sCheck がシンボル sCheck_DataCacheL1_Buffer の間に大きなギャップを導入することです。 合計で、これらのシンボルは 8KB のメモリを必要としますが、実際に使用されるのは 384 バイトだけです。適切な解決策は、各バッファに異なるメモリ セクションを用意することです (VAR_INIT_8192_EXEC_0 および VAR_INIT_8192_EXEC_1 と同様)。ただし、これには SAF の修正が必要になります。この変更を加えた SAF バージョンを作成することは可能ですか?代替案を提案してもらえますか? ---------------------------------------------------------------------------------- BR ステファノ 優先度: 高 SAFETY_SW 出典: 直接お客様 Re: [Lear][SAF][S32K3]sCheck memory needs こんにちは、 @StefanoGattazzoさん。 これは4月1日に送信された最後のメールからの提案です。 現時点で、アライメントによる大きな未使用メモリギャップを回避するために試せる対策は次のとおりです。   1) .s32_saf_bss にアプリケーションの BSS 変数も追加していただけます か? これにより、リンカーはBSSコンテンツを効率的に配置するためのより多くの選択肢を得ることができ、大きなギャップを減らすことができる。   2) リンカーファイルでOVERLAY機能を使用できます。 重ね合わせたメモリ領域が同時に使用されない場合は、それらすべてに同じメモリ範囲を利用することで、メモリを無駄にしないようにすることができます。 簡略化した例: .sram_bss (NOLOAD) : { . = ALIGN(8); ... EXCLUDE_FILE(sCheck_CacheTest_S32K3XX.c) (.s32_saf_bss) // all SAF BSS sections except sections from sCheck_CacheTest_S32K3XX.c file with huge alignment ... __sram_bss_end = .; } > int_sram OVERLAY : { .sram_bss_2 (NOLOAD) { sCheck_CacheTest_S32K3XX.c(.s32_saf_bss) // SAF buffers from sCheck_CacheTest_S32K3XX.c file with huge alignment // (this creates section size of ~6KB) } .user_bss_buffers { /* Other user BSS sections 6KB or more that can overlap with cacheable SAF BSS section and are not used at the same time*/ } } > int_sram 今のところ返答はありません。 この方法がお客様のご要望に合わない場合は、お客様のご提案に基づき、各セクションを特定のセクションに配置するなど、リンカーファイル内の正確な配置をお客様が制御できるようにする改善策を検討する可能性があります。 敬具、 ラドスラフ
查看全文
MCSPTR2AK396 EVBイーサネット接続、CRS_DV信号の明確化 S32K396 イーサネット コネクティビティを調査していたところ、TJA1103A CRS_DV (RX_CTL/CONFIG6) ピンが MCSPTR2AK396 ボード上の MCU にルーティングされていないことに気付きました。 これは意図的なものでしょうか、それとも配線のバグでしょうか? ボードにパッチを当てて信号を MCU ピン 41 PTD14 に接続したところ、イーサネットは動作しますが、信号がなくても動作するかどうかが気になります。信号をパッチせずにテストしたことがなかったことに気付きました。 Re: MCSPTR2AK396 EVB ethernet connectivity, CRS_DV signal clarification こんにちは、 MCSPTR2AK396 のルーティングが欠落しているのは、意図的な選択ではなく、デザイン上の見落としによるものであることはほぼ間違いありません。 あなたの修正 (CRS_DV を PTD14 にルーティング) は正しい、必要な解決策です。 BR、ペトル
查看全文
[Nexteer][S32K3] 有关在 Bist 上注入 eMcem 错误的问题 嗨,团队、 本问题源于Nexteer 社区中的这个帖子。 在使用 SAF eMcem 模块注入故障 73、74、75 和 76 时,Nexteer 发现了不正确/不一致的行为。在使用 eMcem 驱动程序和 API 设置故障后,尝试清除注入的故障时,它们在硬件寄存器中无法清除。您能提供支持吗? 我一直在尝试通过 eMcem 模块注入有关 BIST 的 DCM 级 FCCU 故障。到目前为止,我都没有成功,因为无论我注入什么故障(我正试图分别注入 73、74、75 和 76),我都会得到 73 号故障。 在阅读了您的 eMcem 文件后,文件指出 我从 emcem NMI 调用挂钩中获得 Fault 73 是有道理的,但我预计,如果我在 NMI 中让 emcem 控制权之前用 73 和 75 调用 emceM_ClearFaults,它应该会清除 DCMROD5 为零(或者至少是我想测试的那位)。但事实并非如此。相反,我可以清除第 11 位,但不能清除第 9 位。我似乎做什么都无法清除第 9 位,包括在调试器中写入第 9 位。 这是我第一次输入 NMI 时的截图 但在拨打 eMcem_ClearFaults(emcem_dcm_ncf_5_sys_xfr_err); eMcem_ClearFaults(emcem_dcm_ncf_5_mbist_backdoor); eMcem_ClearFaults(emcem_dcm_ncf_5_lmbist_user_cf); eMcem_ClearFaults(emcem_dcm_ncf_5_stcu_ncf); 我还有 这意味着我的调用中总是出现 FaultId 73。我执行了清除功能,试图向第 9 位写入 1,但寄存器仍未清除。 你知道我错过了什么吗?这是应该发生的,还是另有隐情?如果我有真正的故障,就会出现这种情况,还是这只是假冒注入这些故障的副作用?注入这些故障时,是一次性注入还是永久性注入? 谢谢, Daniel V. SAFETY_SW Re: [Nexteer][S32K3] Question Regarding eMcem Error Injection on Bist 嗨,团队 - 有更新吗? Re: [Nexteer][S32K3] Question Regarding eMcem Error Injection on Bist 嗨,丹尼尔, ,我可以确认我观察到了相同的行为,但从 eMcem 的角度来看,这种故障的处理与其他故障相同,因此我看不到 eMcem 代码中有任何错误。 问题是 sCheck 没有覆盖 NCF[5] 组,我们也没有要求对这些机制的潜在故障进行检查,因此我们只能依靠 LBIST 对这些机制进行覆盖。 我认为调试这些故障很棘手,因为我们可以看到,调试器可能会受到干扰,导致不可预测的结果。 RM 中没有关于这些故障的更多信息,因此我认为我们需要与硬件团队讨论或询问功能安全架构师是否需要对 EIM 进行一些潜在故障检查,还是仅仅依靠 LBIST。 亲切的问候, Radoslav Re: [Nexteer][S32K3] Question Regarding eMcem Error Injection on Bist 嗨,@RadoslavB、 感谢您的回复。我已经在 Internal SafeAssure 社区开了一张后续通知单来咨询硬件团队和功能安全架构师:https://community.nxp.com/t5/INTERNAL-SafeAssure/Nexteer-S32K3-Question-Regarding-eMcem-Error-Injection-on-Bist/m-p/2330980#M1741 如果我遗漏了任何从 SW 角度来看所需的信息,请随时补充细节。 谢谢, Daniel V.
查看全文