Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
SCTIMER Interupt 在 FRDM-MCXN947 板上的用法 亲爱的恩智浦社区 目前,我正在使用板载 SCTIMER 外设开发一个程序。我正试图通过 SCTIMER 在状态实现的第三个状态下启动 CTIMER0 外设,以产生 PWM 信号。该 PWM 信号被路由至 GPIO 引脚。为了实现这一点,我需要在第三个状态下实现中断,以便在该状态下专门启动 CTIMER0。不过,由于经验不足,我在编写此类中断程序时遇到了一些麻烦。你能帮帮我吗? 我目前正在编写的代码如下: void SCT0_IRQHandler(void) { SCTIMER_EventHandleIRQ(SCT0_PERIPHERAL); // 只有当 SCTIMER 达到状态 2 时才启动 CTIMER CTIMER_StartTimer(CTIMER0_PERIPHERAL); PRINTF("CTIMER started from SCTIMER state 2 event.\r\n"); } 静态 void SCT0_init(void) { CTIMER0_init(); SCTIMER_Init(SCT0_PERIPHERAL,&SCT0_initConfig); /* 启用 NVIC 中的中断 SCT0_IRQN 请求 */ /* 状态 0 初始化 */ SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[0]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[0]); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[2]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[2]); SCTIMER_CreateAndScheduleEvent(SCT0_PERIPHERAL、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[0]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 1, SCT0_event[0]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 1 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[1]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[1]); SCTIMER_CreateAndScheduleEvent(SCT0_PERIPHERAL、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[1]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 2, SCT0_event[1]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 2 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[3]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[3]); SCTIMER_CreateAndScheduleEvent(SCT0_PERIPHERAL、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event_startCTimer); SCTIMER_SetCallback(SCT0_PERIPHERAL, SCT0_IRQHandler, SCT0_event_startCTimer); 启用 IRQ(SCT0_IRQn); } 下图显示了开始时的波形。目标是在黄色 PWM 信号的第四个上升沿开始蓝色 PWM 信号。 时钟|计时器 开发板 MCX N Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 您好@Kevin_Pang, 您遇到的问题似乎在下一个主题中讨论过。我建议按照 ZhangJennie 提供的建议进行操作,看看是否有助于解决问题。 BR Habib Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 亲爱的 Habib, 我试着运行了一个基本的 sdk 示例,但还是遇到了同样的错误。 谨致问候、 凯文 Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 你好 @Kevin_Pang,你 能否尝试运行一个 SDK 示例,比如 " hello_world、" 来确定异常是由你的代码引起的还是你的板特有的? BR Habib Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 亲爱的哈比卜 感谢您的联系。 我现在在开发板上遇到了问题。因此,在尝试调试我的项目时,它引发了一个异常:"Unable to open probe index 1" ,错误信息为:"Probe not open" 。之后,它就无法与核心连接了。在我的设置没有任何改变的情况下,这种情况突然发生了。您能帮我解决这个问题吗? 谨致问候, Kevin Pang Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 您好@Kevin_Pang, ,很高兴您的问题得到了解决。如果有什么需要我帮忙的,请告诉我。 BR Habib Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 问题解决了: 我已经找到了正确编程中断的解决方案。代码实现如下(CTIMER init 未显示): void SCT0_IRQHandler(void) { SCTIMER_EventHandleIRQ(SCT0_PERIPHERAL); } 无效 启动_CTIMER(void) { // 只有当 SCTIMER 达到状态 2 时才启动 CTIMER CTIMER_StartTimer(CTIMER0_PERIPHERAL); PRINTF("CTIMER started from SCTIMER state 2 event.\r\n"); } 常数 sctimer_config_tSCT0_initConfig = { .enableCounterUnify = true、 .clockMode = kSCTIMER_System_ClockMode, .clockSelect = kSCTIMER_Clock_On_Rise_Input_0, .enableBidirection_l = false、 .enableBidirection_h = false、 .prescale_l = 0U、 .prescale_h = 0U、 .outInitState = 0U、 .inputsync = 0U }; 常数 sctimer_pwm_signal_param_tSCT0_pwmSignalsConfig[4] = { { .输出 = kSCTIMER_Out_0, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 50U }, { .输出 = kSCTIMER_Out_1, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 100U }, { .输出 = kSCTIMER_Out_1, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 0U }, { .输出 = kSCTIMER_Out_1, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 0U } }; uint32_tSCT0_pwmEvent[4]; uint32_tSCT0_event[4]; uint32_tSCT0_event_startCTimer; 静态 void SCT0_init(void) { SCTIMER_Init(SCT0_PERIPHERAL,&SCT0_initConfig); /* 启用 NVIC 中的中断 SCT0_IRQN 请求 */ /* 状态 0 初始化 */ SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[0]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[0]); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[2]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[2]); SCTIMER_CreateAndScheduleEvent(sct0_peripheral、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[0]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 1, SCT0_event[0]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 1 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[1]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[1]); SCTIMER_CreateAndScheduleEvent(sct0_peripheral、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[1]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 2, SCT0_event[1]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 2 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[3]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[3]); SCTIMER_CreateAndScheduleEvent(sct0_peripheral、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event_startCTimer); SCTIMER_SetCallback(SCT0_PERIPHERAL, Start_CTIMER, SCT0_event_startCTimer); SCTIMER_EnableInterrupts(SCT0, (1U<< SCT0_event_startCTimer)); 启用 IRQ(SCT0_IRQn); }  
查看全文
flash.bin FRDM IMX93 Hi all, I am using FRDM iMX93. As unpacked I tried to follow https://www.nxp.com/document/guide/getting-started-with-frdm-imx93:GS-FRDM-IMX93?section=build-and-run and all works perfect. Now I want my custom u-boot, ATF, OPTEE. I used same hash as the yocto and builds perfectly. I use mkimage to create the flash.bin and all fine untill this point. But ... when I try to flash this flash.bin (using Balena) nothing happens in console. I tried to use from the working yocto the flash,bin but the same, no boot. How can I created a bootable image using only flash.bin? When I see u-boot boots will add the kernel rootfs later. Regards, anpa Re: flash.bin FRDM IMX93 So for me this was the solution: dd if=iMX93/flash.bin of=bootable.img bs=1K seek=32 conv=fsync than with Balena bootable.img is booting. Ineed to figure out why I have some error but at least I see the console output: U-Boot SPL 2024.04-00003-g7e135e087e8 (Jul 19 2025 - 19:10:15 +0000) SOC: 0xa1009300 LC: 0x40010 PMIC: PCA9451A PMIC: Over Drive Voltage Mode Error: ele_volt_change_start_req: ret -5, response 0xf429 Error: ele_volt_change_finish_req: ret -5, response 0xf429 DDR: 3733MTS DDR: 3733MTS found DRAM 2GB DRAM matched M33 prepare ok Normal Boot Trying to boot from BOOTROM Boot Stage: Primary boot image offset 0x8000, pagesize 0x200, ivt offset 0x0 Load image from 0x40400 by ROM_API "Synchronous Abort" handler, esr 0x02000000 elr: 00000000204e0000 lr : 000000002049dafc x 0: 00000000204e0000 x 1: 0000000020501ba0 x 2: 0000000000000fc0 x 3: 0000000083200040 x 4: 00000000204b6958 x 5: 0000000083200450 x 6: 0000000000000001 x 7: 0000000083200450 x 8: 00000000000000f0 x 9: 00000000796d7959 x10: 00000000796d7959 x11: 0000000000000001 x12: 0000000000000001 x13: 0000000000000012 x14: 0000000000000001 x15: 0000000000000003 x16: 00000000204a5ef4 x17: 0000000000000000 x18: 0000000020501c10 x19: 00000000204b9af8 x20: 00000000204b9ae0 x21: 0000000020501bb0 x22: 00000000deadbeef x23: 00000000204b9ae0 x24: 000000000000000f x25: 0000000000000000 x26: 00000000204ad81c x27: 00000000204ad000 x28: 00000000204ad804 x29: 0000000020501b30 Code: 00000000 00000000 00000000 00000000 (00000004) Resetting CPU ... resetting ... Re: flash.bin FRDM IMX93 Thx for reply I will try this out. If this works than it means uuu tool inserts some header which is recognized by the ROM boot? Is there any detailed documentation about the boot sequence? Re: flash.bin FRDM IMX93 Hello, I suggest you use UUU instead Balena. Please try the next command: uuu -b flash.bin Best regards.
查看全文
Zephyr を実行する MIMXRT1180-EVK 用の Gen AVB TSN スタックを構築する 標的: Zephyr を実行している CM7 ターゲット上で MIMXRT1180-EVK ボード用の Gen AVB TSN スタックを構築しようとしています。 https://github.com/NXP/GenAVB_TSN FreeRTOS用の設定ファイルがあります: config_freertos_rt1189_cm7.cmake しかし、Zephyr の場合は違います。Zephyr には次の機能があります。 config_zephyr_imx8mm_ca53.cmake config_zephyr_imx8mn_ca53.cmake config_zephyr_imx8mp_ca53.cmake config_zephyr_imx93_ca55.cmake 入力が必要です: 誰か、参考として、上で述べた Zephyr ターゲットの 1 つ用にこれを構築する方法を共有してもらえませんか。 また、誰かが私のアプローチを見て、正しい方向に進んでいるかどうかをCAN確認してくれると嬉しいです。 私が試したこと: 私が採用しているアプローチは、GEN AVB TSN スタックをライブラリとして組み込んだ Zephyr アプリケーションを構築しようとすることです。私のワークスペースでは、github からソースコードを取得しました。 |- ワークスペース | |- GenAVB_TSN | |- rtos抽象化レイヤー | |- ゼファープロジェクト | |- mcux_sdk_main | |- zephyr-genavb-demo --> Zephyr アプリケーション | | |- CMakeLists.txt | | |- ローカル構成_mimxrt1180_evk_mimxrt1189_cm7.cmake | | |- ソース | | | |- メイン.c なお、Zephyr のセットアップはすでに完了しており、次のコマンドを使用して CM7 ターゲット用の hello_world アプリケーションをビルドできます。 cd ~/zephyrproject/zephyr west ビルド -p -b mimxrt1180_evk/mimxrt1189/cm7 サンプル/hello_world GenAVB_TSN は 7_1 ブランチにあり、config_zephyr_imxrt1189_cm7.cmake を追加しました: Zephyr アプリケーションには 2 つのメイン ファイルがあります。CMakeLists.txt と local_config_mimxrt1180_evk_mimxrt1189_cm7.cmake ビルドに使用するコマンド: cd ~/zephyrproject/zephyr west ビルド -p -b mimxrt1180_evk/mimxrt1189/cm7 ~/zephyr-genavb-demo/ --sysbuild Re: Build Gen AVB TSN stack for MIMXRT1180-EVK running Zephyr こんにちは@SDC ご辛抱いただきありがとうございます。社内で協議しており、以下にコメントを共有させていただきます。 現時点では、MCU をターゲットとする場合、Zephyr で GenAVB/TSN スタックをコンパイルするための公式かつテスト済みの方法はありません。README の表に示されているように、現時点では i.MX 8M バリアントと i.MX 93 のみがサポートされています。(サポートされているハードウェア ターゲットと構成) NXP ガイドラインでは、お客様の開発プロセスも、当社側からサポートを追加するためのタイムラインもサポートされていません。 FreeRTOS 用にコンパイルされた i.MX 93 スタックと Zephyr 用にコンパイルされた i.MX 93 スタックの違いを正確に判別することはできません。おそらく、ユーザー自身が i.MX RT1180 のコンパイルを成功させることは技術的には可能 (多大な努力が必要です) ですが、それを強くお勧めしません。 今回はサポートできず申し訳ございません。 ディエゴ Re: Build Gen AVB TSN stack for MIMXRT1180-EVK running Zephyr こんにちは@SDC お問い合わせいただきありがとうございます。 i.MX MPU ターゲットについては、Harpoon プロジェクト(https://github.com/NXP/GenAVB_TSN?tab=readme-ov-file#zephyr)でのみCAN参照できます。 i.MX RT1180 の AVB TSN Zephyr 統合に関しては、現在このトピックを確認中です。後ほどご連絡いたします。 ディエゴ
查看全文
当 MEM_43_INFLS_AC_LOAD_ON_JOB_START 启用时,S32K3 memacc 在 pflash 上工作会导致硬故障 当 MEM_43_INFLS_AC_LOAD_ON_JOB_START 启用时,S32K3 memacc 在 pflash 上工作会导致硬故障 内存中的数据与 pflash 中的代码完全相同 Re: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on 您好, 您解决这个问题了吗? 我有同样的行为,有什么建议吗? 非常感谢! 回复: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on 你好,我是@琦茂-马文、 能否说明热电阻的修订版本和 S32K3xx 部件号? 或者您能分享整个项目吗? 谢谢! BR,丹尼尔 回复: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on 因为我试图擦除的地址是在函数库中,0x400000 - 0x500000 是一个库,但即使我把代码放到内存中,也会导致硬故障,但如果我在 0x500000 处擦除,函数运行良好。 Re: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on 你好,我是@琦茂-马文、 您能说明 S32K3xx 部件号和您编程的扇区吗? 您能分享一下这个项目吗? 关于硬故障,您能找到有关故障的更多信息吗? 请遵循以下指导原则: https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 BR,丹尼尔
查看全文
NHS3152 被动测量 大家好 我在定制的 PCB 上安装了 NHS3152。印刷电路板非常简单,只有一个用于 MCU-Link Pro 的 SWD 连接器,以及一些连接丝网印刷天线的连接器。为了实现功率稳定性,两个引脚 3 & 引脚 7 都有 2 个 100nF 电容并联(总共 4 个电容)。 我在电阻测量方面遇到一个问题。我有两个用于电阻测量的通道(通道 0 = 引脚 0、1;通道 1 = 引脚 4、5;)。当我在板处于被动运行状态(调试器没有电源)时进行电阻测量时,我的 NFC 扫描仪(适用于 Arduino Uno 的 Adafruit PN532 子卡)无法接收任何数据。不过,当 NHS3152 从我的调试器接收电源时,它确实能从测量中接收到正确的数据。 如果禁用代码中与电阻测量有关的部分,我就能成功读取 NFC 内容,因此我怀疑 ADC 消耗了太多电能? 如能得到任何帮助,我们将不胜感激。 IDE:MCUXpresso v24.9.25 SDK: release_mra2_12_6_nhs3152 扫描仪在读取失败时的输出(以被动模式运行): ================================================= Tag 找到并激活!准备读取数据 UID 长度:7 字节 UID 值:0x04 0x8E 0xE6 0x00 0x00 0xA8 0x00 0x10----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------从第 8-12 页读取数据读取第 8 ================================================= 标签丢失或通信失败。正在重置... =========================== 通过调试器为 NHS3152 供电时扫描仪的输出: ================================================= Tag 找到并激活!准备读取数据 UID 长度:7 字节 UID 值:0x04 0x8E 0xE6 0x00 0x00 0x00 0x10 --------------------------------------------------------------------------------------------------------------------------------------- -第 08 页:6E 52 31 3A nR1:第 09 页:34 2C 52 32 4,R 2 第 10 页:3A 2D 31 FE:-1 第 11 页:86 56 4D 3D VM= 第 12 页:84 28 57 0= 第 12 页:84 28 57 0= 第 12 页:84 28 57 0= 第 12 页:84 28 57 0= 第 12 页:84 28 57 0= 第 12 页 C (W. 数据读取成功。标签仍然存在。 ---------------------------------------- NHS3152 main.c: /* * 詹姆斯 哈罗德, 2025, 赛昂 * * 该程序测量两个独立 模拟 通道 的电阻 * 并将结果写入 NFC 标签以进行无线读取。 * */ // 1. #include " board.h " #include "ndeft2t/ndeft2t.h" #include #include "pmu_nss.h" #include "gpio_nss.h" #include #include #include // 2. #defineCHANNEL_0 0 // 电容& 电阻通道 #defineCHANNEL_1 1 // 电阻通道 #defineNUM_CHANNELS 2 // 测量通道总数 // 3. 全局变量 // 用于创建 NDEF 信息的缓冲区(用于 NFC) 静态uint8_t g_ndeft2tInstanceBuffer[NDEFT2T_INSTANCE_SIZE] ((对齐(4));) __attribute__((对齐(4))); 静态uint8_t g_nfcMessageBuffer[NFC_SHARED_MEM_BYTE_SIZE] ((align (4);) __attribute__((对齐(4))); // 用于存储每个测量通道结果的数组 易失性int32_t measuredResistance[NUM_CHANNELS] = {0, 0}; // 4. 回调(库需要,但未使用) void NDEFT2T_FieldStatus_Cb(bool status) { (void)status; } void NDEFT2T_MsgAvailable_Cb(void) { /* 未使用 */} // 5. 函数原型 无效 设置电源稳定(void); 无效 设置电阻测量(通道通道); int32_t 执行并计算阻力(通道通道); 无效 WriteMeasurementsToNFC(int32_t res1, int32_t res2); 无效 WriteHelloMessageToNFC(void); // 6. 主代码 int main(void) { //第 1 步:执行最低限度的板和电源设置 Board_Init(); setupPowerStabilis at ion ();//必须尽早执行才能从 NFC 标签收集能量 // --- 为将要使用的外设启用时钟和电源 --- --- 为将要使用的外设启用时钟和电源 Chip_Clock_Peripheral_EnableClock(时钟外设_adcdac| 时钟外设_i2d); Chip_SysCon_Peripheral_EnablePower(syscon_peripheral_power_adcdac| syscon_peripheral_power_i2d); // 稍微延迟以稳定电源和时钟 Chip_Clock_System_BusyWait_us(100); // --- 电阻测量初始化 --- //初始化外设并配置模拟引脚 Chip_ADCDAC_Init(NSS_ADCDAC0); Chip_I2D_Init(NSS_I2D); //为通道 0(ANA0_0、ANA0_1)配置 模拟 引脚 Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_ANA0_0, iocon_func_1); Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_ANA0_1, iocon_func_1); //为通道 1(ANA0_4、ANA0_5)配置 模拟 引脚 Chip_IOCON_SetPinConfig(NSS_IOCON.IOCON_ANA0_4) IOCON_ANA0_4, iocon_func_1); Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_ANA0_5, iocon_func_1); // 将 ADC 设置为较窄的电压范围(1.0V) Chip_ADCDAC_SetInputRangeADC(NSS_ADCDAC0、 输入范围_窄); // 第 2 步:初始化 NFC 通信 Chip_NFC_Init(NSS_NFC); NDEFT2T_Init(); // 第 3 步:进行电阻测量 设置电阻测量(CHANNEL_0); measuredResistance[CHANNEL_0] = PerformAndCalculateResistance(CHANNEL_0); 设置电阻测量(CHANNEL_1); measuredResistance[CHANNEL_1] = PerformAndCalculateResistance(CHANNEL_1); //第 4 步:将测量值写入 NFC 标签 WriteMeasurementsToNFC(measuredResistance[CHANNEL_0], measuredResistance[CHANNEL_1]); //WriteHelloMessageToNFC(); //---使用后掉电外围设备以节省能源--- Chip_SysCon_Peripheral_DisablePower(syscon_peripheral_power_adcdac| syscon_peripheral_power_i2d); Chip_Clock_Peripheral_DisableClock(时钟外设_adcdac| 时钟外设_i2d); // 第 5 步:等待 NFC 外设中断 而(1) { __WFI(); } 返回0; // 应该永远不会达到 } // 7.函数声明 /** * @brief 配置硬件,以便在特定通道上进行电阻测量。 * @参数通道:要安装的测量通道(CHANNEL_0 或 CHANNEL_1) * @return Nothing */ 无效 设置电阻测量(int通道) { ADCDAC_IO_Tdac_pin I2D_INPUT_Ti2d_pin; 如果(channel == CHANNEL_1) { dac_pin = adcdac_io_ana0_4; i2d_pin = i2d_input_ana0_5; } 其他{ dac_pin = adcdac_io_ana0_0; i2d_pin = i2d_input_ana0_1; } Chip_ADCDAC_SetMuxDAC(NSS_ADCDAC0, dac_pin); Chip_ADCDAC_WriteOutputDAC(NSS_ADCDAC0, 0xFFF); // 从 0xFFF 改为 0x800,以降低 DAC 输出电压 Chip_I2D_SetMuxInput(NSS_I2D, i2d_pin); 如果(channel == CHANNEL_0) { Chip_I2D_Setup(NSS_I2D、 I2D_single_shot, I2D_SCALER_GAIN_100_1, i2d_converter_gain_low, 10); // 将 I2D 转换周期从 100 改为 10(省电) } 其他{ Chip_I2D_Setup(NSS_I2D、 I2D_single_shot, I2D_SCALER_GAIN_100_1, i2d_converter_gain_low, 10); // 将 I2D 转换周期从 100 改为 10(省电) } // 等待片刻,使电压和电流趋于稳定。 Chip_Clock_System_BusyWait_ms(1); } /** * @brief 初始化 GPIO 以启用电容组以实现功率稳定性。 * @return Nothing * 注:这是被动运行最关键的初始化。 */ 无效 设置电源稳定(void) { Chip_IOCON_Init(NSS_IOCON); Chip_GPIO_Init(NSS_GPIO); // --- 第 1 阶段:预热 --- // 将引脚配置为 INPUTS,并启用内部上拉电阻。 //这允许外部电容缓慢充电而不会导致电压下降。 Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_PIO0_3, iocon_func_0 | iocon_rmode_pullup); // 将引脚 3 配置为 GPIO 并启用上拉功能 Chip_GPIO_SetPinDIRInput(NSS_GPIO, 0, 3); // 将引脚 3 配置为输入 Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_PIO0_7, iocon_func_0 | iocon_rmode_pullup); // 将引脚 7 配置为 GPIO 并启用上拉功能 Chip_GPIO_SetPinDIRInput(NSS_GPIO, 0, 7); // 将引脚 7 配置为输入 //稍等片刻,让电容充电。 Chip_Clock_System_BusyWait_ms(60); // 约.60ms 的 4 个时间常数(每个引脚都连接有 200nF) // --- 第 2 阶段:参与 --- // 现在电容已经充好电,我们可以安全地将它们连接到电源轨上了 // 将引脚设置为 OUTPUT 并将其驱动为高电平。 Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_PIO0_3, iocon_func_0 | iocon_rmode_inact); // 将引脚 3 配置为 GPIO 并禁用上拉功能 Chip_GPIO_SetPinDIROutput(NSS_GPIO, 0, 3); // 将引脚 3 配置为输出 Chip_GPIO_SetPinOutHigh(NSS_GPIO, 0, 3); // 将引脚 3 设置为高电平,将其连接至 VDD 电压轨 Chip_IOCON_SetPinConfig(NSS_IOCON、 IOCON_PIO0_7, iocon_func_0 | iocon_rmode_inact); // 将引脚 7 配置为 GPIO 并禁用上拉功能 Chip_GPIO_SetPinDIROutput(NSS_GPIO, 0, 7); // 将引脚 7 配置为输出 Chip_GPIO_SetPinOutHigh(NSS_GPIO, 0, 7); // 将引脚 7 设置为高电平,将其连接至 VDD 电压轨 } /** * @brief 用两个电阻值创建一个 NDEF 报文,并将其写入内存。 * @参数res1 : 第一个通道的原始电阻值。 * @参数res2 : 第二通道的原始电阻值。 * @return Nothing */ 无效 WriteMeasurementsToNFC(int32_t res1, int32_t res2) { charpayloadText[64]; ndeft2t_create_record_info_tcreateRecordInfo; uint8_t locale[] = "en"; snprintf(payloadText、 sizeof(payloadText)、 "R1:%ld,R2:%ld",res1,res2); NDEFT2T_CreateMessage(g_ndeft2tInstanceBuffer, g_nfcMessageBuffer、 NFC_SHARED_MEM_BYTE_SIZE,true); 创建记录信息。短记录= 1; 创建记录信息。pString= locale; 如果(NDEFT2T_CreateTextRecord(g_ndeft2tInstanceBuffer,&createRecordInfo)) { 如果(NDEFT2T_WriteRecordPayload(g_ndeft2tInstanceBuffer, (uint8_t*)payloadText、 strlen(payloadText))){ NDEFT2T_CommitRecord(g_ndeft2tInstanceBuffer); } } NDEFT2T_CommitMessage(g_ndeft2tInstanceBuffer); } /** * @brief 创建一个简单的 NDEF 文本信息"hello" 并将其写入 NFC 存储器。 * @return Nothing */ 无效 WriteHelloMessageToNFC(void) { charpayloadText[] = "香蕉"; ndeft2t_create_record_info_tcreateRecordInfo; uint8_t locale[] = "en"; // 1.开始在缓冲区中创建新的 NDEF 消息。 NDEFT2T_CreateMessage(g_ndeft2tInstanceBuffer, g_nfcMessageBuffer、 NFC_SHARED_MEM_BYTE_SIZE, true /* isFirstMessage */); // 为新的 NDEF 文本记录准备信息。 创建记录信息。短记录= 1; 创建记录信息。pString= locale; // 3.在信息中创建文本记录结构。 如果(NDEFT2T_CreateTextRecord(g_ndeft2tInstanceBuffer,&createRecordInfo)) { // 4. 将实际的"hello" 字符串写入记录的 有效负载. 如果(NDEFT2T_WriteRecordPayload(g_ndeft2tInstanceBuffer, (uint8_t*)payloadText、 strlen(payloadText))){ // 5.最终确定该具体记录。 NDEFT2T_CommitRecord(g_ndeft2tInstanceBuffer); } } // 6. 完成最终完成整个信息,并将其提供给 NFC 硬件。 NDEFT2T_CommitMessage(g_ndeft2tInstanceBuffer); } /** * @brief 执行 ADC 和 I2D 转换,并计算特定通道的电阻。 * @参数channel : 要测量的测量通道(CHANNEL_0 或 CHANNEL_1) * @return 按比例缩放的原始电阻值,如果出现错误(如开路),则返回-1。 * 注使用低功耗的 __WFE() 等待转换,这对被动模式至关重要。 */ int32_t 执行并计算阻力(int通道) { int32_t v_drive、v_sense、i2d_val、adc_diff、resistance_result; ADCDAC_IO_Tdrive_pin_adc、sense_pin_adc; /* * 注意:假设外设时钟和电源已在 main() 中启用。 * 如果从多个地方调用该函数,您可能会启用/禁用 * 而不是在这里。在此应用中,在 main() 中启用效率更高。 */ 如果(channel == CHANNEL_1) { 驱动器针脚 ADC = adcdac_io_ana0_4; 感测针 ADC = adcdac_io_ana0_5; } 其他{ 驱动器针脚 ADC = adcdac_io_ana0_0; SENSING_PIN_ADC = adcdac_io_ana0_1; } // --- V_DRIVE ADC 测量 --- Chip_ADCDAC_SetMuxADC(NSS_ADCDAC0, drive_pin_adc); Chip_ADCDAC_StartADC(NSS_ADCDAC0); // 新的低功耗方式:休眠直到 ADC 转换完成。 同时(!(Chip_ADCDAC_ReadStatus(NSS_ADCDAC0)& ADCDAC_STATUS_ADC_DONE)){ { /* 等待 */} } v_drive = Chip_ADCDAC_GetValueADC(NSS_ADCDAC0); // --- V_SENSE ADC 测量 --- Chip_ADCDAC_SetMuxADC(NSS_ADCDAC0, sense_pin_adc); Chip_ADCDAC_StartADC(NSS_ADCDAC0); // 休眠,直到 ADC 转换完成。 同时(!(Chip_ADCDAC_ReadStatus(NSS_ADCDAC0)& ADCDAC_STATUS_ADC_DONE)){ { /* 等待 */} } v_sense = Chip_ADCDAC_GetValueADC(NSS_ADCDAC0); // --- I2D 测量 --- Chip_I2D_Start(NSS_I2D); // 休眠,直到 I2D 转换完成。 同时(!(Chip_I2D_ReadStatus(NSS_I2D)& i2d_status_conversion_done)){ { /* 等待 */} // 等待事件 - 在 ADC_DONE 事件发生时唤醒 --> 用 busy waits 代替 __WFE() {} } i2d_val = Chip_I2D_GetValue(NSS_I2D); /* * 注意:外围设备保持通电状态,以便进行下一次测量。 * 它们将在 main() 结束时关闭电源。 */ // --- 计算 --- adc_diff = v_drive - v_sense; 如果(adc_diff< 1) { adc_diff = 1; } 如果(i2d_val> 0) { resistance_result = ((uint32_t)adc_diff * 10000) / i2d_val; } 其他{ resistance_result = -1; // 表示开路或错误 } 返回resistance_result; } ntag2xx_read.ino: /**************************************************************************/ /*! @文件 readntag_continuous_power_and_data.ino @ 作者 KTOWN (Adafruit Industries) / 经过修改,可连续读取电源和数据 @licenseBSD(见 license.txt) 此版本保持被动 NFC 标签持续供电,并且每个标签都处于开启状态 循环,读取并显示特定页面(8-13)范围内的数据。 当标签被移除时,它会RESET。 */ /**************************************************************************/ #include #include #include // 如果使用带 SPI 的断路器,请定义用于 SPI 通信的引脚。 #define PN532_SCK (SCK) #define PN532_MISO(MISO) #define PN532_MOSI(MOSI) #define PN532_SS (10)// 或您使用的任何 SPI CS 引脚 //如果在 I2C 中使用突破或子卡,则为 I2C 定义引脚 // 并注释 SPI 定义。 #define PN532_IRQ (2) #define PN532_RESET(3) // 这一行用于 I2C Adafruit_PN532 nfc(pn532_irq, pn532_reset); // 或使用这一行进行 SPI // Adafruit_PN532 nfc(PN532_SCK, PN532_MISO, PN532_MOSI, PN532_SS); // 全局状态变量用于跟踪标签是否被选中 booltagIsPresent = 假; uint8_tuid[] = { 0, 0, 0, 0, 0, 0, 0}; uint8_tuidLength; intpageStart = 8; intpageEnd = 12; 无效 设置(void) { 系列.开始(115200); 当(!Serial) 延迟(10);// 适用于莱昂纳多/微处理器/零 nfc.开始(); uint32_t版本数据 = nfc.获取固件版本(); 如果(!versiondata) {     序列号。打印(" 没找到 PN53x 板 "); 虽然(1);// 停止   } 系列.打印("找到芯片 PN5"); 序列.打印((versiondata>> 24)& 0xFF,HEX); 系列.打印(", Firmware ver."); 序列号.打印((versiondata>> 16)& 0xFF, DEC); 序列号.打印('.'); 序列.println((versiondata>> 8)& 0xFF, DEC); //将板配置为监听 ISO14443A 卡 nfc.SAMConfig(); 系列.println("等待 ISO14443A 卡供电和读取..."); } 无效 loop(void) { // === 状态 1:未选择标签 === // 如果没有标签,请尝试查找。 如果(!tagIsPresent) { 序列号.打印(".");// 打印一个点,表示我们正在等待 // 等待卡片进入字段。这也提供了动力。 bool成功 = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid,&uidLength、 500); 如果(成功) { tagIsPresent = true; 系列.println("\n================================================="); 系列.println("标签已找到并激活!准备读取数据。"); 序列号 。 打印( " UID 长度:"); 序列号 。 打印 (UIDLength,DEC);序 列号。 println( " 字节 "); 系列.打印(" UID 值:"); nfc.PrintHex(uid, uidLength);       // 可选的延迟:如果你的标签是一个需要时间的传感器 // 开机后执行测量,在此处添加延迟时间。 // 对于许多传感器标签来说,200 毫秒是一个很好的起点。 延迟(200);    } // 如果失败或超时,循环将重新启动并再次尝试。 返回;   } // === 状态 2:标签被选中并通电 === // 如果有标签,尝试读取第 8 页至第 13 页的数据。 如果(tagIsPresent) { 系列.println("----------------------------------------"); 序列号.打印("从页面读取数据"); 序列号.打印(pageStart); 序列号.打印("-"); 系列.打印(页末); 系列.println();     boolall_reads_succeeded = true;     为(intpage = pageStart; page<= pageEnd; page++) { uint8_t page_d ata[ 4]; // NTAG 页面的长度为 4 字节       // 尝试读取当前页面 如果(nfc.ntag2xx_ReadPage(page, page_data)) { // 成功!打印数据。 系列.打印(" 页码"); 如果(页码< 10) 序列.打印("0");// 使对齐效果更佳 序列号.打印(页); 序列号.打印(":"); // nfc.PrintHexChar 是一个很好的辅助函数,可以打印十六进制和 ASCII 字符。 nfc.打印十六进制字符(页数据)、 4); } 否则{ // 读取失败!这是标签已被移除的信号。 系列.打印(" 读取页面失败"); 序列.println(页); all_reads_succeeded = false; 打破;// 立即退出 for 循环      }    } 如果(all_reads_succeeded) { 系列.println("数据读取成功。标签仍然存在。"); } 否则{ //如果任何读取失败,我们将 RESET 系统状态。 系列.println("\n=================================================");       序列号。println("标签丢失或通信失败。正在 RESET..."); 系列.println("================================================="); tagisPresent = false;//RESET状态 nfc.SAMConfig();// 重新配置阅读器以监听新标签    }     // 在下一个读取周期之前等待一个位。 延迟(2000);   } } Re: NHS3152 Passive Measurement 仅供参考。 NHS3152 仅由 NFC 现场和负载电容供电-NXP 社区 Re: NHS3152 Passive Measurement 嗨,吉米,谢谢你的回复。你认为向电容器组增加更多电容可能使ADC在被动模式下运行吗?如果是,执行这些操作所需的安全总电容值是多少。 Re: NHS3152 Passive Measurement 当板被动运行时,功率可能不够稳定,无法运行 ADC。
查看全文
S32K3 memacc は pflash 上で動作し、MEM_43_INFLS_AC_LOAD_ON_JOB_START がオンのときにハードフォールトを引き起こします。 S32K3 memacc は pflash 上で動作し、MEM_43_INFLS_AC_LOAD_ON_JOB_START がオンのときにハードフォールトを引き起こします。 RAM内のデータはpflash内のコードと全く同じです Re: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on こんにちは、 この問題は解決しましたか? 私も同じ症状です。何かアドバイスはありますか? よろしくお願いします。 回复: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on こんにちは@qimao-marvinさん CAN RTD リビジョンと S32K3xx 部品番号を指定できますか? あるいはプロジェクト全体をCAN共有できますか? ありがとうございました。 BR、ダニエル 回复: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on 私が消去して関数のバンクに実行しようとしたアドレスは、0x400000 - 0x500000 の 1 つのバンクですが、コードを RAM に入れてもハードフォールトが発生しました。ただし、0x500000 で消去すると、関数は正常に実行されます。 Re: S32K3 memacc works on pflash causes hardfault when MEM_43_INFLS_AC_LOAD_ON_JOB_START is on こんにちは@qimao-marvinさん S32K3xx の部品番号とプログラムするセクターを指定できますか? CANプロジェクトを共有してもらえますか? ハードフォールトに関して、障害に関する詳細情報を入手できますか? 次のガイドラインに従ってください。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K14x の障害処理/ta-p/1114447 BR、ダニエル
查看全文
Build Gen AVB TSN stack for MIMXRT1180-EVK running Zephyr Aim: I am trying to build Gen AVB TSN stack for MIMXRT1180-EVK board on CM7 target running Zephyr. https://github.com/NXP/GenAVB_TSN It has configuration file for FreeRTOS: config_freertos_rt1189_cm7.cmake But not for Zephyr. It has the following for Zephyr: config_zephyr_imx8mm_ca53.cmake config_zephyr_imx8mn_ca53.cmake config_zephyr_imx8mp_ca53.cmake config_zephyr_imx93_ca55.cmake Input needed in: Can someone share how to build it for one of the Zephyr targets mentioned above for me to take as a reference. Also it would be great if someone can have a look at my approach and see if I am on the right track What I have tried: The approach that I am taking is that I am trying to build Zephyr application inncluding the GEN AVB TSN stack as a library. In my workspace I have pulled the source codes from github: |- workspace | |- GenAVB_TSN | |- rtos-abstraction-layer | |- zephyrproject | |- mcux_sdk_main | |- zephyr-genavb-demo --> Zephyr application | | |- CMakeLists.txt | | |- local_config_mimxrt1180_evk_mimxrt1189_cm7.cmake | | |- src | | | |- main.c Note, that Zephyr setup is already done and I am able to build hello_world application for CM7 target using the following commands: cd ~/zephyrproject/zephyr west build -p -b mimxrt1180_evk/mimxrt1189/cm7 samples/hello_world The GenAVB_TSN is on 7_1 branch and I added config_zephyr_imxrt1189_cm7.cmake: The Zephyr application has a 2 main files. CMakeLists.txt and local_config_mimxrt1180_evk_mimxrt1189_cm7.cmake Command that I use for build: cd ~/zephyrproject/zephyr west build -p -b mimxrt1180_evk/mimxrt1189/cm7 ~/zephyr-genavb-demo/ --sysbuild Re: Build Gen AVB TSN stack for MIMXRT1180-EVK running Zephyr Hi @SDC  Thank you for your patience, I have been consulting internally, let me share our comments below.  At this moment:  we do not have any official and tested way to compile the GenAVB/TSN stack under Zephyr when targetting any MCU. Only the i.MX 8M variants and i.MX 93 are supported, for now, as indicated in the table in the README. (Supported hardware targets and configurations) Neither NXP guidelines support your development process, or timeline to add support from our side. We  can not tell exactly the difference between, the i.MX 93 stack compiled for FreeRTOS and for Zephyr. Maybe it is technically feasible for  users to achieve successful compilation for i.MX RT1180 themselves (with great effort), but we strongly advise against it. We are sorry for not being able to support you this time. Diego Re: Build Gen AVB TSN stack for MIMXRT1180-EVK running Zephyr Hi @SDC  Thank you for reaching out.  For i.MX MPU targets the only reference can be seen in  the the Harpoon project  https://github.com/NXP/GenAVB_TSN?tab=readme-ov-file#zephyr Regarding the AVB TSN Zephyr integration for i.MX RT1180 , I am currently checking this topic, allow me to get back to you.  Diego
查看全文
PN7462C/OM27462CDKP:アクセス制御アプリ用のAndroidおよびiPhoneからのNDEFデータの読み取りについてサポートが必要です 何とかしてPN7462AU用のNfcrdlibEx3_NFCForum_mcuxを入手し、以下のように物理 NFC タグ (NTAG215) とその NDEF データを読み取ることがCANました。   NFCフォーラムの例:   カードが検出され、正常に有効化されました タグの数: 1 テクノロジー:タイプA カード:1 UID: 04 FA D5 57 BD 2A 81 サック: 0x0 タイプ: タイプ2タグ NDEF が検出されました... NDEFの長さ: 15 NDEF メッセージ: [0000] D1 01 0B 54 02 65 6E 30 30 31 31 31 31 31 31 00 |...T.en00111111.| [0010] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| [0020] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| [0030] 00 00 |.. |   物理NTAG215を「 00111111 」のプレーンテキストでプログラムしました。   ここで、実際にタグ エミュレーション (少なくとも NDEF ペイロード エミュレーション) をサポートしている「 NXP Tools PRO 」アプリを使用してAndroid フォンでタグをエミュレートしようとすると、次のログが表示されます (同じプレーン テキスト「00111111」の場合)。   カードが検出され、正常に有効化されました タグの数: 1 テクノロジー:タイプA カード:1 UID: 08 EF 94 5D サック: 0x20 タイプ: タイプ4Aタグ NDEF コンテンツが検出されませんでした...   カードが検出され、正常に有効化されました タグの数: 1 テクノロジー:タイプA カード:1 UID: 08 F0 49 8D サック: 0x20 タイプ: タイプ4Aタグ NDEF コンテンツが検出されませんでした...   セキュリティ上の理由から、携帯電話の UID は取引ごとに変更されることは承知しています。 私のアプリケーションでは、アクセス制御アプリケーションに Android または iPhone のいずれかを使用し、NFC アプリケーションの NDEF ペイロードを認証に使用します (最初のステップとして)。 最終的な目標は、 Apple WalletまたはGoogle Walletに保存されているNFC パスを、それらのパスに埋め込まれた NDEF ペイロードを使用したアクセス制御の手段として使用することです (キットでそれが可能かどうか、またこれをサポートするために何が必要なのかはわかりません)。 また、Apple Wallet または Google Wallet を使用するには、コードにApple VASおよびGoogle SmartTapプロトコルを実装する必要があることもわかっています。 これらのプロトコルをデザインに統合するための例を取得するプロセスを説明できる人はいますか? 私はこのThreadを見つけました: Detecting-iOS-phone-using-PN7642で、 @Fabian_R が代理店に連絡することについて言及していますが、可能であれば、Apple VAS と Google SmartTap を統合するプロセスについて、さらに詳しい情報が必要です。 どなたかこのアプリケーションについて手伝っていただけますか? よろしくお願いします。 よろしくお願いいたします。 ヤシュ NFCコントローラーソリューション Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App こんにちは、YRKさん 最近、PN7462 開発ボードを購入しました。NTAG215 で試したアプリケーション コードを共有していただけますか。NDEF 通信を理解するのに間違いなく役立ちます。 ありがとうございました。 スリー Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App こんにちは@YRK https://www.nxp.com/support/support:SUPPORTHOMEにアクセスし、「 NDA をリクエスト」を選択して、NXP との NDA を確立してください。 Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App こんにちは@YRK はい、ECP をシステムに統合する必要があります。PN7462 は Apple が開発した ECP 機能もサポートしているため、デザインで ECP を使用するには Apple からの許可が必要です。 ただ、詳細や ECP 対応ライブラリをお客様に提供することはできません。まずはAppleの承認を得なければなりません! このお客様が ECP 承認済みであることを Apple から承認された場合にのみ、当社は ECP 対応の NFCリーダ ライブラリとさらなる ECP サポートをお客様に提供できます。したがって、PN7462 に ECP 機能を実装する場合は、次のことを行う必要があります。 1. アプリケーションで ECP 機能を使用するために Apple から承認を得ます。 2. NXPとのNDAに署名する 3. NXP に戻って ECP デザインリソースを取得します。
查看全文
采用定制 PN7462AU 读取器设计的 NTAG 424 DNA 验证问题 我们计划将 PN7462AU 和 NTAG 424 DNA 用于简单的嵌入式防伪应用,使用 Key0 主密钥验证标签是否正常。 该板已启动并正在运行,在调用 phalmfntag42xDNA_AuthenticateEV2 函数之前的 phpali14443p3A_ActivateCard 标签激活步骤之前 运行良好。我已经尝试了好几天才能使身份验证正常运行,尝试了空白标签和使用主密钥0编程的标签,但是无论我尝试了什么,都会出现 0x2626 错误 。 我在软件堆栈中记录了每个步骤的日志以帮助调试,这是控制台的打印件,显示了我在身份验证之前安装的所有层: 使用 phalHW_PN7462AU_init 初始化硬件抽象层 (HAL) HAL 已初始化! HAL ID: 0x020A 初始化 PAL、密钥存储和加密 初始化 phpalI14443p3a_Sw_Init phpalI14443p3a Initialized! 初始化 phpalI14443p4a_Sw_Init phpalI14443p4a 已初始化! 初始化 phpalI14443p4_Sw_Init phpalI14443p4 已初始化! 初始化 phpalMifare_Sw_Init Mifare 已初始化! 初始化 phCryptoSym_Sw_Init (cryptoSymEnc) phCryptoSym_Sw_Init cryptoSymEnc 成功! 初始化 phCryptoSym_Sw_Init (cryptoSymMac) phCryptoSym_Sw_Init cryptoSymMac 成功! 初始化 phCryptoRng_Sw_Init phCryptoRng_Sw_Init 成功! 初始化 phKeyStore_Sw_Init 密钥存储已初始化! 初始化 phKeyStore_SetConfig phKeyStore_SetConfig 未初始化! 初始化 phKeyStore_Sw_FormatKeyEntry 格式键输入成功! 初始化 phKeyStore_Sw_GetKeyEntry 获取密钥输入成功! 格式化键类型 = 0x000E 调用 phKeyStore_Sw_SetKeyAtPos 尝试使用密钥设置 SetKeyPosition: ab CD EF 09 ab CD EF 09 ab CD EF 09 ab CD EF 09 在条目 0x00 位置设置 AES-128 密钥: ab CD EF 09 ab CD EF 09 ab CD EF 09 ab CD EF 09 将按键设置在位置成功 调用 phKeyStore_GetKeyEntry phKeyStore_GetKeyEntry 成功! 密钥条目 0x00:1 个密钥,类型 = 0x000E,第一个版本 = 0x00 验证位置 0 的 KeyStore 密钥... 调用 phKeyStore_GetKey 成功找回密钥 初始化 phalMfNtag42XDna_Sw_Init Ntag42XDna_Sw_Init 成功! dna.wId = 0x2601 cryptoSymEnc.wId = 0xE101 cryptoSymMac.wId = 0xE101 cryptoRng.wId = 0xE401 ***系统初始化**** ********Processing Tag************ 调用 phhalHw_ApplyProtocolSettings ApplyProtocolSettings 成功! 通过 phpalI14443p3a_ActivateCard 激活标签 标签激活成功! 授权前的 UID: 04 2C 19 12 C4 1B 90 通过 phalMfNtag42XDna_AuthenticateEv2 验证标签 标签未经验证! 验证状态:0x2626 您能为我提供指导,说明我可能遗漏了什么吗? Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design 现在我的系统终于可以正常工作了,并能验证 NTAG 424 标签。 我要说的是,我对恩智浦缺乏对该产品的支持感到非常愤怒。 告诉客户只需阅读数据表就可以了,这是一种糟糕的产品支持方式。 至少,恩智浦 NFC 工程人员应在 NxpNfcRdLib 阅读器库中添加一个简单的 NTAG 验证示例。 使用库元器件的步骤有很多,这些步骤根本没有记录在任何地方,我基本上必须记录 RFIDDiscover 在做什么,然后尝试对其进行复制。您的客户不应被迫对您的产品进行逆向工程才能使用它们! 最后,我使用 DiscoveryLoop 范例完成了 Flashboot 和 HAL 设置以及主要的 PAL 元素,然后将程序转换为 NULLOS,移除 DiscoveryLoop 死循环,按照 DiscoveryLoop 调用 PAL 的步骤操作,再逐步完成其余的 PAL 和 AL 步骤,使其正常工作。 这样,我就可以去除示例中所有可怕的臃肿。 在此过程中,我发现有许多人试图使用贵公司的 PN7462AU 产品和库,但都放弃了,因为贵公司没有提供任何实施文档。 Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design 您有 PEGODA 吗? 它可与 RFIDDiscover 一起使用。您可以在 RFIDDiscover 上尝试同样的方法。 然后将日志与结果进行比较。 Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design 因此,我认为是代码中的一些错误导致 Mifare 无法正确初始化,我修正了这些错误,现在看起来一切正常,直到 EV2 Authenticate,现在出现了 0x2682 错误。 下面是调试日志: 使用 phalHW_PN7462AU_init 初始化硬件抽象层 (HAL) HAL 已初始化! HAL ID: 0x020A HAL pTxBuffer:0x001000A0 HAL pRxBuffer:0x001001A8 初始化密钥存储 初始化 phKeyStore_Sw_Init 密钥存储已初始化! 初始化 phKeyStore_Sw_FormatKeyEntry 格式键输入成功! 在条目 0x00 位置设置 AES-128 密钥: ab CD EF 09 ab CD EF 09 ab CD EF 09 ab CD EF 09 将按键设置在位置成功 phCryptoSym_Sw_Init cryptoSymEnc 成功! 初始化 phCryptoSym_Sw_Init (cryptoSymMac) phCryptoSym_Sw_Init cryptoSymMac 成功! 初始化 phCryptoRng_Sw_Init phCryptoRng_Sw_Init 成功! 初始化 phpalI14443p3a_Sw_Init phpalI14443p3a Initialized! 初始化 phpalI14443p4a_Sw_Init phpalI14443p4a 已初始化! 初始化 phpalI14443p4_Sw_Init phpalI14443p4 已初始化! 初始化 phpalMifare_Sw_Init Mifare 已初始化! palMifare.pPalI14443p4DataParams= 0x001003D4 初始化 phCryptoSym_Sw_Init (cryptoSymEnc) 初始化 phalMfNtag42XDna_Sw_Init Ntag42XDna_Sw_Init 成功! dna.wId = 0x2601 cryptoSymEnc.wId = 0xE101 cryptoSymMac.wId = 0xE101 cryptoRng.wId = 0xE401 ***系统初始化**** ********Processing Tag************ 调用 phhalHw_ApplyProtocolSettings ApplyProtocolSettings 成功! 通过 phpalI14443p3a_ActivateCard 激活标签 标签激活成功! 通过 phpalI14443p4a_ActivateCard 激活标签 phpalI14443p4a_ActivateCard 成功! 调用 phpalI14443p4_SetProtocol SetProtocol 成功! 调用 phalMfNtag42XDna_GetVersion()。 获取版本成功。标签处于 ISO-DEP 模式。 版本: 04 04 02 30 00 11 05 04 04 测试 Mifare 原始交换... 交换测试状态:0x0000 交换测试 RxLen: 2 交换测试响应: 67 00 通过 phalMfNtag42XDna_AuthenticateEv2 验证标签 dna.pPalMifareDataParams:0x001003C0 palMifare.pPalI14443p4DataParams:0x001003D4 palI14443p4.pHalDataParams:0x001004F4 标签未经验证! 验证状态:0x2682 我认为我的测试密钥编程不正确,无法支持主密钥 0 上的 EV2,因此需要 RFIDDiscover 或已知好的样本密钥来进一步测试我的应用。 我已提交 NDA 申请,需要 RFIDDiscover 分析我的测试标签的 EV2 功能。 Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design 在之前的帖子之后,我在更新后的日志中找到了对两个关键内容的参考,如下所示: -我最初看到的参考是 AES 密钥应设置为 0x0EU,我在之前发送的日志中使用了该密钥,导致了 0x2626 的身份验证错误。在大多数其他文档中,它说只需保留 phKeyStore 中的默认设置 0x00U,我已经更新到这个设置。在随附的日志中,这现在会导致 0x0220 的身份验证错误。 -我还在 phpali14443p3A_ActivateCard 和 phalmfntag42xdna_AuthenticateEV2 之间添加了两个函数调用,如下所示:-phpali14443p4a_getProtocolParams-phpali14443p4_setProtocol 我还会遇到身份验证错误 0x0220 。 以下是控制台日志: 使用 phalHW_PN7462AU_init HAL 初始化硬件抽象层 (H AL) 已初始化! HAL ID: 0x020A *********初始化 PAL、KeyStore 和 Crypto********** Initializing phpalI14443p3a_Sw_Init phpalI14443p3a Initialized! 初始化 phpalI14443p4a_Sw_Init phpalI14443p4a 已初始化! 初始化 phpalI14443p4_Sw_Init phpalI14443p4 已初始化! 初始化 phpalMifare_Sw_Init Mifare 初始化! 初始化 phCryptoSym_Sw_Init (cryptoSymEnc) phCryptoSym_Sw_Init cryptoSymEnc 成功! 初始化 phCryptoSym_Sw_Init (cryptoSymMac) phCryptoSym_Sw_Init cryptoSymMac 成功! 初始化 phCryptoRng_Sw_Init phCryptoRng_Sw_Init 成功! 初始化 phKeyStore_Sw_Init 已初始化密钥存储! 初始化 phKeyStore_SetConfig phKeyStore_SetConfig 未初始化! 初始化 phKeyStore_Sw_FormatKeyEntry 格式密钥项成功! 初始化 phKeyStore_Sw_GetKeyEntry 获取密钥条目成功! 格式化键类型 = 0x0000 调用 phKeyStore_Sw_SetKeyAtPos 尝试使用密钥设置密钥位置: AB CD EF 09 AB CD EF 09 AB CD EF 09 在条目 0x00、位置 0x00 设置 AES-128 密钥: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 在位置设置密钥成功 调用 phKeyStore_GetKeyEntry phKeyStore_GetKeyEntry 成功! KeyEntry 0x00:1 个密钥,类型 = 0x0000,第一个版本 = 0x00 验证位置 0 的 KeyStore 密钥... 调用 phKeyStore_GetKey 成功检索密钥! 密钥类型 = 0x0000 初始化 phalMfNtag42XDna_Sw_Init Ntag42XDna_Sw_Init 成功! dna.wId = 0x2601 cryptoSymEnc.wId = 0xE101 cryptoSymMac.wId = 0xE101 cryptoRng.wId = 0xE401 ***系统初始化**** ********Processing Tag************ 调用 phhalHw_ApplyProtocolSettings ApplyProtocolSettings 成功! 通过 phpalI14443p3a_ActivateCard 激活标签 标签激活成功! 调用 phpalI14443p4a_GetProtocolParams GetProtocolParams 成功! 调用 phpalI14443p4_SetProtocol SetProtocol 成功! 认证前的 UID: 04 2C 19 12 C4 1B 90 认证中使用的密钥:AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 通过 phalMfNtag42XDna_AuthenticateEv2 验证标签 标签未验证! 验证状态:0x0220 通过 phalMfNtag42XDna_GetKeyVersion 检索密钥版本 GetKeyVersion 失败。状态:0x0220  
查看全文
AMMCLIB 与 RTD 的依赖关系 你好 我目前正在使用 Windows 版 S32 Design Studio 3.6 处理 S32K344 微控制器。我手动添加了AMMCLIB 1.1.40 版我的项目基于RTD 5.0.0。 到目前为止,项目的编译和链接都没有问题。不过,我目前只用到了库中的一些数学函数。 在浏览论坛时,我注意到由于某些AMMCLIB版本的兼容性问题,建议一些用户恢复到早期的RTD版本。 谁能确认一下AMMCLIB 1.1.40 是否存在这种不兼容性? 我查看了文档,但找不到明确的参考,说明此 AMMCLIB 版本正式支持哪些 RTD 版本。 如能提供任何说明,将不胜感激。 在此先表示感谢! Re: AMMCLIB vs RTD Dependencies 嗨,罗杰、 在 AMMCLib 1.1.41 版中添加了对 S32 Design Studio 3.6 的支持,该版本自 2025 年 7 月 14 日起作为更新站点提供。最新版本可从该版本库中获取: http://www.nxp.com/lgfiles/updates/Eclipse/AMMCLIB/S32DS_3.6 AMMCLib 不依赖于 RTD API,可以在没有 RTD 的情况下使用。不过,当您从"Extensions and Updates" 对话框将 AMMCLib 作为 S32DS 插件安装时,您需要有一个兼容的 RTD 版本,因为所有 S32DS 插件都依赖于 RTD 设置的编译选项。如果您尚未安装 RTD,Eclipse P2 安装程序会通知您需要哪个版本的 RTD。 Re: AMMCLIB vs RTD Dependencies 您好, 非常感谢您关注我们的产品并使用我们的社区。 为明确起见,S32DS 有两种安装 AMMCLIB 的方法,请参阅S32K3XXMCLUG 的以下部分: 2.10 库作为 RTD 插件集成到适用于 S32 平台的 S32 设计工作室 2.11 库作为 独立组网 (SA) 软件包集成到适用于 S32 平台的 S32 设计工作室 RTD 插件方式仅适用于 S32DS 3.5,我已测试了 AMMCLIB_v1.1.40使用 RTD 4.0.0 和 RTD5.0.0 时没有任何问题。 如果你使用的是 S32DS 3.6,请使用*.exe 安装程序遵循独立组网。 请注意,如果用户选择在其 S32DS 项目中手动添加 AMMCLib,他们有责任确保编译器选项遵循 AMMCLib 版本说明 中描述的建议。 祝您愉快
查看全文
Model based design installtion problem Im getting errors on verfiying the installed nxp packages in matlab >> NXP_Support_Package_S32K1xx Error using contains First argument must be text. Error in NXP_Support_Package_S32K1xx>OpenToolbox_Callback (line 231) result(i) = contains(toolboxes(i).Name, 'NXP_MBDToolbox_S32K1xx'); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in gui_mainfcn (line 95) feval(varargin{:}); ^^^^^^^^^^^^^^^^^^ Error in NXP_Support_Package_S32K1xx (line 34) gui_mainfcn(gui_State, varargin{:}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)NXP_Support_Package_S32K1xx('OpenToolbox_Callback',hObject,eventdata,guidata(hObject))   Error using matlab.ui.internal.controller.uicontrol.UIControlController/triggerActionEvent (line 76) Error while evaluating UIControl Callback.   Re: Model based design installtion problem Hello Jerry, I just had the same problem.  In NXP_Support_Package_S32K3xx.m, replace these lines :  result(i) = contains(toolboxes(i).Name, 'NXP_MBDToolbox_S32K3xx');   with:  if isempty(toolboxes(i).Name) else result(i) = contains(toolboxes(i).Name, 'NXP_MBDToolbox_S32K3xx'); end   In my case, it seems like the toolboxes variable had an empty member, which caused the error.  You need to do this replacement three times in the .m. Hope this helps, Alex   Re: Model based design installtion problem So how to solve it?? Re: Model based design installtion problem Hello, The key error here is: Error using contains First argument must be text. This means the variable toolboxes(i).Name passed to contains is not a string or char array, which it must be. Best Regard, Tim
查看全文
OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Issue Summary We are encountering a failure during Matter multi-admin commissioning using OTBR with the JN5189 RCP. The primary commissioning using the CHIPTool Android APK completes successfully. However, the secondary commissioning using the CHIP Tool CLI fails. During this process, the otbr-agent logs indicate repeated timeouts when communicating with the RCP, which causes the agent to become unresponsive. The only way to recover is by manually resetting the agent or replugging the RCP. Setup Details Component: Version / Description -----------------------------|-------------------------------------------------------- Primary Commissioner       :        CHIPTool Android APK Secondary Commissioner :       CHIP Tool CLI (Linux) Thread Device                      :        Nanoleaf A27 Bulb RCP Platform                         : NXP JN5189 over UART RCP Firmware Commit: dfbe12280af4a87cb9ae0c0c1d90d71de3372d82 (from ot-nxp) OTBR Platform: Ubuntu 22.04 (x86_64) Kernel Version: Linux 6.8.0-60-generic ##63~22.04.1-Ubuntu SMP PREEMPT_DYNAMI OTBR Commit: b8bab1babcb040251b51a69ccb4008fb4b9e2d3f CHIP Tool CLI Commit: 9af93fd3e9eab4315e1097b19112ebac01d1ad94 Steps to Reproduce Boot the OTBR with the JN5189 RCP connected and initialized. Perform primary commissioning using the CHIPTool Android APK (successful). Use the APK to open a multi-admin commissioning window. Attempt secondary commissioning using the CHIP Tool CLI. Observe otbr-agent behavior and log output. Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hi Luis, 1) I’ve tried using a baud rate of "1000000," but I’m still encountering a framing error during communication. I’ve tested with both UART_DRIVER and SERIAL_MGR. Between the two, which would you recommend as the more reliable and preferred option? To debug further, I enabled logs and checked the USART FIFO Overflow Register values. I noticed that the RXERR bit is being set in FIFOSTAT. For reference, USART0 is clocked at 32 MHz (sourced from XTAL), and the main clock is running at 48 MHz. BR, Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hello Vikash The baud rate will depend on the one the host stablish.  Just as an advice maybe you could try "1000000"; as for reference that baud rate is the default in an example for K32W. The Software flow control is supported in JN5189 using USART0 and USART1, however the Hardware flow control is more reliable and doesn’t interfere with data, The decision would be up to every customer. Described in Chapter 23.6.5.2 UM11138 Best Regards Luis Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hi Luis, Thanks for your response. I've tested the setup using a Raspberry Pi 4B with an nRF52840 DK and didn't encounter any RCP TX timeouts or resets in that configuration. This leads me to believe the issue is likely related to the RCP image or UART configuration on the JN5189. In my final hardware setup, RTS/CTS hardware flow control is not supported, so I'm limited to UART without flow control. Given this constraint: 1) What is the recommended UART baud rate for the JN5189 RCP when hardware flow control is not available? 2) Are there any buffer sizes, timing parameters, or driver-level settings that should be adjusted to reduce the risk of data loss? 3) Is software flow control (XON/XOFF) supported or recommended in this scenario? Best Regards Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hello, The UART clock impact timing accuracy, if the UART clock is unstable, it can cause loss of synchronization between the host and RCP. Match baud rates carefully between devices and test for tolerance margins, you could try a lower baud rate. Or as other option; Instead of using the FRO32K, you could switch to the XTAL32K oscillator, which offers better clock frequency accuracy; You can find more information about it in the User Manual [ UM11138] Chapter 4.4.4 UM11138 Best Regards Luis Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hello, Thanks for your reply. I have a few questions and observations: Does the UART clock source significantly impact timing accuracy and data sampling? Currently, the system is configured to use FRO32K as the clock source. Observation: When testing communication with the host: At 1 Mbps, I get around 3/10 successful attempts. At 115200, communication rarely succeeds. It seems the issue might be related to imprecise UART baud rate generation due to using a low-frequency (32.768 kHz) clock. Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hello, Sorry for the late response, The JN5189 supports Hardware Flow control in the USART0, you can find more information about it in the User Manual [ UM11138] Chapter 23.6.5.1  UM11138 The baud rate will depend on the one the host stablish. Best Regards Luis Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hi Luis, I've reviewed the logs from both ends and noticed instances of data corruption or loss occurring on the RCP side. Could you please suggest the ideal UART baud rate for the JN5189 in this specific case? Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hi Luis, Thank you for your feedback and for sharing the reference link. We've already placed an order for the i.MX8M platform and are currently waiting for it to arrive. In the meantime, I would like to continue debugging using the existing JN5189 setup. As part of that, I wanted to confirm whether the JN5189 supports hardware flow control on the UART interface. This will help us assess the communication stability while isolating the issue. Thanks Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hello, I review the file nxp_vendor_hook.cpp; This file is destined for both JN5189 and K32W061. Just for testing purposes, I will recommend you use an i.MX8M and try to isolate the issue to the root cause. This following link redirect to examples running Open Thread Border Router with i.MX for consulting How to setup OpenThread Border Router and Openther Deamon on the target Best Regards Luis Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hi Luis, Thank you for your prompt response. I’ve tested the setup on the following two platforms and encountered the same issue on both: i) Laptop (Ubuntu) ii) Router (OpenWRT) 1) From my observations during the commissioning process, the Thread end device sends a rapid sequence of messages to the chip-tool commissioner in response to a request. This quick burst of traffic may be causing the RCP to drop some packets, which the OTBR is likely expecting and waiting for2). 2) For the external commissioning, I believe the main constraint is the PSKd, which is why I’ve raised the concern with the Thread group and am currently awaiting their response. 3) Could you also take a look at the following issue? There is an nxp_vendor_hook.cpp file used when building for the K32W061 platform. I'm wondering whether a similar file exists for the JN5189 platform or if it's possible to reuse the existing nxp_vendor_hook.cpp for JN5189 by enabling the DOT_NCP_VENDOR_HOOK_SOURCE macro during compilation. Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response Hello, Have you tested running OTBR with an MCU/MPU instead of a computer? as the examples and guidelines that NXP support are destined for different Host's testings and have more information about it. The compilation for the K32W061 could apply to the JN5189, both are very similar. Also, could you take a look in External Commissioning  |  OpenThread if this apply to your additional commissioning issue? Best Regards Luis Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response There is an nxp_vendor_hook.cpp file, which is used when compiling for the K32W061 platform. Do we have similar file for JN5189 platform, or Can we reuse it for the JN5189 by including/enabling the DOT_NCP_VENDOR_HOOK_SOURCE Macro during Compilation? ?
查看全文
S32k344 uart moudule can not send and receive at the same time hello , When I use EB tresos to config the uart moudule ,but i don't know how to use send and receive function at the same time, becase the interfaces blockd each other when one of them sends or receives. e.g. i use UART_AsyncReceive to prepare receive data, if have no data inputed, the status of the uart is UART_STATUS_OPERATION_ONGOING,  under the circumstances ,Uart_AsyncSend can not work normally,      can anyone  help me ? thanks very much  Re: S32k344 uart moudule can not send and receive at the same time Very strange, it's been a year and no one has responded to you. We're facing the same issue with the RTD3. We haven't found a solution yet, especially since we're using a periodic task that sends and receives data. I'm wondering if you've found a solution for these basic UART issues. It's surprising that NXP hasn't managed to fix such fundamental problems.
查看全文
基于模型的设计安装问题 在 matlab 中验证已安装的恩智浦代码包时遇到错误 > > nxp_support_package_s32K1x x 错误使用 包含 第一个参数必须是文本。 Error in NXP_Support_Package_S32K1xx>OpenToolbox_Callback(第 231 行) result(i) = contains(toolboxes(i).Name, 'NXP_MBDToolbox_S32K1xx'); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 在gui_mainfcn中出错。 gui_mainfcn(第 95 行) feval(varargin{:}); ^^^^^^^^^^^^^^^^^^ 在gui_mainfcn(第 95 行)中出错。 NXP_Support_Package_S32K1xx 中的错误(第 34 行) gui_mainfcn(gui_State,varargin{:}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 中出错。 matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)NXP_Support_Package_S32K1xx('OpenToolbox_Callback',hObject,eventdata,guidata(hObject)) 中的错误。   使用 matlab.ui.internal.controller.uicontrol.UIControlController/triggerActionEvent(第 76 行) 评估 UIControl 回调时出错。   Re: Model based design installtion problem 你好,杰瑞、 我也遇到了同样的问题。 在 NXP_Support_Package_S32K3xx.m 中,替换这些行 : result(i) = contains(toolboxes(i).Name, 'NXP_MBDToolbox_S32K3xx');   用: if isempty(toolboxes(i).Name) else result(i) = contains(toolboxes(i).Name, 'NXP_MBDToolbox_S32K3xx'); end   在我的案例中,工具箱变量中似乎有一个空成员,这导致了错误。 您需要在.m.中进行三次替换。 希望这能帮到您, 亚历克斯   Re: Model based design installtion problem 如何解决? Re: Model based design installtion problem 你好 这里的关键错误是 使用 contains 时出错 第一个参数必须是文本。 这意味着传递给 contains 的变量 toolboxes(i).Name 不是字符串或字符数组,而必须是字符串或字符数组。 最佳评价 Tim
查看全文
由于无响应,在多管理模式下调试期间,使用 JN5189 RCP 的 OTBR 代理超时 问题概述 在使用 OTBR 和 JN5189 RCP 进行 Matter 多管理员调试时,我们遇到了故障。使用 CHIPTool Android APK 的初级调试成功完成。但是,使用 CHIP 工具 CLI 进行的二次调试却失败了。 在此过程中,otbr-agent 日志显示与 RCP 通信时反复出现超时,导致代理无响应。恢复的唯一方法是手动 RESET 代理或重新插入 RCP。 设置详情 元器件:版本/描述 ------------------------------------------------------------------------------------------- 主要专员:ChipTool 安卓 APK 二级专员:CHIP Tool CLI (Linux) 线程设备:Nanoleaf A27 Bulb RCP 平台:NXP JN5189 over UART RCP 固件提交:dfbe12280a87cb9a0c0c0c1d90d71d71d3372d82(来自 ot-nxp)OTBR 平台:Ubuntu 22.04 (x86_64) 内核版本:Linux 6.8.0-60-generic # #63 ~22.04.1-Ubuntu SMP PREEMPT_DYNAMI OTBR Commit: b8bab1babcb040251b51a69ccb4008fb4b9e2d3f CHIP Tool CLI Commit:9af93fd3e9eab4315e1097b19112ebac01d1ad94 重现步骤 在连接并初始化 JN5189 RCP 的情况下启动 OTBR。 使用 CHIPTool Android APK 进行初级调试(成功)。 使用 APK 打开多管理员调试窗口。 尝试使用 CHIP 工具 CLI 进行二次调试。 观察 otbr-agent 的行为和日志输出。 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯, 1) 我试过使用"1000000、" 的波特率,但在通信过程中仍会遇到成帧错误。 我同时使用 UART_DRIVER 和 SERIAL_MGR 进行了测试。在这两种选择中,您推荐哪一种更可靠、更可取? 为了进一步调试,我启用了日志并检查了 USART FIFO 溢出寄存器的值。我注意到 FIFOSTAT 中的 RXERR 位被设置。 作为参考,USART0 的时钟频率为 32 MHz(来自 XTAL),主时钟运行在 48 MHz。 BR, 维卡什 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,维卡什 波特率取决于主机设置的波特率。 作为建议,也许你可以试试 " 1000000 ";作为参考,在 K32W 的示例中,波特率是默认值。 JN5189 使用 USART0 和 USART1 支持软件流量控制,但硬件流量控制更可靠,不会干扰数据。第 23.6.5.2 章 UM11138 中描述 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯, 感谢您的回复。 我已经使用带有 nRF52840 DK 的树莓派 4B 测试了设置,在该配置中没有遇到任何 RCP TX 超时或 RESET 的情况。这让我相信,问题很可能与 JN5189 上的 RCP 映像或 UART 配置有关。 在我的最终硬件设置中,不支持 RTS/CTS 硬件流量控制,因此我只能使用不带流量控制的 UART。鉴于此限制条件: 1) 当硬件流量控制不可用时,建议 JN5189 RCP 采用什么 UART 波特率? 2) 是否需要调整缓冲区大小、定时参数或驱动程序级设置,以降低数据丢失的风险? 3) 在这种情况下,是否支持或建议使用软件流量控制(XON/XOFF)? 谨致 Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 UART 时钟会影响计时精度,如果 UART 时钟不稳定,会导致主机和 RCP 失去同步。 仔细匹配设备之间的波特率并测试容差范围,你可以尝试较低的波特率。 或者作为其他选择;您可以不使用 FRO32K,而改用时钟频率精度更高的 XTAL32K 振荡器;有关它的更多信息,请参阅《用户手册》[ UM11138] 第 4.4.4 章。 UM11138 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 您好, 感谢您的回复。 我有几个问题和看法: UART 时钟源是否会对定时精度和数据采样产生重大影响? 目前,系统配置使用 FRO32K 作为时钟源。 观察结果: 在测试与主机的通信时: 在 1 Mbps 速率下,我获得了大约 3/10 次成功尝试。 在 115200 时,通信很少成功。 看来问题可能与使用低频(32.768 kHz)时钟导致 UART 波特率生成不精确有关。 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 JN5189 支持 USART0 硬件流控制,更多信息请参见《用户手册》[ UM11138] 第 23.6.5.1 章。 UM11138 波特率取决于主机设置的波特率。 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯, ,我查看了两端的日志,发现 RCP 端出现了数据损坏或丢失的情况。 在这种特定情况下,您能否建议 JN5189 理想的 UART 波特率? Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 Luis, 感谢你的反馈和分享参考链接。 我们已经订购了 i.MX8M 平台,目前正在等待它的到来。同时,我想继续使用现有的 JN5189 设置进行调试。 作为其中的一部分,我想确认 JN5189 是否支持 UART 接口上的硬件流量控制。这将有助于我们在隔离问题的同时评估通信的稳定性。 感谢 Vikash Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 我查看了 nxp_vendor_hook.cpp 文件;该文件将用于 JN5189 和 K32W061。 出于测试目的,我建议您使用 i.MX8M,并尝试将问题隔离,找出根本原因。 以下链接重定向到使用 i.MX 运行 Open Thread 边界路由器的示例,以进行咨询 如何在目标机上安装 OpenThread Border Router 和 Openther Deamon 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好,路易斯、 感谢您的及时回复。 我在以下两个平台上测试了设置,在两个平台上都遇到了同样的问题: i) 笔记本电脑(Ubuntu) ii) 路由器(OpenWRT) 1) 根据我在调试过程中的观察,Thread终端设备会根据请求快速向芯片工具专员发送一系列消息。这种快速突发流量可能会导致 RCP 丢弃一些数据包,而 OTBR 很可能正在期待和等待这些数据包2)。 2) 关于外部委托,我认为主要的制约因素是 PSKd,因此我向 Thread 小组提出了这个问题,目前正在等待他们的答复。 3) 您还能看看下面的问题吗? 在为 K32W061 平台构建时,会用到一个 nxp_vendor_hook.cpp 文件。 我想知道 JN5189 平台上是否存在类似的文件,或者是否有可能通过在编译期间启用 DOT_NCP_VENDOR_HOOK_SOURCE 宏来重复使用现有的 nxp_vendor_hook.cpp 用于 JN5189。 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 你好 您是否测试过用 MCU/MPU 代替计算机运行 OTBR?因为恩智浦支持的示例和指南适用于不同的主机测试,并包含更多相关信息。 K32W061 的汇编可能适用于 JN5189,两者非常相似。 另外,您能否在 外部调试是否适用于您的额外调试问题? 顺祝商祺! 路易斯 Re: OTBR Agent Timeout with JN5189 RCP During Commissioning in Multi-Admin Mode Due to No Response 有一个 nxp_vendor_hook.cpp 文件,在为 K32W061 平台编译时使用。 我们是否有适用于 JN5189 平台的类似文件,或者我们可以通过在编译期间加入/启用 DOT_NCP_VENDOR_HOOK_SOURCE 宏来重复使用它用于 JN5189 吗? ?
查看全文
S32k344 uart 模块无法同时发送和接收信号 你好 , 当我使用 EB tresos 配置 uart 计划时,我不知道如何同时使用发送和接收功能,因为当其中一个接口发送或接收数据时,另一个接口会相互阻塞。例如我使用 UART_AsyncReceive 准备接收数据,如果没有数据输入,uart 的状态就是 UART_STATUS_OPERATION_ONGOING,在这种情况下,Uart_AsyncSend 无法正常工作, ,谁能帮帮我?非常感谢 Re: S32k344 uart moudule can not send and receive at the same time 很奇怪,已经一年了,没有人回应你。我们的 RTD3 也遇到了同样的问题。我们还没有找到解决方案,尤其是因为我们使用的是发送和接收数据的定期任务。我想知道你们是否找到了解决这些基本 UART 问题的方法。令人吃惊的是,恩智浦竟然没有设法解决这些根本性问题。
查看全文
PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App I somehow got the NfcrdlibEx3_NFCForum_mcux for the PN7462AU successfully and can read a physical NFC tag (NTAG215) and its NDEF data as below:    NFC Forum Example:     Card detected and activated successfully  Number of tags: 1  Technology : Type A Card : 1 UID  : 04 FA D5 57 BD 2A 81 SAK: 0x0 Type : Type 2 tag NDEF detected... NDEF length: 15 NDEF message: [0000]  D1 01 0B 54 02 65 6E 30 30 31 31 31 31 31 31 00  |...T.en00111111.| [0010]  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................| [0020]  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................| [0030]  00 00                                            |..              |   I programmed the physical NTAG215 with plain text of '00111111'.   Now, when i try to emulate a tag using my Android Phone using the "NXP Tools PRO" app which actually supports Tag emulation (at least NDEF payload emulation), this is the log (for the same plain text of '00111111'):    Card detected and activated successfully  Number of tags: 1  Technology : Type A Card : 1 UID  : 08 EF 94 5D SAK: 0x20 Type : Type 4A tag No NDEF content detected...    Card detected and activated successfully  Number of tags: 1  Technology : Type A Card : 1 UID  : 08 F0 49 8D SAK: 0x20 Type : Type 4A tag No NDEF content detected...   I am aware that the UID of the phone is gonna change with every transaction because of security reasons. My application is to use either Android or iPhone for Access Control Application, where the NDEF payload in a NFC Application is gonna be used for Authentication (as the 1st step). The ultimate goal is to use NFC passes stored in either Apple Wallet or Google Wallet as a means for Access Control using the embedded NDEF payload in those passes (don't know if it's possible with the kit and what is need to support this). And I am aware that in order to use Apple Wallet or Google Wallet, the Apple VAS and Google SmartTap protocol needs to be implemented in the code. Would anyone please be able to explain the process on getting any examples for integrating these protocols into our design? I found this thread: Detecting-iOS-phone-using-PN7642 where @Fabian_R mentioned about contacting the distributor, but need more details, if possible on the process of integrating Apple VAS and Google SmartTap. Can anyone please help with this application? Thanks a lot in advance. Regards, Yash NFC Controller Solutions Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App Hi,YRK, I have recently purchased PN7462 development board, Can you share me the application code which you have tried for NTAG215 , that will defintely help me to understand the NDEF communication. Thank you, Sree Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App Hello @YRK  And please establish an NDA with NXP by going to  https://www.nxp.com/support/support:SUPPORTHOME and select "Request an NDA" Re: PN7462C/OM27462CDKP:Need help reading NDEF data from Android and iPhone for Access Control App Hello @YRK  Yes, you need to integrate the ECP into your system and PN7462 also supports ECP feature, which is development by Apple, so you need permission from Apple to use ECP in your design. It is just that we cannot give details or the ECP enabled library to customer. The first have to get Apple approval! Only after we got the approval from Apple that this customer is ECP approved, we are allowed to give the customer our ECP enabled NFC Reader Library and further ECP support. Therefore, if you want to implement the ECP feature on PN7462, the followings should be made: 1. Get approval from Apple for using ECP feature in your application. 2. Sign an NDA with NXP 3. Back to NXP to get ECP design resources.
查看全文
AMMCLIB と RTD の依存関係 こんにちは、 現在、 S32 Design Studio 3.6 for Windowsを使用して、 S32K344マイクロコントローラを操作しています。AMMCLIBバージョン1.1.40を手動で追加しましたRTD 5.0.0をベースにした私のプロジェクトに追加しました。 SO far, プロジェクトは問題なくコンパイルおよびリンクされています。ただし、現時点ではライブラリの数学関数の一部のみを使用しています。 フォーラムを見ていると、特定の AMMCLIB リリースとの互換性に関する懸念から、一部のユーザーには以前の RTD バージョンに戻すようアドバイスされていることに気付きました。 このような非互換性がAMMCLIB 1.1.40にも当てはまるかどうか確認していただけませんか? ドキュメントを確認しましたが、この AMMCLIB バージョンで正式にサポートされている RTD バージョンを明確に示す参照は見つかりませんでした。 ご説明いただければ幸いです。 よろしくお願いします! Re: AMMCLIB vs RTD Dependencies こんにちは、ロジャー。 S32 Design Studio 3.6 のサポートは、2025 年 7 月 14 日から更新サイトとして利用可能になっている AMMCLib バージョン 1.1.41 に追加されました。最新バージョンは、このリポジトリで入手できます: http://www.nxp.com/lgfiles/updates/Eclipse/AMMCLIB/S32DS_3.6 AMMCLib は RTD API に依存せず、RTD なしでも CAN 使用できます。ただし、「拡張機能と更新」ダイアログから AMMCLib を S32DS プラグインとしてインストールする場合は、すべての S32DS プラグインが RTD によって設定されたコンパイル オプションに依存するため、互換性のあるバージョンの RTD が必要です。RTD がまだインストールされていない場合は、Eclipse P2 インストーラーによって必要な RTD のバージョンが通知されます。 Re: AMMCLIB vs RTD Dependencies こんにちは、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 明確にするために、 S32DSで AMMCLIB をインストールするには 2 つの方法があります。S32K3XXMCLUG の次のセクションを参照してください。 2.10 S32プラットフォーム用のS32 Design Studioへのライブラリ統合(RTDプラグインとして) 2.11 S32プラットフォーム用のS32デザインスタジオへのライブラリ統合(スタンドアロンパッケージとして) RTDプラグイン方式はS32DS 3.5でのみ利用可能で、AMMCLIB_v1.1.40でテストしました。RTD 4.0.0 および RTD5.0.0 でも問題なく動作します。 S32DS 3.6 を使用している場合は、*.exe インストーラーを使用してスタンドアロンの方法に従ってください。 ユーザーが S32DS プロジェクトに AMMCLib を手動で追加することを選択した場合は、コンパイラ オプションがAMMCLib リリース ノートに記載されている推奨事項に従っていることを確認する責任があることに留意してください。 良い1日を!
查看全文
NTAG 424 DNA authentication issues with custom PN7462AU reader design We are planning to use the PN7462AU and NTAG 424 DNA for a simple embedded anti-counterfeiting application, where we will use Key0 master key to provide validation the tag is OK.  The board is up and operating, works great up to the phpalI14443p3a_ActivateCard tag activation step just prior to invoking the  phalMfNtag42XDna_AuthenticateEv2 function.  I have been trying for days to get authentication working, have tried both blank tags and tags programmed with a master Key0, but keep getting 0x2626 ERROR no matter what I have tried. I have included logging for each step in my software stack to aid in debugging, here is the print from console showing all the layers I have set up prior to authentication: Initialize Hardware Abstraction Layer (HAL)with phhalHw_PN7462AU_Init HAL Initialized! HAL ID: 0x020A Initializing PAL, KeyStore, and Crypto Initializing phpalI14443p3a_Sw_Init phpalI14443p3a Initialized! Initializing phpalI14443p4a_Sw_Init phpalI14443p4a Initialized! Initializing phpalI14443p4_Sw_Init phpalI14443p4 Initialized! Initializing phpalMifare_Sw_Init Mifare Initialized! Initializing phCryptoSym_Sw_Init (cryptoSymEnc) phCryptoSym_Sw_Init cryptoSymEnc Success! Initializing phCryptoSym_Sw_Init (cryptoSymMac) phCryptoSym_Sw_Init cryptoSymMac Success! Initializing phCryptoRng_Sw_Init phCryptoRng_Sw_Init Success! Initializing phKeyStore_Sw_Init Keystore Initialized! Initializing phKeyStore_SetConfig phKeyStore_SetConfig NOT Initialized! Initializing phKeyStore_Sw_FormatKeyEntry Format Key Entry Succeeded! Initializing phKeyStore_Sw_GetKeyEntry Get Key Entry Succeeded! Formatted key type = 0x000E Invoking phKeyStore_Sw_SetKeyAtPos Attempting SetKeyPosition using Key: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 Setting AES-128 key at entry 0x00, position 0x00: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 Set Key at Position Succeeded Invoking phKeyStore_GetKeyEntry phKeyStore_GetKeyEntry Success! KeyEntry 0x00: 1 key(s), type = 0x000E, first version = 0x00 Verifying KeyStore Key at Position 0... Invoking phKeyStore_GetKey Key retrieved successfully Initializing phalMfNtag42XDna_Sw_Init Ntag42XDna_Sw_Init Succeeded! dna.wId = 0x2601 cryptoSymEnc.wId = 0xE101 cryptoSymMac.wId = 0xE101 cryptoRng.wId = 0xE401 ***System Initialized*** ********Processing Tag************ Invoking phhalHw_ApplyProtocolSettings ApplyProtocolSettings Succeeded! Activating Tag via phpalI14443p3a_ActivateCard Tag Activation Success! UID before auth: 04 2C 19 12 C4 1B 90 Authenticating Tag via phalMfNtag42XDna_AuthenticateEv2 Tag Not Authenticated! Authentication status: 0x2626 Can you please provide guidance to what I may be missing? Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design I finally have my system working now and authenticating the NTAG 424 tags.  I will say that I am extremely angry at the lack of support that NXP provides with this product.  Telling your customers to simply read the datasheet is an atrocious way to support your products. At the very least, NXP NFC engineering should add a simple NTAG authentication example to your NxpNfcRdLib Reader library.  There are many steps in using your library components that are simply not documented anywhere, I had to basically log what RFIDDiscover was doing and try to replicate it .  Your customers should not be forced to reverse engineer your products to use them! In the end, I used the DiscoveryLoop example to do the Flashboot and HAL setup as well as the primary PAL elements, then convert the program over to NULLOS,  remover the DiscoveryLoop dead-end loop, follow the DiscoveryLoop call PAL steps and then step through the rest of the PAL and AL steps to get it to work.  Then I could strip out all the horrible bloat the example has. During this process, I found numerous people that have tried to use your PN7462AU product and libraries, and have given up, because your company provides ZERO documentation for implementation. Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design Do you have PEGODA?  It is useful to use with the RFIDDiscover. You could try the same things on RFIDDiscover.  Then compare the log with your result.  Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design So I believe I had some errors in code causing Mifare to not be properly initialized, fixed those, and now I have what looks like everything OK until the EV2 Authenticate, which now gives a 0x2682 error. Here is the debug log: Initialize Hardware Abstraction Layer (HAL)with phhalHw_PN7462AU_Init HAL Initialized! HAL ID: 0x020A HAL pTxBuffer: 0x001000A0 HAL pRxBuffer: 0x001001A8 Initializing KeyStore Initializing phKeyStore_Sw_Init Keystore Initialized! Initializing phKeyStore_Sw_FormatKeyEntry Format Key Entry Succeeded! Setting AES-128 key at entry 0x00, position 0x00: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 Set Key at Position Succeeded phCryptoSym_Sw_Init cryptoSymEnc Success! Initializing phCryptoSym_Sw_Init (cryptoSymMac) phCryptoSym_Sw_Init cryptoSymMac Success! Initializing phCryptoRng_Sw_Init phCryptoRng_Sw_Init Success! Initializing phpalI14443p3a_Sw_Init phpalI14443p3a Initialized! Initializing phpalI14443p4a_Sw_Init phpalI14443p4a Initialized! Initializing phpalI14443p4_Sw_Init phpalI14443p4 Initialized! Initializing phpalMifare_Sw_Init Mifare Initialized! palMifare.pPalI14443p4DataParams = 0x001003D4 Initializing phCryptoSym_Sw_Init (cryptoSymEnc) Initializing phalMfNtag42XDna_Sw_Init Ntag42XDna_Sw_Init Succeeded! dna.wId = 0x2601 cryptoSymEnc.wId = 0xE101 cryptoSymMac.wId = 0xE101 cryptoRng.wId = 0xE401 ***System Initialized*** ********Processing Tag************ Invoking phhalHw_ApplyProtocolSettings ApplyProtocolSettings Succeeded! Activating Tag via phpalI14443p3a_ActivateCard Tag Activation Succeeded! Activating Tag via phpalI14443p4a_ActivateCard phpalI14443p4a_ActivateCard succeeded! Invoking phpalI14443p4_SetProtocol SetProtocol Succeeded! Invoking phalMfNtag42XDna_GetVersion() GetVersion succeeded. Tag is in ISO-DEP mode. Version: 04 04 02 30 00 11 05 04 04 Testing Mifare raw exchange... Exchange Test Status: 0x0000 Exchange Test RxLen: 2 Exchange Test Response: 67 00 Authenticating Tag via phalMfNtag42XDna_AuthenticateEv2 dna.pPalMifareDataParams: 0x001003C0 palMifare.pPalI14443p4DataParams: 0x001003D4 palI14443p4.pHalDataParams: 0x001004F4 Tag Not Authenticated! Authentication status: 0x2682 I think that my test key is not programmed properly to support EV2 on the Master Key0, and need RFIDDiscover or a known good sample key to further test my application.  I have submitted an NDA request and need RFIDDiscover to analyze EV2 capability of my test tag. Re: NTAG 424 DNA authentication issues with custom PN7462AU reader design After previous posts I found reference to two key things I have changed in an updated log, attached below: - I originally saw reference that the AES key should be set to 0x0EU, which was used in the previous log I sent, resulting in an authenticate error of 0x2626.  In most other documentation, it says to simply keep the default setting in phKeyStore of 0x00U, which I have updated to.  In the attached log, this now results in an authentication error of 0x0220. - I also added two function calls between the phpalI14443p3a_ActivateCard and phalMfNtag42XDna_AuthenticateEv2 as follows:         - phpalI14443p4a_GetProtocolParams         - phpalI14443p4_SetProtocol I still get an authentication error 0x0220. Here is the log from console: Initialize Hardware Abstraction Layer (HAL)with phhalHw_PN7462AU_Init HAL Initialized! HAL ID: 0x020A *********Initializing PAL, KeyStore, and Crypto********** Initializing phpalI14443p3a_Sw_Init phpalI14443p3a Initialized! Initializing phpalI14443p4a_Sw_Init phpalI14443p4a Initialized! Initializing phpalI14443p4_Sw_Init phpalI14443p4 Initialized! Initializing phpalMifare_Sw_Init Mifare Initialized! Initializing phCryptoSym_Sw_Init (cryptoSymEnc) phCryptoSym_Sw_Init cryptoSymEnc Success! Initializing phCryptoSym_Sw_Init (cryptoSymMac) phCryptoSym_Sw_Init cryptoSymMac Success! Initializing phCryptoRng_Sw_Init phCryptoRng_Sw_Init Success! Initializing phKeyStore_Sw_Init Keystore Initialized! Initializing phKeyStore_SetConfig phKeyStore_SetConfig NOT Initialized! Initializing phKeyStore_Sw_FormatKeyEntry Format Key Entry Succeeded! Initializing phKeyStore_Sw_GetKeyEntry Get Key Entry Succeeded! Formatted key type = 0x0000 Invoking phKeyStore_Sw_SetKeyAtPos Attempting SetKeyPosition using Key: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 Setting AES-128 key at entry 0x00, position 0x00: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 Set Key at Position Succeeded Invoking phKeyStore_GetKeyEntry phKeyStore_GetKeyEntry Success! KeyEntry 0x00: 1 key(s), type = 0x0000, first version = 0x00 Verifying KeyStore Key at Position 0... Invoking phKeyStore_GetKey Key retrieved successfully! Key Type = 0x0000 Initializing phalMfNtag42XDna_Sw_Init Ntag42XDna_Sw_Init Succeeded! dna.wId = 0x2601 cryptoSymEnc.wId = 0xE101 cryptoSymMac.wId = 0xE101 cryptoRng.wId = 0xE401 ***System Initialized*** ********Processing Tag************ Invoking phhalHw_ApplyProtocolSettings ApplyProtocolSettings Succeeded! Activating Tag via phpalI14443p3a_ActivateCard Tag Activation Succeeded! Invoking phpalI14443p4a_GetProtocolParams GetProtocolParams Succeeded! Invoking phpalI14443p4_SetProtocol SetProtocol Succeeded! UID before auth: 04 2C 19 12 C4 1B 90 Key used in auth: AB CD EF 09 AB CD EF 09 AB CD EF 09 AB CD EF 09 Authenticating Tag via phalMfNtag42XDna_AuthenticateEv2 Tag Not Authenticated! Authentication status: 0x0220 Retrieving Key Version via phalMfNtag42XDna_GetKeyVersion GetKeyVersion failed. Status: 0x0220  
查看全文
AMMCLIB vs RTD Dependencies Hello, I'm currently working with the S32K344 microcontroller, using S32 Design Studio 3.6 for Windows. I manually added AMMCLIB version 1.1.40 to my project, which is based on RTD 5.0.0. So far, the project is compiling and linking without issues. However, I’ve only used some of the mathematical functions from the library at this point. While going through the forums, I noticed that some users were advised to revert to earlier RTD versions due to compatibility concerns with certain AMMCLIB releases. Could someone kindly confirm if such incompatibilities apply to AMMCLIB 1.1.40? I reviewed the documentation but couldn’t find a clear reference indicating which RTD versions are officially supported by this AMMCLIB version. Any clarification would be greatly appreciated. Thank you in advance! Re: AMMCLIB vs RTD Dependencies Hi Roger, support for S32 Design Studio 3.6 was added in AMMCLib version 1.1.41, which has been available as update site since July 14, 2025. The latest version is available in this repository: http://www.nxp.com/lgfiles/updates/Eclipse/AMMCLIB/S32DS_3.6 AMMCLib does not depend on RTD APIs and can be used without RTD. However, when you install AMMCLib as a S32DS plugin from the "Extensions and Updates" dialog, you need to have a compatible version of RTD because all S32DS plugins depend on the compilation options set by the RTD. The Eclipse P2 installer will inform you which version of RTD is required if you don't already have it installed. Re: AMMCLIB vs RTD Dependencies Hi, Thank you so much for your interest in our products and for using our community. Just to be clear, there are 2 ways to install AMMCLIB with S32DS, please refer to the following sections of S32K3XXMCLUG: 2.10 Library Integration into a S32 Design Studio for S32 Platform as a RTD plugin 2.11 Library Integration into a S32 Design Studio for S32 Platform as a standalone package The RTD plugin way is only available in S32DS 3.5, I have tested AMMCLIB_v1.1.40 with RTD 4.0.0 and with RTD5.0.0 without any issue. If you are using S32DS 3.6, please follow the standalone way using the *.exe installer. Please consider that if the user chooses to add the AMMCLib in their S32DS project manually, they take the responsibility to ensure that the compiler options follow the recommendations described in the AMMCLib Release Notes. Have a nice day!
查看全文