Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
fs26 调试引脚直接连接 VBOS 有什么问题? 调试引脚直接连接 VBOS 会导致 fs26 永久进入 OTP 模式,无法通过发送 spi exit-debug 命令退出调试,对吗?在哪里可以找到 FS26 日期表中的这一证明? Re: what‘s problem about fs26 debug pin connect VBOS directly? 亲爱的 Yang_Yang3920 请确认您是否能获得 FS26 的完整数据表。请查看所附的 UM11503。如果您没有 FS26 的完整数据表,这可能会给您有关 FS26 的提示。但是,如果没有完整的数据表,就很难使用 FS26。我无法回答任何问题,因为公开文件中没有这些问题的答案。我只能告诉你这些信息在机密文件中的位置。有关调试功能、电压等级和时间,请参阅完整的 FS26 数据表中的第 21 节。 本节还介绍了如何退出调试模式和 OTP 模式。 致以最崇高的敬意 约瑟夫 Re: what‘s problem about fs26 debug pin connect VBOS directly? 1. 需要外部事件 " 调试引脚 = GND " 才能在 fs26 启动进入 OTP 模式时触发 fs26 退出 OTP 模式。you可以查看 OTP 模式流程图。 2. 需要外部事件 " 2.5 V < VDEBUG < 6 V " 才能在 fs26 启动进入调试模式时触发 fs26 退出调试模式。you可以查看调试模式流程图。 但在我上面的电子原理图中,fs26 调试引脚直接连接 VBOS,这就限制了 fs26 在不发送 spi exit-debug 命令之前只能是这两种模式之一。对不对? 这意味着在我的电子原理图中fs26启动完成后,没有上面提到的外部事件可以触发fs26使流量状态机连续运行。 Re: what‘s problem about fs26 debug pin connect VBOS directly? 亲爱的 Yang_Yang3920 我怀疑您的 FS26 没有处于调试模式。要进入调试或 OTP 模式,对施加电压的电压和时间都有要求。有关要求和时序,请参阅 FS26 完整数据表中的第 21 节和表 259。 FS26 寄存器中有一个位用于确认 FS26 是否处于 DEBUG 模式。请参见表 105。如果 FS26 处于 DEBUG 模式,请检查该位。 致以最崇高的敬意 约瑟夫 Re: what‘s problem about fs26 debug pin connect VBOS directly? 我上面的电子原理图是否有问题,即 fs26 调试引脚直接连接 VBOS。目前的问题是无法通过发送 spi exit-debug 命令退出调试。 Re: what‘s problem about fs26 debug pin connect VBOS directly? 亲爱的 Yang_Yang3920 将 DEBUG 引脚连接到 VBOS 不会将 FS26 设置为 OTP 模式。请参见表 259。有关进入正常模式、OTP 模式和调试模式的条件,请参阅 FS26 完整数据手册。如需退出 OTP 模式,请参阅第 21.1 节和图 76。 FS26 的完整数据表可在 FS26 产品页面的 "安全 "部分找到。 致以最崇高的敬意 约瑟夫
查看全文
i.MXRT1052 VDD_SOC_IN電圧 1V1 当社は、i.MX RT1052クロスオーバーMCUを使用した独自の基板を開発しました。基板に12Vを印加すると、MCUのDCDC_INピンとVDD_SNVS_INピンには3.3Vが到達しますが、DCDC_LPピンには1.1Vが生成されません。また、MCUにファームウェアをダウンロードすることもできません。なぜこのようなことが起きているのか? DCDC_LPピンで1.1Vを生成するにはどうすればよいでしょうか? 回路図とブート設定ファイルを添付しました。 Re: i.MXRT1052 VDD_SOC_IN voltage 1V1 LDOまたはDCDCを追加する必要があるかもしれません。i.MX RT1050評価キットを参照してください。 デモ用デザインですか、それとも顧客プロジェクト用デザインですか? Re: i.MXRT1052 VDD_SOC_IN voltage 1V1 こんにちは、 @bhaveshtirex さん。 NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます! 回路図を確認しましたが、大きな問題は見つかりませんでした。しかし、どうやらオンチップのDC-DCコンバータが実際には有効になっていないようで、そのためコアに電力が供給されていないようです。 電源投入シーケンスがデータシートの仕様、およびRMの該当セクションに準拠していることを確認してください。 よろしくお願いします、 ギャビン
查看全文
寻求适用于 Windows 11 ARM64 的 IDProtect 智能卡驱动程序(骁龙精英版) 你好,恩智浦社区、 我正在寻求Windows 11 ARM64架构(高通 Snapdragon)上IDProtect Athena 智能卡驱动程序支持方面的帮助。 随着越来越多的组织过渡到基于ARM的笔记本电脑(Copilot+ PC),我们发现IDProtect的标准x64/x86中间件和驱动程序无法正常运行或无法安装。 以下是我的环境详情: 硬件:Athena IDProtect 智能卡。 操作系统:Windows 11 Pro ARM64。 处理器:Snapdragon X Elite / Snapdragon 系列。 当前状态:读卡器已被识别,但智能卡本身仍是 " 未知设备 " 或无法与中间件通信。 我的问题 IDProtect 系列有官方的 ARM64 迷你驱动程序或中间件可用吗? 如果 ARM64 官方版本尚未发布,是否有使用已知可与雅典娜的 ATR 配合使用的微软通用智能卡迷你驱动程序的解决方法? 是否计划在不久的将来在ARM上发布Windows的专用安装程序? 如果能提供任何指导、测试版驱动程序或文档,我们将不胜感激。 谢谢!
查看全文
S32K1 EEPROM RTD こんにちは、 Eep_Ftfc_Example_S32K144 を使用すると正常に動作する理由がわかりません。 しかし、消去および書き込みコードを削除して、以前に保存されたデータを読み取ろうとすると、「FTFC_EEP_IP_STATUS_BLOCK_INCONSISTENT」というエラーで失敗します。 「デバイスのパーティションを保持する」と「この範囲を保持する」の両方を0x10000000から0x1000ffffに設定しました。 したがって、第2ラウンドのコードは次のとおりです。 /* クロックの初期化 */ Clock_Ip_Init(&Clock_Ip_aClockConfig[0]); /* コード0x4のEERAM用に以前にパーティション化されていない場合のみパーティション化する */ Eep_DepartParitition(T_EEEPROM_SIZE); /* Eepドライバを初期化します */ Ftfc_Eep_Ip_Init(&EepFtfcCfg_VS_0); // /* 消去値を書き込むことでメモリを消去します */ // for(i=0; i // // retJobResultType = Ftfc_Eep_Ip_Erase(EEP_ERASE_START_ADD + i, FTFC_EEP_IP_PAGE_LONGWORD, FALSE); // if(FTFC_EEP_IP_STATUS_OK != retJobResultType) // // Exit_Example(FALSE); // 0 を返す; // } // } // // /* 1つ以上の完全なEEPROMページをEEPROMデバイスに書き込みます */ // for(i=0; i // // retJobResultType = Ftfc_Eep_Ip_Write(EEP_ERASE_START_ADD + i, dataWrTestPatt + i, FTFC_EEP_IP_PAGE_LONGWORD, FALSE); // if(FTFC_EEP_IP_STATUS_OK != retJobResultType) // // Exit_Example(FALSE); // 0 を返す; // } // } /* EEPROMメモリ領域とアプリケーションデータバッファを比較します */ for(i=0; i ヤージュ retJobResultType = Ftfc_Eep_Ip_Compare(EEP_ERASE_START_ADD + i, dataWrTestPatt + i, FTFC_EEP_IP_PAGE_LONGWORD); if(FTFC_EEP_IP_STATUS_OK != retJobResultType) ヤージュ Exit_Example(FALSE); 0を返す。 } } 事前に感謝いたします。 Re: S32K1 EEprom RTD 「FTFC_EEP_IP_STATUS_BLOCK_INCONSISTENT」はブロックアドレスのアライメントが原因で発生する可能性があります。初期パーティション時に「Preserve this Range from 0x10000000 to 0x1000ffff」以外にEEPROMアドレス設定に関する詳細情報を提供していただけますか? Re: S32K1 EEprom RTD データフラッシュとEEPROMの設定に使用するFlexNVMパーティションコードを共有してください。どの部分がEEPROMとして1000000から1000FFFFの間に設定されているかを知る必要があるかもしれません。設定によっては、EEPROMデータを読み取る必要がある場合もあります。 詳細については、AN11983「S32K1xx EEPROM機能の使用」を参照してください。 Re: S32K1 EEprom RTD こんにちは、 @ck182 さん。 FlexNVMでEEEが有効になると、FlexNVM(バックアップ)はアプリケーションコアから直接アクセスできなくなります。その時点では、EEPROMとしてのFlexRAMのみがアクセス可能です。 FlexNVMがEEP_FTFC_LOAD_AT_RESET_ENABLEDでパーティション分割されている場合、リセット後にバックアップフラッシュの内容が自動的にFlexRAM(EEPROM)にコピーされ、EEERDYフラグが設定されます。 main()関数の冒頭で、以下の点をご確認ください。 EEERDY == 1、 DEPARTには有効なパーティションコードが含まれており、 FlexRAM(EEPROM)に有効なデータが存在しますか? よろしくお願いいたします。 ダニエル Re: S32K1 EEprom RTD こんにちは、 db16122さん。 ご返信ありがとうございます。 元のサンプル「Eep_Ftfc_Ip_Example_S32K144」から何も変更していません。 また、このコードを実行すると、次の点に気づきました。 retJobResultType = Ftfc_Eep_Ip_Write(EEP_ERASE_START_ADD + i, dataWrTestPatt + i, FTFC_EEP_IP_PAGE_LONGWORD, FALSE); この例では、RAMのアドレス0x14000000に書き込みが行われていますが、これは正しいものの、Flexメモリには「何か」が書き込まれません。 「somethings」はRAMだけでなく、アドレス0x10000000から始まるFlexメモリにも書き込まれるはずですが、変化が見られません。 自分が何が悪いのか理解できません 私はDS3.4とRDT 1.01を使用しています。 よろしくお願いします。
查看全文
LVDS channel disabled albeit enabled in device tree I am working with a 8MPLUSLPD4-EV building the OS stack with the latest Yocto Project meta-freescale layer (LAYERSERIES_COMPAT_freescale-layer = "whinlatter wrynose"). I am looking to use the IMX-LVDS-HDMI adapter board. The default device tree imx8mp-evk.dts should correctly enable lvds-channel0 for use with this board and the it6263 chip. This is what is in the device tree file: &ldb { status = "okay"; lvds-channel@0 { status = "okay"; port@1 { reg = <1>; lvds_out: endpoint { remote-endpoint = <&it6263_in>; }; }; }; }; However, when I boot the board: # dmesg | grep it6263 [ 2.998982] it6263 1-004c: Probe failed. Remote port 'lvds-channel@0' disabled # cat /sys/firmware/devicetree/base/ldb-display-controller/lvds-channel\@0/status disabled # cat /sys/firmware/devicetree/base/ldb-display-controller/status okay Albeit the device tree explicitly enables lvds-channel@0 it is being disabled somewhere, although the ldb-display-controller itself is enabled. The bootloader is u-boot-imx-2025.04. The source file arch/arm/mach-imx/imx8m/soc.c contains the function disable_lvds_lcdif_nodes() which disables the lvds channels by patching the device tree for certain variants of the SoC, namely: imx8mpul, imx8mpsc, imx8mpdsc. I am wondering why this would happen on the 8MPLUSLPD4-EV as the SoC should be an imx8mp quad. Re: LVDS channel disabled albeit enabled in device tree Hello, I tried on my side with the pre-built image we have on the EVK, it is working correctly even I see that the port shows as okay root@imx8mpevk:~# cat /sys/firmware/devicetree/base/ldb-display-controller/lvds-channel@0/status okay I'm building using yocto now just to verify as well, but pre-built is essentially the same so I do not expect a different result. Best regards/Saludos, Aldo. Re: LVDS channel disabled albeit enabled in device tree Thank you, @AldoG. Much appreciated. Please let me know what you find. I have decompiled the dtb and the node is enabled in the dtb: ldb-display-controller { #address-cells = <0x01>; #size-cells = <0x00>; compatible = "fsl,imx8mp-ldb"; clocks = <0x02 0x149>; clock-names = "ldb"; assigned-clocks = <0x02 0xae>; assigned-clock-parents = <0x02 0x28>; gpr = <0x5d>; power-domains = <0x63>; status = "okay"; phandle = <0x11c>; lvds-channel@0 { #address-cells = <0x01>; #size-cells = <0x00>; reg = <0x00>; phys = <0x8a>; phy-names = "ldb_phy"; status = "okay"; port@0 { reg = <0x00>; endpoint { remote-endpoint = <0x8b>; phandle = <0x61>; }; }; port@1 { reg = <0x01>; endpoint { remote-endpoint = <0x8c>; phandle = <0x36>; }; }; }; lvds-channel@1 { reg = <0x01>; phys = <0x8d>; phy-names = "ldb_phy"; status = "disabled"; port { endpoint { remote-endpoint = <0x8e>; phandle = <0x62>; }; }; }; }; It seems that u-boot is changing the device tree. However, it is not clear to me why. This is the YP build configuration: Build Configuration: BB_VERSION = "2.16.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "aarch64-tdx-linux" MACHINE = "imx8mp-lpddr4-evk" SDKMACHINE = "x86_64" DISTRO = "test" DISTRO_VERSION = "0.0.0-devel-20260417002956+build.0" TUNE_FEATURES = "aarch64 crc cortexa53 crypto" meta-clang = "master:78c5e12f08198f4f257a9348516d2103cd617c1d" meta-freescale = "master:4cc4bc05063f7f4c105587332493742379d11ad7" meta-freescale-3rdparty = "master:29c36ae80ba5762091f48d6d15b637455cc15758" meta-freescale-distro = "master:70b7591ecaa99cb6366f93ee05df7c38d94d724b" meta-filesystems meta-multimedia meta-networking meta-oe meta-perl meta-python = "master:44a29c54f9b6e87431e34de1558a962d0e614ef8" meta-qt6 = "6.11:34ad7dbc591a5cf31f6d23799c339ba8985f1428" meta-efi-secure-boot meta-encrypted-storage meta-ids meta-integrity meta-secure-core-common meta-signing-key meta-tpm2 = "master:a9c1ce8beea586ee6837284d922e45e4441f09f6" meta-security meta-poky meta-yocto-bsp = "master:49cbb01d52521bfe557395c9ebfae6b1c162581e" meta = "master:274ce0c0d73fd82b63c522580aed9dbac51ba09c"
查看全文
有关 SJA1110 SDK 上 Qbv 配置的问题 亲爱的 我目前正在研究 S32 Design Studio SJA1110 SDK RTM 1.0.2 上时间感知整形器 (802.1Qbv) 的配置。 虽然我已经了解了基本设置,但有些地方我还不太清楚。 例如,AH617501 号文件第 122 页提供了一个 Qbv 示例,其中八个栅极(栅极 0 ... 栅极 7)各打开 8 秒钟一个周期的 1/8(12.5% )。因此,每扇门的开启时间为 1 秒钟。 第一个困惑来自参数表,其中 ADMINCYCLETIME = 500000000(1 秒) ADMINCYCLETIMEEXT = 62500000(允许 12.5% 周期时间(以时钟周期为单位) 那么,根据文件 um549820-UM11107 Software User Manual for SJA1110(2.0) 所给出的定义、第 1185 页: ADMINCYCLETIME:一个计划周期持续时间的管理值,以系统时钟周期的整数表示。 admincycletimeext:管理值,用于在安装新配置时延长相应端口计划周期的最大系统时钟周期数。 但 500000000 如何映射到 1 秒呢?难道不应该是示例描述中的 8 秒吗? - 周期时间 8s - 每扇门打开 1s 另一个问题与闸门的 TRIGGER_TIME 有关。根据《SJA1110 软件用户手册》第 1186 页: TRIGGER_TIME(触发时间):该字段表示执行计划表中下一个条目之前的剩余时间。在下一个事件发生之前,GATES 的当前状态一直有效。2.5 Gbit/s 端口速度的粒度为 80 ns,1 Gbit/s 端口速度的粒度为 200 ns,100 Mbit/s 端口速度的粒度为 2 μs,10 Mbit/s 端口速度的粒度为 20 μs。如果 TRIGGER_TIME 设置为 0,则假定值为 1。 根据我的理解,TRIGGER_TIME 可以通过以下方式计算: TRIGGER_TIME = gate_open_time / granularity 因此,如果门打开 1 秒钟且链路速度为 100 Mbps,则表示粒度为 2 μs: TRIGGER_TIME = 1 / 2e-6 = 500000 如示例所示。 另一方面,如果链路速度为 1000 Mbps,则表示粒度为 200 ns: TRIGGER_TIME = 1 / 2e-7 = 5000000 我的理解正确吗? 然后,我的最后一个问题与验证我的配置是否正确有关。一些工具(例如iperf3)旨在测量带宽,无法在确定性网络方面得出有用的结果。 我可以执行哪些测试来验证 Qbv 配置是否按预期配置?如何定义具有特定优先级的流量? 谢谢,并致以最崇高的敬意、 吉列尔梅 Re: Questions regarding Qbv configuration on SJA1110 SDK 你好@GuilhermeS32G、 你的理解是正确的。 不过,请允许我澄清一下 "ADMINCYCLETIME"。计划时钟的有效频率为 125 MHz,因此,ADMINCYCLETIME = 500,000,000 相当于 ~4 秒(500e6 / 125e6)。正如本主题所讨论的,已解决:SJA 1110 Qbv 的配置 - NXP Community.我还从其他渠道进行了反复核实。 Qbv 验证有几种可能性: 生成映射到特定优先级/队列的流量,然后在 Wireshark 的出口端口上捕获并确认帧仅在预期的打开窗口期间离开(当大门关闭时,您将看到 “突发” 传输+间隙)。从概念上讲,这正是 TAS 的工作原理:帧被保留,直到其闸门打开。 如果您使用 Linux,TSN 802.1Qbv 演示使用 i.MX 8M Plus展示了标准方法。 您也可以使用专用的硬件解决方案,例如DS-Spirent-TSN-Test-Solutions_RevF.pdf 顺祝商祺! 帕维尔 Re: Questions regarding Qbv configuration on SJA1110 SDK 你好@PavelL、 再次感谢您的支持。 是的,您的回答澄清了与 ADMINCYCLETIME 有关的困惑。 关于使用 i.MX 8M Plus 的 TSN 802.1Qbv 演示文档,是否有一个可以检索第 6 节表 3 中所列 Python 脚本的存储库? 顺祝商祺! 吉列尔梅 Re: Questions regarding Qbv configuration on SJA1110 SDK 你好@GuilhermeS32G、 我是在这里找到它们的: GitHub-nxp-imx-support/nxp-demo-experience-demos-list:适用于 i.MX 应用程序处理器的 GoPoint 应用程序包示例·GitHub 如果您需要有关本主题的进一步帮助,请在 https://community.nxp.com/t5/i-MX-Forums/ct-p/imx-processors 中创建专门的查询 顺祝商祺! 帕维尔 Re: Questions regarding Qbv configuration on SJA1110 SDK 非常感谢!
查看全文
S32K311 UTest 编程:编程过程中出现 RWE 错误和崩溃 我正在对 S32K311 微控制器进行 UTest 编程,在闪存编程过程中遇到了读写错误 (RWE) 和控制器崩溃。 问题:触发信号 uTest 编程序列 后: 控制器跳转到默认处理程序(崩溃) RWE(读写错误)标志已设置 上下文: 应用程序正在从 pFlash @ 0x00480000 执行 uTest 编程是在从 pFlash 运行时启动实际的触发函数(EHV 设置 + 轮询)是从 RAM 执行的 实施流程: 1.初始化 & 准备 (flash_gsetPublickey_prepare) 解锁 uTest 扇区:PFLASH.PFCBLKU_SPELOCK [0] .R & = ~ (1U < < 0); RESET 操作模式 bits: EHV = 0,PGM = 0,ERS = 0,ERS = 0 加载目标地址:PFLASH.PFCPGM_PEADR_L.R = 0x1b000100U;将数据加载到闪存寄存器:for (i = 0 U;i < Flash_lnumofWords; i++) {FLASH.DATA [i] .R = flash_psrc [i]; } 启用编程模式:FLASH.MCR.B.PGM = 1U; 2.执行编程(从 RAM) (FLASH_gSetPublicKey_Trigger) 开始编程:FLASH.MCR.B.EHV = 1U; 轮询直至完成:等待 DONE = 1 停止编程: FLASH.MCR.B.EHV = 0U; FLASH.MCR.B.PGM = 0U; 重新锁定UTest 扇区 观察: 尽管触发器函数从 RAM 运行,但系统仍然: 遇到 RWE 错误 & 跳转到默认处理程序 根据上述流程,如果您能帮助确定 RWE 故障的确切原因,并提出必要的修正建议,以确保可靠的 UTest 编程,我将不胜感激。 谢谢。 Re: S32K311 UTest Programming: RWE Error and Crash During Programming 您是否禁用了中断?此外,还需要禁用闪存预取和高速缓存,因为对闪存 0 块的投机或预取访问可能会发生,而闪存 0 块与 UTEST 是同一个块。
查看全文
用于 RW612(村田 2FR 型)的认证固件 - 符合 RED 标准 你好 我们目前正在与一家实验室合作,为我们基于 RW612 的设计(使用村田 2FR 型模块)获得 RED 认证。 为方便射频测试过程,您能否提供可直接闪存的固件映像以及相应的文档?具体来说,我们要求 蓝牙支持 DTM(直接测试模式)。 Wi-Fi& ZigBee:支持标准监管测试模式。 提前感谢您的帮助。 Re: Certification Firmware for RW612 (Murata Type 2FR) – RED Compliance 你好@_Arthur_,希望你一切都好。 由于我们合作伙伴的模块已经是预认证产品,因此我建议您在认证过程中寻求村田的帮助。他们还在 Type 2FR 模块页面上提供了《无线电法认证应用笔记》,您可以参考该说明了解更多信息。 希望这能帮到您。
查看全文
LS1028A的QXGMII是否支持4路同时跑满2.5G带宽? 如题,我司正在评估1028A主控方案。需要3路2.5G网口。核对Serdes配置表发现可以使用10G-QXGMII配置拓展  但有个疑虑就是根据Figure 45图示和描述,其TSN Switch控制器与CPU的数据交互速率只有2.5G 希望贵司团队可以帮忙明确一下10G-QXGMII这个配置是否支持4路网口同时跑满2.5G带宽? QorIQ LS1 Devices Re: LS1028A的QXGMII是否支持4路同时跑满2.5G带宽? 在 10G‑QXGMII SerDes 配置下,LS1028A 可以支持 4 路外部以太网口同时跑满 2.5 Gbps。 Under the 10G-QXGMII SerDes configuration, the LS1028A can support four external Ethernet ports operating at full speed of 2.5 Gbps simultaneously. Re: LS1028A的QXGMII是否支持4路同时跑满2.5G带宽? 感谢您的回复! 这个问题能否辛苦您这边再确认下?我在论坛提问后才得知公司有贵司对接的技术支持同事邮箱,软件同事邮件提问后贵司同事给出的回复是不支持 我们这边该以哪个结论为准呢? Re: LS1028A的QXGMII是否支持4路同时跑满2.5G带宽? 感谢您的回复! 这个问题能否辛苦您这边再确认下?我在论坛提问后才得知公司有贵司对接的技术支持同事邮箱,软件同事邮件提问后贵司同事给出的回复是不支持 我们这边该以哪个结论为准呢? Re: LS1028A的QXGMII是否支持4路同时跑满2.5G带宽? 好的,非常感谢您和贵司其它同事的解答。这非常有帮助! Re: LS1028A的QXGMII是否支持4路同时跑满2.5G带宽? 这里没有问题--您可能错过了 LSDK 21.08 中的 ENETC 以太网和 Felix 交换机驱动程序部分。LS1028A 支持多种操作模式,带宽行为取决于您选择的模式: DSA 模式(默认): 上行链路(CPU 端口)限制为 2.5Gbps(通过 eno2/swp4)或 1Gbps(通过 eno3/swp5) 4 个外部下行端口 (swp0-swp3) 通过时分多路复用共享此上行链路带宽 这是标准配置,其中交换机作为带有帧注入/提取头的分布式交换机架构 (DSA) 设备运行 非 CPU 端口模式(L2 转发): 交换机支持端口之间的线速转发,无需通过 CPU 在此模式下,内部端口(例如 swp4 或 swp5)用作常规交换机端口,而不是 CPU 端口 外部端口之间的流量在交换机结构内以线速转发,绕过 CPU 瓶颈 某些 TSN 用例(例如 802.1CB FRER)需要此模式 这两个答案都是正确的——这完全取决于你的具体用例和你计划使用的模式。
查看全文
有关 T2080 启动 Flash 设置的查询 亲爱的朋友们 我使用的是 T2080 + vxWorks 引导加载程序 + 或非 启动闪存(tacc=120nS,TOE=35nS)。 开机时,它断断续续只能启动到 bootlaoder(无法加载 vxworks 内核)。 我在 T2080 CPU 的 IFC_FTIM1 中使用了 97ns 的 TRAD_NOR。我认为它完全满足 或非 闪光灯的 ToE(35ns)。 1。我需要修改 TRAD_或非 才能满足 tacC (120ns) 吗? 2。从 T2080(ifc_clk=11.5ns)访问 或非 启动(tacc=120ns,toe=35ns)时,能否告诉我经常配置的 IFC_FTIM0~3 值和已知的注意事项? 感谢您的回答。 QorIQ T2 设备 Re: Inquiry regarding T2080 Boot Flash settings 请分享 ToE 和 TacC 的或非 Flash 定时序图,或相应的或非 数据表。 如有可能,还请注明指定这些参数的页码。 谢谢! Re: Inquiry regarding T2080 Boot Flash settings 感谢您的回复。 我使用的是柏树公司的 S29GL01GT。 tACC=120ns(最大值),tOE=35ns(最大值),tCE=120ns(最大值)。 Re: Inquiry regarding T2080 Boot Flash settings 谢谢 June-Lu TACO 正在使用 11 个周期,我已确认 CS 之前的地址已经稳定。 它似乎满足了数据表中列出的要求,但间歇性启动错误仍在发生。 当我向 ChatGPT 等 AO 工具咨询时,他们建议 TRAD 必须满足 tACC+延迟(受温度等影响)。您对此有何看法? 而且,你能告诉我常用的 T2080 启动加载程序设置,比如 u-boot 吗? (IFC_FTIM0/1 设置和启动闪存型号) 谢谢! Re: Inquiry regarding T2080 Boot Flash settings 能否请您确认一下 IFC 模块的输入时钟? 根据 T2080 参考手册(图 4-3),它是 ip_clk,是平台时钟的 1/2。 平台时钟的有效范围列于数据表(表 121)中,具体取决于配置。 请检查 IFC_CLK 是否与 ip_clk 相同? 我使用 S29GL01GS 检查了 T1023RDB 平台(尽管它是 NO-ADM)。它与 S29GL01GT 非常相似,其定时配置可用作初始基准。 在该平台上,平台时钟配置为 400 MHz: https://github.com/nxp-qoriq/u-boot/blob/LSDK-1703/include/configs/T102xRDB.h#L328 关于其他延迟(例如受温度影响的延迟),您可以参考 QorIQ T2080 数据表中的图 20 和图 21,其中显示最大输出延迟为 2.5 ns,最小输出保持时间为 -2 ns。 配置 tACO 和 tRAd 时,实际 CE_B 和 OE_B 时序将比编程值至少长 0.5 ns。即使考虑到温度和布局造成的变化,与 23 ns 的要求相比,3 × 11.5 ns = 34.5 ns 仍有足够的余量。 您也可以参阅 T2080 参考手册第 13.4.2 节(闪存接口时序编程模型),可以增加一个 IFC 模块输入时钟周期,进一步扩大裕量。 无论如何,建议使用示波器验证波形,以确认时序符合要求。 您可以对波形和 IFC 寄存器设置进行进一步检查。 Re: Inquiry regarding T2080 Boot Flash settings 请确认 TACC 和 TOE 的定义。 我查看了手中的 S29GL01GT 数据表。根据它,TACC 是地址到输出延迟,tCE 是芯片使能到输出延迟,tOE 是输出使能到输出延迟。这些定义与数据表中的定义是否相同? 图 17 与下图是否相同? Re: Inquiry regarding T2080 Boot Flash settings 亲爱的 June-Lu 我再次检查了数据表,结果是一样的。 Re: Inquiry regarding T2080 Boot Flash settings 谢谢你,琼-露、 我使用的时钟如下。 - 平台时钟:533.33Mhz - ip_clk : 266.66Mhz(IFC 模块输入时钟) - IFC_CLK:88.88Mhz(IFC 外部时钟) 看看你提供的参考数据 (t102xRDB.H),TRAD 设置为 0x1A。它的平台时钟是 400Mhz,那么 ip_clk 是 200Mhz,所以我估计 TRAD = 5ns * 26(0x1A) = 130ns。 换句话说,TRAD 似乎是为了满足闪存的 tACC(120ns)而不是 tOE(35ns)要求而设计的。 Re: Inquiry regarding T2080 Boot Flash settings The T2080 RM formula for TRAD_NOR explicitly uses TOEmax plus 2*板延迟 plus setup time. It's related to the tOE. tACC/tCE should be checked against the combined path tACO + tRAD, not against TRAD_NOR alone. T102xRDB.h 中的参数将留出足够的余量来访问主板。你可以使用所有设置来检查它是否可以解决你的问题,如果它能解决你的问题,那么你可以根据RM和数据表调整你的参数。 如有其他问题,请提供波形和所有 IFC 寄存器设置。 Re: Inquiry regarding T2080 Boot Flash settings 亲爱的 June-Lu 我仍然很好奇为什么在 u-boot 代码中将 TRAD 设置为 130ns(大于 tacC),但你的回答非常有帮助。 感谢您的帮助。 Re: Inquiry regarding T2080 Boot Flash settings 建议将 TRAD 设置为 130 ns,以提供足够的裕量。不过,您也可以测试一个较小的值,如 97 ns,预计也能正常工作。 请随时向我报告你们的最新成果。 谢谢。
查看全文
MWCT2016S HSE A/B 引导加载程序 - 插槽 B 的链接器地址 你好,我正在使用恩智浦 S32K312 上启用 HSE 的配置,并计划实施 A/B 插槽固件更新机制,其中引导加载程序和应用程序都可以更新。 闪存分区目前定义如下: 插槽 A 启动 A – 0x00400000 应用程序 A - 0x00418000 插槽 B 启动 B – 0x00500000 应用程序 B - 0x00518000 我的问题是关于插槽 B 的链接器配置。 由于启动 B 和应用程序 B 与插槽 A 位于不同的物理地址,因此它们的矢量表和代码是否应使用与其物理地址(0x00500000/0x00518000)相对应的偏移量进行链接? 还是说插槽 A 和插槽 B 的固件映像都应链接到相同的逻辑地址,而不是依靠闪存交换或重新映射机制? 如能就启用 HSE 的 A/B 引导加载程序更新方案的建议实施方法提供指导,将不胜感激。 Re: MWCT2016S HSE A/B Bootloader – Linker address for Slot B 你好@TONY_YU1 所有启动/App 项目都应编译为从 0x00400000/ 0x00418000 运行。它总是从这个内存空间执行。更新应用程序时,本应在被动程序块中编程,但交换后将在主动程序块中执行。因此,应用程序 B 也可以使用相同的链接器文件。 此致, Lukas Re: MWCT2016S HSE A/B Bootloader – Linker address for Slot B 你好@lukaszadrapa 感谢您之前的回复。我还有一个关于 AB SWAP 配置的问题。 当触发区块交换时,它是在两个区块之间进行直接的数据交换,还是只是交换逻辑映射(主动/被动名称)? 根据我的测试,我将应用程序编程到地址为 0x00518000 的被动块中,然后调用 HSE API 来执行交换并 RESET MCU。RESET后,我确认应用程序数据显示在地址 0x00418000。 这是交换机制的预期行为吗? 如果是这样,我的理解是否正确,即无论当前的主动/被动状态如何,只要需要更新,擦除和编程操作都应始终以 0x00518000 处的被动块为目标。 致以最崇高的敬意  
查看全文
MLB The Show 26:如何处理"有毒" 玩家和冻结关闭 什么是《MLB The Show 26》中的"有毒" 球员? 在在线游戏中,"有毒玩家 "是指其行为会对您的游戏体验产生负面影响的人。这可能包括在语音聊天或短信中说垃圾话,也可能是故意使用令人讨厌或剥削性的策略,如不断发包、投快球或以违反体育道德的方式提高比分。在某些情况下,毒性包括非体育行为,如输掉比赛后中途退出,这会影响排名和势头。 实际上,有毒玩家常见于高等级或竞技模式中,但也可能出现在任何级别中。及早识别毒性可以帮助你避免让它影响你的游戏。 如何在面对有毒球员时保持冷静 应对有毒对手的第一步是管理好自己的反应。情绪化或攻击性的反应很少有帮助,有时还会使事态升级。 静音或忽略聊天:MLB The Show 26》允许您将收到的信息或语音聊天设置为静音。如果有玩家对你进行言语攻击或分散你的注意力,请使用此功能。 专注于自己的比赛:毒舌棋手往往以挫败对手为乐。专注于你的时机、引脚间距选择和防守定位,而不是他们的行为。 休息:如果一场比赛让你感到沮丧,在跳入下一场比赛之前,请暂时离开。即使是短暂的休息也可以RESET你的注意力,防止倾斜影响多场比赛。 在实际经验中,忽略对手的行为实际上可以提高你的胜率。许多在网上抱怨或嘲讽的玩家往往会在他们认为已经惹恼了你时犯错。 什么是冻结以及冻结发生的原因 当玩家故意导致游戏冻结或断开连接时,通常是为了避免输掉比赛或防止统计数据下降。虽然这很令人沮丧,但了解发生了什么可以帮助您正确应对。 造成冻结的原因通常是 对方操纵网络。 利用某些触发信号连接问题的游戏内情况。 人际关系不佳,这可能会在无意中造成让人感觉是有意为之的冻结。 如何保护自己不被冻坏 虽然您无法控制对手的行为,但您可以采取措施保护自己的游戏体验。 稳定的互联网连接:尽可能使用有线连接。Wi-Fi 更容易出现类似冻结的中断。 避免高延迟模式:某些玩家流量大的在线模式更容易出现卡顿。如果在一种模式下经常出现卡顿,请切换到另一种模式或在非高峰时段进行游戏。 举报并继续前进:MLB The Show 26》允许您举报球员的违反体育道德行为,包括疑似冻伤。记录所发生的一切,然后继续前进;与对手争论或对峙很少能解决问题。 许多经验丰富的玩家只是专注于他们可以控制的游戏。试图强求回应或报复通常会导致更多的挫败感。 面对有毒或冰冻玩家时调整策略 有些玩家会使用激进的战术来迷惑你。以下是一些实用的调整措施: 简化比赛计划:击球或投球顺序不要过于复杂。坚持自己的强项。 不要追逐不必要的命中次数:如果玩家正在发送垃圾邮件或快球,请集中精力等待投球,而不是向所有人挥杆。 明智地使用暂停:如果允许,在两局之间停顿可以RESET你的注意力,帮助你避免倾斜。 在《钻石王朝》中,面对难缠的对手时保持冷静往往比游戏中的任何优势都更有价值。掌握了这一心理层面的球员,总是比那些情绪化反应的球员更胜一筹。 社区工具和报告 美国职业棒球大联盟The Show 26版本内置的工具可以解决有毒行为和冻结问题。报告简单明了: 暂停游戏 选择对手的我的。 选择适当的报告原因(有毒行为、冻结或作弊)。 开发人员会对报告进行审查,屡犯者将面临处罚。虽然这不是立竿见影的,但随着时间的推移,持续的报告有助于建立一个更健康的网络社区。 此外,加入在线社区或论坛还可以实时了解有毒玩家的情况。有些社区甚至会跟踪竞技模式中的惯犯,帮助玩家避开他们。 游戏内货币和安全交易的作用 虽然这主要与游戏行为有关,但值得一提的是,有毒玩家有时会试图引诱他人进行不安全的交易或购买,尤其是在《钻石王朝》中。如果你想购买额外的短截线,只能使用官方渠道。警惕非官方的美国职业棒球大联盟26短截线卖家赔,因为这些索赔通常是骗局。坚持进行合法的游戏内交易可确保您不会成为欺诈行为的受害者,同时集中精力提高您的游戏水平。 专注于你能控制的事情 现实情况是,有毒玩家和冻结是在线游戏的一部分,不仅仅是《MLB The Show 26》。关键是管理好自己的行为,保护好自己的关系,报告不当行为,而不是卷入争论或报复策略。随着时间的推移,保持这种心态会带来更稳定、更愉快的体验。 在实践中,当其他人失去冷静时,能保持冷静和专注的球员往往能更快地晋级,更享受比赛。虽然你无法完全消除毒性或冻结,但你可以将它们的影响降至最低,并将注意力集中在重要的事情上:打好比赛、提高技能和享受比赛。
查看全文
IMX8mp gstreamer vpuenc_h264 set profile and level We are using an IMX8mp on a custom board and are using the NXP Yocto hardknott as the base platform. We are compressing/encoding a camera stream to H264/MP4 using the hardware H264 encoders vpuenc_h264 plugin. A basic example is like: gst-launch-1.0 -v videotestsrc num-buffers=100 ! video/x-raw,width=720,height=576,framerate=25/1 ! vpuenc_h264 ! video/x-h264,profile=main ! h264parse ! mp4mux fragment-duration=10 ! filesink location=/tmp/Video1.mp4 However it appears that the vpuenc_h264 igores the profile= and level= stream parameters. Looking at the imx-gst1.0-plugin code there appears to be no ability to set the H264 profile. Is there any ability to set the H264 hardware encoders profile using gstreamer parameters ? I have seen some things on the Internet that appear to suggest you have to hardcode this setting into the VPU's hardware registers, is this the case ? I note that an alternative (communit?) gstreamer1.0-plugins-imx plugin appears to have support for profile and level. I assume this cannot be used with the softwatre modules/kernel in the NXP fsl-nxp-bsp-hardknott Yocto build ? Re: IMX8mp gstreamer vpuenc_h264 set profile and level Thanks for the corroborating observations. I was similarly seeing v4l2-ctl -d /dev/video1 --all  being deceptive about these encoder parameters, falsely implying they could be changed and that "high" is the default profile Re: IMX8mp gstreamer vpuenc_h264 set profile and level Ok, thanks for the pointer. Information for other users from what I have gathered searching the Internet and looking at the code as there is, typically, lack of NXP documentation available: The H264 encoding profile is hard coded in vpu_wrapper to Baseline. You can change this to Mainline for example (rebuilding vpu_wrapper) and the H264 streams are marked as Mainline. If the actual compression is any different I don't know. The level is set by vpu_wrapper based on the resolution of the video. Not sure if this has any affect other than tagging the H264 stream with this level. It looks like older versions of vpu_wrapper had a bug setting this level incorrectly. If you don't specify a bitrate, at least at the gstreamer vpuenc_h264 level then the resulting stream will have a very low bit rate and thus be very low quality (at least with our video streams (generally static picture with occasional movements)). If not setting the bitrate ends up with the H264 encoder using some variable bitrate algorithm I don't know. Feedback to NXP: There needs to be documentation on the profile, level and bitrate of the H264 encoder, maybe in "i.MX Linux Reference Manual" or other places on this. The NXP gstreamer vpuenc_h264 code should mention this in the code when listing information on the module with gst-inspect-1.0 as a lot of end users will be working at this level. Re: IMX8mp gstreamer vpuenc_h264 set profile and level Hi @TerryBarnaby1, I hope you are doing well   Please find the information related to the same in the below thread. https://community.nxp.com/t5/ i-MX-Processors/Encoding-H- 264-amp-H-265-using-vpu- wrapper-h/m-p/1347610   I hope this information helps you.   Thanks & Regards, Dhruvit Vasavada Re: IMX8mp gstreamer vpuenc_h264 set profile and level in a similar vein, the device seems to falsely advertise force_key_frame (V4L2_BUF_FLAG_KEYFRAME) being possible, when in reality it seems to be completely ignored by the VPU when I send it
查看全文
MC33771C 增益问题 亲爱的恩智浦支持团队 目前,我们在使用 MC33771C IC 进行电流感应测量时遇到了一个问题。 我们的系统使用 1 mΩ 分流电阻器(配置的分流值 = 1000 µΩ)。但是,IC报告的测得电流似乎高于流经分流器的电流量。 观察测量结果: 实际电流: 1 A → 测量值: ~1185 mA 实际电流: 2 A → 测量值: ~2383 mA 实际电流: 3 A → 测量值: ~3515 mA 测量误差似乎比实际电流高出大约 18-19% 。 请您帮助我们理解: 是否有可能影响当前测量精度的校准或配置参数? 是否有针对 MC33771C 电流感应路径的偏移/增益校准的推荐程序? 如果您需要其他详细信息,例如寄存器配置、原理图或测量设置,请与我们联系。 Re: MC33771C GAIN ISSUE 你好,为了更好地了解你的设置,你能否告诉我你是否在使用我们的评估板和任何恩智浦接口工具?
查看全文
[S32K324] 核心 0 通过 MC_ME 启动核心 1 - 臭氧"将" 连接到核心 1 立即失败 环境: -设备:恩智浦 S32K324(双核 Cortex-M7_0 + M7_1)-IDE:S32 设计工作室,调试器:Segger Ozone + J-Link -项目:引导加载程序 (M7_0) + 应用程序 (M7_0 + M7_1),多图像模式,FreeRTOS --- 背景/我们改变了什么: 我们的引导加载程序在所有编译配置中都定义了 CM7_1_ENABLE,我们 从引导加载程序和 Core 0 应用程序版本中删除了 CM7_1_ENABLE。 为了在需要时仍能启动核心 1,我们在核心 0 应用程序中添加了以下基于 MC_ME 的启动功能: int MultiCoreBoot_StartCore1(void) { /* 如果 Core1 已经运行,则跳过 */ if ((MC_ME_PRTN0_CORE1_STAT& MC_ME_CORE_STAT_CCS) != 0U) { return 0; } /* 步骤 1:设置 M7_1 向量表地址 */ MC_ME_PRTN0_CORE1_ADDR = M7_1_VECTOR_TABLE_ADDR; // 0x00600000 /* 第 2 步:启用 Core1 时钟 */ MC_ME_PRTN0_CORE1_PCONF = MC_ME_CORE_PCONF_CCE; /* 第 3 步:触发器更新 */ MC_ME_PRTN0_CORE1_PUPD = MC_ME_CORE_PUPD_CCUPD; /* 第 4 步& 5:解锁键序列 */ MC_ME_CTL_KEY = MC_ME_KEY; // 0x5AF0 MC_ME_CTL_KEY = MC_ME_INV_KEY; // 0xA50F /* 等待核心 1 时钟激活 */ while ((MC_ME_PRTN0_CORE1_STAT& MC_ME_CORE_STAT_CCS) == 0U) {} return 0; } 该函数在系统初始化后由 Core 0 应用程序调用。 --- 当前问题: 我们正试图使用"Attach to Running Program" 在 Ozone 中调试 Core 1(第二个 Ozone 实例,单独的 .jdebug)。项目指向 Core 1 ELF,地址为 0x00600000)。然而,Ozone 在连接时立即出错。 问题: 1.上面的 MC_ME 启动代码对于 S32K324 是否正确? 2。在不 RESET Core 0 的情况下连接到 Core 1 的正确的 Ozone/J-Link 配置是什么?       Re: [S32K324] Core 0 starts Core 1 via MC_ME — Ozone "Attach" to Core 1 fails immediately 你好@Julián_AragónM、 感谢您的支持和参考材料——它们对缩小问题范围非常有帮助。我们已成功解决核心 1"Attach" 故障。以下是简要介绍: MPU/Startup:已按要求验证;配置正确,不是原因。 根本原因:当第二个臭氧会话连接时,默认的 S32K324.jlinkScript 会触发 ECC RAM 初始化(写入 0xDeadBeef)。这无意中覆盖了运行中的 Core 0(FreeRTOS)正在使用的 SRAM 区域,导致系统崩溃。 修复方法我们在自定义 J-Link 脚本中重写了 SetupTarget(),以跳过"热连接期间的 RAM 初始化。" 现在,我们可以同时稳定地调试两个内核。希望这一发现对您的团队也有帮助。 顺祝商祺! 常玉科 Re: [S32K324] Core 0 starts Core 1 via MC_ME — Ozone "Attach" to Core 1 fails immediately 嗨,@Changyuke、 启动核心 1 的程序似乎没有问题。请检查 CM7_0 启动代码,并验证地址 0x00600000 的 MPU 区域属性。确认表基是否为有效的 VTOR。 至于臭氧,我想这是世纪佳缘自己的问题。请尝试联系他们:Ticket | SEGGER - 嵌入式专家。 我们提供了一些文档,但这些文档是基于 PEmicro 的,我不确定 Ozone 是否需要任何特定的配置: 方法:在 S32 Design studio 中调试多核项目 S32K324 双核调试与 P&E multilink 最后,SEGGER 提供了多核调试的维基页面:多核调试 - 西格知识库。那里似乎显示了所需的配置。 致以最诚挚的问候, Julián
查看全文
S32k322 RTD 7.0.0 および IDE 3.6.6 こんにちは、 RTD 7.0.0 への移行により周波数の変化が発生しました。同じ構成値を使用しているにもかかわらず、eMIOS と BCTU のタイミングが正しくありません。新しい RTD バージョンの基礎となるクロック ツリーまたは PLL 設定が以前のベースラインと異なると思われます。 主な問題は、BCTU のタイミングが設定された周波数と一致しないことです。これは、正確な100µs実行サイクルを必要とするモーター制御アプリケーションにとって重要です。   Re: S32k322 RTD 7.0.0 and IDE 3.6.6 助けてくれてありがとう。私のミスでした。問題は解決しました。 Re: S32k322 RTD 7.0.0 and IDE 3.6.6 こんにちは、 eMIOS/BCTU は CORE_CLK からクロックされます。共有したクロック設定は似ているように見えるため、Clock Init が適切に実行されていれば、モジュールは同じ周波数でクロックされるはずです。 異なって見えるのは、PWM チャネルに使用されるモードです。 RTD300: ローカルカウンタバスを選択したOPWMB。このカウンタバスは使用されるPWM周波数を表します。 RTD700: 内部カウンタを使用したOPWFMB、独自の周期を指定 期間設定が異なるため、タイミングも異なるはずです。 BR、ペトル
查看全文
在检测到输入引脚边缘时强制改变 eFlexPwm 输出 您好, 一旦 eFlexPWM 被配置为在输出引脚 (PWM_A) 上生成具有定义的周期和占空比的 PWM 信号,是否有可能在检测到输入引脚 (PWM_X 等) 的边沿时通过硬件强制改变输出(我的意思是,在输入引脚生成的中断中不改变输出)? 预先致谢 MCXA MCX N Re: Force eFlexPwm output change on input pin edge detection 你好@zorrotz 是的。当检测到输入引脚(如 PWM_X)上的边沿时,eFlexPWM 模块可通过硬件改变 PWM_A 输出,而无需使用中断。 方法: 将输入引脚路由至 eFlexPWM FAULTx 输入之一。 当任何 FAULTx 引脚为逻辑 1 时,都会产生故障。极性可通过 FCTRL[FLVL]更改。每个 FAULTx 引脚可映射到任何 PWM 输出。 当故障信号被触发时(由输入引脚上检测到的边缘),PWM 输出引脚被强制为逻辑 0、逻辑 1 或高阻抗,具体取决于 OCTRL [pwmxFS] 中的设置。 谢谢! BR 爱丽丝 Re: Force eFlexPwm output change on input pin edge detection 你好@Alice_Yang 是的,可以使用 FAULTx 输入,但我使用 FAULTx 输入是为了在电路检测到过电压时强制逻辑为 0。因此,我无法使用另一个 FAULTx 来强制另一个引脚状态。 也许我可以使用 DMA。 谢谢 Re: Force eFlexPwm output change on input pin edge detection 你好@zorrotz 您可以考虑使用 eFlexPWMEXT_FORCE功能,在硬件中立即更改 PWM 输出。 您可以将输入边沿路由至 EXT_FORCE,然后将 PWM 子模块的 FORCE_SEL 设置为 EXT_FORCE 。 使用 DTSRCSEL,PWM 输出可立即强制达到所需的电平,而无需中断,也不需要消耗任何额外的故障通道。 谢谢。 BR 爱丽丝
查看全文
IMX8MP USB 启动模式 (uuu) 你好, 我有一个 Olimex IMX8MP 主板(原理图和 KiCad 仓库)配对它的底板(原理图和 KiCad 仓库)。 我正在尝试用空白板测试 uuu 的用法,即使用 ROM USB 代码将 u-boot 烧录到 emmc 上。但是,无论我如何尝试,USB 设备都不会出现在我的主机 (Linux) 上。由于基板上只有 USB-A 连接器,我使用了 USB-A 对 USB-A 连接器电缆,但我也尝试了 USB-A 对 USB-C、不带 VBUS 的电缆和其他几种选择,但在 dmesg 中都没有发现任何问题。启动开关似乎设置为正确的 1-0-0-0 组合,其他组合,例如在没有本应回退到 USB 的卡的情况下设置 SD 启动,其工作原理完全相同。SoM 本身可以正常运行,我可以从 SD 启动(而且我看到了 eMMC 所以我想我也能启动 eMMC)。唯一缺少的部分是最初的空白板启动,以便安装 u-boot。 为了执行 ROM 代码,需要建立什么秘密连接吗?我*看来*把它与恩智浦官方开发板原理图的关系非常相似,中间没有集线器等等。它甚至应该这样运行还是我需要先通过其他方式烧录 u-boot(例如从 SD 启动来写 eMMC)? 如蒙反馈,不胜感激! Re: IMX8MP USB boot mode (uuu) 我帮你确认一下,然后给你答复。 Re: IMX8MP USB boot mode (uuu) 板需要在板中设置为串行下载模式。我看不到设计图和原理图的 PDF 文件,您需要自己查看。 你说过 SD 可以很好地在你这边启动。下载图像到 sd 卡和 emmc 使用不同的命令,下载模式相同。 下载完成后,SD 卡和 emmc 的启动模式不一样。 在这里,你需要检查是否连接了正确的线路和电源,使用正确的启动模式和下载命令。 Re: IMX8MP USB boot mode (uuu) UPD:基板缺少 VBUS 引脚,显然 ROM 代码首先使用它来触发 USB 串行下载。
查看全文
从 A53 侧访问 HSE 时发现重启问题 您好, 客户:博世 HSE FW 版本 - HSE_FW_S32G3XX_9_2_63_0 我们发现,从 A53 一侧进入 HSE 时存在重新启动问题。以下是 MU 分配详情: - MU0 & MU3 分配给 M7侧 - MU1 & MU2 分配给 A53侧 M7 端程序: 1.通过将 MU 设置为激活将其启用并将功能域分配为 0 2.通过 mu0 发送的激活其他 MU 的请求 测试结果:能够从 M7 端顺利访问所有 MU。 A53 侧边程序: 1.启用 HSE 驱动程序,MU2 位于主机虚拟机,MU1 位于客户虚拟机 s32-hse -v -i200 -m1 -o16 -c16& -> A53 Guest VM s32-hse -v -i200 -m2 -o32 -c16& -> A53 Host VM 2.在主机虚拟机上创建示例测试应用程序,通过 MU2 通道 /dev/hse/32 读取 HSE fw 版本 测试结果:每当尝试从示例应用程序中打开 HSE 接口 (/dev/hse/32) 时,板就会重新启动。 他们尝试将 sharedMemChunkSize 不设为 0(如果所有 MU 接口的 sharedMemChunkSize 字段都等于 0,那么 XRDC 将被禁用),并在 sharedMemChunkSize = 0 的情况下重新进行了测试。 附上日志以供参考: BSSM: 有效 HSE_FW 优先权:紧急 Re: Restart issue observed while accessing HSE from A53 side 暂时关闭该问题。我们代表博世向 QNX 团队提出了这个问题。不过,该小组表示,该问题与 HSE 固件有关。
查看全文
i.MX RT1061 シリアル非QuadSPI NORフラッシュブート こんにちは、 W25Q128JVSIQ外部フラッシュを搭載した i.MX RT1061 を使用するプロジェクトがあります。W25Q128JVSIMもサポートする予定です (入手可能な場合)。ただし、 W25Q128JVSIMには、QE ビット (Quad Enable) が有効にロックされていません。そこから起動しようとすると、最初に QE ビットを有効にせずに、ブート ROM がFast Read Quad I/Oを実行しようとしていると思われます (送信された最初の 2 つのコマンドのスクリーンショットを参照してください)。 最初に FlexSPI 構成ブロックを読み取るようですが (これは予想どおりです)、その後、クワッド読み取りが失敗し、何も起こりません (ブートローダが起動しません)。 これを機能させるには、製造中に QE ビットが有効になっていることを確認する必要があると思いますが、 i.MX RT1061 が非 QuadSPI NOR フラッシュからのブートをサポートしているかどうかが気になります。Quad および Octal フラッシュのみがサポートされているようです (BOOT_CFG1 ヒューズのスクリーンショットを参照)。 ありがとう、 ダニエル i.MXRT 106x Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot こんにちは@Habib_MS 、 ご返信ありがとうございます! うーん...私の理解では、 quad_mode_settingはflexspi_nor_get_config を呼び出すときにのみ適用されるのですが、何か誤解しているのでしょうか? FlexSPI 構成ブロックを介して QuadSPI としてフラッシュにアクセスするように BootROM を構成する方法はありますか? ありがとう、 ダニエル Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot こんにちは@MulattoKidさん、 非 (シリアル)-QuadSPI NOR フラッシュからの起動がサポートされています。サポートされているフラッシュデバイスの詳細については、RM の 9.6 章「ブートデバイス」を参照してください。また、イメージ内のBOOT_CFG1[3:2]ビットを強調表示していることも理解しています。これらのフィールドは、定義で説明されているように、自動プローブ メカニズムによって使用されます。したがって、これらのビットはフラッシュ デバイスの構成を制御するのではなく、フラッシュ デバイスに関する追加情報のみを提供します。 QSPI NOR フラッシュの QE ビット構成に関しては、通常は正しいブート オプション構成を選択するだけで十分です。 BR ハビブ Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot BootROM が FCB を読み取った直後にクワッド読み取りコマンドを送信する理由が分かりました。これは、ブートローダに FCB で指定されたカスタム LUT があったためです。読み取り用の LUT エントリを変更すると、SPI トラフィックも変更されます。 前述したように、私がこれを検討している理由は、W25Q128JVSIQ と W25Q128JVSIM の両方をサポートできるようにしたいからです。W25Q128JVSIM では、工場出荷時に QE ビットがデフォルトで設定されていません。自社生産時にQEビットを設定したい。私が調査してきた方法は、JLink スクリプトを使用して FLexSPI ペリフェラルを直接制御することです。しかし、ちょっと困っています。 W25Q128JVSIM のステータス レジスタ 2 を読み取るためのコマンド シーケンスがありますが、これは MCU が最初にアプリケーションを起動した場合にのみ機能します (QE ビットがすでに設定されていない限り、起動は失敗します)。フラッシュが空で、BootROM にブートするものが何もない場合は JLink スクリプトは機能しないので、FlexSPI ペリフェラルを構成するために何か追加の設定が必要なのでしょうか? 参考までにスクリプトを以下に示します。 ExitOnError 1 Device MIMXRT1061xxx5B SelectInterface SWD Speed 4000 Connect halt // Enable clock w4 0x400FC078, 0xFFFFFFFF // Reset module w4 0x402A8000, 0x00000002 sleep 20 w4 0x402A8000, 0x00000000 sleep 20 // Clear errors w4 0x402A8014, 0xFFFFFFFF w4 0x402A80B4, 0xFFFFFFFF sleep 20 // 2) Update LUT to include Read Status Register 2 and Write Status Register 2 commands w4 0x402A8018, 0x5AF05AF0 // Write magic value (i.MX RT1060 reference manual rev3, p.1612) sleep 20 w4 0x402A801C, 0x2 // Unlock LUT (i.MX RT1060 reference manual rev3, p.1612) sleep 20 // LUT entry structure (i.MX RT1060 reference manual rev3, p.1709): // [31:26] = opcode1 // [25:24] = num_pads1 // [23:16] = operand1 // [15:10] = opcode0 // [ 9: 8] = num_pads0 // [ 7: 0] = operand0 // #include // // #define OPERAND_0(x) (x << 0) // #define NUMPADS_0(x) (x << 8) // #define OPCODE_0(x) (x << 10) // #define OPERAND_1(x) (x << 16) // #define NUMPADS_1(x) (x << 24) // #define OPCODE_1(x) (x << 26) // // #define kFLEXSPI_Command_STOP 0x0 // #define kFLEXSPI_Command_SDR 0x1 // #define kFLEXSPI_Command_RADDR_SDR 0x2 // #define kFLEXSPI_Command_WRITE_SDR 0x8 // #define kFLEXSPI_Command_READ_SDR 0x9 // #define kFLEXSPI_1PAD 0x0 // // #define FLEXSPI_LUT_SEQ(cmd0, pad0, op0, cmd1, pad1, op1) (OPERAND_0(op0) | NUMPADS_0(pad0) | OPCODE_0(cmd0) | OPERAND_1(op1) | NUMPADS_1(pad1) | OPCODE_1(cmd1)) // // int main() // { // printf("WriteEnable: 0x%08X\n", FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x06, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0)); // printf("ReadStatusRegister2: 0x%08X\n", FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x35, kFLEXSPI_Command_READ_SDR, kFLEXSPI_1PAD, 0x04)); // printf("WriteStatusRegister2: 0x%08X\n", FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x31, kFLEXSPI_Command_WRITE_SDR, kFLEXSPI_1PAD, 0x04)); // // return 0; // } // Each command sequence in the LUT is 4 entires with each entry being 4 bytes (one word) w4 0x402A82E0, 0x24040435 // LUT[14 * 4] = Read Status Register-2 command sequence sleep 20 w4 0x402A8018, 0x5AF05AF0 // Write magic value (i.MX RT1060 reference manual rev3, p.1612) sleep 20 w4 0x402A801C, 0x1 // Lock LUT (i.MX RT1060 reference manual rev3, p.1612) sleep 20 // Read Status Register-2 w4 0x402A8080, 0x80000000 // Clear sequence pointer for port A w4 0x402A8014, 0x1F // Clear pending status w4 0x402A80A0, 0x0 // Set base address w4 0x402A80B8, 0x1 // Reset RX FIFO w4 0x402A80A4, 0xE0001 // SEQID=14, SEQNUM=1, 1 byte w4 0x402A80B0, 0x00000001 // Trigger IP command sleep 50 Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot こんにちは@dafela 、 前回のメッセージで説明した構成を使用して、FlexSPI NOR API を使用して QE ビットを有効にすることができます。QE ビットを有効にするために使用できるさまざまな方法の詳細については、この投稿の項目 19 を参照してください。 FlexSPI ROM API の詳細については、RM のセクション 9.13.2 を参照してください。 一方、J-Link の使用に関するガイダンスが必要な場合は、この投稿で一般的な概要と、役立つ可能性のあるいくつかの考慮事項が提供されます。 BR ハビブ Re: i.MX RT1061 Serial non-QuadSPI NOR flash boot ありがとう。見てみるよ
查看全文