Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
IMX8QXP 上 CAN-FD 帧丢失 你好 我正在使用 MCIMX8QXP-CPU 板和 MCIMX8QXP-8X-BB。我在使用数据速率为 2Mbit/s 的 can-fd 帧时遇到了一些问题。使用"classic" CAN 和 CAN-FD 1Mbit/s 时一切正常,但使用 2Mbit/s 时,帧丢失严重。我知道我的输入信号并不完美,因为它们来自免接触式CAN总线读卡器,而且我观察到一些噪音。但我可以使用 Kvaser、pcan 等 CAN 记录器读取所有帧,不会出现问题。 我在另一个主题上看到,CAN 控制器时钟可能会影响帧丢失? 在我的配置中,CAN 时钟频率为 40MHz。 我试图修改它,但没有成功。我首先尝试修改设备树,然后读到它也可能在固件中(scfw)。有关信息,我使用 yocto 来版本系统 你认为这个时钟可能是我丢帧的原因吗?如果是,我该如何更新? 感谢您的帮助。 Re: CAN-FD frames loss on IMX8QXP 你好 问题可能确实与 CAN 控制器的时钟配置有关。对于以更高数据速率(2Mbit/s)运行的 CAN-FD,时钟精度变得至关重要。使用当前的 40MHz CAN 时钟,以及使用会引入一定噪声的免接触式 CAN 总线读卡器时,时序容差可能会变得更加严格。 解决这一问题有两种可能的方法: 1. **SCFW修改**:CAN 控制器时钟在系统控制器固件 (SCFW) 中配置。您需要修改 SCFW 配置文件来调整时钟设置。这需要重建 SCFW。 2。**设备树修改**:您也可以尝试调整设备树中的 CAN 定时参数。对于 CAN-FD 操作,您可能需要启用发射器延迟补偿 (TDC),这对于高于 2.5Mbps 的数据速率尤其重要。 对于免接触式 CAN 总线读取器引入噪声的特定情况,调整位定时参数以更能容忍信号变化可能会对您有所帮助。这可以通过修改设备树配置中的传播分段值来完成。 由于你使用的是 Yocto,你可以通过设备树叠加层或直接修补内核源代码来实现这些更改。 此致     Re: CAN-FD frames loss on IMX8QXP 谢谢谢谢 感谢感谢您的反馈。 I 尝试两个 选项 1) SCFW 修改: 我成功生成了固件 scfw_tcm.bin 文件 然后,在我的 yocto 项目中,我有这些生成的文件: bl31 - im x8qx。bin bl3 1- im x8qx。bin - 选择 m4_image。bin mkimage_imx8 mx8qxc0-ahab-容器。img mx8qx -m ek- scfw-tc m。bin scfw_tcm 。bin soc 。做个小孩。bin u -b oot - imx8qxp-mek。bin - sd u - boot - spl。bin - imx8qxp-mek-sd 当我使用 imx-mkimage 工具时,我必须复制这些文件: bl31 - im x8qx。 bin,u -boot- boot - imx8qxp -mek。 bin - sd,scfw_tcm 。 bin 和 mx8qxc0 -ahab-容器。 img 到我的 imx - mkimage 工具然后当我尝试生成新的二进制文件时我遇到了这个错误: 包括杂项.制造 包括 m4.mak 包括安卓.嗡嗡声 包括测试.使 包括 autobuild.制作 包含别名.mak 使[1]: *** 没有règle pour fabriquer la cible " mx8qxb0-ahab-容器.img",为 "flash "所必需。 设置. 使: ***[Makefile:26: flash] 错误 2 我看到 yocto 生成了 mx8qxc0-ahab-容器.img 而不是 mx8qxc0-ahab-容器.img,所以我还 尝试重命名它,但还是出现了同样的问题。 2) 我成功修改了我的设备树,我可以在板上看到 新的 时钟频率。 然后I 尝试命令更新控制器的时序,但我的新 新设置并没有应用。 你写道:你可能需要启用发射器延迟补偿(TDC),我没有找到任何相关文档。如果我明白可以直接在设备树上设置定时参数吗? Re: CAN-FD frames loss on IMX8QXP 你好 我的问题依然存在:canfd 帧丢失。 正如我所说,我成功地将控制器时钟更新到了 80Mhz。但这还不够。 我无法修改时间。我不知道具体该怎么做?至于启用发射器延迟补偿 (TDC),我没有找到 imx8 的相关文档。 感谢您的帮助、 纪尧姆
記事全体を表示
S32K5 RTD 0.8.0 SPI 半双工模式不起作用 大家好 客户舍弗勒使用 S32K5 RTD 0.8.0 CD1/CD3 实现 SPI 半双工模式。我们还帮助他们完成项目版本,但发现SPI半双工似乎不起作用。 我们使用旧的 K3 RTD 示例来帮助我们调试 K5。K3 RTD 6.0 中的 K3 半双工 SPI 示例运行良好。我们发现在 K3 中完成 SPI 初始化后,CS 和 SOUT 引脚均为高电平。 数据可以在 K3 中成功传输。 但在 K5 中,CS、SOUT 引脚在 SPI 初始化后都是低电平,这是不可能的,也不会导致半双工故障。我们检查了端口配置和端口初始化是否正常,K5 中的 SPI 寄存器与 K3 相同。 请帮助检查当前 K5 RTD 驱动器中的半双工 SPI 是否完全正常工作? BR 理查德 优先级:高 RTD Re: S32K5 RTD 0.8.0 SPI half duplex mode does not work 嗨 @RichardLi 你 能试试今天(2025 年 12 月 8 日)发布的最新 RTD 版本 0.8.0 吗 由于 CD01 和 CD03 版本的开发团队没有更新 RTD_SPI_UM.pdf,因此我无法确认它是否支持半双工。 在最新版本中,我看到他们提供的示例支持半双工模式,而 UM 文档没有提及半双工模式的限制。 Re: S32K5 RTD 0.8.0 SPI half duplex mode does not work 你好@RichardLi 让我检查一下你的项目。 同时,您能否查看RTD提供的示例,他们在版本时确认该示例已通过验证。我们可以从软件或硬件方面缩小问题的范围 Re: S32K5 RTD 0.8.0 SPI half duplex mode does not work 你好@congnguyenphu 感谢您的支持!我查看了 RTD 示例,但没有找到半双工演示。所附项目根据 RTD 示例修改为半双工模式。 如果我能提供更多信息帮助我们解决问题,请告诉我。 BR 理查德 Re: S32K5 RTD 0.8.0 SPI half duplex mode does not work 你好@congnguyenphu 我试用了 RTD 0.8.0,问题依然存在。SOUT、CS 引脚始终为低电平。我已经上传了项目,您能否帮忙检查一下 RTD 是否支持这种 SPI 半双工模式? BR 理查德 Re: S32K5 RTD 0.8.0 SPI half duplex mode does not work 你好@congnguyenphu 你那边有什么新情况吗?谢谢! 此致, 理查德 Re: S32K5 RTD 0.8.0 SPI half duplex mode does not work 经@RichardLi确认 此问题的根本原因是引脚被其他功能复用,因此无法进行 SPI 传输。 在更改为其他 SPI 通道后,SPI 正常工作。 此问题单可以关闭。
記事全体を表示
MPC565 中的 UC3FCFIG 你好 我使用的是 CodeWarrior 8.7 我希望我的 MPC565 在硬RESET中从 UC3FCFIG 获得 RCW。但我找不到任何关于如何在 UC3FCFIG 寄存器中设置寄存器值的文档。 谢谢, Rafa Re: UC3FCFIG in MPC565 你好 UC3F EEPROM RESET配置字是在特殊阴影位置的第一个单词(ADDR [23:29] = 0x00)中实现的。RESET配置字及其余的影子信息字位于主管数据地址空间中。RESET配置词的目的是为系统提供RESET配置的替代内部来源。 因此,换句话说,它不是内存映射寄存器,而只是影子闪存空间中的配置字,然后在RESET期间将其复制到相应的寄存器中。 请注意,除位 20 外,UC3FCFIG 中的位与 USIU 硬RESET配置字中的位相同。 来自参考手册: petervlna_0-1764572541927.png 如何设置 UC3FCFIG? UC3FCFIG 不是运行时寄存器,正常运行时不能随意写入。它通常被编程到闪存配置扇区中。 这意味着在 RESET 之前,您需要使用正确的 UC3FCFIG 值对闪存配置模块(通常在闪存的开头)进行编程。 另请参阅第 20.4.3 章 UC3F EEPROM 阴影行 顺祝商祺! Peter Re: UC3FCFIG in MPC565 谢谢您的回答、 关于 : " 这意味着在 RESET 之前,你需要使用正确的 UC3FCFIG 值对闪存配置模块(通常在闪存的开头)进行编程 " 在 CodeWarrior 中如何实现这一目标?我已将 Flash Programmer 配置为使用MPC566EVB_MPC565_MPC566_shadow_init.cfg。 我是否需要在该文件中添加UC3FCFIG 的值? ,谨致问候 、 拉法 Re: UC3FCFIG in MPC565 你好 在 CodeWarrior 中如何实现这一目标? 我对这里的 codewarrior 不熟悉。但它只是一个集成开发环境,因此只需对闪存进行简单编程就能实现神奇的效果。 我已将 Flash Programmer 配置为使用MPC566EVB_MPC565_MPC566_shadow_init.cfg。 我是否需要在该文件中添加UC3FCFIG的值 闪存编程器使用的 .cfg 文件(如 MPC566EVB_MPC565_MPC566_shadow_init.cfg)定义了影子闪存初始化值,其中包括 UC3FCFIG 等配置寄存器。 具体操作如下 UC3FCFIG 的去向 UC3FCFIG 是阴影闪存配置块的一部分。 .cfg 文件包含这些寄存器的条目,因此当您对影子闪存进行编程时,设备在RESET时会使用这些值。 该怎么做 Open MPC566EVB_MPC565_MPC566_shadow_init.cfg. 查找定义阴影寄存器或配置字的部分。 您应该能看到类似的条目:UC3FCFG: 0xXXXXXXXX UC3FCFIG 通常映射在阴影闪存区域(而非 RAM)。 对于 MPC565/MPC566,请查看参考手册 → “闪存配置” 部分。 通常情况下,阴影块从 0xFFF00000 或类似位置开始。 这就告诉闪存编程器将该值写入该地址的影子闪存。 顺祝商祺! Peter
記事全体を表示
S32K388CVB-Q289 駆動 PTC21 親愛なるチーム 私は S32K388CVB-Q289 を使用しており、TJA1153 CAN0 とともに FlexCAN_0 を有効にしています。テスト目的で物理バスに 2 番目のノードをコネクテッドしています。 しかし、FlexCAN_0は送信時にAckエラーが発生します AhmadKhalil_0-1764329071712.png TJA1153 トランシーバが有効になっていることを再確認し、J95 のピン 5 を測定すると、約 2 ボルトと表示されます。また、GPDO85 レジスタを 0 と 1 の間で変更しても、ピンで読み取られる電圧は影響を受けません。 AhmadKhalil_1-1764329191048.png GPDO85レジスタでピンがハイに設定され、MSCR85で出力ドライバが有効になっていることがわかりますが、 AhmadKhalil_2-1764329282677.png AhmadKhalil_3-1764329341274.png 構成: AhmadKhalil_4-1764329501186.png AhmadKhalil_5-1764329565448.png AhmadKhalil_6-1764329609295.png Re: S32K388CVB-Q289 Driving PTC21 こんにちは、 ピンレベルを確認するには、J95.5-6ジャンパーを取り外し、MCU(5)とTJA1153(6)側を確認します。 TJA1153のVIOはJ804を使用してVDD_HV_B_PERH(VDD_HV_B 3.3V)にコネクテッドされていますが、使用されているMCUピンはVDD_HV_A(5V)にコネクテッドされています。 ユーザーが TJA1153 モードを切り替える必要がない限り、EN ピンを駆動する必要はありません。EN と STB_N は両方とも外部抵抗によって VIO にプルアップされます。デバイスがバニラ状態の場合、ローカル構成を可能にするために、MCU によって STB_N を低く駆動する必要があります。TJA1153 の構成の最後に、STB は EN、STB_N がハイの状態で通常モードに戻ります。 バス上にメッセージが表示されても ACK されない場合は、両方のノード間の CAN ビット タイミングが一致していないことが原因である可能性が最も高くなります。 とにかく、S32K388EVBのサンプルはここに掲載されている。 https://community.nxp.com/t5/S32K/Need-MCAL-working-CAN-Configuration-for-S32K388-EVB-bench/mp/1923345/highlight/true#M38660   BR、ペトル Re: S32K388CVB-Q289 Driving PTC21 ご返信ありがとうございます。 電圧レベルは今のところ良好なようです。EN と nSTB がハイになります。それでも、Ack エラーが発生し、テスト測定ツールのバスには何も表示されません。 トランシーバがバニラ状態であるため、一度設定するまで動作しない可能性はありますか? 例を読みましたが、現在のセットアップでは、トランシーバを相互に接続するよりも、テスト ツールから CAN メッセージを送信する方がはるかに簡単です。送受信のみの基本構成(セキュリティ要件は不要)の場合、初期化シーケンスと、CAN経由で送信する必要があるものについて教えていただけますか? Re: S32K388CVB-Q289 Driving PTC21 こんにちは、 デフォルトではデバイスはバニラ状態になっているSO、ホストまたはリモートから構成する必要があります。設定後、状態を変更できますが、例では通常 Vanilla 状態に維持されるため、電源を入れるたびに init が必要です。 掲載された例がボード上の FlexCAN モジュール間で動作している場合、CAN ツールに 1 つのモジュールだけをコネクテッドしても同様に動作するはずです。この例では、送信される ID が CAN0 トランシーバのパスリストに追加され、他の構成はデフォルトのままになります。 別の init シーケンスについては、IP レベルで実行された以下の例を参照してください。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500/ta-p/1981987 トランシーバもバニラ状態にあることを想定しており、トランシーバのパスリストをすべてのstdおよびext IDを通過させるように設定し、バスからのメッセージをブロックしないようにします。最後に、不揮発性メモリへの書き込みやトランシーバのロックを行わずにコンフィギュレーションモードを終了します(バニラ状態を維持)。 BR、ペトル
記事全体を表示
S32K358 上的 CAN(FlexCAN)邮箱 - IFLAG 位 大家好, 我正在使用 S32K358 FlexCAN 模块,我想确认正确的寄存器/标志用法,以及将 64 个硬件消息缓冲器(MB0...MB63)配置为接收邮箱的安全程序。我读过《清除条例》,但我想确保我了解实际行为、 我想知道哪些寄存器/标志指示 FIFO 状态、邮箱中断标志、溢出/警告,以及使用 64 MB 时建议的 MB 读取/清除顺序。 是为所有 MB 启用每个 MB 的中断掩码 (IMASK),还是使用分组方法,在 ISR 中读取 IFLAG1/IFLAG2 并循环处理标记的 MB?对 ISR 的持续时间和优先级是否有任何担忧? 如果我未读取(即,如果在我读取旧帧之前有新帧到达相同的 MB 中),邮箱如何覆盖旗帜/寄存器中的清单 — 有标记吗?如果没有,如何检测是否发生了覆盖? 我试着接收 CAN 数据,发现所有 CAN 帧都只使用 MB0,问题解决了吗? 有人能解释一下 Flexcan 邮箱吗?如果我想使用 64 个消息缓冲区,应该怎么做? Re: CAN (FlexCAN) mailboxes on S32K358 — IFLAG bits 您好, 阅读第 73.3.4 章可解决大部分问题设备 RM 的接收过程和 73.3.5 匹配过程。以下是对您所提问题的快速反馈 问:我想知道哪些寄存器/标志指示 FIFO 状态、邮箱中断标志、溢出/警告,以及使用 64 MB 时建议的 MB 读取/清除顺序。 答: 传统 RX FIFO 模式使用 MB0-MB5 作为接收队列。此外,MB6-MB7(或更多,取决于过滤表配置,CTRL[RFFN])用于指定 ID 过滤表。因此,如果启用传统的 RX FIFO,就不能将所有 64 MB 都用作独立邮箱。除非您将使用最大容量为 96MB 的 FlexCAN 实例(FlexCAN0-2)。或使用增强型 RX FIFO。 如果启用了传统 RX FIFO,则 MB0 是 FIFO 入口点,用户使用 MB0 读取报文。 监测 IFLAG1/IFLAG2 的寄存器和标志:MB0—MB31 和 MB32—MB63 的中断标志。 IMASK1 / IMASK2:每 MB 中断使能屏蔽。 如果启用了传统 RXFIFO RXFIR:表示哪个 FIFO 条目已被填满。 IFLAG1[BUF5I](传统 RX FIFO 中可用帧)--当至少有一个帧可从传统 FIFO 中读取时设置。 IFLAG1[BUF6I](传统 RX FIFO 警告)- 当传统 RX FIFO 收到新报文,使未读报文数量从四个增加到五个时设置。这一变化意味着传统 RX FIFO 几乎已满。该标志保持设置状态,直到 CPU 将其清除。 IFLAG1[BUF7I](传统 RX FIFO 溢出)- 当传入信息因传统 RX FIFO 已满而丢失时设置。 如果设置了相应的屏蔽位,则会产生中断。 问:我应该为所有 MB 启用每个 MB 的中断屏蔽 (IMASK),还是使用分组方法,在 ISR 中读取 IFLAG1/IFLAG2 并在循环中处理标记的 MB?对 ISR 的持续时间和优先级是否有任何担忧? 答: 推荐的 ISR 策略 32MB 有共同的中断向量(0-31、32-64......) 为您关心的所有 MB 启用中断,然后在 ISR 中:读取 IFLAG1 或 IFLAG2。对于每个设置位,处理该 MB。向该位写 1(写 1 清除),清除标记。 如果在 ISR 中循环使用 32 MB,时间可能会很长,但这与应用程序有关。 问:如果我错过读取机会(即,如果在我读取旧帧之前有新帧到达同一 MB 中),邮箱如何覆盖旗帜/寄存器中的清单 — 有标志吗?如果没有,如何检测是否发生了覆盖? 答: 覆盖检测 FlexCAN 没有专用的 MB 覆盖标志。如果在读取旧帧之前有新帧到达,旧数据将无声丢失。中断标志 (IFLAGx) 只是保持设置状态,直到被清除。 只有 MB 的控制/状态字 CODE 文件更改为 OVERRUN 问:我尝试接收 CAN 数据,但所有 CAN 帧都只使用 MB0。 答: 您观察到的 "所有帧都进入 MB0 "通常意味着: 启用了 RX FIFO,MB0 是 FIFO 入口点。 或者您的接受筛选器设置为只匹配 MB0。 BR, Petr
記事全体を表示
i.MX93 Cortex-M33 ボードと SDKs を MCUXpresso IDEs にインポートする方法 📌 コンテクスト: MCUXpresso IDEsを使用して、i.MX93 Cortex-M33 (MCIMX93-EVK)ボードでの開発を開始しようとしています。NXP Web サイトから SDK ZIP をダウンロードしましたが、ボードを正常にインポートしたり、その例を使用したりできません。 🛠️ 私がやったこと: SDK ZIPをダウンロードしました: mcuxpresso.NXP.comからの SDK_25_03_00_MCIMX93-EVK.zip MCUXpresso IDEを開きました(バージョン: ここで指定してください) 行き先: インストールされたSDKs > インポート → ZIPファイルを選択 SDK は IDE の「インストールされた SDK」の下に表示されます。 ただし、 「SDKs の例をインポート」に移動すると何も表示されないか、インポートしたプロジェクトをビルドできません。 ❓ 質問: 以下のことを実現できるように、i.MX93 Cortex-M33 ボードと SDK を MCUXpresso IDE にインポートするための正しい完全な手順は何ですか。 サポートされているボードを見る デモ/サンプルアプリケーション(hello_worldなど)にアクセスする エラーなしでプロジェクトをビルドおよびデバッグする 🔍 追加情報: 私はi.MX93のCortex-M33コアをターゲットにしています MCUXpresso IDEのみを使用したい(IARやVS Codeは使用しない) 🧪 期待される結果: MCUXpresso IDE を使用して、MCIMX93-EVK ボード上の cm33_core0 用の hello_world や led_blinky などのサンプル プロジェクトをインポートおよびビルドできるようになります。 これを動作させるために追加のツールや構成が必要な場合はお知らせください。前もって感謝します! i.MX93EVK #i.mx93 cortex-m33 i.MX93 #MCUXpressoIDE ##MCUXpressoSDK Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? こんにちは@Manjunathb 現在、i.MX93 Cortex-M33にも取り組んでいます。MCUXpresso IDEをインストールしましたが、ガイドに従ってSDKの圧縮ファイルを「インストール済みSDK」ビューにドロップした際にエラーが発生しました。 あなたも同じ M33 コアに取り組んでいると理解していますが、これまでの情報や進捗状況を共有していただけますか?VS Code でも MCUXpresso for VS Code を使うべきでしょうか? M33 開発を始めるためのガイドや手順を共有していただければ幸いです。ありがとう。 Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? こんにちは、チャビラさん。 現在、i.MX93 Cortex-M33 コアを使用していますが、このデバイスでは MCUXpresso IDE はサポートされていないものの、VS Code 用の MCUXpresso が推奨ツールであることは理解しています。 すでにインストール済み: MCUXpresso for VS Code拡張機能 i.MX93 SDKパッケージ Arm GCC ツールチェーン そして私はJ-Linkデバッガーを使用しています。 以下の点についてご指導いただけますでしょうか。 i.MX93 Cortex-M33 SDK を VS Code に正しくインポートするにはどうすればよいですか?SDK はどこに配置すればよいですか? また、拡張機能はどのようにして SDK を検出するのでしょうか? Cortex-M33 のデモまたはテンプレート プロジェクト (hello_world や led_blinky など) を作成または開く方法は? MCUXpresso VS Code 環境を使用してコンパイルを成功させるためのビルド設定 (コンパイラ、リンカー パスなど) を構成するにはどうすればよいですか? J-Link プローブまたは remoteproc (Linux を使用している場合) を使用してコンパイルされたアプリケーションをフラッシュおよびデバッグする適切な方法は何ですか? VS Code 用の MCUXpresso を使用する場合、i.MX93 に固有の既知の制限や追加手順はありますか? 完全なステップバイステップの説明や関連ドキュメントへのリンクをいただければ幸いです。どうぞよろしくお願いいたします! よろしくお願いします、 マンジュナス・バディガー Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? わかった 👍 ご返信ありがとうございます Re: How to Import i.MX93 Cortex-M33 Board and SDK into MCUXpresso IDE? こんにちは@Manjunathb ! NXP サポートにお問い合わせいただきありがとうございます。 残念ながら、このCASE、MCUXpresso IDE は互換性がありません。ただし、VS Code ではサポートされており、同様の機能を提供する MCUXpresso for VS Code を使用できます。 よろしくお願いします、 チャビラ
記事全体を表示
mke06128vqh4 中的 uart0 朋友们,我有一块用 MKE06Z128VQH4 微控制器设计的板,我在其中使用了多个输出和输入。我使用的是一个 KBI 输入、3 个定时器和一个计数器,所以没有问题 - 我已经进行了配置,它们都能正常工作。 我目前正在研究 UART0 串行端口,我将 USB-TTL 串行适配器连接到 PC,以接收或发送数据。我无法使用 SDK 库发送或接收信息。我使用 MCUXpresso 的配置如图所示: mk1.JPG 针脚: Iotelctronic_0-1764071007390.png 时钟,我有一个 12MHZ 的外部晶体: Iotelctronic_1-1764071084330.png 由于 FLL 出错,我无法设置 FEE 选项,然后我使用 FBELP 进行配置。 在 UART0 中,我使用中断接收和发送轮询进行配置。 Iotelctronic_2-1764071328099.png Iotelctronic_3-1764071349888.png 安装的 sdk 是 Iotelctronic_4-1764071419903.png 我有示例软件包: Iotelctronic_5-1764071510120.png 有了这些例子,我仍然无法让 UART0 正常工作。我需要一些指导 - 几天来我一直在尝试让 UART0 正常工作。 Re: uart0 in mke06128vqh4 你好@Iotelctronic 感谢您的提问。 请首先测试 UART 演示。UART 演示在您那边能正常工作吗? 确保硬件连接正确。连接正确的 TX 和 RX 引脚。 测量 TX/RX 信号。 BR 爱丽丝 Re: uart0 in mke06128vqh4 你好@Iotelctronic 请在不做任何修改的情况下使用演示版。 我已经在我这边进行了测试,没有发现任何问题 BR 爱丽丝 Re: uart0 in mke06128vqh4 嗨,艾丽丝! 我使用轮询对演示进行了测试,但它不起作用。 codigo main.c: #include "pin_mux.h" #include "board.h" #include "fsl_uart.h" /******************************************************************************* * Definitions ******************************************************************************/ /* UART instance and clock */ #define DEMO_UART UART1 #define DEMO_UART_CLK_FREQ CLOCK_GetFreq(kCLOCK_BusClk) /******************************************************************************* * Prototypes ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ uint8_t txbuff[] = "Uart polling example\r\nBoard will send back received characters\r\n"; uint8_t rxbuff[20] = {0}; /******************************************************************************* * Code ******************************************************************************/ /*! * @brief Main function */ int main(void) { uint8_t ch; uart_config_t config; BOARD_InitBootPins(); BOARD_InitBootClocks(); config.baudRate_Bps = 115200U; config.parityMode = kUART_ParityDisabled; config.stopBitCount = kUART_OneStopBit; //config.txFifoWatermark = 0; //config.rxFifoWatermark = 1; config.enableTx = false; config.enableRx = false; // UART_GetDefaultConfig(&config); // config.baudRate_Bps = BOARD_DEBUG_UART_BAUDRATE; // config.enableTx = true; //config.enableRx = true; UART_Init(DEMO_UART, &config, DEMO_UART_CLK_FREQ); UART_WriteBlocking(DEMO_UART, txbuff, sizeof(txbuff) - 1); while (1) { UART_ReadBlocking(DEMO_UART, &ch, 1); UART_WriteBlocking(DEMO_UART, &ch, 1); } } Re: uart0 in mke06128vqh4 你好@Iotelctronic 1) 关于时钟,请检查 12 MHz 晶振是否正常工作,并验证配置。 2) KE06 不支持 DMA。 谢谢! BR 爱丽丝 Re: uart0 in mke06128vqh4 你好,我找到问题所在了。我使用的 SDK 示例和其他使用寄存器的项目对我不起作用;它们总是发送错误的数据和字符。我使用的是外置 12 MHz 晶振,使用该晶振似乎无法产生精确的 115200 波特率。不过,我将配置改为 8 MHz,而没有拆焊 12 MHz 晶体,结果运行正常。我最大的问题是:如果我将配置修改为 8 MHz,但不更改 12 MHz 晶体,为什么它还能工作?我展示的代码是我在 .freq 中做的修改= 8000000U.有什么解释吗?我还想问一下,MKE06Z128VQH4 微控制器是否有与 UART 一起使用的 DMA? /*********************************************************************************************************************** * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. **********************************************************************************************************************/ /* * How to setup clock using clock driver functions: * * 1. call CLOCK_SetSimSafeDivs() to set the system clock dividers in SIM to safe value. * * 2. If external oscillator is used Call CLOCK_SetXtal0Freq() to set XTAL0 frequency based on board settings and * call CLOCK_InitOsc0() to init the OSC. * * 3. Call CLOCK_BootToXxxMode()/CLOCK_SetXxxMode() to set ICS run at the target mode. * * 4. If ICSIRCLK is needed, call CLOCK_SetInternalRefClkConfig() to enable the clock. * * 5. call CLOCK_SetSimConfig() to configure the divider in sim. */ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!GlobalInfo product: Clocks v7.0 processor: MKE06Z128xxx4 package_id: MKE06Z128VLK4 mcu_data: ksdk2_0 processor_version: 9.0.0 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ #include "clock_config.h" /******************************************************************************* * Definitions ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ /* System clock frequency. */ extern uint32_t SystemCoreClock; /******************************************************************************* ************************ BOARD_InitBootClocks function ************************ ******************************************************************************/ void BOARD_InitBootClocks(void) { BOARD_BootClockRUN(); } /******************************************************************************* ********************** Configuration BOARD_BootClockRUN *********************** ******************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!Configuration name: BOARD_BootClockRUN called_from_default_init: true outputs: - {id: Bus_clock.outFreq, value: 20 MHz} - {id: Core_clock.outFreq, value: 40 MHz} - {id: Flash_clock.outFreq, value: 20 MHz} - {id: ICSFF_clock.outFreq, value: 31.25 kHz} - {id: ICSIR_clock.outFreq, value: 37.5 kHz} - {id: LPO_clock.outFreq, value: 1 kHz} - {id: OSCER_clock.outFreq, value: 8 MHz} - {id: Plat_clock.outFreq, value: 40 MHz} - {id: System_clock.outFreq, value: 40 MHz} - {id: Timer_clock.outFreq, value: 20 MHz} settings: - {id: ICSMode, value: FEE} - {id: ICS.BDIV.scale, value: '1', locked: true} - {id: ICS.IREFS.sel, value: ICS.RDIV} - {id: ICS.RDIV.scale, value: '256'} - {id: ICS_C1_IRCLKEN_CFG, value: Enabled} - {id: OSC_CR_OSCEN_CFG, value: Enabled} - {id: OSC_CR_OSC_MODE_CFG, value: ModeOscLowPower} - {id: OSC_CR_RANGE_CFG, value: High} - {id: OSC_CR_RANGE_RDIV_CFG, value: High} - {id: SIM.DIV2.scale, value: '2'} - {id: SIM.DIV3.scale, value: '2', locked: true} sources: - {id: OSC.OSC.outFreq, value: 8 MHz, enabled: true} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /******************************************************************************* * Variables for BOARD_BootClockRUN configuration ******************************************************************************/ const ics_config_t icsConfig_BOARD_BootClockRUN = { .icsMode = kICS_ModeFEE, /* FEE - FLL Engaged External */ .irClkEnableMode = kICS_IrclkEnable, /* ICSIRCLK enabled, ICSIRCLK disabled in STOP mode */ .bDiv = 0x0U, /* Bus clock divider: divided by 1 */ .rDiv = 0x3U, /* FLL external reference clock divider: divided by 256 */ }; const sim_clock_config_t simConfig_BOARD_BootClockRUN = { .outDiv1 = 0x0U, /* DIV1 clock divider: divided by 1 */ .outDiv2 = 0x1U, /* DIV2 clock divider: divided by 2 */ .outDiv3 = 0x1U, /* DIV3 clock divider: divided by 2 */ .busClkPrescaler = 0x0U, /* bus clock optional prescaler */ }; const osc_config_t oscConfig_BOARD_BootClockRUN = { .freq = 8000000U, /* Oscillator frequency: 12000000Hz */ .workMode = kOSC_ModeOscLowPower, /* Oscillator low power */ .enableMode = kOSC_Enable, /* Enable external reference clock, disable external reference clock in STOP mode */ }; /******************************************************************************* * Code for BOARD_BootClockRUN configuration ******************************************************************************/ void BOARD_BootClockRUN(void) { /* Set the system clock dividers in SIM to safe value. */ CLOCK_SetSimSafeDivs(); /* Initializes OSC0 according to board configuration. */ CLOCK_InitOsc0(&oscConfig_BOARD_BootClockRUN); CLOCK_SetXtal0Freq(oscConfig_BOARD_BootClockRUN.freq); /* Set ICS to FEE mode. */ CLOCK_BootToFeeMode(icsConfig_BOARD_BootClockRUN.bDiv, icsConfig_BOARD_BootClockRUN.rDiv); /* Configure the Internal Reference clock (ICSIRCLK). */ CLOCK_SetInternalRefClkConfig(icsConfig_BOARD_BootClockRUN.irClkEnableMode); /* Set the clock configuration in SIM module. */ CLOCK_SetSimConfig(&simConfig_BOARD_BootClockRUN); /* Set SystemCoreClock variable. */ SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK; } Re: uart0 in mke06128vqh4 谢谢,时钟的问题在于晶体焊接的频率是 8MHZ,而不是 12MHZ
記事全体を表示
同时使用 PCIe 和 USB3 时的 iMX8MP 带宽限制 你好 一位客户报告了使用 USB 3 摄像机时的带宽限制。在正常情况下,摄像头运行良好,但一旦开始向 NVMe PCIe 驱动器写入数据,流水线就会因带宽不足而崩溃。 他们进行了一项不同的测试,结果非常有趣。他们没有使用 USB3 摄像头,而是连接了一个 USB3 千兆以太网接口,并开始使用 iperf3 进行带宽测试。测试速度保持在约 900MB/s,直到他们开始使用 dd 向 NVMe 硬盘写入。当出现这种情况时,USB3 的带宽将降至每秒约 400MB。 这是预期行为吗? 我注意到 USB3 和 PCIe 都直接连接到 AXI 总线,这条总线上有 1Gb/s 的限制吗? 在将视频数据写入 NVMe 硬盘时,客户需要稳定的 USB3 带宽(至少足以持续收集帧)。 如有任何帮助,我们将不胜感激、 拉斐尔 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 我进行了以下测试,以了解带宽降低的情况。我连接了一个 NVMe 磁盘并将其挂载在 /mnt,并通过电缆将一个 USB3 千兆以太网接口直接连接到我的机器。在不向磁盘写入数据的情况下启动 iperf3,输出结果如下: root@verdin-imx8mp-15207903:~# iperf3 -c 192.168.50.1 Connecting to host 192.168.50.1, port 5201 [ 5] local 192.168.50.58 port 42800 connected to 192.168.50.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 113 MBytes 950 Mbits/sec 0 293 KBytes [ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec 0 307 KBytes [ 5] 2.00-3.00 sec 112 MBytes 938 Mbits/sec 0 321 KBytes [ 5] 3.00-4.00 sec 112 MBytes 940 Mbits/sec 0 338 KBytes [ 5] 4.00-5.00 sec 112 MBytes 938 Mbits/sec 0 338 KBytes [ 5] 5.00-6.00 sec 112 MBytes 938 Mbits/sec 0 338 KBytes [ 5] 6.00-7.00 sec 112 MBytes 940 Mbits/sec 0 372 KBytes [ 5] 7.00-8.00 sec 112 MBytes 942 Mbits/sec 0 372 KBytes [ 5] 8.00-9.00 sec 113 MBytes 945 Mbits/sec 0 372 KBytes [ 5] 9.00-10.00 sec 112 MBytes 941 Mbits/sec 0 372 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver iperf Done. 现在,我在另一个终端上开始向 NVMe 磁盘写入数据: root@verdin-imx8mp-15207903:~# dd if=/dev/zero of=/mnt/bla bs=1M count=10000 10000+0 records in 10000+0 records out 10485760000 bytes (10 GB, 9.8 GiB) copied, 76.2779 s, 137 MB/s 同时,我再次启动 iperf3: root@verdin-imx8mp-15207903:~# iperf3 -c 192.168.50.1 -t 60 Connecting to host 192.168.50.1, port 5201 [ 5] local 192.168.50.58 port 59494 connected to 192.168.50.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 54.8 MBytes 457 Mbits/sec 0 317 KBytes [ 5] 1.00-2.00 sec 1.38 MBytes 11.5 Mbits/sec 0 317 KBytes [ 5] 2.00-3.01 sec 2.00 MBytes 16.7 Mbits/sec 0 317 KBytes [ 5] 3.01-4.00 sec 1.38 MBytes 11.6 Mbits/sec 0 317 KBytes [ 5] 4.00-5.00 sec 1.88 MBytes 15.7 Mbits/sec 0 317 KBytes [ 5] 5.00-6.00 sec 112 MBytes 937 Mbits/sec 0 335 KBytes [ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec 0 335 KBytes [ 5] 7.00-8.00 sec 15.0 MBytes 126 Mbits/sec 0 335 KBytes [ 5] 8.00-9.00 sec 1.38 MBytes 11.5 Mbits/sec 0 335 KBytes [ 5] 9.00-10.00 sec 1.62 MBytes 13.6 Mbits/sec 0 335 KBytes [ 5] 10.00-11.00 sec 1.88 MBytes 15.7 Mbits/sec 0 335 KBytes [ 5] 11.00-12.00 sec 71.9 MBytes 604 Mbits/sec 0 335 KBytes [ 5] 12.00-13.00 sec 113 MBytes 946 Mbits/sec 0 335 KBytes [ 5] 13.00-14.00 sec 65.1 MBytes 546 Mbits/sec 0 335 KBytes [ 5] 14.00-15.00 sec 47.9 MBytes 400 Mbits/sec 0 498 KBytes [ 5] 15.00-16.00 sec 37.2 MBytes 313 Mbits/sec 0 498 KBytes [ 5] 16.00-17.00 sec 39.6 MBytes 331 Mbits/sec 0 498 KBytes [ 5] 17.00-18.00 sec 45.6 MBytes 384 Mbits/sec 0 498 KBytes [ 5] 18.00-19.00 sec 30.0 MBytes 251 Mbits/sec 0 498 KBytes [ 5] 19.00-20.00 sec 1.38 MBytes 11.6 Mbits/sec 0 498 KBytes [ 5] 20.00-21.00 sec 2.00 MBytes 16.8 Mbits/sec 0 498 KBytes [ 5] 21.00-22.01 sec 2.00 MBytes 16.7 Mbits/sec 0 498 KBytes [ 5] 22.01-23.00 sec 14.4 MBytes 121 Mbits/sec 0 498 KBytes [ 5] 23.00-24.00 sec 113 MBytes 946 Mbits/sec 0 747 KBytes [ 5] 24.00-25.00 sec 113 MBytes 950 Mbits/sec 0 747 KBytes [ 5] 25.00-26.00 sec 40.6 MBytes 339 Mbits/sec 0 747 KBytes [ 5] 26.00-27.00 sec 48.1 MBytes 405 Mbits/sec 0 747 KBytes [ 5] 27.00-28.00 sec 25.6 MBytes 215 Mbits/sec 0 747 KBytes [ 5] 28.00-29.01 sec 46.9 MBytes 391 Mbits/sec 0 747 KBytes [ 5] 29.01-30.00 sec 42.4 MBytes 358 Mbits/sec 0 747 KBytes [ 5] 30.00-31.00 sec 29.1 MBytes 244 Mbits/sec 0 747 KBytes [ 5] 31.00-32.01 sec 2.75 MBytes 23.0 Mbits/sec 0 747 KBytes [ 5] 32.01-33.01 sec 1.00 MBytes 8.38 Mbits/sec 0 747 KBytes [ 5] 33.01-34.00 sec 1.50 MBytes 12.7 Mbits/sec 0 747 KBytes [ 5] 34.00-35.00 sec 18.1 MBytes 152 Mbits/sec 0 747 KBytes [ 5] 35.00-36.00 sec 112 MBytes 943 Mbits/sec 0 747 KBytes [ 5] 36.00-37.01 sec 111 MBytes 922 Mbits/sec 0 747 KBytes [ 5] 37.01-38.00 sec 1.62 MBytes 13.7 Mbits/sec 0 747 KBytes [ 5] 38.00-39.00 sec 1.62 MBytes 13.6 Mbits/sec 0 747 KBytes [ 5] 39.00-40.00 sec 1.50 MBytes 12.6 Mbits/sec 0 747 KBytes [ 5] 40.00-41.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 41.00-42.00 sec 94.1 MBytes 791 Mbits/sec 0 747 KBytes [ 5] 42.00-43.00 sec 112 MBytes 944 Mbits/sec 0 747 KBytes [ 5] 43.00-44.00 sec 40.5 MBytes 339 Mbits/sec 0 747 KBytes [ 5] 44.00-45.00 sec 1.62 MBytes 13.6 Mbits/sec 0 747 KBytes [ 5] 45.00-46.00 sec 2.88 MBytes 24.1 Mbits/sec 0 747 KBytes [ 5] 46.00-47.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 47.00-48.00 sec 54.2 MBytes 456 Mbits/sec 0 747 KBytes [ 5] 48.00-49.00 sec 112 MBytes 937 Mbits/sec 0 747 KBytes [ 5] 49.00-50.00 sec 97.6 MBytes 816 Mbits/sec 0 747 KBytes [ 5] 50.00-51.00 sec 1.38 MBytes 11.6 Mbits/sec 0 747 KBytes [ 5] 51.00-52.01 sec 1.50 MBytes 12.5 Mbits/sec 0 747 KBytes [ 5] 52.01-53.00 sec 1.75 MBytes 14.8 Mbits/sec 0 747 KBytes [ 5] 53.00-54.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 54.00-55.00 sec 108 MBytes 904 Mbits/sec 0 747 KBytes [ 5] 55.00-56.00 sec 113 MBytes 947 Mbits/sec 0 747 KBytes [ 5] 56.00-57.00 sec 22.6 MBytes 189 Mbits/sec 0 747 KBytes [ 5] 57.00-58.00 sec 1.38 MBytes 11.6 Mbits/sec 0 747 KBytes [ 5] 58.00-59.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 59.00-60.36 sec 2.75 MBytes 16.9 Mbits/sec 0 747 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.36 sec 2.21 GBytes 314 Mbits/sec 0 sender [ 5] 0.00-60.37 sec 2.20 GBytes 313 Mbits/sec receiver iperf Done. dd 写入完成后,以太网端口的带宽就会恢复到约 940Mbits/s。 我们的客户面临的问题略有不同。当它们开始写入 NVMe 磁盘时,由于带宽低,USB3 摄像机捕获失败。如果没有写入磁盘,也不会失败。 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 我没有任何记录表明我的团队以前见过这种行为。 AXI 总线不应限制在 1Gb/s 以内,因为只有一条 PCIe 线路将占用几乎所有的带宽。 能否详细介绍一下您的测试设置? 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 感谢您提供的信息,我将与内部团队分享这些信息,并尽快向您通报最新情况。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 另外,我还创建了一个 cgroup 设置,可以对写入 NVMe 磁盘的数据进行节流。看起来 USB3 和 PCIe 子系统在 SoC 内共享一条约 1Gb/s 的管道,因为结果非常直接。如果我增加节流量,USB3 就能立即获得更多带宽。 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 感谢您提供的信息。 据内部团队说,他们以前也做过类似的测试,但没有遇到问题。i.MX8MP 支持 USB 和 PCIE 端口同时运行。 你能提供电路板支持包版本吗,我会再试一次。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 我使用 Toradex 电路板支持包 7.4.0 进行了测试,它使用恩智浦下游内核 6.6.101。 传输同时进行,只是它们似乎在共享带宽。 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好,我有最新消息。 我们的内部团队可以重现该问题: 我在 i.MX8MPEVK 上重现了这个问题。目前怀疑是 NOC 带宽造成的问题。 如果使用 eth0/eth1 进行同样的测试不能解决问题,因此不受 AXI 总线的限制。 使用 USB3.0 以太网进行测试: top - 12:36:31 up 43 min, 2 users, load average: 0.41, 0.23, 0.15 Tasks: 160 total, 4 running, 155 sleep, 1 d-sleep, 0 stopped, 0 zombie %Cpu0 : 0.0 us, 7.9 sy, 0.0 ni, 53.5 id, 5.0 wa, 11.9 hi, 21.8 si, 0.0 st %Cpu1 : 2.0 us, 21.8 sy, 0.0 ni, 51.5 id, 20.8 wa, 3.0 hi, 1.0 si, 0.0 st %Cpu2 : 1.1 us, 22.1 sy, 0.0 ni, 50.5 id, 23.2 wa, 3.2 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 2.1 sy, 0.0 ni, 6.4 id, 0.0 wa, 12.8 hi, 78.7 si, 0.0 st MiB Mem : 5606.6 total, 5171.0 free, 403.9 used, 192.0 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 5202.7 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 34 root 20 0 0 0 0 R 38.8 0.0 0:38.37 ksoftirqd/3 1962 root 20 0 3304 2148 1124 D 32.9 0.0 0:03.39 dd 1959 root 20 0 17896 3360 2720 S 13.6 0.1 0:01.91 iperf3 748 parsec 20 0 279360 5148 4636 R 2.9 0.1 0:10.60 parsec 1963 root 20 0 7644 5072 2896 R 1.9 0.1 0:00.10 top 16 root 20 0 0 0 0 R 1.0 0.0 0:25.62 ksoftirqd/0 29 root 20 0 0 0 0 S 1.0 0.0 0:00.20 ksoftirqd/2 801 ntp 20 0 77012 4968 4200 S 1.0 0.1 0:00.23 ntpd 我们将继续在内部讨论这个问题。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好,@rbeims、 内部团队确认是带宽限制。 在这种情况下,可以尝试使用 CSI 接口摄像头。 顺便问一下,客户能否分享您的 CPU 负载信息? 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好,@rbeims、 感谢您的更新。 能否请您分享一下 CPU 负载? 我会检查是否有办法对优先级进行收费。 致以最崇高的敬意 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 在 NOC 块中,PCIE 和 USB 是同一个块,在 doc 中,它们的优先级相同。因此,无法通过修改优先级来实现。 image.png 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 谢谢你的澄清!
記事全体を表示
S32K358 EVB: MCU が WFI でスタック S32K358 に AUTOSAR OS を統合しようとしています。Mcu クロックの構成は、AUTOSAR Dio ベアメタルのサンプル コードと同じように行われます。電源投入後、main() に到達しますが、Mcu_SetMode() API で停止します。WFI 実行の待機ループに移行し、タイマーが期限切れになると例外をスローします。 確認できるレジスタと WFI の実行方法。 #S32K358 prabtani_0-1763474840482.png Re: S32K358 EVB : MCU stuck for WFI こんにちは@prabtani 構成は DIO の例と同じなので、その例をフラッシュして、同じ動作が観察されるかどうかをお知らせください。 例が正しく動作する場合、問題はコード/構成にある可能性があります。そのCASEは、.mexを共有してくださいファイルを送信して、自分の側で確認およびテストできるようにします。 Re: S32K358 EVB : MCU stuck for WFI こんにちは@VaneB 、 Dio の Bare Metal AUTOSAR RTD の例を参考に、AUTOSAR OS を統合しようとしています。Mcu クロックの構成は Dio の例と同じです。メインに到達した後、同じMCU初期化シーケンスに従います。 prabtani_0-1763531253498.png Re: S32K358 EVB : MCU stuck for WFI こんにちは@prabtani 私の側でテストできるように、プロジェクトを共有していただけますか?それが不可能な場合は、状況をより良く理解するために、追加の詳細を提供していただけますか? また、RTDS に付属するサンプル コードを参照して、不足している構成や間違った構成がないことを確認することもお勧めします。 BR、ヴェインB
記事全体を表示
iMX95 CA 位交换 你好,恩智浦、 LPDDR5 是否允许 CA[6:0] 引脚的位交换? 除了 EVK 的映射之外,还有什么成功的位映射可以用于 iMX95 吗? 谢谢! 西蒙 Re: iMX95 CA bit swapping 你好@simonng、 由于 i.MX95 仍在减产阶段,我们没有硬件设计供应。但根据以前的产品经验, 不支持 CA[6:0] 引脚互换。 希望能对您有所帮助 祝您有美好的一天 顺祝商祺! Rita
記事全体を表示
LPC802 SPIの正当化 LPC802のSPIペリフェラルのTXDATレジスタとRXDATレジスタのデータにはどのような理由がありますか?最初に出力をLSBとMSBのどちらに選択してもいいですか? ユーザーズマニュアルは、この件については沈黙しています。 日時:LPC802 SPIの正当化 ありがとうございます! 日時:LPC802 SPIの正当化 ありがとう、しかしそれは私の質問に答えていません。 例を挙げましょう。転送が 12 ビット長に設定されていて、データを受信するとします。たとえば、すべてのビット長です。 データレジスタは0xFFF0(左揃え)ですか、それとも0x0FFF(右揃え)ですか?
記事全体を表示
ImxRT 1176 LPSPI阻塞功能问题 您好,我正在使用 LPSPI 并使用 LPSPI_MasterTransferBlocking。由于这是一个阻塞功能,我希望一旦传输完成,LPSPI 外围设备就会空闲。然而,我观察到了一些不同的东西。 阻塞传输后,我使用LPSPI_GetStatusFlags读取SR(状态寄存器),返回值为0x1001101。 你有什么建议吗?理想情况下,阻塞传输之后,LPSPI 应该处于空闲状态。我在下面分享一个代码快照以供参考。 if((staus_flag & kLPSPI_ModuleBusyFlag) == kLPSPI_ModuleBusyFlag) { ret = STATUS_BUSY; PRINTF("SPI Busy, %x, %d\r\n", staus_flag, count); } else { masterXfer.txData = SpiTxData; masterXfer.rxData = SpiRxData; masterXfer.dataSize = spiTransferSize; masterXfer.configFlags = kLPSPI_MasterPcs0 | kLPSPI_MasterPcsContinuous; status = LPSPI_MasterTransferBlocking(LPSPI1, &masterXfer); ret = STATUS_SUCCESS; staus_flag = LPSPI_GetStatusFlags(IMU_SPI_IF); PRINTF("staus_flag: %x\r\n", staus_flag); count++; //sw_asm_delay_us(2U); } 回复:ImxRT 1176 LPSPI 阻塞功能问题 顺便说一下,LPSPI1 和 IMU_SPI_IF 是相同的。
記事全体を表示
Documentation_OTA_Secure-Boot_88MW320 ドキュメントはなく、例だけです。必要な書類を見つけるのを手伝ってください 日時:Documentation_OTA_Secure-Boot_88MW320 こんにちは ワークフローを説明するドキュメント、または一般的なsecureboot.cで助けてください。secureboot.h と boot.c と boot.hファイルは私のために働くでしょう。 さらに、MQTTとHTTPフローを説明するドキュメントがあれば、それは非常に役立ちます。@DanielRuvalcaba  日時:Documentation_OTA_Secure-Boot_88MW320 こんにちは ブートローダーはどうですか?特定のboot.cはありますかおよび boot.h または secureboot.c と secureboot.h また、そのSDKバンドルのドキュメント以外に、利用可能なものはありますか?HTTP、アプリケーション開発用のMQTTが必要です。 日時:Documentation_OTA_Secure-Boot_88MW320 こんにちは、MCUXpresso SDKビルダーからダウンロードしたRDMW320-R0(88MW320_xx_xxxx)用のSDKバージョン2.9.13を使用しています 問題は、SDKと一緒に生成されたドキュメントをダウンロードすると、OTA、カスタムブートローダー開発、セキュアブート、HTTP / HTTPS、MQTT、MbedTLSおよび同様のAPIの詳細なアプリケーションノートやその他のものを取得しないことです。
記事全体を表示
EGL_image_externalでレンダリングしようとするとGPUエラーが発生しました iMX.8QuadMaxで実行し、私は、HEVCフレームをデコードし、それを「glupload」、つまりEGL_imageに裏打ちされたGLテクスチャを生成できるGstreamer要素に渡すGstreamerパイプラインをデプロイしようとしています。 glupload は、デバッグおよびログ出力に基づいて、DMA バッファーから EGL イメージを作成するときに正しいパラメーターを設定しているようです。 ただし、デコードされたフレームを GLES 内でレンダリングしようとすると、EGL_image で裏付けられたテクスチャからサンプリングすると、次のエラーが発生します。 [ 1] ES30:一部の描画取得エラーと検証中にスキップ また、テクスチャからサンプリングするドロー中にSEGFAULTが発生することがあります。呼び出し履歴は次のとおりです。 #0 0x0000fffff5a48e68 で ??()を/usr/lib/libGAL.soから #1 gcoSURF_DisableTileStatus() の 0x0000fffff59edcb4 (/usr/lib/libGAL.so から) #2 gco3D_SetTarget () の 0x0000fffff5a036e8 /usr/lib/libGAL.so から 何が問題なのかを理解するのに助けてもらえますか? Re:EGL_image_externalでレンダリングしようとするとGPUエラーが発生します 問題を解決しました。Gstreamerプラグインは、レンダリングコンテキストを共有する代わりに独自のGLコンテキストを使用していたため、レンダリングコンテキストで有効なテクスチャIDであるにもかかわらず、取得していたテクスチャIDは実際には同じオブジェクトではありませんでした。したがって、これらのテクスチャを EGLImage の外部バッキング テクスチャとしてサンプリングしようとすると、エラーが発生しました。 Re:EGL_image_externalでレンダリングしようとするとGPUエラーが発生します メモリスペースの制限だとは思いません。テクスチャは200x200 RGBAです。再生中のビデオストリームには3つのフレームがあります。これは合計でわずか 160KB です。 Gstreamerのガイドを読みました。主に gst-launch を使用したパイプラインの構築について説明しており、ここでは役に立ちません。 「一部の抽選でエラーが発生し、検証中にスキップされました」とはどういう意味ですか?実際の*エラー*の詳細を取得するにはどうすればよいですか? 私もVIV_DEBUG=-MSG_LEVEL:WARNINGを試しましたが、新しいものは何も印刷されませんでした。
記事全体を表示
在 VSCode CMake 环境中将 LVGL 与 RT1060 Matter 开发集成 你好,我正在使用 RT1060 开发 Matter。 我目前使用 VSCode 和 CMake 开发环境。 我需要将 LVGL 集成到这个设置中。 请提供指导。 Re: Integrating LVGL with RT1060 Matter Development in VSCode CMake Environment 你好,我是@pooisonner、 感谢您对 NXP MIMXRT 系列的关注! 虽然没有官方的 LVGL 移植指南,但 SDK 中包含 LVGL 示例,您可以从 lvgl_demo_benchmark 开始。 为了与开发环境保持一致,还需要使用 MCUXpressoForVscode 插件来导入演示程序。 Gavin_Jia_0-1755593712222.png 致以最诚挚的问候, Gavin
記事全体を表示
Uart 経由でファームウェアのアップグレードをテストするために、PC で bin ファイルをロードするためのソフトウェア ツールが必要です 私は、 MKM35Z512VLL7 コントローラを使用したスマート メーター プロジェクトにAN12837SW リファレンス・デザインを使用しています。「UART 経由のファームウェア アップグレード」のファームウェア アップグレードとブートローダー コードを確認しましたが、まだ疑問が残っています。以下の点を明確にしていただけますか。 ファームウェアのアップグレード プロセスをテストするには、PC でどのソフトウェア ツールを使用すればよいですか? .binをロードするにはどうすればいいですか?ファイルを 256 バイトのチャンクに分割し、CRC データを追加して送信しますか? すでに文書AN12829を確認しましたが、OTA フレーム形式を明確に理解できませんでした。これについてもう少し詳しく説明していただけますか? ファームウェア アップグレード機能をテストするための特定のソフトウェア ツールや追加のドキュメントはありますか? Re: Need Software tool for PC to load bin file to test Firmware upgrade through Uart FWUpgradeClient.exeのソースコードを添付しました。これはVisual Studio IDEでビルントされたC++コードです。 BR、 オマール Re: Need Software tool for PC to load bin file to test Firmware upgrade through Uart AN で参照されている Fwtransferclient が参照可能かどうかを確認しています。また、ソフトウェアからの残りのコマンドに関する詳細情報も入手できます。 通信に関する AN12829 の詳細に準拠している限り、どのツールを選択しても問題ありません。私は DLMS に精通していないため、これが使用CANかどうかは確認できません。お客様側で検証する必要があります。 BR、 オマール Re: Need Software tool for PC to load bin file to test Firmware upgrade through Uart 拝啓、 ご返信ありがとうございます。 (i) AN12829の5.1.2.3の説明を確認しました。しかし、AN12837SWスマートメーターファームウェアデザインでは、 comportcommandprocessing.c 関数 で k_cmdfwuinit 、 k_cmdfwuhdr、k_cmdfwutx といったより多くのOTAコマンドが利用可能です 。また、受信ファームウェアコード(communication.cv)では、1バイトのAuth-Enc-FlagとAES-GCM-128復号ファームウェアが利用可能です。SO、AN12829のドキュメントはAN12837SWファームウェアと正しく一致していません。これが私の理解不足です。 (ii) UART3経由でファームウェアアップグレードをテストするための「PCツール」の準備方法を教えてください。NXPから入手可能な参考ツールやドキュメントはありますか ? NXP は AN12829で、 「FWtransferclient.exe」 で既にテスト済みであると記載しています。このツールはどこで入手できますか?PCツールを独自に用意することは可能でしょうか? (iii) ファームウェアのテストにDLMSダイレクタを使用できますか? (iv) C 言語でスクリプトを書くのに最適なシリアルターミナルツールはどれですか。スクリプトを開始する方法。 貴重な解決策を期待しています。 Re: Need Software tool for PC to load bin file to test Firmware upgrade through Uart 1.これには特別なツールはありません。PC ホスト ツールは、通信フレームの詳細を説明した 5.1.2.3 の説明に基づいてユーザーが作成することが想定されています。 2. 256 バイトのブロックでイメージを分割する Python スクリプトを作成できますが、これを行うための特定の方法はありません。 3. 疑問点をもう少し具体的に教えていただけますか?どの部分が不明ですか?図 10 のフレームのフローについておっしゃっていますか: -コマンド nxpfwutx。 -ファイルサイズ/ブロックサイズ -ファームウェアはブロックに分割されています。ファームウェア ブロックを識別するために、4 バイトの長さのブロック番号がブロックとともに転送されます。新しいファイル ブロックが受信され、宛先フラッシュ バンクにプログラムされるたびに、現在のブロック カウントが更新され、保存されます。 -コマンド nxpfwuact。 4. AN には FWUpgradeClient というカスタム ツールが言及されていますが、これが利用可能かどうか確認させてください。 BR、 オマール
記事全体を表示
S32K312 UART データの送信に失敗する こんにちは、uart + dma経由でデータを送信したいのですが、プログラムはRTD2.0.3で正常に動作します。しかし、RTD 4.0.0に転送すると、uartはデータを正常に受信することしかできず、常に転送側で「00」を送信しました。アップロードしたテストプログラムは、データを受信して送信し、0~16のような正しい修正データを受け取ることができますが、16個のゼロを送信できます。プログラムを確認するのを手伝ってください、ありがとう。
記事全体を表示
NXP S32G-VNP-RDB2 上的以太网启用和网络连接问题 我已经打开 NXP S32G RDB2 板并能够与 PuTTY 进行串行通信。但是当我想将以太网电缆连接到它时。尽管我尝试分配静态 IP,但它仍然无法 ping 通。我想启用以太网驱动程序或解决问题,以便我可以测试我的用例。 回复:NXP S32G-VNP-RDB2 上的以太网启用和网络连接问题 你好@chenyin_h ,我很高兴地分享,它终于可以ping通了,并且可以通过连接到路由器并与其他主板创建专用网络进行测试,现在我也正在探索其他端口的以太网通信。对于任何其他问题,我将开另一张票或帖子。 谢谢你! 回复:NXP S32G-VNP-RDB2 上的以太网启用和网络连接问题 你好@chenyin_h , BSP 版本为 Auto Linux 35(来自 SD 卡的 U-boot)并使用 GMAC 端口。但是我认为以太网没有启用。我在 ip route 中检查 eth0 时,它显示 NO-CARRIER,但在 ifconfig 中它显示 UP。我还想用这个接口来实现树莓派和 NXP 开发板之间的通信。请指导我该采取什么步骤,因为我已经尝试了所有的尝试。
記事全体を表示
RW612漫游设置 亲爱的社区,我对漫游设置有几个疑问。我正在运行 wifi-wpa-supplicant 示例,并在连接到网络时启用漫游(wlan_set_roaming(1, 70))。我注意到,当 rssi 降至 70 以下时,它会触发低 rssi 事件并启动常规扫描而不是后台扫描。但是,如果我禁用 wpa_supplicant,它会执行后台扫描而不是常规扫描。为什么会有区别? WPA_supplicant 支持后台扫描(CONFIG_BGSCAN),但它(bgscan.c)似乎已从示例程序中删除。这有什么原因吗? 在我当前的设置中,仅当 RSSI 降至特定阈值以下时才会启动漫游。如何设置计划扫描以便在发现更强的接入点时启动漫游? 非常感谢并致以问候 回复:RW612漫游设置 SDK版本为24_12_00
記事全体を表示
FS26 TRK2 UVフォールト FS26 と s32k344 を使用していますが、FS_OVUV_REG_STATUS レジスタには SPI を介した TRK2 の低電圧が示されています。しかし、TRK2には負荷はなく、2.2uF/50Vと100nF/100Vの2つのコンデンサがあるだけです。マルチメータとオシロスコープでTRK2電圧を測定しましたが、5Vに等しい、つまり正しいです。誰かが私がこれを解決するのを手伝ってくれますか? 日時:FS26 TRK2 UV障害 私はあなたのケースに取り組み始めています、私はすぐにあなたに連絡します。
記事全体を表示