Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
S32K312:如何设置芯片的低电压检测 你好,NXT 团队   我只能找到 LVRBLPEN,描述如下   LVRBLP 在 LPM 期间启用位控制 VD D_HV_B 功率域上的低压 RESET 检测 (LVRBLP) 在 LPM 中处于活动状态还是非活动状态   然而,312 引脚上没有 VDD_HV_B,这让我很困惑   顺祝商祺! 赵 Re: S32K312:How to set low voltage detection for chips 你好,彼得 感谢您的回复 我能这样理解吗,低压检测只能在 LPM 模式下关闭? 如果不能关闭,能否配置这个阈值? 我目前正在测试RESET将在2.8V左右触发信号 顺祝商祺! 赵 Re: S32K312:How to set low voltage detection for chips 你好 请问我是否要禁用低电压RESET功能,我需要操作哪个寄存器? 您无法在此设备上禁用低压检测。它会导致意想不到的行为,最后肯定会RESET。 我也认为没有理由这样做,因为我们只保证 uC 的运行符合规范。 顺祝商祺! Peter Re: S32K312:How to set low voltage detection for chips 你好,彼得 感谢您的回复请 问我是否要禁用低电压RESET功能,我需要操作 哪个寄存器? 看来将LVRBLPEN寄存器设置为0将阻止MCU在LPM模式下RESET,在其他模式下应该控制 哪个寄存器? 顺祝商祺! 赵 Re: S32K312:How to set low voltage detection for chips 你好 LVRBLPEN 控制 VDD_HV_B 功能域的低电压 RESET 检测在电源模式 (LPM) 期间是否保持活动状态。 术语 VDD_HV_B 是指内部电源功能域,而不是物理引脚。它是 MCU 内部高压功能域的一部分,为某些外设和逻辑模块供电。 以下是 S32K312 的功率域: 和 S32K312 的耗材表: 该手册在 S32K3xx 系列中很常见。因此,通常所有功能都是笼统描述的,然后有必要注意哪些功能对您的设备衍生产品真正有效。 顺祝商祺! Peter Re: S32K312:How to set low voltage detection for chips 你好,彼得 感谢您的回复 我目前的检测结果是 该芯片将直接在2.8V左右RESET,这是预期的 但是 5.8V 无法RESET 此中断必须配对,并且必须在中断本身内调用RESET函数 请问高低压RESET的不同表现是否归因于芯片的特殊设计 顺祝商祺! 赵 Re: S32K312:How to set low voltage detection for chips 你好 我能这样理解吗,低压检测只能在 LPM 模式下关闭?如果无法将其关闭,我们可以配置这个阈值吗? 我目前正在测试RESET将在2.8V左右触发信号 不能配置其阈值。恩智浦工厂对其进行了微调。 请遵守数据表中规定的操作条件。 顺祝商祺! Peter Re: S32K312:How to set low voltage detection for chips 你好 即使禁用了 LVDIE,设备仍将 RESET 为相同的 2.8 V 阈值。 这种行为(没有 ISR 输入并在低电压跳闸点立即 RESET)是预期的操作,还是低压检测应该能够在 RESET 之前执行其中断处理程序? 这是意料之中的行为。我不清楚 S32K3 是如何实现的,但通常有两套 LVD。一种触发信号中断,另一种在电压下降时触发信号RESET。 这就是你的 2.8 伏电压。因为中断没有意义。因为你的内存、内核执行、寄存器设置可能已经损坏。你也不会因为故障而中断任何操作。 顺祝商祺! Peter Re: S32K312:How to set low voltage detection for chips 你好 请问高低压RESET的不同表现是否归因于芯片的特殊设计 我不明白这个问题。 您可以在低压检测或 HVD 支持的标志上配置中断: 但是 5.8V 无法RESET 但是为什么要RESET呢?高电压不会像低电压一样导致设备故障。 1* - 最高 6.0 伏,使用寿命 10 小时;最高 7.0 伏,使用寿命 60 秒。 甚至可以在 7V 电压下运行。 请遵守数据表的绝对最大额定值。 顺祝商祺! Peter Re: S32K312:How to set low voltage detection for chips 你好 Peter 谢谢你的回复,抱歉,我之前可能没有明确我的问题。 当我启用高压检测中断启用 (HVDIE) 时,调试器可以在中断服务例程的电压约为 5.8 V 时停止。 但是,当我启用低压检测中断启用 (LVDIE) 时,MCU 会立即 RESET 于 ≈ 2.8 V,我永远无法进入 ISR。 即使禁用了 LVDIE,设备仍会在相同的 2.8 V 阈值处触发 RESET。 这种行为(没有 ISR 输入并在低压检测低电压跳闸点立即 RESET)是预期的操作,还是低压检测应该能够在 RESET 之前执行其中断处理程序? 致以最崇高的敬意 Zhao Re: S32K312:How to set low voltage detection for chips 你好 对于 RESET 级别的低压检测(在我的测试中以 2.8 V 跳闸的那个),数据表中是否列出了任何允许我移动其阈值的用户可见的微调位、寄存器字段或出厂配置选项,还是固定、不可屏蔽的电压监测? 客户看不到。此外,每个芯片都有自己的调节器校准值,这些校准值在恩智浦工厂进行修整,以满足规范要求。 对于中断级低压检测(应该更早触发的那个,在 3 V—4 V 左右),手册是否提供了可编程的寄存器场(例如LVDVSEL、LVDSEL 或类似),让我选择其确切的跳变点,如果可以,允许的步长/分钟-最大范围是多少? S32K3 (PMC‑LVDSC1) 上的中断级低压检测不提供 LVDVSEL 或 LVDSEL 等可编程阈值场。其跳闸点在出厂前已校准,无法通过软件进行调整。 如果两个阈值都有记录,请注明寄存器名称和位域;如果其中一个是硬接线,请说明哪一个是固定的 两者都无法让用户访问。 两个跳闸点都是硬接线。 顺祝商祺! Peter Re: S32K312:How to set low voltage detection for chips 你好, 我将 VDD 从 5 V 慢慢降低, 我预计中断电平低压检测将会在更高的阈值(3 V,3.2 V,不管配置如何)下触发,这样我的 ISR 才能在电源变得临界之前运行,只有在导轨最终达到 2.8 V 硬复位跳闸点时,MCU 才会 RESET。 对于 RESET 级别的低压检测(在我的测试中以 2.8 V 跳闸的那个),数据表中是否列出了任何允许我移动其阈值的用户可见的微调位、寄存器字段或出厂配置选项,还是固定、不可屏蔽的电压监测? 对于中断级低压检测(应该更早触发的那个,在 3 V—4 V 左右),手册是否提供了可编程的寄存器场(例如LVDVSEL、LVDSEL 或类似),让我选择其确切的跳变点,如果可以,允许的步长/分钟-最大范围是多少? 如果两个阈值都有文件记录,请注明寄存器名称和位字段;如果其中一个是硬连线,请说明哪个是固定的 最佳问候, Zhao Re: S32K312:How to set low voltage detection for chips 您好 以HVD为例,电压调节至6V,根据MCAL配置项的描述,PMC中断会在HVDAF寄存器被置1时触发,我在触发POWER_IP_E_ISR_HIGH_VOLTAGE事件后在McuErrorIsrNotification回调函数中执行了复位操作,复位后看到HVDAF寄存器被清0,但不会再被置1,所以PMC中断只会触发一次,只执行了一次复位操作,请问这个现象是正常的吗 顺祝商祺 liao
查看全文
コア n のセカンダリ Thread のプログラム エントリを設定する方法は何ですか? コア n の 2 つの Thread (仮想コア) で 2 つの異なる OS を実行したいと考えています。しかし、Thread 0 は 0xffff_fffc からエントリを取得することはわかっています。しかし、Thread 1 の入り口を設定する方法がわかりません。この目的のためのレジスターまたは特別なアドレスはありますか? Re: What's the way to set program entrance of secondary thread of core n? 迅速なサポート誠にありがとうございました。 これをT4240/e6500に実装したいです。ここでは特定のレジスターが見つかりません。これに関して何か提案はありますか。 Re: What's the way to set program entrance of secondary thread of core n? こんにちは、 マルチコア/マルチスレッド プロセッサの場合、コアのThread 0 は通常、ブート時にアドレス 0xFFFF_FFFC からエントリ ポイントを取得します。ただし、Thread 1 の場合は、通常、異なるメカニズムが存在します。 スレッド 1 のプログラム エントリを設定するには: 1.プライマリThread(Thread 0)は、Thread 1のセットアップと起動を担当します。 これは通常、セカンダリThreadのリセットベクターまたはエントリポイントアドレスを制御する特定のレジスタを通じて行われます。 正確な実装は特定の NXP プロセッサによって異なりますが、一般的には次のようになります。 1. Thread 1のアプリケーションコードを適切なメモリ位置にロードする 2. Thread 1のエントリポイントレジスタをこの位置を指すように設定する 3. Thread 1をリセットから解放して実行を開始する Arm Cortex アーキテクチャのプロセッサを使用している場合、多くの場合、次の処理が行われます。 - リセットベクターアドレスを特定のSRC(System Reset Controller)レジスタに書き込む - 制御ビットを設定してセカンダリThreadをリセットから解放する よろしくお願いします。
查看全文
无法将 iMX93EVK 中的 lpuart1 更改为 lpuart7 在过去的一个多月里,我一直在尝试将默认控制台从 lpuart1 更改为 lpuart7。我想更改 linux 控制台和 u-boot 控制台,或者至少我想查看日志。这是为了让 iMX93EVk 的 SOC 在新的载体上工作。然而,我却无法做到这一点。这是我尝试使用的补丁。还有我发现的所有我认为可以帮助我的帖子。我错过了什么? i-MX-93-91-使用yocto项目调试控制台重定位 i-MX-Processors/Change-UART-for-imx93-in-uboot-and-kernel i-MX 处理器/imx8ULP 将 u-boot 串行控制台从 UART5 更改为 UART4 非常感谢你们的帮助,谢谢 Linux Re: Cant change lpuart1 to lpuart7 in iMX93EVK 你好 要成功地将调试控制台从 lpuart1 更改为 lpuart7,你需要修改三个关键元器件:U-启动、Arm 可信固件和 Linux 内核配置。 完整解决方案: 1.对于 U-Boot(lf_v2024.04 分支): - 修改设备树文件以更新控制台路径和引脚配置 - 更新板配置以指向 lpuart7 - 使用 imx93_11x11_evk_defconfig 作为配置基础 2. 对于 Arm 可信固件(lf_v2.10 分支): - 更改 ATF 源中的 UART 控制台位置 - 更新 IMX_LPUART_BASE 以指向 lpuart7 的基址 - 在取消设置 LDFLAGS 后使用 "make plat=imx93" 构建 3. 对于 Linux 内核: -将 bootargs 更新为引用 ttylP6(对应于 lpuart7) -更新设备树中的选定部分 该过程需要使用这些修改后的元器件重建 flash.bin 映像。另一位客户需要将 i.MX93 上的 UART1 重新映射到 UART8,也成功解决了类似问题。 此致 Re: Cant change lpuart1 to lpuart7 in iMX93EVK 谢谢,我无法确认该解决方案是否有效。我已经执行了您的所有更改,但发现错误出在硬件本身。一旦定制载体修好了,一切都测试好了,我就可以确认了。 感谢您的回复
查看全文
HashDataDefSrv 返回参数无效 你好,@lukaszadrapa ,我正在使用 HseResponse = HashDataDefSrv(HSE_HASH_ALGO_SHA2_256,(uint32_t) sizeof(test)、test,&image_hash_length,image_hash,HSE_SGT_OPTION_NONE); 函数来计算存储为 const uint_8 [] 的图像的 HASH,但我得到的返回结果是 Parameter Invalid(参数无效)。于是我决定在一个更小的数组上测试哈希值,但也遇到了类似的问题。 请帮助解决这个问题! 此外,在使用 HSE 和 RTD 3.0.0 时,我还发现了一个小问题、即:- 当我在没有任何断点的情况下运行代码时,我的 HSE 应用程序接口总是响应 NOT_OK(not ok 意味着除了 HSE_OK 或 HSE_SUCCESS 之外的任何其他意思),但当我手动跳过这些应用程序接口时,我得到的是 HSE_SUCCESS Re: HashDataDefSrv returns Paramter Invalid 你好@lukaszadrapa 我试过你的解决方案(禁用 D_CACHE_ENABLE),但没有用。 而你却只字未提我的附加问题。 Re: HashDataDefSrv returns Paramter Invalid 你好@R_S002 第一步,您是否可以尝试禁用项目中的数据缓存?这是 HSE_SRV_RSP_INVALID_PARAM 错误的常见原因 。用于与 HSE 通信的所有数据对象必须强制使用非高速缓存内存。禁用数据缓存可以快速确认是否存在这种情况。 此致, Lukas Re: HashDataDefSrv returns Paramter Invalid 如果不是数据缓存造成的,我需要这两个问题的更多细节。 关于哈希服务,您能否在将其发送给 HSE 之前截取一张服务描述符的截图? 关于第二个问题,您能否检查一下 HSE 返回的错误代码是什么?如果步进代码时能正常工作,则可能是某种时间问题或一致性问题。在执行这些 HSE 服务时,您是否尝试过禁用中断? Re: HashDataDefSrv returns Paramter Invalid hi@lukaszadrapa 我一回到办公室就会提供服务描述符 第二个问题返回 HSE_SRV_RSP_NOT_SUPPORTED。您能更准确地说明"禁用中断" 吗? Re: HashDataDefSrv returns Paramter Invalid 你好@lukaszadrapa HASH 函数执行前的图像 Re: HashDataDefSrv returns Paramter Invalid 我在板上做了非常快的测试,我能看到同样的问题。我从未遇到过散列问题,让我检查一下是怎么回事。我今天没时间,下周再检查。 此致, Lukas Re: HashDataDefSrv returns Paramter Invalid 好吧,很可能是 pHashLength 导致的。该指针指向的变量必须初始化为哈希缓冲区的大小。不能为零。HSE 服务 API 参考手册说: " 输入/输出:指向存储以字节为单位的哈希长度的 uint32_t 位置的指针。 在调用此服务时,此参数应包含主机提供的缓冲区大小。 主机提供的缓冲区大小。请求完成后,应存储 返回值的实际长度。如果缓冲区 小于散列大小,散列将被截断" 因此,请检查该参数的内容。 Re: HashDataDefSrv returns Paramter Invalid 能否举例说明您是如何尝试并验证 HASH 函数的? Re: HashDataDefSrv returns Paramter Invalid 下面是我过去用过的一个简单例子: int main(void) { hseSrvResponse_t HseResponse; uint8_t hash_result[64] = {0U}; uint32_thash_length = 64U; /* 检查 Fw 安装状态*/ WaitForHSEFWInitToFinish(); /* 使用的测试向量:https://www.di-mgt.com.au/sha_testvectors.html*/ /* 输入信息:一百万 (1,000,000) 次重复字符"a" (0x61)。*/ /* SHA-512 */ /* 预期结果:*/ /* e718483d0ce76964 4e2e42c7bc7bc15b463 8e1f98b13b204428 5632a803afa973eb de0ff 244877e60a 4cb0432c577c31b eb009c5c2c249a2e 4edb2c49a2e 4ead0f2477e60a 4c0432c5c2c49a2e 4edb2c49a2e 4ead0f2477ea 60a 4c0432c5c2c49a2e 4ead9a2e 17ad8cc09b */ HseResponse = HSE_HashDataBlocking ( MU0, HSE_ACCESS_MODE_ONE_PASS, 0, HSE_HASH_ALGO_SHA2_512, 0x408000U、/* 使用附带的 cmm 脚本将 100 万个 "a "字符编程到此地址 */ 1000000, /* 数据长度 100 万 */ hash_result, & hash_length ); for (;;) { } } 要散列的数据是通过外部脚本编程到闪存中的。
查看全文
S32K 入力キャプチャ こんにちは、チーム S32K146 マイクロコントローラを使用していますが、入力キャプチャピンとしていずれかの入力ピンが必要です。どのモジュールで構成すればよいか教えていただけますか? FTM を信号測定として使用した場合、入力キャプチャ機能を実現できますか?それともic_pal機能を使うべきでしょうか? サポートをお願いします ありがとう シュルティ C Re: S32K Input Capture こんにちは、ペトルさん。 INT_SYS_InstallHandler(FTM0_Ch0_Ch1_IRQn, PWM_InputCapture_IRQHandler, NULL);関数はデフォルトのハンドラーを取得しており、このハンドラーFTM0_Ch0_Ch1_IRQnを取得していないため、使用できません。 私の設定は /* flexTimer_ic_1 InitConfig のグローバル設定 */ ftm_user_config_t flexTimer_ic_1_InitConfig = {     {         true , /* ソフトウェアトリガー状態 */         false , /* ハードウェアトリガー1の状態 */         false , /* ハードウェアトリガー2の状態 */         false , /* ハードウェアトリガー3の状態 */         false , /* 最大積載ポイント状態 */         false , /* 最小積載ポイント状態 */ FTM_SYSTEM_CLOCK、 /* INVCTRLレジスタの更新モード */ FTM_SYSTEM_CLOCK、 /* SWOCTRLレジスタの更新モード */ FTM_SYSTEM_CLOCK, /* OUTMASKレジスタの更新モード */ FTM_SYSTEM_CLOCK, /* CNTINレジスタの更新モード */         false , /* トリガーの自動クリア */ FTM_UPDATE_NOW, /* 同期ポイント */ }, FTM_MODE_INPUT_CAPTURE, /* FTMの動作モード */ FTM_CLOCK_DIVID_BY_1, /* FTMクロックプリスケーラ */ FTM_CLOCK_SOURCE_SYSTEMCLK, /* FTMクロックソース */ FTM_BDM_MODE_11, /* FTMデバッグモード */         false , /* 割り込み状態 */         false /* 初期化トリガー */ }; /* flexTimer_ic_1 の入力キャプチャ設定 */ ftm_input_param_t flexTimer_ic_1_InputCaptureConfig = {     1U , /* チャネル構成の数 */     65535U , /* 最大カウント値 */     flexTimer_ic_1_InputCaptureChannelConfig /* チャンネル設定*/ }; /* flexTimer_ic_1 入力キャプチャのチャネル構成構造体 */ ftm_input_ch_param_t flexTimer_ic_1_InputCaptureChannelConfig [ 1 ] = {     {         0U , /* チャネルID */ FTM_SIGNAL_MEASUREMENT, /* 入力キャプチャ操作モード */ FTM_RISING_EDGE, /* エッジアライメントモード */ FTM_FALLING_EDGE_PERIOD_MEASUREMENT, /* 信号測定操作タイプ */         0U , /* フィルター値 */         false , /* フィルターの状態(有効/無効) */         true , /* 連続測定状態 */         NULL, /* チャネルイベント情報のコールバックパラメータのベクトル */         NULL /* チャネルイベント情報のコールバックのベクター */    } }; Re: S32K Input Capture こんにちは、 はい、それらの機能で十分なはずです。SDK ドライバは FTM チャネル割り込みを有効にするので、起動時から適切なハンドラーを割り当てる必要があると思います。正しくない場合、ハンドラーは FTM0_Ch0_Ch1_IRQHandler になります。 キャプチャされた値を取得するには、FTM_DRV_GetInputCaptureMeasurement が呼び出されます。 BR、ペトル Re: S32K Input Capture こんにちは、ペトルさん。   分かりやすく説明していただき、ありがとうございます。   これらの関数を使用してFTMピンを入力キャプチャとして初期化できますか? `FTM_DRV_Init()` `FTM_DRV_InitInputCapture()`   パルス発生を捕捉するためのIRQハンドラをインストールする `INT_SYS_InstallHandler(FTM0_Ch0_Ch1_IRQn, PWM_InputCapture_IRQHandler, NULL)`     サポートをお願いします   ありがとう シュルティ C Re: S32K Input Capture こんにちは、 最も一般的で効率的な方法は、FTM を入力キャプチャ モードで設定し、FTM 機能を持つピンを使用することです。各 FTM チャネルは入力キャプチャ モードに設定でき、入力信号のエッジ (立ち上がり、立ち下がり、またはその両方) でタイマー値をキャプチャします。これは通常、信号周期、パルス幅、周波数の測定に使用されます。 IC PAL ドライバを使用すると、入力信号を検出し、チャネル入力信号のパルス幅または周期を測定できます。FTM、eMIOS、FLEXPWM、ETIMER をサポートするすべてのプラットフォームと IP 間でポータブルになるように設計されています。 SO、完全な制御とパフォーマンスが必要な場合は、FTM を直接使用してください。よりシンプルなコードと移植性が必要な場合は、IC PAL を使用してください。 BR、ペトル Re: S32K Input Capture こんにちは、 直接参照できる SDKs の例があります (ftm_signal_measurement)。 または、問題を示す簡略化されたプロジェクトを共有します。 BR、ペトル Re: S32K Input Capture こんにちは、 SDK の例では、直接参照しました (ftm_signal_measurement)。 この例では割り込み方法は使用されず、ポーリング方法が使用され、その後FTM_DRV_GetInputCaptureMeasurementが呼び出されました。 割り込みによる FTM 信号測定を探しています。入力キャプチャが信号を認識すると、割り込みがトリガーされ、 ISR で FTM_DRV_GetInputCaptureMeasurement 関数が呼び出されます。 これのコードを提供してもらえますか ありがとう シュルティ C Re: S32K Input Capture こんにちは、 ハンドラーを再度インストールする必要がある場合は、 外部void FTM0_Ch0_Ch1_IRQHandler(void); INT_SYS_InstallHandler(FTM0_Ch0_Ch1_IRQn、FTM0_Ch0_Ch1_IRQHandler、NULL); BR、ペトル Re: S32K Input Capture こんにちは、 はい、その関数は定義されていますが、その後関数呼び出しは無限ループに入り、さらに実行されます。 システム全体が機能しなくなる、 ありがとう シュルティ C Re: S32K Input Capture こんにちは、 サポートありがとうございます。コードスニペットも確認させていただきます。 T&R、 シュルティ C Re: S32K Input Capture こんにちは、 割り込み対応FTMピンへの入力を入力キャプチャとして取得できますか? よろしくお願いします。 シュルティ C Re: S32K Input Capture こんにちは、 ドライバはキャプチャ イベント情報に割り込みを使用していますが、例では直接示されていません。 FTM IC 設定を変更して、ワンショット モードを使用し、ドライバ割り込みから呼び出されるコールバックを追加しました。 ftm_signal_measurement_s32k146 デモの変更された main.c については、添付ファイルを参照してください。 BR、ペトル
查看全文
RFID Discover 上的 Mifare Desfire EV3 实践指南 在日常工作中,许多客户询问如何开发 MIFARE DESFire EV3。是的,Mifare Desfire EV3 确实是一款安全性很高的产品,但相关的应用文档复杂且难以使用,客户可能需要花费大量时间进行研究,因此我想与您分享这些内容。
查看全文
适用于 ARM 2.2 的 S32 设计工作室 — Windows/Linux 激活码电子邮件 你好! 我想下载适用于 ARM 2.2 的 " S32 Design Studio — Windows/Linux " 然后通过电子邮件将激活码发送给我。 当我在恩智浦网站上点击 " S32 Design Studio for Arm 2.2 — Windows/Linux " 的 " 下载 " 按钮时,我会被带到恩智浦的 “我的” 页面,但下载从未发生过。 我已经登录了我的恩智浦账户,并且已经完成了几十次步骤。 感谢您抽出宝贵时间! -里奇 S32K1系列的S32SDK Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email 嗨,彼得,我确实下载过一次,但我从未收到过激活码。 。 如果激活码是通过电子邮件发送的,我没有收到。可能是我们的电子邮件过滤器出了问题,不过我现在似乎可以正常接收恩智浦的电子邮件了。 他们能重新发送激活码吗?感谢您的宝贵时间! 诚挚的 Rich Mullen Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email 你好 我又与 SW 团队进行了交谈,他们告诉我,看起来你已经成功下载,而且还分配了激活密钥。 这个问题还有效吗? 顺祝商祺! Peter Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email 你好 好的、 以下是您机器的激活代码:A07C-4C9E-C3B9-A436 顺祝商祺! Peter Re: S32 Design Studio for ARM 2.2 – Windows/Linux activation code email 谢谢你,彼得!我拿到了代码,感谢您抽出时间处理此事!
查看全文
eIQ NXP 微控制器入门指南 eIQ® 由多个硬件和软件组件构成,旨在使用户能够在嵌入式设备上运行机器学习模型。NXP 微控制器 eIQ 的一些关键组件包括: eIQ Time Series Studio- 用于创建和部署用于时间序列分析的经典机器学习和神经网络模型的 PC 工具 eIQ 推理引擎——作为 MCUXpresso SDK 或 Yocto Linux 的一部分,用于在嵌入式设备上对预训练模型进行推理。MCU 的选项包括 TensorFlow Lite,以及即将推出的 ExecuTorch。 eIQ Neutron NPU- 一种加速器核心架构,嵌入在特定的 NXP 设备中,例如MCX N和i.MX RT700,用于加速神经网络模型的推理 eIQ Neutron SDK-包含中子变流器工具,用于使用 eIQ Neutron NPU 加速模型 eIQ Model Zoo- 浏览在 NXP 芯片上测试过的模型 eIQ Model Watermarking Extension——增强自定义模型的版权保护 eIQ Model Creator - 与 ModelCat 合作进行基于视觉的模型开发 在NXP设备上使用AI/ML有两条主要路径。 使用eIQ Time Series Studio为时间序列应用生成并部署模型 使用 eIQ 推理引擎部署预训练的神经网络模型 本附带的实验将涵盖第 2 种选项,展示如何运行 MCUXpresso SDK 中的 TensorFlow Lite for Microcontrollers(TFLM)推理引擎示例。在 MCUXpresso SDK 中,以下 NXP 设备支持 TFLM: MCX N i.MX RT500 i.MX RT600 i.MX RT700 i.MX RT1050 i.MX RT1060 i.MX RT1064 i.MX RT1160 i.MX RT1170 i.MX RT1180 有关如何下载 eIQ 推理引擎软件库以及使用 VS Code、MCUXpresso IDE、IAR、Keil MDK 或 ARM GCC 运行该库的完整详细信息,请参阅附带的入门指南。 欲了解有关 eIQ 及 i.MX RT 系列的一些实操实验室的更多信息,请参阅以下链接: 适用于 MCU 的 eIQ 软件: MCU的eIQ库在MCUXpresso SDK Builder或Github上 用于时间序列应用的 eIQ Time Series Studio(TSS) eIQ Neutron SDK(用于中子变流器工具) MCU 动手实验室 eIQ Time Series Studio 入门实验室 i.MX RT700 NPU 入门实验室 MCX N NPU 入门实验室 TFLite for Microcontrollers 入门实验室   相关资源: eIQ TSS 文档 eIQ MCUXpresso SDK 文档 eIQ 常见问题解答 用于 AI/ML 示例的 Application Code Hub 用于 i.MX 应用处理器的 GoPoint 由 ModelCat.ai 提供的 eIQ Model Creator eIQ模型库 eIQ Neutron NPU 研究论文 eIQ 应用说明 i.MX RT700 eIQ Neutron NPU 启用和性能 (AN14700) i.MX RT700 USB 摄像机对象检测(AN14718),带软件 深入探索 TensorFlow 量化器调试器工具 (AN14493) 使用 TF-Lite 中的 K-Means 聚类进行 eIQ 异常检测 (AN12766) 迁移学习和数据集 (AN12892) 使用TensorFlow Lite进行手写数字识别 (AN12603) 使用 CMSIS-NN 库在 MNIST 数据集上开发 Caffe 模型 (AN12781) 带 TensorFlow Lite 推理功能的性别语音识别(AN13065) i.MX RT
查看全文
CAN MCX Nx4x FlexSPI ポートA とポートB を異なるデバイスで同時に使用できますか。 こんにちは、NXPさん FlexSPI を使用してハードウェアを接続し、両方のデバイスを同時にCAN使用できますか? ポートA->NORフラッシュ ポートB->PSRAM また、参考になる構成例はありますか? どうもありがとうございます MCX N Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. こんにちは、ハリー。 Spark の説明によると、device_config と clk ソースをチェックする必要がありますか? 私は見た typedef 構造体 _flexspi_config { ...... #定義されている場合(FSL_FEATURE_FLEXSPI_SUPPORT_SEPERATE_RXCLKSRC_PORTB) && FSL_FEATURE_FLEXSPI_SUPPORT_SEPERATE_RXCLKSRC_PORTB flexspi_read_sample_clock_t rxSampleClockPortB; /*!< フラッシュ読み取り用のサンプルクロックsource_bの選択。*/ #endif 1.portA と PortB を使用する場合、別々の rxclksource を使用する必要がありますか? 2. FLEXSPI_SetFlashConfig() に渡される &deviceconfig をチェックする必要がありますか? Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. こんにちは、ハリー。 サンプル コードでは、PortA の NOR フラッシュ ID にアクセスする方法のみが提供されており、MCX-N5XX-EVK にコネクテッドされた PSRAM を使用して PortB にアクセスするためのコードを追加しようとしています。参考までに実験結果を以下に示します。 FlexSPI 設定: ポートA->NORフラッシュ ポートB->PSRAM テストCASE1:成功 初期PortAおよびPortAフラッシュIDの読み取り(1バイト) テストCASE2: 成功 ポートBの初期値とポートBのフラッシュIDの読み取り(1バイト) テストCASE3: 失敗 最初にポートAとポートBの両方が、アドレスを使用してポートAとポートBのフラッシュID(1バイト)を個別に読み取ります。 以下に参考用のコードスニペットを示します。PortA と PortB の状況で間違いがあったか、さらに設定が必要かどうかを確認してください。 ポートAとポートBの両方のフラッシュデバイスを初期化するためのflexspi_nor_flash_initのコード変更 ポートBデバイスを読み取るためにflashXfer.deviceAddressにオフセットを追加します。 参考までに、変更されたファイルとプロジェクト全体のアーカイブを以下に示します。 Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. こんにちは SDKs サンプルを参照していますが、同時に 2 つのデバイスではなく 1 つのフラッシュ デバイスにコネクテッドされています。 2 つのデバイスを同時に動作させるには、設定が足りないのではないかと思います。 参考になるサンプル構成はありますか? または、レジスタ レベルから正しい構成を実行したことをどのように確認すればよいでしょうか? よろしくお願いします。 Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. こんにちは@greatshow_chen はい、NXP MCX Nx4x では、FlexSPI ポート A とポート B の両方を同時に使用して、2 つの異なるメモリ デバイスに接続CAN。 ポートA->NORフラッシュ ポートB->PSRAM 次の点を確認する必要があります。 NOR フラッシュと PSRAM は競合するピンを共有していません。 flexspi_octal_polling_transferをCAN参照します。 BR ハリー Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. こんにちは、 FlexSPI を搭載した多くの NXP マイクロコントローラ (i.MX RT シリーズなど) には、2 つの独立した FlexSPI チャネル (ポート A とポート B) があります。各ポートは、異なるタイプのメモリ デバイスと通信するように構成CAN。これにより、NOR フラッシュを 1 つのポートに接続し、PSRAM を別のポートに接続できるようになります。
查看全文
如何使 ATF 装载地址恒定? 我正在开发一款自定义 s32g3 板,我使用的是 yocto BSP43,每当我添加任何主要功能(例如:-HSE、SECURE 启动)时,ATF 的负载地址都会动态变化,这会导致引导加载程序更改以配置新的负载地址。因此,只要 A-CORE 或 ATF 有更新,我就会同时更新引导加载器。那么,有没有办法可以将加载地址设置为 ATF,这样即使在多次版本或添加新功能之后,加载地址也保持不变,其余的将与设置的加载地址对齐。 注意:这样做的主要目的是避免每次 ATF 更新时都更改引导加载程序 Re: how to make ATF load address constant ? 你好 Chenyin, 我已经更改了 BL2_BASE,它可以正常工作,但是负载地址仍在动态变化,例如,如果我添加 HSE 模块,我得到的负载地址与没有 HSE 模块的代码包不同,我们如何将负载地址设为静态?考虑到 BL2_BASE 在所有情况下都是一样的。 谢谢 sandeep Re: how to make ATF load address constant ? 你好,@sandeep3 谢谢你的帖子。 我建议在构建 TFA 时添加 BL2_BASE=$Address_Specified,然后可以计算出加载地址,你可以参考 s32_common.mk 了解详情。 BR 切宁
查看全文
在 SNVS 内的 HPRTC 上定期& 警报中断 您好,NXP团队: 我正试图配置每 1 秒一次的周期性中断和 30 秒后的警报中断。我的 ISR 看起来是这样的 void SNVS_HP_NON_TZ_IRQHandler(void) { volatile uint32_t flagStatus = SNVS_HP_RTC_GetStatusFlags(SNVS); volatile uint32_t result = flagStatus & kSNVS_RTC_PeriodicInterruptFlag; snvs_hp_rtc_datetime_t rtcDate; if (result) { __asm(" NOP"); SNVS_HP_RTC_GetDatetime(SNVS, &rtcDate); dbg_info("Periodic Interrupt @ %04hd-%02hd-%02hd %02hd:%02hd:%02hd\r\n", rtcDate.year, rtcDate.month, rtcDate.day, rtcDate.hour, rtcDate.minute, rtcDate.second); if (rtcDate.second == 30U) { __asm(" NOP"); __asm(" NOP"); __asm(" NOP"); } SNVS_HP_RTC_ClearStatusFlags(SNVS, kSNVS_RTC_PeriodicInterruptFlag); } if (SNVS_HP_RTC_GetStatusFlags(SNVS) & kSNVS_RTC_AlarmInterruptFlag) { __asm(" NOP"); dbg_info("Alarm:\r\n"); /* Clear alarm flag */ SNVS_HP_RTC_ClearStatusFlags(SNVS, kSNVS_RTC_AlarmInterruptFlag); } SDK_ISR_EXIT_BARRIER; } 我的初始化过程是这样的 SNVS_HP_RTC_GetDefaultConfig(&snvsRtcConfig); snvsRtcConfig.periodicInterruptFreq = 15; SNVS_HP_RTC_Init(SNVS, &snvsRtcConfig); dbg_info("SNVS HP example:\r\n"); /* Set a start date time and start RT */ rtcDate.year = 2014U; rtcDate.month = 12U; rtcDate.day = 25U; rtcDate.hour = 19U; rtcDate.minute = 0; rtcDate.second = 0; /* Set RTC time to default time and date and start the RTC */ SNVS_HP_RTC_SetDatetime(SNVS, &rtcDate); SNVS_HP_RTC_StartTimer(SNVS); dbg_info("\r\n"); SNVS_HP_RTC_GetDatetime(SNVS, &rtcDate); rtcDate.second = 30u; SNVS_HP_RTC_SetAlarm(SNVS, &rtcDate); /* Get alarm time */ SNVS_HP_RTC_GetAlarm(SNVS, &rtcDate); /* Print alarm time */ dbg_info("Alarm will occur at: %04hd-%02hd-%02hd %02hd:%02hd:%02hd\r\n", rtcDate.year, rtcDate.month, rtcDate.day, rtcDate.hour, rtcDate.minute, rtcDate.second); /* Enable SNVS alarm interrupt */ SNVS_HP_RTC_EnableInterrupts(SNVS, kSNVS_RTC_AlarmInterrupt); SNVS_HP_RTC_EnableInterrupts(SNVS, kSNVS_RTC_PeriodicInterrupt); NVIC_EnableIRQ(SNVS_HP_NON_TZ_IRQn); 在我的 ISR 中,我观察到当警报中断和定期中断同时发生时(HPSR 中的两个位都被设置),定期定时器标志将在 ISR 中首先被清除,因为它具有隐含优先级(如果检查定期 ISR,则优先)。在 if 块中,当定期计时器状态标志被清除时,由于某种原因,我看到我的警报状态标志也被清除,而定期计时器的定时器标志将再次转换为 1。只有下一次才会清除。正因为如此,我的闹钟中断服务完全失灵了。 是否在实施过程中出了什么问题? 谢谢! Re: Periodic & alarm interrupts on HPRTC within SNVS 您好! 了解。目前,我将只使用周期定时器来充当警报中断的角色。 感谢您的及时支持! Re: Periodic & alarm interrupts on HPRTC within SNVS 你好@AmanKumbhani, ,我复制了你的问题。我将在内部进行检查,以确认这是否是一个错误,或者这两个功能是否相互排斥。这可能需要一些时间。 不过,就您的应用而言,我认为以下 if 条件可以起到警报中断的作用: if (rtcDate.second == 30U) { __asm(" NOP"); __ asm(" NOP"); __asm(" NOP"); } BR Habib Re: Periodic & alarm interrupts on HPRTC within SNVS 嗨,哈比卜 感谢您的回复。老实说,我没有固定的用途。我正在对此进行测试,以便通过包装器为应用程序层提供功能,因此遇到了这个问题。 您能在自己的电脑上重现这个问题吗? 谢谢您! Re: Periodic & alarm interrupts on HPRTC within SNVS 你好,@阿曼-库姆巴尼、 对延迟回复表示歉意。为了更好地为您提供支持,能否请您说明申请的目的? 在我看来,您似乎可以完全依赖于周期性中断,因为您已经在每秒钟输入一次中断。你可以像在以下几行代码中一样简单地轮询秒值:i f (rtcDate.Second == 30U) { __asm(" NOP"); __ asm (" NOP "); __asm (" NOP "); } 最终,两种方法都会触发信号相同的中断,因此仅使用定期中断可能会简化您的实现。 BR Habib. Re: Periodic & alarm interrupts on HPRTC within SNVS 您好@AmanKumbhani, ,我将运行测试来复制这一问题,并详细查看这一行为。感谢您的耐心等待。 BR Habib. Re: Periodic & alarm interrupts on HPRTC within SNVS 嘿、 谢谢你的澄清!我会研究一下,并按照您的建议进行一次测试。 最好的 安缦 Re: Periodic & alarm interrupts on HPRTC within SNVS 你好,@阿曼-库姆巴尼、 造成这一问题的根本原因有两个。第一个问题与您配置 RTC 警报的方式有关: SNVS_HP_RTC_EnableInterrupts(SNVS, kSNVS_RTC_AlarmInterrupt); SNVS_HP_RTC_EnableInterrupts(SNVS, kSNVS_RTC_PeriodicInterrupt); 如第 24.6.1.3 章所述在 RM 中的 "SNVS_HP 控制寄存器(HPCR)"中,使能警报 "HPTA_EN "的位与 32 kHz 时钟同步。这意味着,当您设置其值时,需要等待它的更新,因为内核的运行速度通常比 32 kHz 快得多。这种等待机制的一个示例可以在启用 "RTC_EN "位的函数"SNVS_HP_RTC_StartTimer" 中看到,如下图所示: 另一方面,第二个问题与函数 "SNVS_HP_RTC_ClearStatusFlags "的工作方式有关。该函数对寄存器执行 OR 运算。下面就是一个例子: 寄存器:11 (两个标志都已设置。) 屏蔽:10(kSNVS_RTC_PeriodicInterruptFlag) OR:11 因此,当调用 "SNVS_HP_RTC_ClearStatusFlags "时,它将向 HPSR 寄存器写入 "0b11",从而清除周期和警报标志,因为这些位通过写入 1 来清除。因此,在清除状态标志之前,必须先读取这两个状态标志。因此,以下代码将导致错误: if (SNVS_HP_RTC_GetStatusFlags(SNVS) & kSNVS_RTC_AlarmInterruptFlag) { __asm(" NOP"); dbg_info("Alarm:\r\n"); /* Clear alarm flag */ SNVS_HP_RTC_ClearStatusFlags(SNVS, kSNVS_RTC_AlarmInterruptFlag); } 希望对您有所帮助。 BR Habib
查看全文
i.MX 8M Plus EVK で M7 の QSPI を使用する方法 皆さん、こんにちは i.MX 8M Plus EVKをQSPI NORで使い始めるのに苦労しています。 「uuu -b qspi firmware.bin」を使用して8M Miniをフラッシュする方法の説明を見つけました。しかし、これはうまくいかないようです 私のEVKには、NORフラッシュにロードされたブートイメージが付属しているようです。 u-boot=> sf probe SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB u-boot=> sf read $loadaddr 0 0x100 device 0 offset 0x0, size 0x100 SF: 256 bytes @ 0x0 Read: OK u-boot=> md $loadaddr 40400000: 412000d1 007e1000 0005fc00 00000000 .. A..~......... 40400010: 007e0fe0 007e0fc0 0080b7c0 00000000 ..~...~......... 40400020: 007e0bc0 0002cc00 00000000 00000000 ..~............. 40400030: 00000000 00000000 00000000 00000000 ................ 40400040: 1400000a d503201f 40200000 00000000 ..... .... @.... QSPIのコードを使用してM7をフラッシュして起動する方法に関するアプリノートはありますか? Re:i.MX 8M Plus EVKでM7のQSPIを使用する方法 オフセット0にflash_debug/hello_world.binでフラッシュをプログラムしました。 u-boot=> load mmc 1 $loadaddr hello_world.bin 18664 bytes read in 4 ms (4.4 MiB/s) u-boot=> sf probe SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB u-boot=> sf erase 0 0x5000 SF: 20480 bytes @ 0x0 Erased: OK u-boot=> sf write $loadaddr 0 $filesize device 0 offset 0x0, size 0x48e8 SF: 18664 bytes @ 0x0 Written: OK Re:i.MX 8M Plus EVKでM7のQSPIを使用する方法 私はそれを理解しました... .binのプログラミング後ファイルをフラッシュに送り、U-Boot で次のコマンドを発行すると、M7 hello_world アプリを実行できます。 u-boot=> sf probe SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB u-boot=> bootaux 0x08000000 ## No elf image at address 0x08000000 ## Starting auxiliary core stack = 0x20020000, pc = 0x0800048D... そして、UART4 (/dev/ttyUSB3) に "hello world." と表示されます。
查看全文
OpenAMP support for m33 core on i.mx93 Hey, I know this question has already been asked here Solved: Re: RPMsg support for m33 core on i.mx93 - NXP Community but I do not understand the accepted answer. In the NXP's Real-Time Edge software framework the RPSMG support is only listed for FreeRTOS. The i.mx95 A7 core, however, has already been added lately https://github.com/zephyrproject-rtos/zephyr/pull/86923 So my question is if NXP is planing to add also support for the m33. And if not what would be needed to add support manually? Re: OpenAMP support for m33 core on i.mx93 To enable inter-core communication between Linux (running on the A-core) and Zephyr (running on the M33 core), the recommended starting point is the openamp_rsc_table sample from Zephyr. This sample leverages: - OpenAMP on Zephyr - remoteproc and rpmsg on Linux Prerequisites Linux setup Linux BSP: use NXP's official BSP  https://github.com/nxp-imx/linux-imx/tree/lf-6.12.y Device tree: use the `-rpmsg` variant, e.g. imx93-11x11-evk-rpmsg.dts U-Boot: run `prepare_mcore` before booting Linux  Zephyr setup (M33 core) To run the openamp_rsc_table sample successfully, shared memory between the host and remote cores must be defined using the `zephyr,ipc_shm` property in a DTS overlay. Next, add the MU node in nxp_imx93_m33.dtsi: ``` mu1: mu1@44220000 {     compatible = "nxp,imx-mu";     reg = <0x44220000 DT_SIZE_K(64)>;     interrupts = <21 0>; }; ``` Then, linker script update - add the resource table section in `linker.ld`: ``` #if defined(CONFIG_OPENAMP_RSC_TABLE) SECTIONS {     SECTION_PROLOGUE(.resource_table,, SUBALIGN(8)) {         KEEP(*(.resource_table*))     } GROUP_LINK_IN(ROMABLE_REGION) } #endif ``` Configuration adjustments for i.MX93 The RX and TX IDs on i.MX93 differ from other boards. You must override the default values in the `.conf` overlay file: ``` CONFIG_IPM_IMX_MAX_DATA_SIZE_16=n CONFIG_IPM_IMX_MAX_DATA_SIZE_4=y CONFIG_OPENAMP_WITH_DCACHE=y CONFIG_LOG=y CONFIG_OPENAMP_RSC_TABLE_IPM_RX_ID=1 CONFIG_OPENAMP_RSC_TABLE_IPM_TX_ID=0 ``` Sample PRs https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table/boards https://github.com/zephyrproject-rtos/zephyr/pull/86923 https://github.com/zephyrproject-rtos/zephyr/pull/79220/commits Linux patch requirement For proper operation on i.MX93, apply the following Linux patch: https://lore.kernel.org/imx/CAEnQRZDoYvK-YXLjqbXsRAWDkHrWNOoR1OCCWxs+AfNUDuPB_w@mail.gmail.com/T/ Final steps before execution Before launching the application: Run `prepare_mcore` in U-Boot. Use the `-rpmsg` device tree blob. Follow the steps in the Application Note AN5317. Additional Resources i.MX Linux User Guide - https://www.nxp.com/docs/en/user-guide/UG10163.pdf Application Note AN5317 - https://www.nxp.com/docs/en/application-note/AN5317.pdf Details on the remoteproc, rpmsg, mailbox, and OpenAMP frameworks. It includes examples on how to create the DTS and configuration overlays. Please note that this is specifically an example for the HiFi4 core from the i.MX 8M Plus https://www.youtube.com/watch?v=JqwPljnm2_k&t=14s DTS API, on `zephyr,ipc_shm` - https://github.com/zephyrproject-rtos/zephyr/blob/main/doc/build/dts/api/api.rst?plain=1#L421 Re: OpenAMP support for m33 core on i.mx93 All zephyr IPC support here( Linux kernel OS on the main processor and a Zephyr application on the co-processor) https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table/boards Confirm from the internal team, this is no plan of supporting MPU cm33 now. But I have send your requirement to the internal team, if there is any update will let you know. I am sorry for that.
查看全文
NXP iMX95 EVK - NPU TensorFlow Lite モデル こんにちは、 NPU で eIQ TensorFlow Lite サンプルモデルを実行しましたが、次のエラーが発生して失敗しました。 情報: モデル mobilenet_v1_1.0_224_quant.tflite がロードされました 情報: 解決済み報告者 情報: EXTERNAL デリゲートが作成されました。 remoteproc remoteproc0: FWイメージNeutronFirmware.elfを起動しています remoteproc remoteproc0: リモートプロセッサ neutron-rproc が起動しました 情報: NeutronDelegate デリゲート: 1 つのパーティションを持つ 31 ノードのうち 29 ノードが委任されました。 INFO: EXTERNAL デリゲートを適用しました。 情報: CPU 用の TensorFlow Lite XNNPACK デリゲートを作成しました。 Neutron 4ab00004.imx95-Neutron: 無効な ioctl。コマンド=1075577096、引数=549719032088 Neutron推論ジョブの作成に失敗しました エラー: コンポーネント='Neutron ドライバ'、カテゴリ='内部障害'、コード=442 エラー: ノード番号 31 (NeutronDelegate) の呼び出しに失敗しました。 エラー: tflite の呼び出しに失敗しました。 例は次のパッケージを使用して構築されました。 # AI/ML IMAGE_INSTALL:append = "tensorflow-lite-neutron-delegate" 現在、リモート プロセッサはオフラインとして表示されます。 root@toradex-smarc-imx95-12593622:/sys/class/remoteproc/remoteproc0# 猫の状態 オフライン リモート プロセッサを手動で起動しようとすると、権限エラーが発生します。 root@toradex-smarc-imx95-12593622:~# echo rproc-neutron-rproc-fw > /sys/class/remoteproc/remoteproc0/firmware -sh: /sys/class/remoteproc/remoteproc0/firmware: 権限が拒否されました root@toradex-smarc-imx95-12593622:~# echo start > /sys/class/remoteproc/remoteproc0/state -sh: /sys/class/remoteproc/remoteproc0/state: 権限が拒否されました 現在、IMX_ML_User_Guide を参照して、NPU 上で eIQ Toolkit TensorFlow Lite の例を実行する作業を行っていますが、マイクロコードの不一致エラーが発生しました。 私たちのセットアップでは、BSPバージョンscarthgap-6.6.36-2.1.0を使用しています。eIQ ツールキット バージョン 1.16.0。TensorFlow Liteモデルを.tfliteに変換しましたeIQ ツールキットを使用して NPU 最適化モデルに変換しましたが、実行中に次のエラーが発生します。 トラブルシューティングのために、複数のBSPとeIQツールキットのバージョンの組み合わせ(BSP 6.6.52_2.2.0、6.12.34_2.1.0)をテストしました。、lf-6.6.3_1.0.0 6.6.23_2.0.0 および 6.6.36_2.1.0eIQ 1.16.0では、1.15.1、および 1.14.0)。ただし、マイクロコードのバージョンはいずれも、予想されるバージョンと一致しません。 予想されるマイクロコードバイナリ(NeutromFirmware.elf)を提供してください変更の実行やアドバイスのため。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 BSP バージョンが 6.12.20 から 6.12.34 にアップグレードされ、eIQ ツールキットのデフォルトの例が実行されました。添付のスクリーンショットは結果を示しています。この例は正常に実行され、NXP i.MX95 EVK でデフォルトの画像分類出力が生成されました。ただし、実行中に 31 個のノードのいずれも委任されませんでした。 .tfliteを変換しました最新の eIQ Toolkit バージョン 17 を使用したモデル。ただし、TensorFlow Lite バージョン 17 で例を実行すると、画像分類の結果が表示されません。この問題を示すスクリーンショットを添付しました。 上記の両方のCASEは、NXP i.MX95 EVK で実行されました。 ただし、私たちの主な目的は、これらの例を Toradex SMARC i.MX95 EVK で実行することです。 Toradex ボードの BSP バージョン アップグレードはまだ不安定で、Toradex i.MX95 EVK にバージョン 6.12.34 の安定した BSP リリースがまだないため、NPU で AI ワークロードを実行すると複数のエラーが発生します。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 モデルを次のように変換する必要があります。 /opt/nxp/eIQ_Toolkit_v1.17.0/bin/neutron-converter/MCU_SDK_25.09.00+Linux_6.12.34_2.1.0/neutron-converter \ --input you_model_quant.tflite \ --output your_model_neutron.tflite \ --target imx95 \ --convert-inputs-uint8-to-int8 \ --convert-outputs-uint8-to-int8 YOLOv11 Nano を 27 FPS で実行できました。バージョン不一致の警告はまだ表示されますが、問題は発生していません。警告を受けるのは楽しいことではありませんが、今となってはそれについてCANことはあまりありません。 お役に立てれば幸いです。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 最新バージョン (6.12.34) では、さらに多くのノードとオペレーターを変換することができました。変換された演算子が 3% から 62 ドルに増加しました。これは、YOLOv11 ベースのモデルとしては非常に良好です。 今度はバージョンの不一致もあります。しかし、それは私のボードのバージョンによるものです。SO、6.12.20 から 6.12.34 にアップデートしようとしています。お持ちのバージョンと変換に使用したバージョンをご確認ください。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 このエラーについては分かりませんが、おそらく NXP の誰かが介入するはずです。 私もガイドに従って、カスタム 1 ステージ検出器 (CNN ベース) を変換することができました。残念ながら、デリゲートにロードされるノードは 1 つだけです (残りは、CPU 用の XNNPACK のままです)。 ====== V4L2ENC: 1.26.0 build on May 7 2025 08:46:20. ====== INFO: NeutronDelegate delegate: 1 nodes delegated out of 697 nodes with 1 partitions. INFO: Neutron delegate version: v1.0.0-a5d640e6, zerocp enabled. INFO: Created TensorFlow Lite XNNPACK delegate for CPU. これはおそらく、変換後に 697 個の Neutron Graph のうち 1 個だけ作成されるためです。変換された演算子は 27 個のみです。笑 Conversion statistics: Number of operators after import = 678 Number of operators after optimize = 723 Number of operators converted = 27 Number of operators NOT converted = 696 Number of operators after extract = 697 Number of Neutron graphs = 1 Number of operators NOT converted = 696 Operator conversion ratio = 27 / 723 = 0.0373444 Operators converted = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, Variscite のサポートに再度お問い合わせし、何かアイデアが得られるか確認してみました。NXP がここで実際に返答しないのは残念です。 解決策が見つかることを願っています。引き続き調査を続け、何か見つかったらお知らせします。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 サポートありがとうございます。共有していただいたリンクを確認し、提供された手順に従いましたが、マイクロコード不一致エラーがまだ発生します。参考までにスクリーンショットを添付しました。 これを確認して問題解決にご協力いただけますでしょうか? Re: NXP iMX95 EVK - NPU TensorFlow Lite Model NXP のサポートは非常に悪く、ドキュメントには必要なものがすべて記載されていません。また、Neutron 準拠モデルが付属していないイメージについては言うまでもありません (変換されずにイメージに追加されなかったためです)。 私は、NXP iMX 95 が統合されたボードを提供しているNXPについてである Variscite に連絡し、支援してもらいました。これを動作させるには、NPX の例であっても、自分でモデルを変換する必要があります。次の手順に従ってください: https://dev.variscite.com/dart-mx95/mx95-yocto-walnascar-6.12.20_2.0.0-v1.2/machine-learning/ 他の作業で忙しいので、まだ変換は行っていません。 お役に立てれば幸いです。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model 最新の BSP リリースに更新しましたが、問題は依然として解決しません。この問題の解決にご協力いただけませんか? Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 私も同じ問題に直面しており、CAN回避できません。 以下の例のように、画像に付属するサンプル コードをテストしました。NeutroDelegate がノードを適切に委任しないという同じ問題が発生します。私たちの検出モデルで試してみましたが、予想どおり同じ結果でした。 ====== V4L2ENC: 1.26.0 build on May 7 2025 08:46:20. ====== INFO: NeutronDelegate delegate: 0 nodes delegated out of 678 nodes with 0 partitions. Error in cpuinfo: prctl(PR_SVE_GET_VL) failed INFO: Created TensorFlow Lite XNNPACK delegate for CPU. これを実行しようとすると、 echo start > /sys/class/remoteproc/remoteproc0/state 結果としてアクセスが拒否されました。 多くの画像で試してみました: 6.12.20_2.0.0-v1.1:動作し、起動しますが、デリゲートが適切に割り当てられません。 6.6.52_2.2.0-v1.1:動作しません。起動すらしません。 6.6.23_2.0.0-v1.1:動作しません。起動すらしません。 6.6.1_1.0.0-v1..00: 動作しません - 起動すらしません。 Variscite DART DM95 に付属する NXP i.MX 95 をテスト中です (またはテストしようとしています)。画像は彼らのサイトからダウンロードされました。最新の NXP リリースでも試してみましたが、これも機能しませんでした。 この許可が拒否された理由は何でしょうか?特定の動作する画像をお持ちの場合は、それをダウンロードするためのリンクを共有していただけますか? サポートをよろしくお願いいたします。 乾杯! Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは。 それは奇妙です。SO、最新の BSP を使用していることを確認し、ボードの Linux を消去して再度書き込んでください。ここでは問題なく動作しているので、これ以上言うことはCANません。 よろしくお願いします。 Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 ご提案のとおり、以下のコマンドを試しましたが、依然としてアクセスが拒否されるなどのエラーが発生しました。ルートおよび sudo でもコマンドを試していますが、依然としてアクセス拒否の問題が発生しています。参考までにスクリーンショットを追加しました。 1.エコー停止 > /sys/class/remoteproc/remoteproc0/state 2.cat /sys/class/remoteproc/remoteproc0/state 3.ls /lib/ファームウェア 4.echo NeutronFirmware.elf > /sys/class/remoteproc/remoteproc0/firmware Re: NXP iMX95 EVK - NPU TensorFlow Lite Model こんにちは、 エラー メッセージによると、RemoteProc 権限の問題と NPU デリゲートの失敗の両方が発生しています。これらを段階的に解決するお手伝いをさせていただきます。 1. RemoteProc の権限の問題 リモート プロセッサを手動で制御しようとしたときに表示される権限エラーはよくあるものです。RemoteProc のドキュメントによると、変更を加える前にリモート プロセッサが正しい状態であることを確認する必要があります。 # cat /sys/class/remoteproc/remoteproc0/state 権限が拒否されたエラーが発生した場合は、まずリモート プロセッサを停止してみてください。 # エコー停止 > /sys/class/remoteproc/remoteproc0/state ( 次に、オフラインであることを確認します。 # cat /sys/class/remoteproc/remoteproc0/state オフライン 2. ファームウェアのロードプロセス ファームウェアをロードする場合、RemoteProc フレームワークはデフォルトで /lib/firmware 内に格納されている *.elf ファームウェアを検索します(1) 。ファームウェアを次の場所にコピーCAN: $ scp hello_world.elf root@ :/lib/firmware ファームウェアが他の場所に保存されている場合は、ファームウェア パスを更新CAN。 # echo -n new_path > /sys/module/firmware_class/parameters/path 3. リモートプロセッサのロードと起動 ファームウェアをロードするには、ファームウェア ファイルにその名前を書き込みます。 # echo.elf > /sys/class/remoteproc/remoteproc0/ファームウェア 重要: 必ず *.elf ファームウェアを実行してください。そうしないと動作しません。 新しいファームウェアでリモート プロセッサを起動するには: # エコー開始 > /sys/class/remoteproc/remoteproc0/state 次のような出力が表示されます。 [12594.692880] remoteproc remoteproc0: imx-rproc を起動しています [12594.698629]remoteproc remoteproc0: FWイメージhello_world.elfを起動しています。サイズ 240736 [12594.706192]remoteproc remoteproc0: dtb rsrc-table がありません [12594.761474]remoteproc remoteproc0: リモートプロセッサ imx-rproc が起動しました 4. NPU構成要件 コミュニティの議論に基づいて、NPU の設定にはいくつかの重要な考慮事項があります。 NPU サポートの確認: ハードウェアが NPU 実行をサポートしていること、および使用している TensorFlow Lite バージョンが NPU アクセラレーションと互換性があることを確認します。 NPUドライバのインストール: NPUドライバが正しくインストールされ、設定されていることを確認します 正しい TensorFlow Lite デリゲートを使用する: NPU 実行に適切なデリゲートを使用していることを確認します。 5. トラブルシューティングの手順 ハードウェアサポートの確認: ハードウェア構成がNPUデリゲートをサポートしていることを確認します。 ファームウェアの検証: 正しいNPUファームウェアがロードされていることを確認します ドライバステータス: Neutronドライバが正しくロードされ、アクセス可能かどうかを確認します デリゲート構成: TensorFlow Lite デリゲートが特定のハードウェアに対して正しく構成されていることを確認します。 6. 代替アプローチ 問題が引き続き発生する場合は、まず CPU のみの推論でテストして、問題が NPU アクセラレーションに特有のものかどうかを特定することを検討してください。ハードウェアアクセラレーションを一時的に無効にするには、 USE_HW_ACCELERATED_INFERENCE=0 よろしくお願いします。  
查看全文
非 XIP 通过 JTAG RT1176 根据这份应用笔记:https://www.nxp.com/docs/en/application-note/AN14069.pdf,非 XIP 图像只能通过 UART 和 USB 通过 MCU Boot Utility 加载。 我想确认在 MCUXpresso IDE 中是否无法通过 MCU Link 或 Jlink 将 XIP 映像加载到闪存中? 如果必须使用 MCU Link,我想确认这些是正确的 UART 引脚。我在数据表上看不到通过 USB 启动的选项:https://www.nxp.com/docs/en/data-sheet/IMXRT1170AEC.pdf(如果我错过了,请原谅)。我在网上看过几件事提到通过 USB 启动只是将 USB 连接到相同的 UART 引脚吗? 谢谢! 安特奥 Re: NON XIP via JTAG RT1176 你好@AnteoJ、 感谢您对 NXP MIMXRT 系列的关注! 非XIP映像,例如从SD卡启动的镜像,需要使用McubootUtility或恩智浦的官方MCUXpresso安全配置工具进行刷新。 如果映像是 XIP,则可通过 JLink/DAP 等调试器将其编程为闪存。这在 MCUXpressoIDE 或其他集成开发环境中都很容易实现。 如果您使用的是 RT1170-EVK/EVKB,您会发现电路上有一个 MCU-Link,它是一个板调试器,可以方便客户在不使用外部调试器的情况下直接通过板调试器刷新程序和进行调试。此外,通过对不同固件进行编程,MCU-Link 可更改为 JLink 或 CMSIS-DAP 调试器。 详情请查看 EVK/EVKB 硬件原理图。 致以最诚挚的问候, Gavin
查看全文
使用EB配置FS23驱动时报错 您好,我在配置FS2303驱动时,EB出现如图一的错误提示。但是我在图二的地方已经添加了相关通知函数。同时图三提示的错误也不知道怎样产生的。我使用的是 Autosar4.4   版本2.0的S32K3 mcal驱动和Autosar4.7 版本1.0的FS23 MCAL驱动。我想请问一下上述问题是两个版本不兼容导致的问题吗? Re: 使用EB配置FS23驱动时报错 好的,谢谢您的回复 Re: 使用EB配置FS23驱动时报错 嗨@夏超 从release note里面来看,你所使用的版本确实是不兼容的。 FS23 SBC AUTOSAR R21-11 版本 1.0.0 FS23 SBC Autosar 4.4 版本 0.8.0
查看全文
uboot 跳转到内核会影响 llce_lin 的输出 你好,恩智浦 我们使用引导加载程序启动 M 核心 + A 内核,M 内核配置了 llce_lin 输出; s32g u-boot 跳转到内核,llce_lin 输出损坏,查询具体代码后找到; u-boot 代码:bootm.c-> announce_and_cleanup ()->cleanup_before_linux (void)-> board_cleanup_before_linux ();-> scmi_reset_agent (); 我们发现, 由于调用 scmi_reset_agent 函数导致,M 内核配置 lce_lin 停止发送;由于 scmi(系统控制和管理接口)系统控制和管理接口 (SCMI) 是 启动 中的较低级别函数,内核,控制时钟、电源、io、RESET等,其中涉及 s32g 的底层控制逻辑;如何修改或配置为 解决导致 llce_lin 停止的 A-core 初始化问题? 致以最诚挚的问候 Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 注释掉相应的行只是一种测试,并不是建议的解决问题的方法,因为这可能会影响到多个部分,从而导致像你发现的那样的问题。 我认为还需要进一步分析和测试,为了方便讨论和资源共享,请让我帮助创建一个支持案例来继续提供支持,我会直接通过邮件回复您。 很抱歉给您带来不便。 BR 切宁 Re: uboot jump to kernel affects llce_lin output 嗨,chenyin 我现在有一些关于 S32G 时钟的问题,基本上和图片中的问题类似; 1. tf-a 初始化时钟后 tf-a 不会退出吗? 2. u-启动 和内核如何初始化或使用时钟,需要与 tf-a 通信? 3. 你能详细解释一下在 tf-a、u-启动 和内核中是如何使用 clk 的吗? https://community.nxp.com/t5/NXP-Designs-Knowledge-Base/S32G-Bootloader-Customzition/tac-p/1771379/emcs_t/S2h8ZW1haWx8bWVudGlvbl9zdWJzY3JpcHRpb258TFBXQUozUkFGRzZFRjl8MTc3MTM3OXxBVF9NRU5USU9OU3xoSw BR. Re: uboot jump to kernel affects llce_lin output 嗨,chenyin 感谢您的回复, 我测试了评论过的 scmi_reset_agent 函数,并确认在 u-启动-> 内核跳转期间 llce_lin 输出正常。 但是,我发现内核启动后有异常,比如无法访问eth0 ping,因为我不确定是否还有其他问题,所以我没有按照这条线索进行调查; 你建议我做这样的调查吗? BR. Re: uboot jump to kernel affects llce_lin output 从U-Boot到Linux内核的过渡确实会影响外围设备的输出,包括与LLCE-LIN(低延迟通信引擎——本地互连网络)相关的外围设备的输出,尤其是在恩智浦S32G等复杂的嵌入式系统中。 这主要是由于 U-Boot 和 猴子型 Linux 内核管理和初始化硬件资源 的方式不同 。 我们使用引导加载程序启动 M 核心 + A 内核,M 内核配置了 llce_lin 输出;s32g u-boot 跳转到内核,llce_lin 输出损坏,查询... 但是,它们的用途不同,管理方式也大不相同。-> U-boot 设备树用于配置和初始化启动过程中所需的硬件元器件,而 Linux 内核则使用设备树来描述内核启动后的硬件配置 Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 据我了解,U-boot 不会设置时钟,tfa 会在启动期间设置时钟。 对于当前的问题,您是否介意在测试时注释掉源代码中的 scmi_reset_agent,以检查您的测试是否仍然存在问题? BR 切宁 Re: uboot jump to kernel affects llce_lin output 嗨,nxp 我继续在 u-boot 中追踪代码后发现了以下内容: 调用链:scmi_reset_agent (void)-> devm_scmi_process_msg (dev,& scmi_msg)-> scmi_smccc_process_msg (struct udevice *dev, struct scmi_msg *msg)-> arm_smccc_smc (chan-> func_id, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &res);-> SMCCC smc 对程序集进行了最后的调用,我不知道相关的细节,那么这部分代码是做什么的?它对 M 核心的运行有何影响,如何才能跳过代码执行的这一部分。 BR. Re: uboot jump to kernel affects llce_lin output 你好,chenyin 请提出一个问题,我们现在按如下方式启动流程 bootloader (M7)-> tf-a (A53)-> u-boot (A53)-> 内核 (A53) 我们已经在引导加载程序中配置了 uart 时钟,tf-a 中没有配置 uart 时钟,也没有在 u-boot 中进行任何修改; u-启动 中会重新配置 uart 模块和时钟吗? BR. Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 我建议首先尝试检查 TFA 中的 UART 时钟及其来源。 BR 切宁 Re: uboot jump to kernel affects llce_lin output 你好,切尼 我知道现在就是这样运行的。 你还有其他发现吗? BR. Re: uboot jump to kernel affects llce_lin output 你好,@马松 感谢您的回复。 既然你的 tf-a、u-boot 中只保存 ddr、xbar_2x 时钟,你的意思是说 UART 和外围设备 PLL3 的时钟也被禁用并在启动加载程序中设置,而不是在 TF-A 中设置?(在 TFA/uBoot 中,TFA/uBoot 只能从启动加载程序继承时钟设置来驱动 UART?) BR 切宁 Re: uboot jump to kernel affects llce_lin output 你好,陈怡 u-启动 中的 clk 转储如下所示: => clk dump Rate Usecnt Name ------------------------------------------ 40000000 0 |-- fxosc@40050000 51000000 0 |-- firc 32000 0 |-- sirc 20000000 0 |--ftm0_ext 20000000 0 |-- ftm1_ext 125000000 0 |-- gmac0_ext_rx 125000000 0 |-- gmac0_ext_tx 50000000 0 |-- gmac0_rmii_ref 200000000 0 |-- gmac0_ext_ts 100000000 0 |-- serdes_100_ext 125000000 0 |-- serdes_125_ext 125000000 0 |-- serdes0_lane0_ext_cdr 125000000 0 |-- serdes0_lane0_ext_tx 125000000 0 |--serdes0_lane1_ext_cdr 125000000 0 |-- serdes0_lane1_ext_tx 125000000 0 |-- serdes1_lane0_ext_cdr 125000000 0 |-- serdes1_lane0_ext_tx 125000000 0 |-- serdes1_lane1_ext_cdr 125000000 0 |-- serdes1_lane1_ext_tx 1 0 |-- pfe_mac0_rmii 1 0 |-- pfe_mac1_rmii 1 0 |-- pfe_mac2_rmii 1000000000 0 |-- a53 400000000 1 |-- serdes_axi 51000000 1 |-- serdes_aux 133333333 1 |-- serdes_apb 100000000 1 |-- serdes_ref 80000000 0 |-- ftm0_sys 0 0 |-- ftm0_ext 80000000 0 |-- ftm1_sys 0 0 |-- ftm1_ext 133333333 0 |-- flexcan_reg 133333333 0 |-- flexcan_sys 40000000 0 |-- flexcan_can 200000000 0 |-- flexcan_ts 62500000 0 |-- linflex_xbar 125000000 1 |--linflex_lin 0 0 |-- gmac0_ts 125000000 0 |-- gmac0_rx_sgmii 125000000 0 |-- gmac0_tx_sgmii 125000000 1 |-- gmac0_rx_rgmii 125000000 1 |-- gmac0_tx_rgmii 0 0 |-- gmac0_rx_rmii 0 0 |-- gmac0_tx_rmii 0 0 |-- gmac0_rx_mii 0 0 |-- gmac0_tx_mii 400000000 1 |-- gmac0_axi 0 0 |-- spi_reg 0 0 |-- spi_module 133333333 0 |-- qspi_reg 133333333 0 |-- qspi_ahb 266666666 0 |-- qspi_flash2x 133333333 0 |--qspi_flash1x 400000000 0 |-- usdhc_ahb 133333333 0 |-- usdhc_module 400000000 1 |-- usdhc_core 32000 0 |-- usdhc_mod32k 133333333 0 |-- ddr_reg 800000000 0 |-- ddr_pll_ref 800000000 0 |-- ddr_axi 400000000 0 |-- sram_axi 133333333 0 |-- sram_reg 133333333 0 |-- i2c_reg 133333333 0 |-- i2c_module 66666666 0 |--siul2_reg 51000000 0 |-- siul2_filter 133333333 0 |-- crc_reg 133333333 0 |-- crc_module 100000000 0 |-- eim0_reg 100000000 0 |-- eim0_module 66666666 0 |-- eim123_reg 66666666 0 |-- eim123_module 66666666 0 |-- eim_reg 66666666 0 |-- eim_module 66666666 0 |-- fccu_module 51000000 0 |-- fccu_safe 66666666 0 |-- rtc_reg 32000 0 |-- rtc_sirc 51000000 0 |-- rtc_firc 133333333 0 |-- swt_module 51000000 0 |-- swt_counter 133333333 0 |-- stm_module 133333333 0 |-- stm_reg 133333333 0 |-- pit_module 133333333 0 |-- pit_reg 400000000 0 |-- edma_module 400000000 0 |-- edma_ahb 80000000 1 |-- sar_adc_bus 666666660 |-- cmu_module 66666666 0 |-- cmu_reg 133333333 0 |-- tmu_module 133333333 0 |-- tmu_reg 133333333 0 |-- flexray_reg 0 0 |-- flexray_pe 66666666 0 |--wkpu_module 66666666 0 |-- wkpu_reg 66666666 0 |-- src_module 66666666 0 |-- src_reg 66666666 0 |-- src_top_module 66666666 0 |-- src_top_reg 133333333 0 |-- ctu_module 80000000 0 |-- ctu_ctu 200000000 0 |-- dbg_sys4 400000000 0 |-- dbg_sys2 400000000 0 |-- m7 133333333 0 |-- dmamux_module 133333333 0 |-- dmamux_reg 500000000 0 | -- gic_module 133333333 0 | -- mscm_module 133333333 0 | -- mscm_reg 133333333 0 | -- sema42_module 133333333 0 |-- sema42_reg 66666666 0 |-- xrdc_module 66666666 0 |-- xrdc_reg 0 0 |-- clkout0 0 0 |-- clkout1 100000000 0 |-- usb_mem 32000 0 |-- usb_low 0 0 |--pfe0_rx_sgmii 0 0 ||-- pfe0_tx_sgmii 0 0 |-- pfe0_rx_rgmii 0 0 |-- pfe0_tx_rgmii 0 0 |-- pfe0_rx_rmii 0 0 |-- pfe0_tx_rmii 0 0 |-- pfe0_rx_mii 0 0 |--pfe0_tx_mii 0 0 ||-- pfe1_rx_sgmii 0 0 |-- pfe1_tx_sgmii 0 0 |-- pfe1_rx_rgmii 0 0 |-- pfe1_tx_rgmii 0 0 |-- pfe1_rx_rmii 0 0 |-- pfe1_tx_rmii 0 0 |--pfe1_rx_mii 0 0 |-- pfe1_tx_mii 0 0 |-- pfe2_rx_sgmii 0 0 |-- pfe2_tx_sgmii 0 0 |-- pfe2_rx_rgmii 0 0 |-- pfe2_tx_rgmii 0 0 |-- pfe2_rx_rmii 0 0 |-- pfe2_tx_rmii 0 0 |-- pfe2_rx_mii 0 0 |-- pfe2_tx_mii 300000000 0 |-- pfe_axi 300000000 0 |-- pfe_apb 600000000 0 |-- pfe_pe 0 0 |-- pfe_ts 40000000 0 |-- llce_can_pe 200000000 0 |-- llce_sys 80000000 0 `-- llce_per 1000000000 0 |-- a53 400000000 1 |-- serdes_axi 51000000 1 |-- serdes_aux 133333333 1 |-- serdes_apb 100000000 1 |-- serdes_ref 80000000 0 |-- ftm0_sys 0 0 |-- ftm0_ext 80000000 0 |-- ftm1_sys 0 0 |-- ftm1_ext 133333333 0 |--flexcan_reg 133333333 0 |-- flexcan_sys 40000000 0 |-- flexcan_can 200000000 0 |-- flexcan_ts 62500000 0 |-- linflex_xbar 125000000 1 |-- linflex_lin 0 0 |--gmac0_ts 125000000 0 |-- gmac0_rx_sgmii 125000000 0 |-- gmac0_tx_sgmii 125000000 1 |-- gmac0_rx_rgmii 125000000 1 |-- gmac0_tx_rgmii 0 0 |--gmac0_rx_rmii 0 0 |-- gmac0_tx_rmii 0 0 |-- gmac0_rx_mii 0 0 |-- gmac0_tx_mii 400000000 1 |-- gmac0_axi 0 0 |-- spi_reg 0 0 |-- spi_module 133333333 0 |--qspi_reg 133333333 0 |-- qspi_ahb 266666666 0 |-- qspi_flash2x 133333333 0 |-- qspi_flash1x 400000000 0 |-- usdhc_ahb 133333333 0 |-- usdhc_module 400000000 1 |-- usdhc_core 32000 0 |-- usdhc_mod32k 133333333 0 |-- ddr_reg 800000000 0 |-- ddr_pll_ref 800000000 0 |-- ddr_axi 400000000 0 |-- sram_axi 133333333 0 |-- sram_reg 133333333 0 |-- i2c_reg 133333333 0 |-- i2c_module 66666666 0 |-- siul2_reg 51000000 0 |-- siul2_filter 13333333333 0 |--crc_reg 133333333 0 |-- crc_module 100000000 0 |-- eim0_reg 100000000 0 |-- eim0_module 66666666 0 |-- eim123_reg 66666666 0 |-- eim123_module 66666666 0 |--eim_reg 66666666 0 |-- eim_module 66666666 0 |-- fccu_module 51000000 0 |-- fccu_safe 66666666 0 |-- rtc_reg 32000 0 |-- rtc_sirc 51000000 0 |--rtc_firc 133333333 0 |-- swt_module 51000000 0 |-- swt_counter 133333333 0 |-- stm_module 133333333 0 |-- stm_reg 13333333333 0 |-- pit_module 13333333333 0 |--pit_reg 400000000 0 |-- edma_module 400000000 0 |-- edma_ahb 80000000 1 |-- sar_adc_bus 66666666 0 |-- cmu_module 66666666 0 |-- cmu_reg 133333333 0 |-- tmu_module 133333333 0 |-- tmu_reg 133333333 0 |-- flexray_reg 0 0 |-- flexray_pe 66666666 0 |-- wkpu_module 66666666 0 |-- wkpu_reg 66666666 0 |--src_module 66666666 0 |-- src_reg 66666666 0 |-- src_top_module 66666666 0 |-- src_top_reg 133333333 0 |-- ctu_module 80000000 0 |-- ctu_ctu 200000000 0 |-- dbg_sys4 400000000 0 |-- dbg_sys2 400000000 0 |-- m7 133333333 0 |-- dmamux_module 133333333 0 |-- dmamux_reg 500000000 0 |-- gic_module 133333333 0 |-- mscm_module 133333333 0 |-- mscm_reg 133333333 0 |-- sema42_module 133333333 0 |-- sema42_reg 66666666 0 |--xrdc_module 66666666 0 |-- xrdc_reg 0 0 |-- clkout0 0 0 |-- clkout1 100000000 0 |-- usb_mem 32000 0 |-- usb_low 0 0 |-- pfe0_rx_sgmii 0 0 |-- pfe0_tx_sgmii 0 0 |-- pfe0_rx_rgmii 0 0 |-- pfe0_tx_rgmii 0 0 |-- pfe0_rx_rmii 0 0 |-- pfe0_tx_rmii 0 0 |-- pfe0_rx_mii 0 0 |-- pfe0_tx_mii 0 0 |-- pfe1_rx_sgmii 0 0 |-- pfe1_tx_sgmii 0 0 |--pfe1_rx_rgmii 0 0 ||-- pfe1_tx_rgmii 0 0 ||-- pfe1_rx_rmii 0 0 |-- pfe1_tx_rmii 0 0 |-- pfe1_rx_mii 0 0 |-- pfe1_tx_mii 0 0 |-- pfe2_rx_sgmii 0 0 ||-- pfe2_tx_sgmii 0 0 ||-- pfe2_rx_rgmii 0 0 |-- pfe2_tx_rgmii 0 0 |-- pfe2_rx_rmii 0 0 |-- pfe2_tx_rmii 0 0 |-- pfe2_rx_mii 0 0 |-- pfe2_tx_mii 300000000 0 |-- pfe_axi 300000000 0 |-- pfe_apb 600000000 0 |-- pfe_pe 0 0 |-- pfe_ts 40000000 0 |-- llce_can_pe 200000000 0 |-- llce_sys 80000000 0 |-- llce_per Re: uboot jump to kernel affects llce_lin output 嗨,chenyin 1. Lin 时钟在引导加载程序中配置; 2. 我们使用 bsp42,在 tf-a、u-boot 中只保存 ddr、xbar_2x 时钟,所有其他配置都处于关闭状态,具体取决于启动加载程序的配置; BR. Re: uboot jump to kernel affects llce_lin output 你好,@马松 谢谢您的帖子。 1.我想知道 LIN 时钟是在引导加载程序中配置的,还是在 M7 内核上运行的 LIN 应用程序中配置的? 2。您的测试设置中使用的是哪个版本的电路板支持包?对时钟设置有任何修改吗?你介意分享你的 u-启动 中的时钟转储吗? BR 切宁
查看全文
スマートhome_infographic.pdfのためのNFC <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 今日、モバイルネットワーク事業者は、自分だけのスマートホームキットを簡単に手に入れることができます。多くの場合、複雑さは、それらが動作する標準と同じくらい多様なデバイスの最初のセットアップに伴って発生します。NFCは、このプロセスをタップアンドコネクトと同じくらい簡単にすることを約束します。このインフォグラフィックでは、スマートホームにNFCを装備する5つの理由と、エコシステムへのメリットが紹介されています。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 今日、モバイルネットワーク事業者は、自分だけのスマートホームキットを簡単に手に入れることができます。多くの場合、複雑さは、それらが動作する標準と同じくらい多様なデバイスの最初のセットアップに伴って発生します。NFCは、このプロセスをタップアンドコネクトと同じくらい簡単にすることを約束します。このインフォグラフィックでは、スマートホームにNFCを装備する5つの理由と、エコシステムへのメリットが紹介されています。
查看全文
SDK1.9 でL2sw_binアプリケーションを変更する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP T1040およびT1020 SoCには、デバイスに8ポートのギガビットイーサネットスイッチが統合されています。 QorIQ SDKには、L2スイッチ・ユーザー・スペース・ドライバと、スイッチ・ドライバが提供するAPIを使用する小規模なデモ・アプリケーションが含まれています。L2Switch デモ アプリケーションは、T1040 でスイッチを設定するのに役立ちます。 添付ドキュメントには、SDK1.9でソースコードを変更し、スイッチレジスタに読み取りまたは書き込みアクセスするコマンドを追加する手順が含まれています。これを行う前に、SDK1.9をインストールして使用できるようにする必要があります。SDKのマニュアルには、SDKのインストール方法、ホスト環境の準備方法、特定のターゲットに対するpokyの設定方法などが記載されています。
查看全文
示例 MPC5777C-1b+2b_FLASH_ECC_error_injection GHS614 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 该示例的目的是展示如何生成多位或单位 * 内部 FLASH 中的 ECC 错误(用户必须在 * 主要功能)。 * Flash 过度编程用于生成不可纠正的(或单位) * FLASH 中存在 ECC 错误。然后访问坏数据,因此 IVOR1 异常(或 * ERM组合中断服务程序)生成并处理。 * 示例还为 EIM 和 ERM 模块提供了有用的宏。 * 示例在终端窗口显示通知(USBtoUART 桥 J21) *(19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制)。 * 无需其他外部连接。 * * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC5777C-512DS Rev.A + MPC57xx 主板 Rev.C * 微控制器: PPC5777CMM03 2N45H CTZZS1521A *系统频率:PLL1 = core_clk = 264MHz,PLL0 = 192MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * EVB 连接:eSCI_A 是 USBtoUART 桥接器(连接器 J21) * ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 该示例的目的是展示如何生成多位或单位 * 内部 FLASH 中的 ECC 错误(用户必须在 * 主要功能)。 * Flash 过度编程用于生成不可纠正的(或单位) * FLASH 中存在 ECC 错误。然后访问坏数据,因此 IVOR1 异常(或 * ERM组合中断服务程序)生成并处理。 * 示例还为 EIM 和 ERM 模块提供了有用的宏。 * 示例在终端窗口显示通知(USBtoUART 桥 J21) *(19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制)。 * 无需其他外部连接。 * * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC5777C-512DS Rev.A + MPC57xx 主板 Rev.C * 微控制器: PPC5777CMM03 2N45H CTZZS1521A *系统频率:PLL1 = core_clk = 264MHz,PLL0 = 192MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * EVB 连接:eSCI_A 是 USBtoUART 桥接器(连接器 J21) * ******************************************************************************** 概述
查看全文