Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
FRDM-IMX93 Wifi + BLE 同步 COEX 我们正在开发一种系统,通过安全的 BLE 通道配置 Wifi 网络(扫描网络,连接到所需的网络)。我的整个系统都是通过不安全的 BLE 连接运行的,即使模块加入了 Wifi 网络,BLE 连接仍会保留。但是,当我启用 SC 时,系统在 Wifi 网络获得 IP 地址之前一直正常。之后,BLE 连接会持续中断(连接到 Wifi 网络后约 10 秒)。 我想确认一下,使用这个开发套件是否可以同时保留活动的安全 BLE 和 Wifi 连接。很明显,一旦进入 Wifi 网络,我们并不一定要保持 BLE 连接,但如果能做到这一点就更好了,因为它在未启用 SC 的情况下也能工作。 Re: FRDM-IMX93 Wifi + BLE Simultaneous COEX 嗨,@dmac 感谢您为我们创建案例。 请问您使用的 Wi-Fi/BT 芯片组是什么? 能告诉我详细的重现步骤吗?这样我就可以在本地进行验证,并尝试解决您的问题。 顺祝商祺! Christine。 Re: FRDM-IMX93 Wifi + BLE Simultaneous COEX 这是玛雅 -W276-00B。 我给你发了一个 DM,里面有我们处理配置的脚本。 Re: FRDM-IMX93 Wifi + BLE Simultaneous COEX 我已经解决了这个问题。现在我在使用 Wifi 时也能保持安全的 BLE 连接。 Re: FRDM-IMX93 Wifi + BLE Simultaneous COEX 嗨,@dmac 感谢您的反馈,很高兴听到您说您做得很好! 对不起,我的回复晚了,因为我被其他更重要的事情挡住了。 您介意在这里分享您的解决方案以供其他客户参考吗? 如果您不想分享,也没关系。请不要为此感到任何压力。 顺祝商祺! Christine。 Re: FRDM-IMX93 Wifi + BLE Simultaneous COEX 简而言之,我们必须禁用蓝牙经典版,并禁用电池、设备信息和主机名插件。
查看全文
为什么引脚工具不调用 GPIO_PortInit? 大家好, 在使用 MCUXpresso 提供的工具时,我一直想知道为什么 Pins 工具没有在 BOARD_InitBootPins() 内包含必要的 GPIO_PortInit(GPIO_Type *base, uint32_t port) 函数,以使 GPIO 正常工作。 这是软件错误,还是我遗漏了什么? 先行致谢。 i.MX RT600 Re: Why Pins tool don't call GPIO_PortInit? 你好,@katte82、 据我所知,即使在配置工具窗口配置 GPIO 后,函数 GPIO_PortInit(GPIO_Type *base, uint32_t port) 也不会出现。我的理解正确吗?如果答复是肯定的,请按照MCUXID ECTUG的外围信号路由:MCUXpresso配置工具用户指南(IDE)| 恩智浦半导体一章中提到的步骤进行操作。请告诉我你们的结果。 此外,为了更好地为您提供支持,能否请您提供 SDK 版本和 MCUXpresso IDE 版本? BR Habib Re: Why Pins tool don't call GPIO_PortInit? 你好,@katte82、 原因是引脚工具仅根据您所做的选择来配置每个引脚的电气特性和多路复用选项,与您稍后打算使用的模式无关。即使在引脚工具中将引脚设置为 GPIO,这一步也只是确定引脚的工作方式。 在引脚工具中配置引脚后,还必须在外设工具或应用代码中初始化和配置相应的外设。换句话说,引脚工具准备了引脚,但外设驱动程序才是真正实现和控制功能的工具。 BR Habib Re: Why Pins tool don't call GPIO_PortInit? 是的,我确认在配置 GPIO 时,没有自动插入 GPIO_PortInit 函数。 外设使用的 GPIO 不会出现这种情况,只有用作输入/输出的简单 GPIO 才会出现这种情况。 我使用的是最新的 MCXpresso (25.6.136) 和最新的 SDK (25.12)。 预先表示感谢。 Re: Why Pins tool don't call GPIO_PortInit? 好的,我明白了,它遵循了其他外设的程序,所以没问题。 不过,我本以为可以在外设工具中设置 GPIO,但这是不可能的,因为上面写着: GPIO 初始化已移至引脚工具:"GPIO 初始化已移至引脚工具。" 这就是为什么我对如何使用这个工具感到困惑。 Re: Why Pins tool don't call GPIO_PortInit? 您好@katte82, SDK(版本 25.12)提供了两个将引脚配置为 GPIO 的示例,分别称为"gpio_input_interrupt" 和"gpio_led_output" ,这两个示例分别将 GPIO 配置为输入和输出,非常有用。 BR Habib
查看全文
GUI Guider GUI GUIDER v1.10 バージョンの起動時には登録番号が必要です、登録後のネットワーク切断期間、登録状態の自動失効、管理上の理由により電子脑法無許可ネットワーク、怎样は登録状態を維持できません Re: GUI GUIDER こんにちは@w_W 、 ご投稿ありがとうございます。アカウントのログイン方法はNXPの公式ウェブサイトと同じです。デバイスが長期間インターネットに接続されていない場合は、再度ログインしていただく必要があります。 インターネットに簡単にアクセスできないPCでGUI Guiderにログインする他の方法があるかどうか、社内チームに確認する必要があります。お問い合わせの前に、以下の情報をご提供いただけますでしょうか。 弊社のどの製品をご利用ですか? ターミナルアプリケーションとは何ですか? 年間生産量はどのくらいですか? BR セレステ Re: GUI GUIDER こんにちは。弊社では現在、貴社製のMCUは使用しておりません。しかしながら、LVGLを用いたUIインターフェース開発の際に、貴社製のGUIDERソフトウェアを使用させていただいております。
查看全文
eIQ 工具包:python 缺少 ssl 你好 - 我正试图按照nxp-nnstreamer-examples中的演示说明设置 eIQ 工具包。 按照说明,我已经安装了 eIQ 工具包(在 /opt/nxp 中)——但是在使用这个命令安装补充软件包时: python -m pip install -r /downloads/requirements.txt 我一直碰到这个警告: 警告:pip 配置了需要 TLS/SSL 的位置,但 Python 中的 ssl 模块不可用 eIQ 工具包的 python 环境中似乎没有 python SSL 模块: $ python -c"import ssl; print(ssl.OPENSSL_VERSION_INFO)" Traceback (most recent call last): File" " , line 1, in File"/opt/nxp/eIQ_Toolkit_v1.17.0/python/lib/python3.10/ssl.py" 、第 99 行,在 import _ssl # 如果我们不能导入,让错误传播 ImportError: libssl.so.1.1:无法打开共享对象文件:无此文件或目录 不过,我在这台主机上的主环境(eIQ 工具包环境之外)正确安装了该软件: $ python -c"import ssl; print(ssl.OPENSSL_VERSION_INFO)" (3, 0, 0, 2, 0) 有办法解决这个问题吗?特别令人费解的是,这只是按照 nxp-nnstreamer-examples 中的演示示例进行的操作。 这是在 Ubuntu 22.04 上。 非常感谢! Re: eIQ Toolkit: python missing ssl 谢谢你,费利佩! Re: eIQ Toolkit: python missing ssl 你好@TomFoy1 eIQ 工具包正在尝试加载 OpenSSL 1.1 (libssl.so.1.1)、但 Ubuntu 22.04 只提供 OpenSSL 3 (libssl.so.3)。由于缺少 libssl.so.1.1,工具包 Python 无法导入 ssl,因此 pip 无法使用 HTTPS。 一种方法是使用主机 python3(通过 venv)安装 downloads/requirements.txt。您还可以尝试另一种方法,即安装 OpenSSL 1.1 兼容库,这样工具包 Python 就可以加载 libssl.so.1.1。 请告诉我们情况如何,请随时与我们联系以获取更多详细信息。 Felipe Solano RidgeRun 的嵌入式 SW 工程师 联系我们:[email protected] 开发者维基:https://developer.ridgerun.com 网站:www.ridgerun.com
查看全文
MCX A ROM 引导加载程序中的安全/签名模式? 假设我们要设计一个使用 MCX A 系列的系统,该系统使用 ROM 引导加载器功能进行终端客户固件升级。 升级可以通过 web-serial-> usb 进行升级,也可以通过 UART 从另一个 mcu 进行系统内更新,两者都直接与 rom 启动代码通信。 我还没有详细了解最新 MCX 系列 ROM 的实现情况,但问题是: 使用ROM启动时有没有办法需要签名的二进制文件? 即将 " otp-keys " 写入闪存并强制引导加载程序只接受有效的二进制文件写入 是否有办法在启用擦除/写入功能的同时防止从闪存进行原始读取? 在我的情况下,MCU 应该是MCXA156VPJ 我完全知道我可以编写自己的第二阶段 BL 来实现这一目标,但这里的重点是设计一个简单且防砖的系统。 启动 ROM | 启动配置 | 闪存 MCXA 安全(Edgelock | 安全启动 | OTP) Re: MCX A secure/signed mode in rom bootloader? 你好@dav1 MCXA 系列不支持 ROM 引导加载程序的安全或签名模式。 请考虑使用 MCXN 系列,该系列支持此功能。 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-n-series-microcontrollers:MCX-N-SERIES 谢谢! BR 爱丽丝 Re: MCX A secure/signed mode in rom bootloader? 1) 而 N 系列的价格对于这种应用来说过于昂贵。 还有哪些 mcx 支持安全 rom-启动? 2) 您是否 100% 确定没有办法在 A 系列上实现安全的更新路径?
查看全文
SE050 Middleware heap overflow observed Hey there, I’m trying to integrate the Se050 with the LPC55S. The physical connections are as follows: - Host MCU -> Se050 -> Sensor (on I2C) When the bus communications intervene between the Host MCU and Se050, it hangs. The following sequence is applied to recover it  - I2C recovery using GPIOs - Reinitialize the Se050 by executing the following sequence:   - sss_close_session()   - open_boot_session() During the open session, I encountered an error indicating that the open session failed. With a retry mechanism and a 100ms wait period between each retry, if the first attempt fails, I’m able to communicate again with the Se050. However, to simulate this condition, we manually caused the I2C hang multiple times and discovered that the heap memory overflows when the reinit and open session fails with timeout error. Is this a known issue? please provide any workarounds.  LPC55xx Re: SE050 Middleware heap overflow observed Hi @pranavitraj , Would you please specify the MW version that you are testing with? and which demo is referred? We may try to reproduce this issue here. Thanks for your patience! Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: SE050 Middleware heap overflow observed Hi Kan, I tried the newer version of the middleware which resolved the heap issue. Thank you so much for your support and time. Just one more small observation: during the same test, the se_reinit sometimes got stuck waiting for an ACK. This happened specifically when we received continuous NACKs from the SE device because there was no termination. Please suggest a solution for this as well. Re: SE050 Middleware heap overflow observed Hi kan can you please help on above query  Re: SE050 Middleware heap overflow observed Hi Kan, Any suggetion for above. here is specific call stack for no termination systick_delay() at timer_kinetis_bm.c sm_sleep() at timer_kinetis_bm.c BackOffDelay_Wait() at i2c_lpc55sxx.c kinetisI2cStatusToAxStatus() at i2c_lpc55sxx.c axI2CRead() at i2c_lpc55sxx.c  phPalEse_i2c_read() at phNxpEsePal_i2c.c  phNxpEse_readPacket() at phNxpEse_Api.c phNxpEse_read() at phNxpEse_Api.c  phNxpEseProto7816_GetRawFrame() at phNxpEseProto7816_3.c  phNxpEseProto7816_ProcessResponse() at phNxpEseProto7816_3.c TransceiveProcess() at phNxpEseProto7816_3.c there is no termination for the number of times nack it waits forever  also we see one problem related to the  deinit and reinit of se050 sequence  after deinit which is a END_OF_APDU command SE did not reply for 5 seconds  can you please suggest for this also or is it known time ??? Regards Pranav
查看全文
s32k344用外部SJA1105ドライバの初期化 図1に示すコードパッケージに基づいてSJA1105ドライバとDP83848ドライバを移植しましたが、初期化中にプログラムがループに陥ってしまいます(図2参照)。移植されたファイルは.aファイル(静的ライブラリファイル)では、対応する.cファイルを表示できません。ソース ファイルには問題があり、具体的な原因はわかりません。プログラムがこのループに陥る原因を教えていただけますか? Re: Initialization of the external SJA1105 driver for s32k344 こんにちは@18036965586 、 元の例 (このページで入手可能) Solved: S32K344-WB (WhiteBoard) EVB ソース コード - NXP コミュニティ- は、S32K3 RTD 2.0.0 を使用して構築されています。残念ながら、libsja1105_driver.aのソースコードは(SJA1105 用の低レベル SPI ドライバ) は使用できません。 ご承知のとおり、S32K3 RTD 2.0.0 でビルドされたドライバは、新しいバージョンの S32K3 RTD では動作しません。これが、プログラムがこのループに陥る理由です。 よろしくお願いいたします。 パベル Re: Initialization of the external SJA1105 driver for s32k344 ありがとうございます。私の理解では、SJA1105を設定するにはRTD2.0ライブラリを使用する必要があるということですね。この例ではTCPIP_STACKのどのバージョンが使用されているか教えていただけますか? Re: Initialization of the external SJA1105 driver for s32k344 こんにちは@jianghao さん 私の観察によると、TCPIP 1.0.0がインストールされているはずです。しかし、この例では変更されたソースファイルを使用しており、S32K344_Whiteboard_SW(LLD)_QuickStartGuide(UG10049).pdf に基づくと、いずれにしても「コードの更新」は行わない方が良いでしょう。 よろしくお願いいたします。 パベル Re: Initialization of the external SJA1105 driver for s32k344 ありがとうございます、分かりました。この例は、mexを使用してコードを生成するように直接更新することはできません。つまり、新しいプロジェクトを作成し、SJA1105部品のドライバを新しいプロジェクトに転送してから、mexを使用してコードを更新することは可能でしょうか?可能であれば、どのファイルを転送する必要がありますか?(元のプロジェクトのどのファイルが、.mexファイルによる直接的なコード更新を不可能にしたのかを知りたいので)さらに、S32DS3.5 バージョン + RTD3.0 + FreeRTOS_10_5_1_UOS_3_1_0_DS_updatesite_D2304 を使用したいと考えています。これは実現可能だろうか? Re: Initialization of the external SJA1105 driver for s32k344 こんにちは@jianghao さん 新規プロジェクトを開始する際は、常に最新のS32K3 RTDを使用することをお勧めします。 lwIPのサンプルから新しいプロジェクトを作成し、SJA1105用のLPSPIルーチンを追加することをお勧めします。同様のタスクについては、こちらのスレッドでも議論されています: NXP SJA1105S を SPI 経由で TC397XP(QSPI5) に接続 - NXP コミュニティ よろしくお願いいたします。 パベル Re: Initialization of the external SJA1105 driver for s32k344 ご提案ありがとうございました。SJA1105のドライバを新しいプロジェクトに移植し、コンパイルに成功しました。しかし、プロジェクト全体を通して「extern uint8_t SJA1105P_loadConfig(uint8_t configIndex, uint8_t switchId)」という名前の関数が呼び出されていないという新たな問題に遭遇しました。また、この関数はどの.aファイルでも呼び出されているのでしょうか? image.png image.png ご返信をお待ちしております。 ありがとうございます。 Re: Initialization of the external SJA1105 driver for s32k344 ありがとうございます、分かりました。
查看全文
LPC55S6X(Zephyr OS)のCore 1でUSBを使用する ネタバレ (ハイライトして読む) LPC55S69(LPCXPRESSOボード)のCPU1にUSBペリフェラル(デバイスコントローラ)を割り当てるには何をする必要があるか調べています。 修正された cdc-acm サンプル プロジェクトを構築しています。メイン コア (CPU0) は、CPU1 を有効にしたビルドでフラッシュされます。CPU1 でコードを実行しても問題はありません。たとえば、ボタンの押下を処理できます。しかし、USB ハードウェアは正しく初期化されません。たとえば、USB_EhciPhyInit 内では、usbPhyBase->CTRL へのすべての書き込みで値が 0 から変更されないことがわかります (ハードウェア レジスタを確認するために Ozone デバッガーを使用しています)。 要約すると、 USBPHY レジスタと USBHSD レジスタの両方がドライバーからの書き込みを無視するようです。 確認したこと: 1. 同じプロジェクトがCPU0でも動作する 2. CPU1を初期化して起動するために使用するCPU0プロジェクトでは、USBコントローラとUSB RAMが無効になっています。 3. CPU1でUSBコントローラとUSB RAMが有効になります 基本的にCPU0のUSB初期化と同じSWパスをたどりましたが、ペリフェラルが死んでしまったようです。クロックが有効になっていないようです。 LPC55S69 (LPCXPRESSO ボード) の CPU1 に USB ペリフェラル (デバイス コントローラー) を割り当てるために何を行う必要があるかを調べています。変更された cdc-acm サンプル プロジェクトを構築しています。メイン コア (CPU0) は、CPU1 を有効にしたビルドでフラッシュされます。CPU1 でコードを実行しても問題はありません。たとえば、ボタンの押下を処理できます。しかし、USB ハードウェアは正しく初期化されません。たとえば、USB_EhciPhyInit 内では、usbPhyBase->CTRL へのすべての書き込みで値が 0 から変更されないことがわかります (ハードウェア レジスタを確認するために Ozone デバッガーを使用しています)。要約すると、USBPHY レジスタと USBHSD レジスタの両方がドライバーからの書き込みを無視しているように見えます。確認したことは次のとおりです。1.同じプロジェクトが CPU02 でも動作します。CPU13 を初期化して起動するために使用する CPU0 プロジェクトでは、USB コントローラと USB RAM が無効になっています。USBコントローラとUSB RAMはCPU1で有効になっています。基本的にCPU0と同じUSB初期化のSWパスをたどりましたが、ペリフェラルが死んでしまったようです。クロックが有効になっていないかのようです。 USB Re: Using USB on Core 1 of LPC55S6X (Zephyr OS) こんにちは@alexfeinman LPC55S69 では、2 つの M33 コアが同じペリフェラルを共有しますが、CPU1 には TrustZone がなく、デフォルトでは多くのペリフェラルが Secure‑only として表示されます。 LPCXPRESSO55S69 — Zephyr プロジェクト ドキュメント Harry_Zhang_0-1770715804895.png BR ハリー Re: Using USB on Core 1 of LPC55S6X (Zephyr OS) ありがとう。あなたの返答を正しく理解していれば、私の選択肢は、CPU0 で非セキュア ビルドを使用するか、信頼ゾーンを構成して何らかの方法で CPU1 USB アクセスを許可するかのいずれかになります。Zephyr で後者を実現する方法に関するリソースを教えていただけますか? Re: Using USB on Core 1 of LPC55S6X (Zephyr OS) こんにちは@alexfeinman CPU1 (LPC55S69 の 2 番目の Cortex-M33) は TrustZone をまったくサポートしていません。 Zephyr では、「TrustZone を CPU1 USB アクセスを許可するように構成する」ことはできません。 あなたの目標は何ですか? CPU1 で実行されている USB デバイスのみですか?   BR ハリー Re: Using USB on Core 1 of LPC55S6X (Zephyr OS) 返信が遅くなり申し訳ありません。通知メールがなぜか迷惑メールフォルダに入ってしまっていました。 私の目標は、USBインターフェースを処理するコードをコア1で実行し、コア0ではそれとは無関係な処理を実行させることです。基本的には、コア1を専用の通信プロセッサとして使用し、複数のUART-USBブリッジ(合計4つ)を実行させたいと考えています。
查看全文
iMX8M PLUS の uboot で LVDS パネルを有効にする方法 こんにちは、NXP サポート スペシャリストです。 現在、IMX8MP カスタム ボード用に L6.12.20 yocto で LVDS ディスプレイを有効にする作業を進めています。 LVDS ディスプレイはカーネル内では正常に動作しますが、uboot ではロゴが表示されません。そこで、この Web サイト ( https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Add-i-MX8MP-LVDS-driver-in-uboot/ta-p/1434826 ) に従って uboot 2025.04 にパッチを追加しましたが、それでも表示できません。 L6.12.20 yocto bsp に関するアドバイスやパッチはありますか? 以下の添付ファイルは、現在取得している uboot ログと dm ツリーです。 グラフィックスとディスプレイ Linux Re: How to enable LVDS panel at uboot on iMX8M PLUS ご返信とご提案ありがとうございます。uboot のロゴが表示されるようになりました。 Re: How to enable LVDS panel at uboot on iMX8M PLUS こんにちは@Mikw 0001-L6.1.55-Add-i.MX8MP-LVDS-panel-demo.patch を参照している場合は、simple_panel.c で表示タイミングが定義されていることを確認してください。提供された uboot ログには、ldb ドライバがディスプレイ タイミングをデコードできないことが示されています。 よろしくお願いします、 志明
查看全文
S32G 上的 SYS_IMG KeyCatalog 已损坏 您好, 我使用的是 S32G2。安全启动已启用。IVT 正确定义了我在 M7 上的启动 BootManager、HSE_FW 的位置以及 SYS_IMG 在或非闪存中的位置。所有这些区域都在 IVT 中定义了备份。 我还在该区域末尾启用了 BootManager 签名。SMR 的定义是正确的。我设法启动了很多次。我还设法更新了 BootManager,并再次重新签名。这涉及到更新 SMR 和更新 SYS_IMG。还重新生成了 SYS_IMG 的备份,两者都写入了或非闪存中。 这一更新过程已经进行了多次。没有问题。 经过多次更新周期,我的 BootManager 已停止启动。SYS_IMAGE 通过了 hseVerifySysImageSrv 测试。根据 RM00301 HSE 固件手册,检查了或非闪存后,它的 4KB 标头似乎不错,小于 8 KB 的 " HSE 配置数据集 ",以及小于 32KB 的良好 " NVM 密钥存储数据集 "。 鉴于我的 BootManager 无法再启动,主板会在 1 秒钟后 RESET。重置 5 次后,它进入睡眠状态。 我如何知道问题是出在 HSE 不喜欢 SYS_IMG,还是 SYS_IMG 丢失了我的 BootManager 的 SMR,或者我的 BootManager 密钥与内容不匹配? 如前所述,hseGetSysImageSizeSrv 报告 HSE_SRV_RSP_OK 为正。 有办法离线分析 SYS_IMG 吗?我看到在 0x1000 处它有字节 " E1 E1 E1 " 之后有 4 个字节可能是计数器。在此之后,数据被编码,所以我不知道是否存在用于 BootManager 的 SMR 和密钥。 谢谢! 旧金山 Re: SYS_IMG KeyCatalog corrupted on S32G 您好, 感谢您的答复。 hseVerifySysImageSrv_t是成功的,因此可以确认 SYS-IMG 在某种程度上是正确的。 我所做的是:将错误的 SYS-IMG 保存在其他或非地址中。将 IVT 指向已知有效的 SYS-IMG。指向坏 SYS-IMG 的 hseVerifySysImageSrv_t 调用成功,因此确认该 SYS-IMG 已验证。但这并不能保证内容包括 SMR 或 BootManager 的密钥,对吗? 当 IVT 指向坏的 SYS-IMG 时,它不会验证我的 BootManager,而 BootManager 会以某种方式表明坏的 SYS-IMG 缺少 SMR。 是否有可能在运行时要求 HSE 加载坏的 SYS-IMG,然后使用 Hse_GetKeyInfo 来了解键是否存在?我知道如果键不存在,Hse_GetKeyInfo 会返回错误信息,因此这将告诉我在我的坏 SYS-IMG 中哪些键仍然可用。 是否有办法加载坏的 SYS-IMG,并调用 smrVerifyReq (HSE_SRV_ID_SMR_VERIFY)?这将告诉我,坏的 SYS-IMG 是否有我的 BootManager 的 SMR,或者它是否丢失了它。 谢谢! 旧金山 Re: SYS_IMG KeyCatalog corrupted on S32G 你好@nxg19026、 关于 SYS-IMG 的离线审查,没有检查加密内容的程序,它确实保存了所有非易失性信息,但在 HSE 外部无法访问。不过,您可以使用hseVerifySysImageSrv_t来仔细检查闪存中的 SYS-IMG 是否正确。 此外,按照HSE FW参考手册中提到的内容,如果SYS-IMG损坏,HSE会将设备RESET最多8次,然后再切换到串行模式进行恢复。 如果验证成功,请告诉我。 Re: SYS_IMG KeyCatalog corrupted on S32G 你好@nxg19026、 如果验证运行成功,说明 SYS-IMG 中的信息是正确的。重新加载运行时加载,不可能加载不同的 SYS-IMG,SYS-IMG 由 BootROM 加载,无法更改。 但是,正如我所提到的,如果SYS-IMG真的损坏了,芯片将无法启动,因此我看不到任何迹象表明SYS-IMG是问题所在。 您能否详细说明 BootManager 的具体功能和故障原因? 谢谢! Re: SYS_IMG KeyCatalog corrupted on S32G 您好, 更多信息:我使用的是 HSE rev2.1_s32g2xx_hse_fw_0.1.1_2.22.0_pb230810 , premiun 版本有更多可用密钥。 HseNvmKeyCatalog 中的一个组有 20 个 hseKeyType_t HSE_KEY_TYPE_AES 密钥,每个密钥长度为 256。 在确认通过 Hse_VerifySysImg 进行的验证成功后,调查开始向另一个方向进行: 1) 我闪存了一个无签名的 BootManager,并告诉 IVT 我不需要签名。这样我就可以用新的调试功能来扩展 BootManager。 2) 我闪存了一个旧的、有效的 SYS-IMG .NET。我使用 Hse_GetKeyInfo 确认它有 BootManager 的密钥。 3) 我刷新了有问题的 SYS-IMG .NET。现在 Hse_GetKeyInfo 告诉我 BootManager 的密钥已不存在。 为了保存 SYS_IMG,我遵循了推荐的流程:hseGetSysImageSizeSrv,然后是 hsePublishSysImageSrv,然后使用闪存驱动程序保存到或非 Flash 中。 因此,"我的更新 "进程似乎写入了一组空键。我只能想象我是因为不小心调用了 hseFormatKeyCatalogsSrv_t (HSE_SRV_ID_FORMAT_KEY_CATALOGS)而丢失了它们。 可能是 hsePublishSysImageSrv 为另一个 MuInstance 获取了密钥?我已为 HSE_MU0_MASK 和 HSE_KEY_OWNER_CUST 定义了所有键值。据我所知,hsePublishSysImageSrv 会检索所有 hseMuMask_t 和所有 hseKeyGroupOwner_t 的所有密钥,对吗? 我的 BootManager 运行方式如下: a) 需要 508 KB。签名在最后 4 KB 中。AppBL 将其指向 IVT。它由 SMR 启动。它的密钥类型为 HSE_KEY_TYPE_AES b) 有 AppBL 备份。它使用相同的密钥,但 SMR 不同。 c) 通过通信,可将其更新到 AppBL 位置。请注意,AppBL 备份是存在的,以确保 A/B d) 生成一个新密钥,并通过 targetKeyHandle 导入其插槽。计数器的值为 HSE_KF_MAX_KEY_COUNTER_VALUE。authKeyHandle 是 HSE_INVALID_KEY_HANDLE 签名在最后 4KB 被重写。 e) 重新生成 SMR f) 调用 hseGetSysImageSizeSrv、hsePublishSysImageSrv 并写入 SYS_IMG g) 它将二进制文件闪存到 Appbl-Backup 中,并执行相同的 e) 和 f) 这已经行之有效了很长时间,很多板。它只是一个密钥目录为空的板。 我们无法从 HSE 读取寄存器 GSR,因为电路板会重置,而且 PMIC 未初始化并进入休眠状态。我想这并不重要,因为我知道钥匙目录已经清空了。 谢谢。 旧金山 Re: SYS_IMG KeyCatalog corrupted on S32G 您好, 感谢您的回复。它给了我测试和重新分析的提示。 来自此评论"它会保存目录中的所有密钥以及 HSE 的所有非易失性配置。" -> 我测试过将 SYS_IMG 加载到可启动配置(即不使用 SecureBoot)并调用 Hse_GetKeyInfo。由于所有密钥都失败了,这证明密钥不存在。 你说在 SYS_IMG 中也存在易失性配置。是否可以通过询问 HSE 来了解存在哪些配置?这将有助于我了解哪些 SMR 仍在定义中。 为了进行测试,我尝试 hseSmrEntryErase 一个 SMR,我知道这个 SMR 从未定义过,但我得到了 HSE_SRV_RSP_OK。您能否确认,如果 SmrEntry 丢失或已被擦除,hseSmrEntryEraseSrv_t 是否会失败? 与 hseCrEntryEraseSrv_t 类似。似乎总是成功的,即使条目不存在。 如前所述,我们使用高级 HSE 固件,因为我们使用 32 个 SMR。 我还能从 SYS_IMG 中提取其他信息吗?例如,在偏移量 0x1004 处,我得到了 4 个字节,看起来像是 SysImage 发布时间的计数器。 "我想是多核" -> 你说得对,这是一个风险。因此,BootManager 是单核的,与 HSE 的交互也是单例的,以尽量减少这种风险。 从您的评论"其中一个程序覆盖了系统映像" -> 由于系统映像是有效的,这意味着它已经发布。否则 或非 闪存中会包含垃圾,对吗? 目前,我正在调查密钥被无意删除的可能性。或者通过格式化 KeyCatalog,或者通过 hseEraseKeySrv_t,使用 HSE_ ERASE_ ALL_NVM_ KEYS_ ON_MU_IF 或 HSE_ ERASE_KEYGROUP_ ON_MU_IF,不过我对此表示怀疑,因为 BootManager 没有任何实现该功能的函数。 谢谢! 旧金山 Re: SYS_IMG KeyCatalog corrupted on S32G 你好@nxg19026、 回答这个问题:"可能是 hsePublishSysImageSrv 为另一个 MuInstance 获取了密钥?"在我看来,在您的应用程序(我猜想是多核应用程序)中,其中一个程序覆盖了 sysimage,这将导致图像没有有用的信息,而且"正确" 。 对于这个问题",hsePublishSysImageSrv会检索所有 hseMuMask_t 和所有 hseKeyGroupOwner_t 的所有密钥,对吗?"它可以保存目录中的所有密钥以及 HSE 的所有非易失性配置。 根据描述,我只能得出这样的结论:有人未经授权要求发布 SYS-IMG,从而删除了你的密钥。另一种可能性很小,那就是芯片的硅片出了问题,导致 SYS-IMG 被覆盖,但这很难诊断。 根据目前的信息,我无法为您提供更多的支持,对此我深表歉意。 如果您有更多问题,请告诉我。 Re: SYS_IMG KeyCatalog corrupted on S32G 我们发现,尽管hseVerifySysImageSrv_t成功了,但 SYS_IMG 却没有加载。 目前,在恩智浦专家的支持下,内部调查仍在继续。 主题已关闭。 谢谢!
查看全文
连接 MPX2300DT1"芯片包" 大家好, 我正在使用 MPX2300DT1 进行压力传感应用,但在尝试连接恩智浦 " Chip Pak " 封装时遇到了问题。我找不到与芯片上半引脚间距连接的单个连接器或分线板或其他接口。恩智浦是否提供任何可以将Chip Pak连接到(比如)半间距带状线的产品? 谢谢! Re: Interfacing with MPX2300DT1 "Chip Pak" 您好, 不幸的是,没有针对 MPX2300D 的 Chip Pak 封装的特定操作指南,但是,必须谨慎使用这种 Chip Pak 传感器,还必须提及的是,MPX2300DT1 适用于一次性应用,因为芯片和线键暴露在芯片 Pak 的正面(压力施加到设备的背面)。客户的外壳必须提供正面模具和电线保护(外壳示例见附图)。连接和外壳的设计取决于客户的应用,我们不提供任何具体建议。 必须在客户的外壳中提供正面模具和电线保护,并且通常在局部大气压下保持开放状态以用作参考。不过,如果使用这种方法,传感器不应与水接触,而应使用管道和气柱法测量水位。 在应用笔记中,AN3728 讨论了恩智浦压力传感器的媒体兼容性。在此应用程序第 3 页中,您可以看到我们已经测试了几种介质,使用气柱法(本文档的图 2)测量水位不太可能出现问题,但我们无法保证这些设备在这些条件下的长期可靠性。 AN3728:https://www.nxp.com/docs/en/application-note/AN3728.pdf MPX2300DT1 的输出是差分补偿的,这意味着传感器可提供毫伏级的差分输出(输出已在内部进行温度补偿),因此只需在外部添加放大电路,然后将传感器信号发送到 MCU 的 ADC。 在应用笔记 AN1318 中,您可以找到一些有关如何将压力传感器的差分输出连接到 mcu 的示例: http://www.nxp.com/assets/documents/data/en/application-notes/AN1318.pdf 如果可能的话,我宁愿建议你使用集成压力传感器,该传感器的输出已经像 MPX5050 压力传感器系列一样进行了温度补偿和放大:http://www.nxp.com/products/sensors/pressure-sensors/differential-gauge-up-to-115-kpa/-50-to-50kpa-differential-and-gauge-pressure-sensor:MPXx5050 此致, 何塞
查看全文
SPI 引脚 你好, 我需要将压力传感器 FRDMSTBANBP8XD 板连接到我的微控制器板。因此,根据我的理解,我应该使用以下引脚进行 SPI 连接。 J5.4 - 社会科学及人文科学 J5.5 - SICO J5.6 - SCLK J5.7 - 接地 J6.4 - VDD J3.3 - CS/Wakeup 我的理解正确吗?此外,我也找不到应该使用的 INT/RDY 引脚。INT/RDY 可以用哪个引脚? 压力传感器 Re: SPI pins 你好,艾丽卡、 我明白了。谢谢! Re: SPI pins 如果外部 MCU 大部分时间处于关闭状态,NBPX 可以使用支持 PS 的引脚在触发中断之前打开外部 MCU 电源。 ErikaC_0-1684257693495.png 更多详情,请参阅BPMS 产品培训幻灯片 25 和 26。 希望这能帮到您。 Re: SPI pins 嗨,艾丽卡、 我的理解是,如果我们启用 PS_ENABLE,那么 PS_ENABLE 引脚上就会出现断言。但我想知道使用它的真正好处是什么。如果我检测到 PS_ENABLE 引脚上的断言,我能用它做什么? 谢谢! Re: SPI pins 你好 通知顺序取决于 PS ENABLE 功能是否启用。 请查看 NBP 设备的 AN13882 主机应用程序第 5.1 节 Re: SPI pins 您好, 感谢您的支持。 我还有一个问题。从文档中我了解到,如果启用了PS_ENABLE引脚,则NBP8会在INT引脚上生成脉冲之前先断言PS ENABLE引脚。 但我想知道使用它的真正好处是什么。如果我们已经在监视 INT 针脚,使用它有什么好处? 谢谢! Re: SPI pins 你好 感谢您与我们联系。 是的,没错。 INT/RDY 引脚应使用 J3.6 或 J3.8,请参阅用户手册表 1。跳线和NBP9 数据表表 3 和表 4。 ErikaC_0-1683817835874.png   更新媒体 ErikaC_2-1683818011679.png 希望这能帮到您。
查看全文
MMA7361L 的老化 我想只使用 MMA7361L 的 Z 轴来获取倾斜角度。偏移量在装配厂校准后,如果最终用户使用 5 年而没有重新校准,倾斜角误差的最大变化是多少? Re: Aging of MMA7361L 谢谢你告诉我。 如果我最初的解释不够充分,请原谅。 我在论坛上发帖,打算使用我已经拥有的部件。 Re: Aging of MMA7361L MMA7361L is eol Re: Aging of MMA7361L 谢谢你,大卫。 我现在明白了,您需要定期执行校准程序。 祝您愉快 Re: Aging of MMA7361L 你好uchidaJ、 希望你一切都好。感谢您使用恩智浦社区。 这一点很难说。在偏移误差方面,有许多支持者,例如微调误差、封装和安装引起的机械应力、温度引起的偏移,当然还有老化。 因此,我建议定期执行校准程序。 请注意,MMA7361L 是一款过时的设备。如果您需要更换设备的更多信息,请告诉我。 希望这些信息对您有所帮助。 此致, 戴维
查看全文
FRDM-KLM25Z ボード用の センサ Fusion V7.X? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> FRDM FXS Mult2-B シールドと FRDM KLM25Z ボードを組み合わせています。プリコンパイルされたバージョンを使用して、センサ Toolbox で起動して実行することができました。センサ ツールボックスの表示を読んでいくと、センサー フュージョン アルゴリズムのバージョン 5 が実行されていることに気付きました。 SDK をダウンロードしたところ、スタンドアロン バージョンはなく、何らかの仮想化 RTOS バージョンがあることに気付きました。 最初の質問は、このボードに V7 センサ フュージョン アルゴリズムのリリースはありますか? 次に、ある場合、このリリースのタイムラインはありますか?私はこれを Cortex M0(+) MCU で開発したいので、特に興味があります。 ADAM センサ・フュージョン Re: Sensor Fusion V7.X for FRDM-KLM25Z Board? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> アダム、 現在でも、KL25Z はサポートされている M0+ バリアントです。これから起こることの予告をしていました。最終的には KL27Z がこれに取って代わりますが、その場合でも現在の SDK 実装は引き続き利用できます。KL25Z 仮想シールドの実装はハードウェアのスーパーセットであり、移植を必要とせずに動作するはずです。試してみましたか? Mike Re: Sensor Fusion V7.X for FRDM-KLM25Z Board? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Sensor Fusion Toolbox インターフェースに関する情報をありがとうございます。すぐにここでそれを読みます。 KL27Z に関しては、私の最初の発言の表現が間違っていたようです。私が言いたかったのは、廃止計画があるのであれば、2 つの委員会の間で完全に重複する計画があったら良かっただろうということです。KL25Z は、サポートされている M0+ デバイスとしてドキュメントに記載されていたボードだったので購入しましたが、完全にはサポートされておらず、代替品がまだ正式にオンラインで提供されていないことがわかりました。 V7.x の移植を検討してみますが、これは実行する必要のあるステップではありません。私は実用的なソリューションから始めて、自分のハードウェアとファームウェアを追加しながら段階的に変更し、いつでも元に戻せる場所を確保したいと考えていました。それほど難しいことではないことは確かですが、今は、やろうとは思っていなかったいくつかの手順を踏まなければなりません。 本当にあなたの助けには感謝していますし、素敵なクリスマスを過ごせたことを願っています。 ADAM Re: Sensor Fusion V7.X for FRDM-KLM25Z Board? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> アダム、 KL27Z のサポートをどこで確認したか教えていただけますか?それが実際に真実になるまで、その言及を削除してもらいたいです。 Sensor Fusion Toolbox インターフェースに関しては、インターフェースの完全なソースとプロトコルのドキュメントがユーザー ガイド (第 7 章) に記載されています。対象となるファイル名はcontrol.c 、DecodeCommandBytes.cとoutput_stream.c 。ツールボックスにデータをストリーミングするための関数呼び出しは、 fusion_task()の最後の行です。 sfg.pControlSubsystem->stream(&sfg, sUARTOutputBuffer); KL25Z ベアメタルに関しては、ユーザー ガイドのセクション 3.6 に、FreeRTOS バージョンをベアメタルに縮小するために私が過去に使用した手順について説明されています。 よろしくお願いいたします。 Mike Re: Sensor Fusion V7.X for FRDM-KLM25Z Board? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> わかりました。情報ありがとうございます。少なくともベアメタル バージョンを確認できるように、KL22F の SDK もダウンロードしました。KL27Zの情報がそこに載っていなかったのは残念です。私は、資料に記載されていた M0+ が十分にサポートされていると考えて、このソリューションを特別に購入しました。 もう 1 つ質問があります。NXP センサーのカスタム ソリューションを実行する場合、それをセンサー フュージョン ツールボックスで動作させる方法はありますか?私は昨晩コードの調査を始めたばかりで、2つの間のインターフェースをまだ見ていません。動画では、質問があればフォーラムで回答できるよう、テスト中はコードにその部分を残しておくように全員に勧めていると述べていたと承知しています。 再度のご回答ありがとうございます。これからどこへ向かうのか見ていきます。 ADAM Re: Sensor Fusion V7.X for FRDM-KLM25Z Board? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> アダム、 あなたが見つけた「仮想化」バージョンはあなたのボードで動作します。これは、いくつかのボードのスーパーセットをサポートするだけでなく、新しいポートの良い出発点にもなります。 ご参考までに、当社はすべての Freedom ボードを直接サポートしているわけではありません。代わりに、お客様が選択したボードに移植するための開始点として、少なくとも 1 つの Cortex M0+ と 1 つの M4F バリアントを常に用意しておくように努めています。現在の KL25Z バリアントは、そのボードの最後のリリースです (廃止されています)。2018年にKL27Zバージョンに交換する予定です。 キットに付属するユーザー ガイドには、他のボードへの移植に関する詳細が記載されています。しかし、もう一度言いますが、見つけたものは KL25Z と MULT2B でも問題なく動作するはずです。 よろしくお願いいたします。 Mike
查看全文
MMA8653FC 读取数据错误 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好 我将 ODR 设置为 50HZ,然后使用 INT1 ping 来触发数据读取。因为我的 CPU 只能设置使用上升沿/下降沿中断。因此,我需要在 INT1 引脚变为高电平之前多次读取数据。当我只读取数据并快速返回中断时,一切正常。但是,如果我在中断服务函数中插入数据计算功能,芯片就不会在服务器中断后对 I2C 数据读取进行 ACK。 有什么问题吗? 顺祝商祺! 罗伊 加速度传感器 Re: MMA8653FC read data error <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,托马斯、 谢谢您的建议。可能是我把数据操作放在 ISR 中了。我会尝试把它取出来。 非常感谢。 此致, 罗伊 Re: MMA8653FC read data error <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 罗伊 根据 CTRL_REG3 寄存器中 IPOL 位的设置,MMA8653FC 通过驱动 INTx 输出低电平或高电平来发出中断信号。需要根据此设置(下降沿或上升沿)配置 MCU 上选定的中断引脚。要取消 MMA8653FC 上的中断,必须读取嵌入式功能的相应状态寄存器或 DRDY 和 FIFO 的 X、Y、Z 数据输出寄存器(0x01 - 0x06)。我不建议在 ISR 中执行这些 I2C 读取和对数据的任何操作,而是将其留给非中断代码来处理。良好的做法是尽可能缩短 ISR。 希望对您有所帮助。 此致, 托马斯
查看全文
車載の加速(FXOS8700CQ) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello FXOS8700CQを使用して、車両が動いているかどうかを確認しています。私の主な問題は、車載デバイスの向きがわからないため、X 軸だけを有効にできないことです。デバイスは斜めに設置される可能性もあるため、前方加速値が 2 軸または 3 軸の組み合わせになる可能性があるため、無効にする軸を判断するだけではうまくいかないようです。 目的は、デバイスが動き始めると割り込みがトリガーされ、停止すると別の割り込みがトリガーされるようにすることです。いくつかテストした結果、両エッジで割り込みが発生するデバウンス カウンターをサイクルごとに増減させることでこれを実現できると思います。 この問題を解決する方法についてのアイデアがあれば幸いです。 よろしくお願いいたします。 エヴァン 加速度センサ Re: Accleration of Vehicle (FXOS8700CQ) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、エヴァン。 FXOS8700CQ にはすでにモーション検出機能が組み込まれており、モーション検出はデバイスが現在使用中であることをメインプロセッサに警告するためによく使用されます。加速度が設定されたしきい値を設定された時間超過すると、モーション割り込みが発生します。イベントのしきい値とタイミング値を設定するだけです。ソース レジスタには、割り込みを生成した動きの方向を検出するための方向データもあります。そのため、車載時にデバイスの向きがわからなくても、すべての軸に対してしきい値を設定できます。詳細については、データシートのセクション 12.6 および 14.9 を参照してください。 ダリオ
查看全文
无法通过 Yocto Linux 为 i.MX 8M Nano 的 SAI2_RXFS/SAI2_RXC 引脚配置 UART1 由于我们的定制板采用了 i.MX 8M Nano MIMX8MN5CVPIZAA CPU 进行了重新设计,因此 UART1 的 RX 和 TX 系列被分配给 SAI2_RXFS (Y13) /SAI2_RXC (AA15) 键盘。以前,当分配给 UART1_RX/UART1_TX 焊盘时,UART1 可以正常工作。 以下是 UART1 的新设备树条目:   &uart1 { fsl,dte-mode; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; status = "okay"; }; pinctrl_uart1: uart1grp { fsl,pins = < MX8MN_IOMUXC_SAI2_RXC_UART1_DTE_TX 0x140 MX8MN_IOMUXC_SAI2_RXFS_UART1_DTE_RX 0x140 >; }; 使用的是 DTE 模式,因此我们希望采用以下配置: 焊盘SAI2_RXC/AA15:输入(DTE TX) 焊盘 SAI2_RXFS/Y13:输出(DTE RX)。   我们通过将这些引脚配置为输入和输出 GPIO,验证了板上的电连接正常。然后,我们就能看到预期的输出和输入信号。但当我们将这些引脚配置为 UART1 操作时,它们却不起作用。   可能是我们没有搞清楚在 DTE 模式下哪个引脚是输出引脚,哪个引脚是输入引脚,因为文档有些混乱,但我认为,即使我们没有正确理解 RX 和 TX 的分配,我们也应该在两个引脚中的一个上看到输出活动。   但无论如何,当我们从 Linux 向 UART1 tty 发送数据时,两个引脚上都没有输出信号。   谢谢 斯蒂芬 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 你好,@stmatscaps、 感谢您联系恩智浦支持中心。 乍一看,您的设备树配置似乎是正确的;但是,为了确定这一点,我想更详细地查看一下。 你能分享你的设备树文件吗? 此外,请告诉我 您使用的是哪个电路板支持包版本 你在使用哪个板 致以最崇高的敬意, Chavira Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 你好,查维拉、 谢谢你的调查。 我们的 Yocto 版本基于恩智浦的 Yocto Scarthgap imx-6.6.52-2.2.2.xml 清单。 我们正在使用自定义板。对不起,但我无法分享这个板的示意图。 我附上了两个设备树源文件: imx8mn-usc4.dts:我们的设备树源文件包括来自 Linux 内核源代码的 imx8mn.dtsi 设备树文件。 raw-device-tree.dts:这个文件是在实时系统上通过使用 " dtc-I fs-O dts /proc/device-tree/ " 命令从 /proc 文件系统读取设备树而生成的。 问候 Stephan Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 你好,@stmatscaps、 看来 UART1 在设备树中配置正确,而且 DTE 模式的引脚多路传输看起来与 i.MX8M Nano 文档一致。 为了继续排除故障,请分享dmesg 的输出结果和ls /dev/ttymxc* 的输出结果。 这将有助于确认已正确探测 UART 驱动程序以及预期的设备节点是否存在。 供参考: UART1(基地址 0x30860000)在 Linux 中应枚举为: /dev/ttymxc0 在 DTE 模式下,信号方向为: UART1_DTE_TX -> 输出 → SAI2_RXC UART1_DTE_RX -> 输入 → SAI2_RXFS 因此,当数据写入 /dev/ttymxc0 时,应观察到 SAI2_RXC 上的活动。 有了附加日志,我们就能验证是否使用了正确的 UART 实例,以及是否存在妨碍传输的驱动程序级别问题。 Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux @stmatscaps 1. 您是否同时测量了 TX 和 RX? 2. 您是否删除了fsl、dte-mode,然后再次测量? 一个错误是调试串行端口使用了 DMA。 如果查看 8MN EVK,调试串行端口不使用 DMA。使用 DMA 会导致调试信息不实时。 你需要做的是将 DMA 添加到原始电路板支持包中的调试 UART 中,然后从当前设计的调试 UART 中删除 DMA。 原始调试 uart2 没有 dma,在您的设计中需要添加。 serial@30890000 { pinctrl-names = "default"; pinctrl-0 = <0x23>; clock-names = "ipg\0per"; fsl,dte-mode; interrupts = <0x00 0x1b 0x04>; clocks = <0x02 0xaa 0x02 0xaa>; compatible = "fsl,imx8mn-uart\0fsl,imx6q-uart"; status = "okay"; reg = <0x30890000 0x10000>; }; 您当前的设计调试 uart1 有 dmas,这是错误的,您需要删除它们。 serial@30860000 { pinctrl-names = "default"; pinctrl-0 = <0x22>; clock-names = "ipg\0per"; fsl,dte-mode; interrupts = <0x00 0x1a 0x04>; clocks = <0x02 0xa9 0x02 0xa9>; dma-names = "rx\0tx"; compatible = "fsl,imx8mn-uart\0fsl,imx6q-uart"; status = "okay"; reg = <0x30860000 0x10000>; dmas = <0x1e 0x16 0x04 0x00 0x1e 0x17 0x04 0x00>; }; Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 1. 您测量过 TX 和 RX 吗? 是的,我测量了发射机和接收机。 2.您是否删除了 fsl 和 dte-mode,然后重新进行了测量? 是的,我尝试过"fsl、dte-mode;" 。 感谢您关于 DMA 配置的意见,但我认为这不是问题的原因。UART正在研究之前的板修订版。我们唯一要改动的是引脚复用器配置,以便在芯片的不同焊盘上提供信号。 致以最诚挚的问候 斯蒂芬 Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 你好,@ Chavira、 我附上了 dmesg 的输出结果,这是 ls 命令的输出结果: root@imx8mn-usc4:~# ls -l /dev/ttymxc* crw-rw---- 1 root dialout 207, 16 Feb 27 2024 /dev/ttymxc0 crw--w---- 1 root tty 207, 17 Feb 9 09:28 /dev/ttymxc1 问候 Stephan Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 你好@stmatscaps, 在查看了你的日志文件后,系统正确检测到了 UART1,而且似乎工作正常,没有任何问题。 请尝试以下命令来验证 TX 活动: stty -F /dev/ttymxc0 115200 -crtscts -echo -onlcr echo 'hello' > /dev/ttymxc0 运行这些命令后,应能观察到 SAI2_RXC 引脚上的活动。 如果看不到任何信号,请运行此命令并共享输出结果: grep -E 'SAI2_RX(C|FS)' /sys/kernel/debug/pinctrl/*/pinmux-pins 如果仍然没有活动,请仔细检查您探测的物理引脚是否正确。 如果您不想公开共享原理图,可以在我们的支持门户网站上免费打开一个私人案例,我们可以为您提供更详细的帮助。 Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 你好@Chavira、 感谢您提供进一步的故障排除说明。 我将示波器连接到两个相关引脚,并执行了您提供的命令(stty 和 echo)。两个引脚都没有输出。 这是您要求的 grep 输出结果: root@imx8mn-usc4:~# grep -E 'SAI2_RX(C|FS)' /sys/kernel/debug/pinctrl/*/pinmux-pins pin 108 (MX8MN_IOMUXC_SAI2_RXFS): 30860000.serial (GPIO UNCLAIMED) function pinctrl group uart1grp pin 109 (MX8MN_IOMUXC_SAI2_RXC): 30860000.serial (GPIO UNCLAIMED) function pinctrl group uart1grp 关于示意图,我得等一位同事来。我们将从示意图中准备相关片段,明天在支持门户网站打开私人案例后,我将上传这些片段。 问候 Stephan Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux @Chavira我需要提醒你。 @stmatscaps说 1.以前,UART1 分配到 UART1_RX/UART1_TX 焊盘时工作正常。 这表明 UART 模块正在工作。UART 模块本身与是否配置 iomux/pin 无关。 @stmatscaps 说 2。我们通过将这些引脚配置为输入和输出 GPIO,验证了电路板上的电气连接正常。然后,我们就能看到预期的输出和输入信号。但当我们将这些引脚配置为 UART1 操作时,它们却不起作用。 这意味着硬件连接没有问题。 Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 建议使用 `memtool dump iomux register runtime` 检查引脚的多路复用器和设置是否与预期一致。您还可以使用 `memtool` 直接写入 UART 数据寄存器进行测试。 您可以尝试发送和接收数据,并检查 `/proc/interrupts`,查看相关中断(包括 UART 中断和 UART DMA 中断)是否有任何更改。 Re: Unable to configure UART1 for SAI2_RXFS/SAI2_RXC pins for i.MX 8M Nano with Yocto Linux 在恩智浦支持的帮助下,我们追溯到在主板CM7内核上运行的裸机应用程序应用了相互冲突的引脚多路复用器设置这一事实。清理完毕后,UART1 开始通过SAI2_RXFS/SAI2_RXC 引脚正常工作。
查看全文
速度 我使用的是 rw612,是否可以每隔 1 毫秒发送一次 udp 数据包?我增加了所有缓冲区,但没有效果。之后我收到 MEM 错误 Re: speed /* * 版权所有 2020-2022 恩智浦 * 保留所有权利。 * * SPDX 许可证标识符:BSD-3 条款 */ #ifndef_wifi_config_h_ #define _wifi_config_h_ #include "wifi_bt_module_config.h" #define 覆盖校准数据 "wifi_cal_data_override.h" #define CONFIG_IPV6 0 #define config_max_ipv6_addresses 0 #define config_rf_test_mode 0 #define config_max_rescan_limit 30 #define config_wifi_auto_power_save 0 #define config_turbo_mode 0 #define config_wifi_tx_per_track 1 #define config_wifi_tx_buff 1 #define config_wifi_features 1 // #define CONFIG_HOST_SLEEP 0 #define config_power_manager 0 // #define CONFIG_MEF_CFG 0 /** 如果定义 CONFIG_TX_RX_ZERO_COPY 1,请确保 #define PBUF_POOL_BUFSIZE 1752 * 在 lwipopts.h 中 */ #define config_tx_rx_zero_COPY 1 // #define CONFIG_ANT_DETECT 1 #define CONFIG_11AX 0 // #define CONFIG_11AC 0 /* WLCMGR 调试 */ #define config_wlcmgr_debug 0 /* * Wifi 额外调试选项 */ #define config_wifi_extra_debug 0 #define config_wifi_events_debug 0 #define config_wifi_cmd_resp_debug 0 #define config_wifi_pkt_debug 0 #define config_wifi_scan_debug 0 #define config_wifi_io_info_dump 0 #define config_wifi_io_debug 0 #define config_wifi_io_dump 0 #define config_wifi_mem_debug 0 #define config_wifi_ampdu_debug 0 #define config_wifi_timer_debug 0 #define config_wifi_sdio_debug 0 #define config_wifi_fw_debug 0 #define config_wifi_uap_debug 0 #define config_wps_debug 0 #define config_fw_vdll_debug 0 #define config_dhcp_server_debug 0 #define config_fwdnld_io_debug 0 /* * 堆调试选项 */ #define config_heap_debug 0 #define config_heap_stat 0 #endif/* _wifi_config_h_ */ Re: speed 谢谢您的回答。VS 代码,SDK 25.09。弗莱托斯 我想每隔 1ms 向接入点发送一个 udp 数据包(rw612 至 rw612)。 在接收端(AP),我解决了问题,似乎可以接收了。但是大约 20 秒后在发射器上,我从 udp_send 函数中得到了错误 -1,一秒钟后它又工作了几秒钟又一次。我在 TCP/IP 配置库中增加了很多值,但没有效果。 Re: speed 你好,@gtecaskari,希望你一切都好。 为了更好地分析问题,能否请您提供有关测试场景的更多详细信息?诸如你正在使用的板、IDE(适用于 Visual Studio Code 的 mcuxPresso 或 MCUXpresso)、SDK 版本、你使用的是 FreeRTOS 还是 Zephyr 以及你正在运行的具体示例等信息将非常有帮助。 Re: speed 你好,@gtecaskari。 感谢您分享您的环境,不过如果您能提供更多有关应用程序的详细信息,并说明它是 SDK 中的示例还是自定义项目,那将会非常有帮助。如果是 SDK 中的示例,请与我分享示例和您的操作步骤,这样我就能复制您的问题并找出根本原因。 Re: speed 你好。一个定制项目。 我还有一个问题。当我们使用 freertos 时,为什么 wifi 中断的优先级还是 0,它应该大于 2(freertos 配置)。 我想知道是否可以每隔 1 毫秒继续发送 udp 数据包? 还有一个问题、 当我使用 wifi6 时,摇动设备会丢失很多数据包。(也不摇晃,但幅度较小)。 当我禁用 AX 时,它的运行情况好了很多,也许每 1 小时会丢失 1 个数据包。 Re: speed 你好,@gtecaskari。 您的定制项目是否基于我们的 SDK 演示?如果是这样,能否请您具体说明它源自哪个例子? 此外,您能否说明在哪里查看优先级配置?FreeRTOS 配置文件只定义一般的操作系统参数,如 tick 速率和可用优先级的最大数量。任何特定任务的优先级值(或对其进行的更改)都必须在应用程序中进行配置。 Re: speed 你好,我选择了 httpsrv 示例并进行了更改。 我最后的配置 优先事项: in"lwipopts.h" 、 #define tcpip_thread_prio (configMAX_PRIORITIES- 1) 在"wifi_config.h 中" #define config_wifi_max_prio(configMAX_PRIORITIES - 2) 请回答为什么当启用 wifi6 (11AX) 时,当我摇动板时,会丢失很多数据包? 当我使用" #defineCONFIG_11AX 0" 时,它正常工作。 我找不到任何关于涡轮增压模式的文件。什么是参数 0~3? 为什么您的产品没有好的文档? 而我的最后一个结果,我可以每1毫秒发送128字节的数据包,但无法发送256字节的数据包(过一会儿就会出错) Re: speed 你好,@gtecaskari。 能否请您确认"CONFIG_WIFI_MAX_PRIO" 宏已被您添加为自定义修改的一部分? 另外,请说明您所指的涡轮增压模式问题是什么? Re: speed 亲爱的@RomanVR、 我解决了速度问题,请回答这两个问题。 它执行 wlan_set_turbo_mode 函数,输入值为 0 至 3。 还有为什么当我使用 wifi6 时,摇动板时会丢失数据,但是它可以在 WIFI5 和 4 上运行 Re: speed 你好,@gtecaskari。 我正在内部检查有关涡轮增压模式文档的问题,如有任何更新,我会通知您。 关于你的 Wi-Fi 6 数据丢失问题,由于这可能与你的设置有关,因此我无法复制你的问题,因为我无法复制你的确切测试场景。 Re: speed 你好@gtecaskari,很抱歉这么晚才回复你。 通过wlan_set_turbo_mode函数,用户可以为 Wi-Fi 连接配置 WMM 性能优化级别。关于该功能接收的参数: -0:标准模式(WFA 认证要求) -3:增强性能。 函数的用法是"int wlan_set_turbo_mode(t_u8 mode);" ,设置成功时返回WM_SUCCESS,失败时返回WM_ FAILURE。 如果这些信息能解开您的疑惑,请告诉我。
查看全文
imx6ullevk の (カーネルを起動しています...) ログオン時にカーネルの起動がハングします。 i.MX Yocto プロジェクト ユーザー ガイド からカスタマイズされた Yocto 環境を使用して構築されたカーネル (core-image-minimal) イメージ、 CIP Linux 4.19 を起動しようとしているときに、imx6ull チップに問題が発生しました。ここでは、(.wic)、デバイス ツリー、バイナリ、および zimage を生成し、シリアル ダウンロードを使用して UUU 自動スクリプト ( 添付) を使用して起動しようとしています。その後、SD カードからの起動に切り替えると、「カーネルを開始しています...」ログで起動が停止します。U -Boot IMX v04.2025 を使用しています。 カーネルイメージ @ 0x80800000 [ 0x000000 - 0x627200 ] ## 83000000 のフラット化されたデバイス ツリー blob 0x83000000のfdt blobを使用して起動する 作業用FDTを83000000に設定 83000000番地のデバイスツリーを使用し、8300dfffで終了します。 作業用FDTを83000000に設定 /soc/aips-bus@2200000/epdc@228c000 を無効に変更 カーネルを起動しています。   この段階の前に、次のようなエラーに直面しました。 通常のブート 自動起動を停止するには任意のキーを押してください: 0 パーティション #0 に切り替えます。OK mmc1は現在のデバイスです パーティション #0 に切り替えます。OK mmc1は現在のデバイスです 'boot.scr' の読み込みに失敗しました 275ミリ秒で6451712バイトを読み取りました(22.4 MiB/秒) mmc から起動しています... 2 ミリ秒で 27690 バイトを読み取りました (13.2 MiB/秒) カーネルイメージ @ 0x80800000 [ 0x000000 - 0x627200 ] ## 83000000 のフラット化されたデバイス ツリー blob 0x83000000のfdt blobを使用して起動する 作業用FDTを83000000に設定 83000000、終了 83009c29 にあるデバイスツリーを使用しています 作業用FDTを83000000に設定 SoCシリアル番号を更新するためのノードが見つかりません。 エラー: システム固有の fdt 修正に失敗しました: FDT_ERR_NOTFOUND - 回復するにはボードをリセットする必要があります。 そして、Linux IMX 6.12 DTSから次のノードを.dtsiにコピーすることで解決しました。ファイル /soc/aips-bus@2200000/epdc@228c000 /soc/aips-bus@2200000/crypto@2280000 /soc/aips-bus@2200000/rng@2284000 現在、カーネルのブートの開始時に行き詰まっています。 ところで、ビルドをCIP Linux 4.19用にカスタマイズする前に、 Linux IMX 6.12のデフォルト ビルドをテストしたところ、正常に動作していました。その後、新しいイメージ レシピ ファイルlinux-cip_4.19.bb (添付) を使用してメタ カスタムの新しいレイヤーをカスタマイズし、 local.conf、bblayers.conf、および machine/imx6ullevk.conf (すべてのファイルを添付しました)を調整して、必要なイメージに合わせてカスタマイズし、ブート開始が停止する問題を解決しました。 linux-cip_4.19.bb、local.confを添付しました。imx6ullevk.conf、bblayers.conf、dts、および車載 uuu スクリプト。 この問題を解決するアイデアはありますか? このカーネル バージョンとの U-Boot バージョンの互換性、カーネル レシピ ファイル内の構成の欠落、構成解除フラグの欠落、DTS ノードまたは mux ピン構成の誤構成または誤りをデバッグしますか? i.MX6UL Linux Yocto Project Re: Kernel Booting hangs at (starting kernel ...) log on imx6ullevk. こんにちは@KarimSherif75 これはカーネル関連の問題のようです。CIP Linux は NXP のサポートリストに含まれていないため、NXP がリリースしたカーネルを使用することをお勧めします。 よろしくお願いします、 志明
查看全文
MCUXpresso IDE v11.2.0 [内部版本 4120] [2020-07-09] 您好, 我在 FRDM-K66 上使用 " mcuxPresso IDE v11.2.0 [版本 4120] [2020-07-09] "。 今天我在编译项目时发现了一些警告错误。但是,它以前工作正常,从未收到过此类警告。事实上,编译完成后并没有出现警告错误。 见所附文件... 谁能告诉我如何删除这些警告? 谢谢! 克里斯蒂 Re: MCUXpresso IDE v11.2.0 [Build 4120] [2020-07-09] 你好@a8Chcx、 感谢您的联系。你看到的警告通常是由IDE索引器或缓存问题引起的,而不是真正的版本问题,尤其是在项目编译时仍然没有警告的情况下。我们建议清理工作区并重建索引(项目 → 清理,然后右键单击项目 → 索引 → 重建)。如果问题仍然存在,请共享确切的警告文本,以便我们进一步调查。 顺祝商祺! 西莱斯特 Re: MCUXpresso IDE v11.2.0 [Build 4120] [2020-07-09] 嗨,塞莱斯特、 我试图清理并重新构建,但没有奏效。 然后,我尝试删除这些定义并进行编译,结果成功了。 我重新添加了这些定义,并重新进行了遵从,结果一切正常... 我不知道为什么会这样? 谢谢! 克里斯蒂 Re: MCUXpresso IDE v11.2.0 [Build 4120] [2020-07-09] 嗨,克里斯蒂、 这些定义在您的项目中实际使用过吗? 能否请您分享一下您看到的确切警告信息的截图? 此外,您还可以尝试创建一个新的工作区,然后将项目重新导入其中。有时,这有助于解决 IDE 缓存损坏造成的问题。 BR 西莱斯特
查看全文