Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool Board: S32K311-EVB Module: FlexCAN0 Tool: Vector CANoe connected via J8 connector Debug probe:  J-Link  I am implementing the CAN protocol on the S32K311-EVB using FlexCAN0. Loopback mode test (working): I first implemented and tested FlexCAN0 in internal loopback mode. This worked successfully — messages transmitted were correctly received back through my "void CanIf_RxIndication(const Can_HwType* Mailbox, const PduInfoType* PduInfoPtr )"  handling function, confirming that my basic FlexCAN0 configuration (clock setup, bit timing, message buffer initialization) is functioning correctly. External communication test (not working): I then moved to testing external CAN communication: Configure PTA6 and PTA7 pin in pin configuration. Connected Vector CANoe to the board via the J8 connector. In CANoe configuration, I unchecked "CAN Loopback Mode." Attach 12 V Adapter  Started CANoe transmission — CANoe shows it is sending CAN frames. However, on the S32K311 side, nothing is received — CanIf_RxIndication(the same function that worked correctly in loopback mode) is never called/triggered. For debugging i use segger RTT viewer using JTAG Configuration Sami2098_0-1789478804307.pngSami2098_0-1789478804307.pngSami2098_0-1789478804307.png Sami2098_1-1789478831337.pngSami2098_1-1789478831337.pngSami2098_1-1789478831337.png Sami2098_2-1789478911944.pngSami2098_2-1789478911944.pngSami2098_2-1789478911944.png Sami2098_3-1789478932611.pngSami2098_3-1789478932611.pngSami2098_3-1789478932611.png  Best regards.   Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool Hello @Sami2098, Could you share RTD version you are currently using? There are some examples in our community you can use as reference:  Re: CAN Example for S32K311 - NXP Community Example S32K312 CAN Transmit & Receive Using Polling mode DS3.5 RTD300 [RTD600 MCAL & IP] S32K3X4EVB-T172 FlexCAN Example Interrupt/Polling FlexCAN configuration overall looks OK. Can you confirm PTA6/7 are configured as input and output, respectively, and you are indeed calling Siul2_Port_Ip_Init() API to initialize Port? Julin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.png Since you are using S32K1XEVB, transceiver used is FS23, and when the FS23 is in Debug mode, the CAN transceiver is set to Active mode by default, thus there is no need to set CAN_MODE = 0b1x. I would also suggest checking that the bitrate and sampling point configured is the same between S32K311<->CANoe. Lastly, if you have a logic analyzer or an oscilloscope, could you share the CANTXD, CANRXD, CANH and CANL signals? Best regards, Julián Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool Hi Julián_AragónM Thanks for looking into this. I found the root cause — it was actually a CANoe channel bus configuration issue on my end, not a problem with the S32K311 CAN driver configuration. After correcting the CANoe Vector configuration, reception is working fine now. Follow-up question: I'm currently running at 500 kbps, and I understand that if I switch to a different baud rate (e.g., 125 kbps), several dependent parameters need to be recalculated — such as the Prescaler, Propagation Segment, Phase Segment 1, Phase Segment 2, and Resync Jump Width — to maintain correct bit timing and sample point relative to the CAN peripheral clock. Could someone point me to a reference/guide document that explains: How these bit timing parameters (Prescaler, Prop Seg, PS1, PS2, SJW) relate to and are derived for different target baud rates. Recommended sample point ranges for different baud rates in an automotive/industrial context. Any official NXP application note or reference specific to the S32K3xx FlexCAN MCAL (AUTOSAR) configuration tool for bit timing calculation. I'm using the MCAL layer in AUTOSAR mode (S32 Configuration Tool for Can driver configuration), so a guide aligned with this configuration flow (rather than register-level FlexCAN programming alone) would be especially helpful. Thanks in advance for your guidance. Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool Hello @Sami2098, 1. The chapter 73.3.10.8 (Protocol timing) from S32K3XX Reference Manual Rev. 12 explains bit timing configuration, and its various parameters. 2. This really depends on your application and configuration; however, nominal bitrates include 125 kbps, 250 kbps, and 500 kbps. 3. You can refer to our FlexCAN bit timing calculation sheet. You can also refer to the S32K3XX FlexCAN with RTD Training sildes. Best regards, Julián
View full article
Linux 无法访问 LPSPI3 寄存器(读取设备内存时出现总线错误)——P11 EXP 上的外部 SPI 设备 摘要 我正在尝试在 FRDM-IMX93 板的P11 EXPI 接头上使用LPSPI3在 GPIO_IO08-11 上启动两个外部 MCP2515 CAN 控制器(Waveshare 2-CH CAN HAT,已确认在真正的 Raspberry Pi 上工作)(引脚与 UM12181 表 21 中 Raspberry Pi 兼容接头的位置相匹配)。 在修复了我能找到的所有设备树级问题(电源、引脚复用、片选、引脚控制断言-GPIO)之后,SPI 时钟 (SCK)始终无法在物理接头引脚上切换,并且直接读取 LPSPI3 块的寄存器会导致总线错误。另一个已知工作正常的外部设备(LPUART1)可以从相同的地址空间正常读取数据。这表明存在资源/总线访问限制(RDC 或类似限制),而不是 Linux 设备树中可以修复的问题。 板/软件 开发板:FRDM-IMX93(恩智浦),SoC:MIMX9352CVVXMAB BSP:NXP i.MX 发布发行版,内核版本 6.18.2-1.0.0-gf49f45233f7b 目标外设:lpspi3(spi@42550000,别名在 /aliases 中为 spi2,通过 /proc/device-tree/__symbols__ 确认实际 dts 标签为 lpspi3) 被测外部设备:CS0/CS1 上的 2 个 MCP2515(Waveshare 2 通道 CAN HAT) 已确认有效(已排除) 给排气歧管供电。reg_vexp_3v3 / reg_vexp_5v 是默认禁用的调节器固定节点(regulator_summary 显示 use=0)。通过覆盖片段添加了 regulator-always-on + regulator-boot-on,目标为 &reg_vexp_3v3 / &reg_vexp_5v(通过 __symbols__ 确认了真实标签)。事后验证 P11 上实际存在 3.3 V / 5 V 电压。 Pinmux。使用 imx93-pinfunc.h 中的官方宏,GPIO_IO08‑11 已正确复用到 LPSPI3_PCS0/SIN/SOUT/SCK。对于这三个函数,input_reg/input_val 均为 0x0000/0x0,因此不需要 DAISY 链选择(通过宏检查排除,不需要单独的寄存器)。 芯片选择。cs-gpios = , (位操作 GPIO CS,与 NXP 针对此节点的上游板级支持模式相匹配)。通过 cat /sys/kernel/debug/gpio 和万用表/逻辑分析仪确认: CS0 切换正常,并且物理上连接到了接头引脚。 pinctrl-assert-gpios。NXP自己的上游 &lpspi3 参考中包含 pinctrl-assert-gpios = <&pcal6408 0 GPIO_ACTIVE_HIGH>;(此行并未出现在大多数公开指南中,仅出现在板自己的 dts 补丁中)。已添加;通过 /proc/device-tree/__symbols__ 确认 pcal6408 已解析,并通过 cat /sys/kernel/debug/gpio 确认,一旦请求 lpspi3 的默认 pinctrl 状态,GPIO 就会被钳位(输出 hi)。 覆盖层涂抹顺畅。U-Boot 的 fdt apply 没有出现 FDT_ERR_NOTFOUND;/sys/bus/spi/devices/ 显示 SPI 内核已注册 spi2.0 和 spi2.1。 ERR051608(LPSPI TCR[PRESCALE] 勘误)。已检查 spi-fsl-lpspi.c历史记录——该修复(fsl、imx93-spi 的 prescale_max = 1)已于 2024 年 8 月合并到主线版本 / 稳定版 6.6.51。& 6.10.10 2024 年 9 月,远早于此内核版本 (6.18.2),并且兼容字符串 (fsl,imx93-spi) 已存在于主板 dts 中,因此驱动程序应该自动应用此限制。虽然不能完全排除这种可能性(没有直接的注册确认实际写入了 PRESCALE 字段),但时间线强烈表明此事已经处理完毕。 实际症状 使用万用表探测物理 P11 引脚上的 CS0/CS1、MISO、MOSI、SCK,然后使用逻辑分析仪以 10–20 MSa/s 的采样率在 CS0 下降沿触发,同时不断重试传输(在循环中使用 spidev_test,以及通过 echo spi2.0 > /sys/bus/spi/drivers/mcp251x/bind 反复强制 mcp251x 重新探测): CS0切换。经万用表和逻辑分析仪验证。 SCK 从不切换。平坦,无任何活动,无论持续尝试转移。 MOSI 从不切换。 两个 MCP2515 的故障情况完全相同:mcp251x spi2.0/spi2.1:MCP251x 在复位后未进入配置模式 / 探测失败,错误代码为 110 (ETIMEDOUT) — 即驱动程序自身的 SPI 级复位 + 读取 CANSTAT 序列未得到响应,这与 SCK 从未离开 SoC 的情况一致。 根本原因已缩小到时钟/总线访问,而非设备树。   # clk_enable_count AND clk_prepare_count are both 0, despite the controller # actively being used in a continuous retry loop $ cat /sys/kernel/debug/clk/clk_summary | grep -i lpspi3 lpspi3_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3 0 0 0 50000000 0 0 50000 N 42550000.spi per $ cat /sys/kernel/debug/clk/lpspi3/clk_prepare_count 0 即使 42550000.spi(真正的绑定消费者)正在循环中积极尝试传输(spidev_test 循环,以及通过 echo spi2.0 > /sys/总线/spi/drivers/mcp251x/bind 反复强制 mcp251x 重新探测),lpspi3 的功能(每个)时钟显示 clk_enable_count=0 和 clk_prepare_count=0。clk_prepare() 是 clk_enable()之前的步骤——它甚至从未被调用,这表明驱动程序的传输路径(或其前面的 pm_runtime_get())从未到达该设备的时钟管理代码,而不是请求时钟然后无法开启。 我没有内核构建工具来添加跟踪点,所以我还无法判断这是 pm_runtime 恢复时静默执行空操作,还是缺少依赖项(例如,此板的 lpspi3 节点需要但没有的功率域引用),或者是此特定内核构建的 spi-fsl-lpspi.c 中的其他问题。 决定性的寄存器级测试——直接读取 devmem:   $ devmem 0x44380000 32 # LPUART1 base — known-good peripheral 0x04040007 $ devmem 0x42550000 32 # LPSPI3 base (VERID register) Bus error (core dumped) 一个完全无关的、工作正常的外部设备(LPUART1,用于调试控制台)从相同的 CPU/总线上下文中读取数据正常; LPSPI3 的基地址在普通的 32 位读取中出现故障。我最初怀疑是该板特有的资源域控制器 (RDC) 式访问限制,但 NXP 社区的几个帖子(i.MX25/i.MX6ULL“devmem 返回总线错误”,i.MX8MP I2C 来自 DSP 的帖子)指出,同样的症状是触摸时钟被关闭的 AIPS 总线外设的正常预期结果,而不一定是安全/域限制。这与上面的 clk_enable_count=0 一致,现在让我觉得这是该设备的驱动程序/PM 路径中的时钟使能错误,而不是(不一定)RDC 块——尽管在没有底层工具的情况下,我无法完全排除 RDC 的可能性。 这并非 i.MX93 LPSPI3 的普遍限制 上下文:NXP 社区的另一个帖子([iMX93AUTO EVK] QCA7006AQ 的 SPI 配置,community.nxp.com/t5/i-MX-Processors/iMX93AUTO-EVK-SPI-Configuration-for-QCA7006AQ-with-imx93AUTO-EVK/m-p/1839847)展示了如何使用 LPSPI3 在i.MX93-11x11-EVK (同一 SoC)的相同 GPIO_IO08-11 引脚上成功驱动外部 SPI 设备:   c &lpspi3 { compatible = "fsl,imx93-spi", "fsl,lpspi"; cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>; status = "okay"; ... }; &iomuxc { pinctrl_lpspi3_qca: lpspi3grp { fsl,pins = < MX93_PAD_GPIO_IO11__LPSPI3_SCK 0x3fe MX93_PAD_GPIO_IO10__LPSPI3_SOUT 0x3fe MX93_PAD_GPIO_IO09__LPSPI3_SIN 0x3fe MX93_PAD_GPIO_IO08__LPSPI3_PCS0 0x3fe /* native PCS0, not plain GPIO */ >; }; }; 我在 FRDM 板上尝试了完全相同的变体(使用原生 LPSPI3_PCS0/LPSPI3_PCS1 而不是普通的 GPIO2_IO08/GPIO2_IO07,加上显式兼容覆盖)——没有变化,devmem 0x42550000 32 仍然出错,clk_enable_count/clk_prepare_count 仍然为 0。这排除了引脚复用/兼容字符串选择是此板卡上的原因,并且——结合 EVK 的成功——让我怀疑是FRDM 板卡特有的问题(要么在 imx93-11x11-frdm.dts 中)。处理 lpspi3(或该板的 U-Boot/ATF 级 RDC/电源域设置)而不是一般的 i.MX93 SoC 或主线驱动程序的限制。 向恩智浦提出的问题 即使 SPI 内核正在积极地向绑定的 spi2.0/spi2.1 设备进行传输,lpspi3 的 clk_prepare_count/clk_enable_count 仍然保持为 0,并且普通的寄存器读取 0x42550000 会导致总线故障——FRDM-IMX93 的 lpspi3 设备树节点(或板级 RDC/电源域设置)缺少什么,而正常工作的 EVK 配置不需要这些? FRDM-IMX93 上的 LPSPI3 是否故意保留给另一个功能域(例如,Cortex-M33 / 安全世界,或板载 MAYA-W2 三射频模块路径)在板的默认 RDC/ATF 配置下,与 EVK 不同? 是否有类似 imx93-11x11-frdm-lpspi.dts 的参考文件,用于在该特定电路板上通过 P11 外部使用 LPSPI3? 如何重现 底板 dtb:随 i.MX 版本 发行版镜像一起提供的标准 imx93-11x11-frdm.dtb(未修改的 NXP lpspi3 + pcal6408 + reg_vexp_3v3/reg_vexp_5v 节点 — 全部通过 __symbols__ 确认存在)。 应用上述覆盖(稳压器始终开启,pinctrl + cs-gpios + pinctrl-assert-gpios on &lpspi3; 尝试了 plain-GPIO 和 native-PCS0/PCS1 pinmux 变体,两次结果相同)。 手动将 spidev(内置,CONFIG_SPI_SPIDEV=y)绑定到 spi2.0:   echo spidev > /sys/bus/spi/devices/spi2.0/driver_override echo spi2.0 > /sys/bus/spi/drivers/spidev/bind spidev_test -D /dev/spidev2.0-s 1000000 -v — “成功”(无 I/O 错误),但即使 MOSI/MISO 物理短路,RX 数据也不是 TX 的环回;无论如何,逻辑分析仪上的 SCK 都不会切换。 cat /sys/kernel/debug/clk/clk_summary | grep lpspi3 → clk_enable_count=0. cat /sys/kernel/debug/clk/lpspi3/clk_prepare_count → 0。 devmem 0x42550000 32 → 总线错误。devmem 0x44380000 32 (LPUART1) → 正常成功。 如果需要,我很乐意提供完整的 overlay 源代码、dmesg 和 clk_summary/gpio 转储。
View full article
I.MX95 LVDS clock output can not be changed Hello everyone, Q1: I am working on single port LVDS display in the kernel lf-6.12y. I added my own panel config in driver/gpu/drm/panel/panel-simple.c, but the clock always be around 150Mhz when I was measuring the clock pins. But the other signals were working. But, In the lf-6.18y, the clock can output correctly, and in dual-port mode clock changing is also ok in the both versions. Is it a known problem or my mistake. Because some reasons I hope I can solve this problem in lf-6.12y.  The following are my settings panel-simple.c: static const struct display_timing lt9211_test_timing = { .pixelclock = { 35916000, 35916000, 35916000 }, .hactive = { 280, 280, 280 }, .hfront_porch = { 40, 40, 40, }, .hback_porch = { 60, 60, 60 }, .hsync_len = { 30, 30, 30 }, .vactive = { 1424, 1424, 1424 }, .vfront_porch = { 15, 15, 15 }, .vback_porch = { 17, 17, 17}, .vsync_len = { 4, 4, 4 }, .flags = DISPLAY_FLAGS_DE_HIGH, }; static const struct panel_desc lt9211_test = { .timings = &lt9211_test_timing, .bpc = 8, .num_timings = 1, .size = { .width = 292, .height = 111, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, .bus_flags = DRM_BUS_FLAG_DE_HIGH, .connector_type = DRM_MODE_CONNECTOR_LVDS, }; my lvds config in the device-tree &{/}{     lvds1_panel {         //compatible = "3ascreen,sa123hwv-l51";        compatible = "lt9211_test";        backlight = <&lvds_backlight>;        status = "okay";        port {            panel_in: endpoint {                remote-endpoint = <&lvds1_out>;            };        };     }; Q2: Under some conditions, the LVDS common voltage will not be aligned between the data lanes and clock in the same hardware. Or some signal missing like LVDS1 D3P has signal but D3N doesn't. Do you have ideas why this happened? Could some programs cause this? Q3: Is any config can shift the LVDS clock phase. Thanks Re: I.MX95 LVDS clock output can not be changed Q1: It is likely a known lf-6.12y LVDS clock driver limitation/bug , not your panel-simple.c timing mistake. In single-port LVDS the driver/clock path is likely forcing or rounding to about 148.5/150 MHz . Since lf-6.18y works, the practical fix is to backport the LVDS/LDB clock changes from lf-6.18y to lf-6.12y , or patch the 6.12y LVDS driver/PLL clock table to allow your 35.916 MHz pixel clock. git diff lf-6.12.y..lf-6.18.y -- \ drivers/gpu/drm/bridge/imx/imx95-ldb.c drivers/phy/freescale/phy-fsl-imx8mp-lvds.c drivers/clk/imx/clk-imx95-blk-ctl.c \ arch/arm64/boot/dts/freescale/imx95.dtsi \ arch/arm64/boot/dts/freescale/imx95-*-lvds* Q2: If one LVDS pair side is missing, like D3P has signal but D3N has no signal , that is usually not caused by panel timing . Check: LVDS channel enablement: LVDS0/LVDS1 mismatch fsl,data-width / fsl,data-mapping PHY enablement connector or PCB open/short soldering issue termination/probing method possible damaged LVDS output pin Software can cause wrong channel/lane/data-width setup, but one side of a differential pair missing strongly suggests hardware, pad, routing, termination, or measurement issue . Q3: For i.MX8MP LVDS, there is no normal device-tree config to shift LVDS clock phase . Fix clock frequency/timing/PHY setup instead. Re: I.MX95 LVDS clock output can not be changed Thank you so much. The lvds patch is so helpful.
View full article
问题:修复 IMX_SEC_ENCLAVE 和释放后使用依赖项。 Hello 这是对 GitHub 上这个 PR的后续跟进。 提供的补丁似乎最终没有应用,因为 lf-6.18.y 中没有这些补丁。 需要 Kconfig 提交来确保当 NVMEM_IMX_OCOTP_SCU 为 m 时 Enclave 驱动程序不能为 y,从而避免探测延迟。 否则你会看到这样的结果: root@colibri-imx8x-14985125:~# dmesg -l err [ 1.708145] rtc-ds1307 1-0068: hctosys: unable to read the hardware clock [ 2.072996] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 2.078636] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 2.084513] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 2.111555] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 2.117209] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 2.123110] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 2.141671] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 2.147303] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 2.153200] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 2.171418] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 2.177065] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 2.182929] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 5.744448] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 5.750217] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 5.756186] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 5.877660] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 5.888247] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 5.894232] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 10.324138] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 10.349783] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 10.374692] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 11.731697] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 11.738134] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 11.747692] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 12.284910] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 12.295720] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 12.307723] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 12.410541] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 12.426771] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 12.443446] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 12.644550] debugfs: '5f1a0000.phy' already exists in 'regmap' [ 12.655906] debugfs: '5f1a0000.phy' already exists in 'regmap' [ 12.670039] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 12.688813] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 12.696063] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 12.765923] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 12.775810] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 12.786887] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 12.839515] fsl-se secure-envlave-1: Fail to read FIPS fuse [ 12.847285] fsl-se secure-envlave-1: Failed to fetch SoC Info. [ 12.853801] fsl-se secure-envlave-1: failed[-EPROBE_DEFER] to fetch SoC Info [ 12.936721] nvmem imx-scu-ocotp0: cell mac raw len 6 unaligned to nvmem word size 4 [ 12.951328] nvmem imx-scu-ocotp0: cell mac raw len 6 unaligned to nvmem word size 4 [ 13.708903] genpd_provider mu_a1: failed to power off resource 214 ret -22 [ 16.701904] Bluetooth: hci0: unexpected event for opcode 0x0000 root@colibri-imx8x-14985125:~# 在提交的第二个版本中,驱动程序进行了一些重构,我不确定NXP是否已经解决了这个问题。 提交 9703dfecc735(“LF-15802:驱动程序:固件:imx:修复 SE 驱动程序移除”) SE团队能否确认一下? 此致敬礼 弗朗茨 Re: ISSUE: fix dependency for IMX_SEC_ENCLAVE and use-after-free 你好, 我看到这个问题还没有解决,我会和内部软件团队确认一下。 此致敬礼/Saludos, 阿尔多。
View full article
I.MX95 LVDS 时钟输出无法更改 大家好, 问题1: 我正在内核 lf-6.12y 中开发单端口 LVDS 显示功能。我在 driver/gpu/drm/panel/panel-simple.c 中添加了自己的面板配置,但是当我测量时钟引脚时,时钟频率始终在 150Mhz 左右。但其他信号都正常。 但是,在 lf-6.18y 中,时钟可以正确输出,并且在双端口模式下,两个版本的时钟切换也都可以。这是已知问题还是我的操作失误?由于某些原因,我希望能在lf-6.12y版本中解决这个问题。 以下是我的设置 panel-simple.c: static const struct display_timing lt9211_test_timing = { 像素时钟= { 35916000, 35916000, 35916000 }, .hactive= { 280, 280, 280 }, .hfront_porch= { 40, 40, 40, }, .hback_porch= { 60, 60, 60 }, .hsync_len= { 30, 30, 30 }, .vactive= { 1424, 1424, 1424 }, .vfront_porch= { 15, 15, 15 }, .vback_porch= { 17, 17, 17}, .vsync_len= { 4, 4, 4 }, .flags= DISPLAY_FLAGS_DE_HIGH, }; static const struct panel_desc lt9211_test = { 时间= &lt9211_test_timing, .bpc= 8, .num_timings= 1, 。尺寸= { 。宽度= 292, 。高度= 111, }, .bus_format= MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA, .bus_flags= DRM_BUS_FLAG_DE_HIGH, .连接器类型= DRM_MODE_CONNECTOR_LVDS, }; 设备树中的 lvds 配置 &{/}{ lvds1_panel { //兼容 = "3ascreen,sa123hwv-l51"; 兼容 = "lt9211_test"; 背光 = <&lvds_backlight>; 状态 = "正常"; 港口 { panel_in: 端点 { 远程端点 = <&lvds1_out>; }; }; }; Q2: 在某些情况下,同一硬件中的数据通道和时钟之间的 LVDS 公共电压将无法对齐。或者某些信号缺失,例如 LVDS1 D3P 有信号但 D3N 没有信号。你知道这是为什么吗?某些程序会导致这种情况吗? Q3: 是否有任何配置可以改变LVDS时钟相位? 谢谢! Re: I.MX95 LVDS clock output can not be changed 问题1:这很可能是LF-6.12Y LVDS时钟驱动程序的一个已知限制/错误,而不是你的panel-simple.c文件的问题。时机把握失误。在单端口LVDS中,驱动/时钟路径很可能强制或四舍五入到大约148.5/150。MHz。由于 lf-6.18y 可以正常工作,实际的解决方法是将 lf-6.18y 的 LVDS/LDB 时钟更改向后移植到 lf-6.12y,或者修补 6.12y LVDS 驱动程序/PLL 时钟表,以允许使用您的 35.916 MHz 像素时钟。 git diff lf-6.12.y..lf-6.18.y -- \ drivers/gpu/drm/bridge/imx/imx95-ldb.c drivers/phy/freescale/phy-fsl-imx8mp-lvds.c drivers/clk/imx/clk-imx95-blk-ctl.c \ arch/arm64/boot/dts/freescale/imx95.dtsi \ arch/arm64/boot/dts/freescale/imx95-*-lvds* Q2:如果 LVDS 对中的一侧缺失,例如 D3P 有信号但 D3N 没有信号,这通常不是面板时序造成的。查看: LVDS通道启用:LVDS0/LVDS1不匹配 fsl,数据宽度 / fsl,数据映射 PHY 使能 连接器或PCB开路/短路 焊接问题 终止/探测方法 LVDS 输出引脚可能损坏 软件可能会导致错误的通道/线路/数据宽度设置,但差分对的一侧缺失强烈表明存在硬件、焊盘、布线、端接或测量问题。 Q3:对于 i.MX8MP LVDS,没有常规的设备树配置来改变 LVDS 时钟相位。改为修复时钟频率/时序/PHY设置。 Re: I.MX95 LVDS clock output can not be changed 太感谢了。 lvds补丁太有用了。
View full article
FRDM-IMX93:LinuxからLPSPI3レジスタにアクセスできない(devmem読み取り時のバスエラー) — 外部SPIデビック 概要 FRDM-IMX93ボードの P11 EXPIヘッダーに LPSPI3 を使って、2つの外部MCP2515 CANコントローラー(Waveshare 2-CHAN HAT、本物のRaspberry Piで動作確認)を起動しようとしています(GPIO_IO08 UM12181表21参照、Raspberry-Pi互換ヘッダー位置に一致するピンです)。 見つけたデバイスツリーレベルの問題(電源、ピンマックス、チップセレクト、pinctrl-assert-gpio)をすべて修正した後、SPIクロック(SCK)は物理ヘッダーピンを切り替え ず 、LPSPI3ブロックの直接レジスタ読み込みは バスエラーを引き起こします。別の既知の動作ペリフェラル(LPUART1)は同じアドレス空間から問題なく読み返します。これはLinuxデバイスツリーから修正できるものではなく、リソース/バスアクセス制限(RDCなど)を示しています。 ボード/ソフトウェア ボード:FRDM-IMX93(NXP)、SoC:MIMX9352CVVXMAB BSP: NXP i.MX リリース ディストリビューション、カーネル 6.18.2-1.0.0-gf49f45233f7b ターゲット周辺機器:lpspi3(spi@42550000、/aliasesでエイリアスされたspi2、/proc/device-tree/で確認された本物のdtsラベル__symbols__ lpspi3) テスト中の外部デバイス:CS0/CS1上の2× MCP2515(Waveshare 2-CH CAN HAT) 既に動作が確認されているもの(除外されたもの) ヘッダーに電力を供給します。reg_vexp_3v3 / reg_vexp_5v は、デフォルトで無効になっているレギュレータ固定ノードです (regulator_summary では use=0 と表示されています)。レギュレーター常時オン+レギュレーターブートオンを追加し、オーバーレイフラグメントのターゲティング&reg_vexp_3v3/&reg_vexp_5vを追加しました( __symbols__で実際のラベルが確認されました)。その後、P11に3.3V/5Vの電圧が物理的に存在していることを確認しました。 Pinmux。GPIO_IO08-11 は、imx93-pinfunc.h の公式マクロを使用して、LPSPI3_PCS0/SIN/SOUT/SCK に正しく多重化されています。input_reg/input_valはこれら3つの機能に対して0x0000/0x0であるため、DAISYチェーンセレクトは不要です(マクロ検査で除外され、個別レジスタは不要)。 チップセレクト。cs-gpios = 、(ビットバンギングされたGPIO CS。このノードに対するNXP独自のアップストリームボードサポートパターンに一致)。cat /sys/kernel/debug/gpio とマルチメーター/ロジックアナライザーで確認したところ、 CS0 は正しくトグルし、物理的にヘッダーピンに到達していることがわかりました。 pinctrl-assert-gpios。NXP独自のこのボード用アップストリーム&lpspi3リファレンスには、pinctrl-assert-gpios = <&pcal6408 0 GPIO_ACTIVE_HIGH>; が含まれています(この行はほとんどの公開ガイドには記載されておらず、ボード独自のdtsパッチにのみ記載されています)。追加しました。/proc/device-tree/__symbols__ で pcal6408 が解決されること、および cat /sys/kernel/debug/gpio で lpspi3 のデフォルトの pinctrl 状態が要求されると GPIO がアサートされる (出力 hi) ことを確認しました。 オーバーレイはきれいに適用されます。U-Bootのfdt applyからFDT_ERR_NOTFOUNDは発生せず、/sys/bus/spi/devices/にはSPIコアによってspi2.0とspi2.1が登録されていることが示されています。 ERR051608 (LPSPI TCR[PRESCALE] のエラータ)。spi-fsl-lpspi.c を確認しました履歴 — 修正(fsl、imx93-spi の prescale_max = 1)は、2024年8月 / 安定版 6.6.51 でメインラインに取り込まれました。2024年9月6.10日は、このカーネルバージョン(6.18.2)よりずっと前のもので、互換文字列(fsl、imx93-spi)はすでにベースボードのdtsに存在しているため、ドライバはこの制限を自動的に適用すべきです。完全に否定できるわけではないが(実際にPRESCALEフィールドが書き込まれたという直接的なレジスタ確認はない)、タイムラインから判断すると既に処理済みである可能性が高い。 実際の症状 CS0/CS1、MISO、MOSI、SCKが物理的なP11ピン(マルチメーター、CS0落ち込みエッジで10〜20 MSa/sのロジックアナライザーをトリガー)でプローブしつつ、転送を繰り返し再試行(ループ内でspidev_testし、Echo spi2.0 > /sys/bus/spi/drivers/mcp251x/bindを経て繰り返しMCP251xの再プローブを強制することで別々に実行しました): CS0の切り替え。マルチメーターとロジックアナライザーの両方で確認済み。 SCKは切り替えません。継続的に転送を試みても、変化はなく、活動は見られない。 MOSIは切り替えません。 両方のMCP2515が同じように失敗します:mcp251x spi2.0/spi2.1:リセット/プローブ失敗後、MCP251xはコンフモードに入らなかった。err=110(ETIMEDOUT)。つまり、ドライバ自身のSPIレベルのリセット+read-CANSTATシーケンスは応答せず、SCKがSoCを出ないのと一致している。 根本原因はデバイスツリーではなくクロック/バスアクセスに絞られます   # clk_enable_count is 0 despite the controller actively being used $ cat /sys/kernel/debug/clk/clk_summary | grep -i lpspi3 lpspi3_root 0 0 0 50000000 0 0 50000 N deviceless no_connection_id lpspi3 0 0 0 50000000 0 0 50000 N 42550000.spi per LPSpi3の機能クロック(per)クロックはenable_count=0と表示されますが、42550000.SPI(実際のバインドされた消費者)がループ内で転送を試みている間も、単に「未使用」ではありません(lpspi1/2/4はデバイス レスで0 と表示されるため、それだけでは決定的ではありません)。 決定的なテスト ― devmem を介したレジスタの直接読み取り:   $ devmem 0x44380000 32 # LPUART1 base — known-good peripheral 0x04040007 $ devmem 0x42550000 32 # LPSPI3 base (VERID register) Bus error (core dumped) 全く関係のない動作するペリフェラル(LPUART1、デバッグコンソール用)は同じCPU/バスのコンテキストから問題なく読み戻せます。LPSPI3のベースアドレスフォルトは、クロックゲーティングやピンマックスの考慮が問題になる前に、単純な32ビット読み取りで発生します。これはリソースドメインコントローラー(RDC)やそれに類するアクセス制御機構が、ハードウェアレベルでCortex-A55(Linux)ドメインをこのペリフェラルのアドレス範囲からブロックしているように見えます。Linuxデバイスツリーから設定可能なものとは無関係です。 NXPへの質問 FRDM-IMX93 の LPSPI3 は、別のドメイン (例:Cortex-M33 / Secure World)をボードのデフォルトのRDC構成に含めて、追加のSPL/ATF/TF-Aレベルの再構成なしでLinuxからは使えなくなるのでしょうか? もしそうなら、LPSPI3バスアクセスをCortex-A55の非セキュアドメインに再割り当てする方法(U-Boot SPLのRDC設定やOP-TEE/TF-Aの変更)は文書で記載されているのでしょうか?それとも、GPIO_IO08-11が壊れているにもかかわらず、このボードのP11ヘッダーで外部SPIとしては単純にサポートされていないのでしょうか? これは私のボード/カーネルビルド特有の問題でしょうか、それともデフォルトのFRDM-IMX93 BSPの既知の特性でしょうか?参照用のimx93-11x11-frdm-lpspi.dts(EVKの場合はimx93-11x11-evk-lpspi.dtsに相当)があれば非常に助かります。 再現方法 ベースボードdtb: i.MXリリースディストリビューションイメージに同梱されている標準のimx93-11x11-frdm.dtb(変更されていないNXP lpspi3 + pcal6408 + reg_vexp_3v3/reg_vexp_5vノード - すべて__symbols__経由で存在が確認されています)。 上記で説明したオーバーレイを適用します(レギュレータ常時オン、&lpspi3 上の pinctrl + cs-gpios + pinctrl-assert-gpios)。 spidev(組み込み、CONFIG_SPI_SPIDEV=y)を手動でspi2.0にバインドします。   echo spidev > /sys/bus/spi/devices/spi2.0/driver_override echo spi2.0 > /sys/bus/spi/drivers/spidev/bind spidev_test -D /dev/spidev2.0-s 1000000 -v — 転送は「成功」します(I/O エラーなし)が、MOSI/MISO が物理的に短絡されていても、RX データは TX のループバックではありません。 devmem 0x42550000 32 → バスエラー。 必要であれば、オーバーレイのソースコード、dmesgログ、clk_summary/gpioダンプなど、すべての情報を提供いたします。
View full article
S32K358 about Cache operation I am writing an S32K358 program in S32DS. To create an OTA upgrade program, I need to manipulate the internal FLASH. When I call the above function, I can compile it successfully, but I cannot find the above function by pressing CTRL+left mouse button. Is this normal? Screenshot 2026-09-15 141928.png Screenshot 2026-09-15 141953.png Re: S32K358 about Cache operation Hi @sunshine88, Can you try rebuilding the index? danielmartynek_0-1789469464382.pngdanielmartynek_0-1789469464382.png Thank you, BR, Daniel
View full article
S32K358 キャッシュ操作について S32DSでS32K358プログラムを作成しています。OTAアップグレードプログラムを作成するために、内部FLASHを操作する必要があります。上記の関数を呼び出すとコンパイルは正常に完了しますが、Ctrlキーを押しながらマウスの左ボタンを押しても上記の関数が見つかりません。これは正常な動作でしょうか? スクリーンショット 2026-09-15 141928.png スクリーンショット 2026-09-15 141953.png Re: S32K358 about Cache operation こんにちは@sunshine88 さん インデックスを再構築してみることはできますか? danielmartynek_0-1789469464382.pngdanielmartynek_0-1789469464382.png ありがとうございました。 BR、ダニエル
View full article
Does NXP official have a code routine for configuring external boot for S32K344 chip? Does NXP official have a code routine and tutorial for configuring external boot for S32K344 chip? We would like to configure the chip to boot from the SD card? Re: Does NXP official have a code routine for configuring external boot for S32K344 chip? In a nonsecure boot configuration - does the first bootloader run from ROM (is it immutable)? Can this first bootloader be configured to boot the subsequent bootloaders/application images from an external source/flash? Re: Does NXP official have a code routine for configuring external boot for S32K344 chip? This device does not offer an option to boot from external memory. Device supports secure and nonsecure boot modes but in both cases it is internal flash boot.
View full article
IW612のBluetoothが数日後にクラッシュする こんにちは、 ユーザーの一人から、murata LBES5PL2EL-923(IW612コア)のBluetooth機能に関するバグを報告がありました。BluetoothスタックがBluetooth静的RFCOMM/SPPでデバイスにコネクテッドすると数日後にクラッシュする現象です (元のレポートは公開されており、日本語版はhttps://armadillo.atmark-techno.com/forum/armadillo/31772で閲覧可能です。)) これに関して既知のバグはありますか? ソフトウェアのセットアップ: * Linux 6.12 は lf-6.12.49-2.2.0 に基づく(正確なソースツリー:https://github.com/atmark-techno/linux-6.12-at/tree/6.12.105-r0) これはBTの問題ですが、参考までにワイヤレスドライバーはmwifiex lf-6.12.49-2.2.0をベースにしています。 * ファームウェアをimx-firmwareリポジトリの最新版lf-6.18.20_2.0.0にアップデートしました。https://github.com/nxp-imx/imx-firmware/tree/lf-6.18.20_2.0.0/FwImage_IW612_SD * BlueZスタック(正確なバージョンを確認中です。申し訳ありませんが、確認し忘れていました。) * 基板は*Bluetooth classic*(BLEではない)で単一のデバイスに接続され、RFCOMM/SPPで接続されています。60秒ごとにアプリケーションはメッセージを送信し、返信(簡単なポーリング)を受け取ります。数日後にコマンドタイムアウトが入り、BTドライバが再起動します クラッシュ後に/sys/class/bluetooth/hci0/devcoredump/dataから取得したファームウェアダンプを添付しました。役に立つと仮定して、クラッシュまではdmesgにメッセージはありません(すみません、「FWダンプ開始」の前に短縮されているためタイムスタンプがなく、クラッシュ直後だったと理解しています)。 FWのリロード機構は動作しますが、再接続が必要なので、可能であれば対応が良いでしょう。 [ 0.000000] Linux version 6.12.105-0-at (builder@71056255c5a6) (aarch64-alpine-linux-musl-cc (Alpine 15.2.0) 15.2.0, GNU ld (GNU Binutils) 2.45.1) #1-Alpine SMP PREEMPT Mon Aug 24 07:48:35 UTC 2026 [...] [ 9.321032] wlan: version = SDIW612---18.99.8.p52-MM6X18540.p33-GPL-(FP92) [...] [ 10.349326] Bluetooth: hci0: FW already running. [ 38.303160] Bluetooth: MGMT ver 1.23 [170117.376944] Bluetooth: hci0: command tx timeout Bluetooth: hci0: ==== Start FW dump === Bluetooth: hci0: ==== FW dump complete === Bluetooth: hci0: Request Firmware: nxp/uartspi_n61x_v1.bin.se Bluetooth: hci0: FW Download Complete: 412940 bytes 分析に役立つその他の情報があれば、お尋ねください。 よろしくお願い申し上げます。 Re: IW612 bluetooth crash after a few days 1. HCIログも提供していただければ、どのコマンドがタイムアウトし、ファームウェアダンプが生成されているかを特定するのに役立ちます。 この件で具体的にどういう意味か教えていただけますか?実行後から実行できるコマンドはありますか?それともプロセスが実行されている間にhcidumpや同等のコマンドを実行すればよいのでしょうか? Wi-Fiドライバーの読み込みパラメータを入手> 3.To、/lib/firmware/nxp/wifi_mod_para.conf を教えてください。 このファイルは使わないので、ここでもデフォルトのパラメータを使うべきです。ログレベルをデフォルト値から下げたので、DMESGもあまり役に立たないでしょう(前回の返信でdmesgのリンクを送りました)。 この期間中にWi-Fiを使っているかどうか、ユーザーに確認してみます Re: IW612 bluetooth crash after a few days こんにちは、 @martinetd 1. HCIログも提供していただければ、どのコマンドが タイムアウトし、ファームウェアダンプが生成されているかを 特定するのに役立ちます 。 2. WLANが稼働している間にWLANベースのユースケースを教えてくれますが、ファームウェアダンプが生成されている間にWLANが正常に動作しているか確認してもらえますか? 3.To get Wi-Fiドライバー loading parameters, you can provide us the: /lib/firmware/nxp/wifi_mod_para.conf または、WiFiやBluetoothの読み込み全過程を含む 通常の起動DMESGログ を提供してもらえます。DMESGのログから情報を得ることができます。 4.現在、お客様が使用されているものよりも新しい公開されているGitHubファームウェアリリースはありません。 imx-firmware/FwImage_IW612_SD (lf-6.18.20_2.0.0) · nxp-imx/imx-firmware · GitHub ですので、これは既知の問題ではないと思います。 私たちは、ユースケースに関する情報やHCIログを多めに持っておきたいので、何が起こったかを追跡したり手順を再現したりして、ローカルで問題を再現できるようにしたいと考えています。 もしこの問題に関する他に情報があれば、ぜひ教えてください。 よろしくお願いいたします。 Christine。 Re: IW612 bluetooth crash after a few days こんにちは、 @Christine_Li さん、迅速なご返信ありがとうございます。 > 1.もしbtnxpuartドライバーを使っているなら、btnxpuart.cを教えてください。 私たちは、 https://github.com/nxp-imx/linux-imxで提供されている btnxpuart を使用しています。バージョン lf-6.12.49-2.2.0 に基づいており、正確なファイルはこちらでご覧いただけます https://github.com/atmark-techno/linux-6.12-at/blob/6.12.105-r0/drivers/bluetooth/btnxpuart.c 2. Wi-FiとBluetooth/802.15.4のコンボファームウェアを使用していますか?それとも、別々のファームウェアを使用していますか? 両方使っています:起動時にWi-FiドライバーがコンボFWを読み込み、クラッシュ後に別のFWをリロードします(だからログで別FWの名前を付けています)。 このクラッシュが発生したとき、コンボファームウェアがロードされていました(起動後の最初のクラッシュ)が、両方のファームウェアで再現すると理解しています。 >  3.Wi-FiとBluetoothドライバーの負荷パラメータを教えてもらえますか? 明示的に設定している唯一のWiFiパラメータはdrv_mode = 0x3で、使っていないWiFiダイレクトインターフェースを無効化します。Bluetoothパラメータは設定していません。もし正確な設定のダンプ方法を教えていただければ、ユーザーにコマンドを実行してもらい、情報を取得してもらうよう頼めます。 > 4.詳細な再現手順を教えていただけますか? これはユーザー報告に基づくものなので、説明したこと(数日間60秒ごとにRFCOMM接続をポーリングする)以上のことは言えません。チップが接続されているサブデバイスによって異なるのではないかと心配しています。 RFCOMM経由でpingを送ってローカルで再現できるデバイスを探してテストスクリプトを提供してみますが、今のところファームウェアやBTNXPUARTドライバの既知のバグが記載されたリリースノートは見つからなかったので、既知のバグがあるかどうか(そしてできればファームウェアのダンプから何か情報が得られるか)を確認したいです。 よろしくお願い申し上げます。 Re: IW612 bluetooth crash after a few days こんにちは、 @martinetd 1. Bluetooth用にNXPのBTNXPUARTドライバーを使っていますか?それともLinuxのオープンソースUartドライバを使っていますか? もしbtnxpuartドライバーを使っているなら、btnxpuart.cを教えてください。 2. Wi-FiとBluetooth/802.15.4のコンボファームウェアを使用していますか?それとも、個別のファームウェアを使用していますか? ログが下にあるのを見ているので、別のFWを使っているのではないかと疑っています。確認が必要です。 hci0: Request Firmware: nxp/uartspi_n61x_v1.bin.se 3. Wi-FiとBluetoothドライバーの負荷パラメータを教えてもらえますか? 4. 詳細な再現手順を教えていただけますか? よろしくお願いいたします。 Christine。 Re: IW612 bluetooth crash after a few days > * BlueZスタック(正確なバージョンを確認中です。申し訳ありませんが、確認し忘れていました。) 参考までに、BlueZ版は5.82です Re: IW612 bluetooth crash after a few days > btmon ご説明いただきありがとうございます。 クラッシュの再現には数日かかり、ログが大きくなるため、完全なログを保存・共有するのは現実的ではないかもしれません(1分で100KB見えるので、2日で約300MBになります)。 残念ながらbtmonにはtcpdumpのような「巡回記録」モードはないようですが、クラッシュ直前の数分だけに興味があるなら、顧客のログを5分ごとに2ファイル交互に表示して、最後の5分を記録できるようにリクエストできます。 (未テスト)といった形で、最後のサンプルを送ることは許容範囲でしょうか?(ただし、ランの間にイベントが記録されない短いウィンドウがあります...) I=0; while ! [ -e /sys/class/bluetooth/hci0/devcoredump/data ]; do timeout 300s btmon -K -t -w log.$I; I=$((I+1%3)); done > コアダンプが読み取れません 残念ですが、どうしようもありません。 このファイルは、FW ダンプ完了メッセージの後に /sys/class/bluetooth/hci0/devcoredump/data から読み取ったものです。もしこの方法が適切でない場合や、より有用なデータを取得する方法があれば喜んで対応しますが、今は btmon トレースに焦点を当てましょう。 よろしくお願い申し上げます。 Re: IW612 bluetooth crash after a few days こんにちは、 @martinetd 1. btmonの場合: ==>はい、サイズの都合で全工程を記録できれば、あなたが提案した方法が良いと思います。それに、それ以外に良いアイデアはありません。 2. ファームウェアダンプの場合: drvdbg=0xa0037でドライバーを読み込むことをおすすめします。これにより、より多くのfwダンプやドライバーのダンプログを記録して分析できます。   問題が発生しました   ログは以下のようにこのディレクトリに自動的に保存されます。   ======================================== [4221.173141]ディレクトリ /data/dump_4220 の作成エラー。/var にディレクトリを作成してみてください。 [4221.173147]ウェイクアップデバイス... [4221.173231]ディレクトリ /var/dump_4220 の作成に成功しました。 [4221.173232]ディレクトリ名は /var/dump_4220 です [ 4221.173233] === ドライバ情報開始 ダンプ=== [4221.173289]DRVダンプデータは/var/dump_4220/file_drv_infoにあります。 [4221.173306]ウェイクアップデバイス... [4221.173889]SDIO Func0 (0x0-0x9): 43 03 06 00 07 00 00 02 03 00 [4221.175173]SDIO 機能 1 (0x4-0xb): 00 00 00 00 ff ff ff ff [4221.175879]SDIO Func1: (0x4c) 00 (0x50) 08 (0x54) 07 (0x55) 0c (0x58) 10 (0x59) 00 (0x5c) 00 (0x5d) 00 [4221.176284]SDIO 機能 1 (0xc0-0xca): DC fe 96 00 31 11 00 37 37 02 20 [ 4221.177301] | [4221.275861]SDIO Func1 (0xc0-0xca): DC fe a1 00 3b 00 00 37 37 02 20 [4221.276501]ドライブ情報の合計バイト数 = 263150 (0x403ee) [ 4221.276503] === ドライバー情報ダンプ 終了===ウェイクアップ装置... [ 4221.276555] ==== デバッグモード出力開始: 4220.878602 === ====================================================   ダンプが「/var」や「/data」で自動生成されていない場合は、以下の「cat /proc/mwlan/adapter0/fw_dump > file_fw_dump」コマンドを使って手動で収集できます。     2. DMESGログにディレクトリが印刷されていないか、あなたの場合はログレベルが下がっている場合は、以下の方法で登録してください:   - echo debug_dump > /proc/mwlan/adapter0/config しばらく(1~2分)お待ちください。 fw_dumpの場合: - cat /proc/mwlan/adapter0/fw_dump > file_fw_dump drv_dumpの場合: cat /proc/mwlan/adapter0/drv_dump > file_drv_dump   このようなFWクラッシュ問題に対して、btmonログはお客様のユースCASEや問題シナリオをよりよく理解するための拡張ログです。FW_dumpは私たちにとって最も重要なログです。   また、前述の通り、このテスト中にお客様にWi-Fiのユースケースについても尋ねてください。   よろしくお願いいたします。 Christine。 Re: IW612 bluetooth crash after a few days BTmonについては了解しました。リクエストしてみます(Wi-Fiの使用状況についても質問します)。 まずファームウェアのダンプについて確認させてください。私が取得したダンプはBluetoothのダンプでしたが、あなたが説明しているのはワイヤレスのダンプのようですね。 お客様からのトレースではWiFiドライバはクラッシュしなかったので、drvdbg=は効果がないのではないかと思います。 また、結合ファームウェアの場合(「echo debug_dump > /proc/mwlan/adapter0/config」)でワイヤレスファームウェアが必要な場合、問題はBTドライバーが自動的に新しいファームウェアをリロードし、アダプターを再起動してしまうため、これを動作させるにはファームウェアの読み込みを無効にする必要があることです ダンプは分析に有用だと思います。もしダンプの入手方法を修正できるなら、まず知りたいです。何をすべきかが明確になったら、一度にお客様にすべて尋ねます よろしくお願いします。 Re: IW612 bluetooth crash after a few days こんにちは、 @martinetd この件で具体的にどういう意味か教えていただけますか?実行後から実行できるコマンドはありますか?それともプロセスが実行されている間にhcidumpや同等のコマンドを実行すればよいのでしょうか? ==>hciログは、以下のコマンドでBluetooth/BLEを有効にする後にキャプチャ可能です: btmon -w failed_snoop.log & その後、顧客は再現手順を実行し、この問題を再現しようとします。 failed_snoop.log には、Bluetooth/BLE のすべてのプロセスが記録されます。 問題が再現されたら、このログを確認して実行されているコマンドやイベント情報を把握し、関連する疑いを見つけることができます。 これは、ファイアウォールがクラッシュした後に失敗したログを実行して取得するためのコマンドではありません。 ところで、提供された fw ダンプ bin ファイルfw_devcorecump.binを復号化するために、社内の専門家チームに協力を依頼しました。しかし残念ながら、復号がうまく解読できていません。ファイルが破損しているか、データが不足しているため復号できないようです。 よろしくお願いいたします。 Christine。
View full article
ARINC615A 数据加载,使用 JTAG 访问密码保护 当未安装 HSE 固件时,可以使用CUST_DB_PSWD_A字段和设备生命周期配置来限制 S32K3 上的 SWD/JTAG 访问。假设更新是由应用程序或引导加载程序软件处理,而不是通过调试接口处理,启用此密码保护是否会对向处理器执行 ARINC 615A 软件数据加载产生任何影响? Re: ARINC615A Data loading with JTAG Access password protected CUST_DB_PSWD_A 仅限制 SWD/JTAG 调试访问。我不熟悉您的 ARINC 615A 实现的细节,但如果软件加载完全由您的应用程序或引导加载程序处理,我认为调试密码本身不会产生任何影响。 最终,这是特定应用,取决于 ARINC 615A 在您的系统中是如何实现的。如果更新机制不使用调试接口,则调试访问限制通常应独立于软件加载过程。任何其他限制都将取决于您的生命周期配置和应用程序网络安全设计。
View full article
在 S32 Design Studio for Power Architecture v2.1 中,PEmicro GDB 启动失败 您好, 我正在测试的电路板是 MTRCKTSPS5744P(带有 MPC5744P MCU 的三相 PMSM 电机控制开发套件)。 不知何故,下载过程不太顺利。 点击调试按钮后,下载失败,此时会弹出此窗口。 eunwoo_lee_0-1789496057004.png 弹出一个窗口,显示此错误信息。 服务启动序列错误 PEmicro GDB 启动失败:GDB 服务器无法与目标处理器建立连接。请检查您的连接和电源。请确认调试配置中的启动设置是否准确。 控制台面板显示此消息。 来自“127.0.0.1”的连接,通过 127.0.0.1。从端口“53438”到7224的连接 PE错误:警告。部件运行时无法读取寄存器。 PE错误:警告。部件运行时无法读取内存。@0(4 字节) PE错误:警告。部件运行时无法读取内存。@0(4 字节) PE错误:警告。部件运行时无法读取寄存器。 PE错误:警告。部件运行时无法读取内存。@0(4 字节) PE错误:警告。部件运行时无法读取内存。@0(4 字节) PE错误:警告。部件运行时无法写入二进制文件。40001000 - 长度:0 - 值:二进制数据 PE错误:警告。部件运行时无法写入二进制文件。40001000 - 长度:460 - 值:二进制数据 PE错误:警告。部件运行时无法写入二进制文件。40001460 - 长度:460 - 值:二进制数据 PE错误:警告。部件运行时无法写入二进制文件。400018c0 - 长度:460 - 值:二进制数据 PE错误:警告。部件运行时无法写入二进制文件。40001d20 - 长度:2e0 - 值:二进制数据 PE错误:GDB客户端处理:发生异常:程序异常! 异常类:EIDCONNCLOSEDGRACEFULLY 消息:连接已正常关闭。 地址 0X0046EA89 通过 127.0.0.1 与“127.0.0.1”断开连接。通过端口“53438”与7224断开连接 目标设备已断开连接。 你知道有什么办法解决这个问题吗? 谢谢。 Re: PEmicro GDB Launch Failure in S32 Design Studio for Power Architecture v2.1 你好, 你知道有什么办法解决这个问题吗? 正如消息中所述,您无法在运行时写入/读取寄存器。首先在调试器中停止代码执行,然后才能修改寄存器、内存等…… MPC5744P 正在运行用户代码,P&E 探针无法停止设备,因此所有内存/寄存器访问均失败,下载操作中止。 这看起来不像是一个闪存编程问题,而更像是调试器在下载之前未能停止 MPC5744P 的运行。 例如,微控制器中是否存在启用了 SWT0 的软件? 或者这是一个没有运行任何软件的全新样本? 顺祝商祺! Peter
View full article
S32K3_RTD_6_0_0_D2506_ASR_REL_4_7_REV_0000_2025 不支持 HB200x AUTOSAR R21-11 版本 0.8.0 您好,NXP, 我尝试将 HB200x AUTOSAR 规范 SDK 集成到 S32 Design Studio 中,但收到以下错误消息: 问题:在工具链/IDE 项目中找不到 Mc33hb。该项目无法编译! 级别:错误 类型:验证 工具:工具链/IDE 项目 来源:外围设备 目标:工具链/IDE 项目:M7_0 资源:platform.driver.mc33hb 甚至包括 CDD_Mb33Hb.c 文件在 S32 Design Studio 应用程序 (v3.6.4) 中安装 SDK 时,尚未添加 CDD_Mb33Hb.h 等文件。 Re: HB200x AUTOSAR R21-11 Version 0.8.0 not supported by S32K3_RTD_6_0_0_D2506_ASR_REL_4_7_REV_0000_ 你好, 您似乎使用了错误的RTD版本。根据 HB200x AUTOSAR R21-11 0.8.0 发行说明,该软件可以基于 SW32K3_RTD_4.4_R21-11_3.0.0_D2303_DS_updatesite.zip 使用(该软件需要安装在 S32 Design Studio IDE v3.5 中)。 PetrS_0-1789471295419.pngPetrS_0-1789471295419.png BR,彼得
View full article
PEmicro GDB Launch Failure in S32 Design Studio for Power Architecture v2.1 Hi, The board I am testing is MTRCKTSPS5744P (3-Phase PMSM Motor Control Development Kit with MPC5744P MCU). For some reason, the download process doesn't go well. This window pops up after failure in downloading when I click debug button. eunwoo_lee_0-1789496057004.png An window pops up showing this error message. Error in services launch sequence PEmicro GDB Launch Failure : The GDB Server was not able to establish a connection to the target processor. Please check your connections and power. Verify that the launch settings in the Debug Configuration are accurate. Console panel displays this message. Connection from "127.0.0.1" via 127.0.0.1. Connection from port "53438" to 7224 PE-ERROR: Warning. Can't read registers while part is running. PE-ERROR: Warning. Can't read memory while part is running. @0 (4 bytes) PE-ERROR: Warning. Can't read memory while part is running. @0 (4 bytes) PE-ERROR: Warning. Can't read registers while part is running. PE-ERROR: Warning. Can't read memory while part is running. @0 (4 bytes) PE-ERROR: Warning. Can't read memory while part is running. @0 (4 bytes) PE-ERROR: Warning. Can't Write Binary while part is running. 40001000 - Length of: 0 - Value of: Binary Data PE-ERROR: Warning. Can't Write Binary while part is running. 40001000 - Length of: 460 - Value of: Binary Data PE-ERROR: Warning. Can't Write Binary while part is running. 40001460 - Length of: 460 - Value of: Binary Data PE-ERROR: Warning. Can't Write Binary while part is running. 400018c0 - Length of: 460 - Value of: Binary Data PE-ERROR: Warning. Can't Write Binary while part is running. 40001d20 - Length of: 2e0 - Value of: Binary Data PE-ERROR: GDB Client Processing : Exception Occured : PROGRAM EXCEPTION! EXCEPTION CLASS: EIDCONNCLOSEDGRACEFULLY MESSAGE: CONNECTION CLOSED GRACEFULLY. ADDRESS 0X0046EA89 Disconnected from "127.0.0.1" via 127.0.0.1. Disconnection by port "53438" from 7224 Target Disconnected. Is there any solution you know for this problem? Thanks. Re: PEmicro GDB Launch Failure in S32 Design Studio for Power Architecture v2.1 Hello, Is there any solution you know for this problem? As the message explains you cannot write/read registers on the fly. First stop the execution of the code in debugger and then you can modify the registers, memory, etc... The MPC5744P is running user code and the P&E probe is unable to halt the device, therefore all memory/register accesses fail and the download operation aborts. This looks less like a flash programming problem and more like a debugger failing to halt the MPC5744P before download. Is there for example SW with SWT0 enabled in the microcontroller? Or is it a fresh sample with no SW running? Best regards, Peter
View full article
IW612蓝牙连接几天后崩溃 你好, 一位用户向我们报告了 Murata LBES5PL2EL-923(IW612 内核)蓝牙功能的一个缺陷:通过蓝牙静态 RFCOMM/SPP 连接设备几天后,蓝牙协议栈会崩溃。 (原始报告已公开,可在以下网址以日语查看:https://armadillo.atmark-techno.com/forum/armadillo/31772)) 关于这个问题,目前已知有哪些漏洞? 软件设置: * 基于 lf-6.12.49-2.2.0 的 Linux 6.12(确切的源代码树: https://github.com/atmark-techno/linux-6.12-at/tree/6.12.105-r0 ) 这是一个蓝牙问题,但以防万一,无线驱动程序基于 mwifiex lf-6.12.49-2.2.0。 * 固件已从 imx-firmware 仓库更新至最新版本 lf-6.18.20_2.0.0 https://github.com/nxp-imx/imx-firmware/tree/lf-6.18.20_2.0.0/FwImage_IW612_SD * BlueZ 软件包(目前正在确认确切版本,抱歉我忘了问) * 该板通过 *经典蓝牙*(非 BLE)连接到单个设备,采用 RFCOMM/SPP。每隔 60 秒,应用程序发送一条消息并收到回复(简单轮询)。几天后出现命令超时,蓝牙驱动程序重启。 我附上了一个固件转储文件(崩溃后从 /sys/class/bluetooth/hci0/devcoredump/data 获取),假设它有用的话,在崩溃之前 dmesg 中没有任何消息(很抱歉,在“开始固件转储”消息之前的内容被截断了,所以没有时间戳,我的理解是崩溃发生后立即发生的)。 FW 重新装弹机制可以工作,但这需要重新连接,所以如果可能的话,最好解决这个问题。 [ 0.000000] Linux version 6.12.105-0-at (builder@71056255c5a6) (aarch64-alpine-linux-musl-cc (Alpine 15.2.0) 15.2.0, GNU ld (GNU Binutils) 2.45.1) #1-Alpine SMP PREEMPT Mon Aug 24 07:48:35 UTC 2026 [...] [ 9.321032] wlan: version = SDIW612---18.99.8.p52-MM6X18540.p33-GPL-(FP92) [...] [ 10.349326] Bluetooth: hci0: FW already running. [ 38.303160] Bluetooth: MGMT ver 1.23 [170117.376944] Bluetooth: hci0: command tx timeout Bluetooth: hci0: ==== Start FW dump === Bluetooth: hci0: ==== FW dump complete === Bluetooth: hci0: Request Firmware: nxp/uartspi_n61x_v1.bin.se Bluetooth: hci0: FW Download Complete: 412940 bytes 如有其他有助于分析的信息,请提出。 谢谢 Re: IW612 bluetooth crash after a few days 1.能否提供HCI日志,以便我们确定是哪个命令超时并生成了固件转储? 您能解释一下您这句话的意思吗?事后是否有命令可以运行,还是应该运行 hcidump 或类似命令来转储进程运行时的所有命令? 3. 要获取 Wi-Fi 驱动程序加载参数,您可以提供以下文件:/lib/firmware/nxp/wifi_mod_para.conf 我们不会使用此文件,因此这里也应该使用默认参数。我们已经将日志级别从默认值降低了,所以 dmesg 在这里也帮不上什么忙(我在之前的回复中已经发送了 dmesg 的链接)。 我会向用户确认他们在此期间是否使用无线网络。 Re: IW612 bluetooth crash after a few days 嗨, @martinetd 1.能否提供HCI日志,以便我们确定是哪个命令超时并生成了固件转储? 2.请提供基于WLAN的使用案例,在WLAN运行的情况下,检查在生成固件转储文件时WLAN是否工作正常? 3.要获取Wi-Fi驱动程序加载参数,您可以提供以下文件:/lib/firmware/nxp/wifi_mod_para.conf 或者您可以向我们提供正常的启动 dmesg 日志,其中包含 WiFi/蓝牙加载的整个过程。我们可以从 dmesg 日志中获取信息。 4.目前,我们没有比您正在使用的版本更新的公开 GitHub 固件版本: imx-firmware/FwImage_IW612_SD at lf-6.18.20_2.0.0 · nxp-imx/imx-firmware · GitHub 所以,我认为这不是一个已知问题。 我们希望获得更多与用例和 HCI 日志相关的信息,以便跟踪发生了什么或重现步骤,从而使我们能够在本地重现问题。 如果您还有其他与此问题相关的信息,请与我们分享。 顺祝商祺! Christine。 Re: IW612 bluetooth crash after a few days 嗨@Christine_Li,谢谢你的快速回复。 > 1.如果您正在使用 btnxpuart 驱动程序,请提供 btnxpuart.c 文件。 我们正在使用https://github.com/nxp-imx/linux-imx中提供的 btnxpuart。基于 lf-6.12.49-2.2.0 版本,您可以在这里找到确切的文件:https://github.com/atmark-techno/linux-6.12-at/blob/6.12.105-r0/drivers/bluetooth/btnxpuart.c > 2. 您使用的是 Wi-Fi 和蓝牙/802.15.4 组合固件吗?还是使用的是单独的固件? 我们同时使用了这两种方式:wifi 驱动程序在启动时加载组合固件,崩溃后重新加载单独的固件(因此日志中会将单独的固件命名为“单独的固件”)。 发生此次崩溃时,组合固件已加载(启动后首次崩溃),但据我了解,两种固件都会出现此问题。 > 3.请问您能否提供一下您的 Wi-Fi 和蓝牙驱动程序加载参数? 我们明确设置的唯一 wifi 参数是 drv_mode = 0x3,用于禁用我们不使用的 wifi direct 接口;我们没有设置任何蓝牙参数。如果你能告诉我如何导出确切的设置,我可以让我们的用户运行命令来获取这些信息。 > 4.请问您能否提供详细的重现步骤? 由于这是基于用户报告,我只能描述一下(RFCOMM 连接每 60 秒轮询一次,持续几天);恐怕这可能取决于芯片实际连接的子设备。 我会尝试找一个可以通过 RFCOMM ping 通的设备,并在本地重现问题,以便为您提供测试脚本(如果需要的话)。但目前我找不到任何关于固件/btnxpuart 驱动程序已知错误的发布说明,所以我想确认是否存在已知错误(也希望您能从固件转储中获取任何信息)。 谢谢 Re: IW612 bluetooth crash after a few days 嗨, @martinetd 1.您是否正在使用我们NXP的btnxpuart蓝牙驱动程序?或者您使用的是Linux开源UART驱动程序? 如果您正在使用 btnxpuart 驱动程序,请提供 btnxpuart.c 文件。 2.您使用的是Wi-Fi和蓝牙/802.15.4组合固件吗?还是使用的是单独的固件? 因为我看到你的日志如下所示,所以我怀疑你使用了单独的固件,需要和你再次确认。 hci0: Request Firmware: nxp/uartspi_n61x_v1.bin.se 3.请问您能否提供一下您的 Wi-Fi 和蓝牙驱动程序负载参数? 4.请问您能否提供详细的重现步骤? 顺祝商祺! Christine。 Re: IW612 bluetooth crash after a few days >> * BlueZ 软件包(目前正在确认确切版本,抱歉我忘了问) 如果这很重要的话,BlueZ 版本是 5.82。 Re: IW612 bluetooth crash after a few days 嗨, @martinetd 1.对于 btmon: 是的,如果出于文件大小的考虑,我们可以记录整个过程,那么我认为你推荐的方法是个好主意。而且,我们也没有比这更好的主意了。 2. 对于固件转储: 我建议使用drvdbg=0xa0037加载驱动程序,这样可以记录更多固件转储和驱动程序转储日志以供分析。   问题发生   日志将自动保存到如下所示的目录中:   ======================================== [ 4221.173141]创建目录 /data/dump_4220 时出错,请尝试在 /var 中创建目录 [ 4221.173147]唤醒设备…… [ 4221.173231]目录 /var/dump_4220 创建成功 [ 4221.173232]目录名称为 /var/dump_4220 [ 4221.173233] === 开始驱动程序信息转储 === [ 4221.173289]DRV 转储数据位于 /var/dump_4220/file_drv_info 中 [ 4221.173306]唤醒设备…… [ 4221.173889]SDIO 功能 0 (0x0-0x9): 43 03 06 00 07 00 00 02 03 00 [ 4221.175173]SDIO 功能 1 (0x4-0xb): 00 00 00 00 ff ff ff ff [ 4221.175879]SDIO Func1: (0x4c) 00 (0x50) 08 (0x54) 07 (0x55) 0c (0x58) 10 (0x59) 00 (0x5c) 00 (0x5d) 00 [ 4221.176284]SDIO Func1 (0xc0-0xca): 直流铁 96 00 31 11 00 37 37 02 20 [ 4221.177301] | [ 4221.275861]SDIO Func1 (0xc0-0xca): 直流 fe a1 00 3b 00 00 37 37 02 20 [ 4221.276501]驱动程序信息总字节数 = 263150 (0x403ee) [ 4221.276503] === 驱动程序信息转储结束 === 唤醒设备... [ 4221.276555] ==== 调试模式输出开始:4220.878602 === ====================================================   如果转储文件没有自动生成在“/var”或“/data”目录下,则可以使用以下“ cat /proc/mwlan/adapter0/fw_dump > file_fw_dump”命令手动收集。     2. 如果您检查后发现 dmesg 日志中没有打印目录信息,或者您降低了日志级别,请按以下方式获取:   - echo debug_dump > /proc/mwlan/adapter0/config - 稍等片刻(1 或 2 分钟) 对于 fw_dump: - cat /proc/mwlan/adapter0/fw_dump > file_fw_dump 对于 drv_dump: cat /proc/mwlan/adapter0/drv_dump > file_drv_dump   对于此类固件崩溃问题,btmon 日志是扩展日志,以便更好地了解客户的使用案例和问题场景。FW_dump 是我们最重要的日志文件。   另外,正如之前讨论过的,请在此测试期间询问您的客户有关 WiFi 使用情况。   顺祝商祺! Christine。 Re: IW612 bluetooth crash after a few days 好的,对于btmon,我会提出请求(并询问有关wifi使用情况)。 不过我首先想确认一下固件转储:我得到的转储是蓝牙转储,但你描述的似乎是无线转储。 根据客户提供的跟踪信息,WiFi驱动程序似乎没有崩溃,所以我认为drvdbg=在这里不会起作用? 另外,如果您确实需要在合并固件的情况下获取无线固件(使用 `echo debug_dump > /proc/mwlan/adapter0/config`),问题在于蓝牙驱动程序会自动重新加载新固件并重启适配器,因此我们需要禁用固件加载才能使其正常工作。 我同意拥有转储文件对分析很有帮助,所以如果可以改进获取转储文件的方式,我想先了解一下。等我们明确了该怎么做之后,我会一次性向客户询问所有情况。 谢谢! Re: IW612 bluetooth crash after a few days > btmon 谢谢你的澄清。 崩溃需要几天时间才能重现,而且考虑到日志文件的大小(我看到一分钟后就有 100KB,所以两天后大约有 300MB),恐怕存储/共享完整的日志文件不太实际。 遗憾的是,btmon 似乎没有像 tcpdump 那样的“循环记录”模式,但如果您只对崩溃前几分钟的情况感兴趣,我可以请求我们的客户每隔 5 分钟交替提供两个日志文件,这样我们就能获得最后 5 分钟的数据了。 像(未经测试的)那样寄送最后一批样品是否可以接受?(请注意,在两次运行之间会有一小段时间不会被记录事件……) I=0; while ! [ -e /sys/class/bluetooth/hci0/devcoredump/data ]; do timeout 300s btmon -K -t -w log.$I; I=$((I+1%3)); done > 核心转储文件无法读取 好吧,这很遗憾,但对此也无能为力。 该文件是在固件转储完成消息之后从 /sys/class/bluetooth/hci0/devcoredump/data 读取获得的。如果这样做不合适,或者有更好的方法来获取有用的数据,我很乐意效劳,但现在我们先专注于 btmon 跟踪。 谢谢 Re: IW612 bluetooth crash after a few days 嗨, @martinetd 您能解释一下您这句话的意思吗?事后是否有命令可以运行,还是应该运行 hcidump 或类似命令来转储进程运行时的所有命令? 启用蓝牙/BLE 后,可以使用以下命令捕获 hci 日志: btmon -w failed_snoop.log & 然后客户执行重现步骤,尝试重现此问题。 failed_snoop.log 将记录蓝牙/BLE 的所有过程。 一旦问题重现,我们可以检查此日志,看看正在执行哪些命令/事件,以便找到一些相关的嫌疑人。 这不是用于在固件崩溃后运行并捕获失败日志的命令。 顺便说一下,我请求我们内部的专家团队帮忙解密提供的固件转储二进制文件: fw_devcorecump.bin 。但很遗憾,解密失败。文件似乎已损坏或数据不足,因此无法解密。 顺祝商祺! Christine。
View full article
ARINC615A Data loading with JTAG Access password protected When HSE firmware is not installed, SWD/JTAG access on the S32K3 can be restricted using the CUST_DB_PSWD_A field and device lifecycle configuration. Would enabling this password protection have any impact on performing an ARINC 615A software data load to the processor, assuming the update is handled by application or bootloader software rather than through the debug interface? Re: ARINC615A Data loading with JTAG Access password protected CUST_DB_PSWD_A only restricts SWD/JTAG debug access. I am not familiar with the details of your ARINC 615A implementation, but if the software load is handled entirely by your application or bootloader, I would not expect the debug password itself to have any impact. Ultimately, this is application-specific and depends on how ARINC 615A has been implemented in your system. If the update mechanism does not use the debug interface, debug access restrictions should generally be independent of the software loading process. Any additional limitations would depend on your lifecycle configuration and application security design.
View full article
参照構成パス Simulinkでハードウェアを構成する際に、参照構成のディレクトリを相対パスに変更しようとしています。 Simulink -> HW-Settings -> Hardware Implementation -> Target hardware resources -> Referenced Configuration 参照構成パス = '.\generated\referenced_config' 残念ながら、ここでは相対パスを入力することはできません。 また、MATLABスクリプトで進路を設定することもまだできません。 スクリプトはCoderTargetDataにパスを設定しているように見えますが、実際には適用されていません。 古いパスが引き続き有効になるか、空のパスが適用されます。 参照設定に対して相対パスを設定する方法はありますか? Re: refence configuration path こんにちは、 @AlexG124 さん、 詳細を教えていただきありがとうございます。ご使用中のMBDTツールボックスバージョンとMATLABバージョンについて教えていただけませんか? もしS32K3ツールボックスを使っているなら、model_ref/s32k3xx_refconfig_s32ctフォルダの下に参照された設定ワークフローを示すモデル例があります。ここにはs32k3xx_refconfig_update_paths_callback.mというMATLABスクリプトがあり、あなたの目標達成に役立つかもしれません。 また、ご参照の構成方法、使用方法、アプリケーションの流れについても詳しく教えていただけると助かります。 よろしくお願いいたします。 ドラゴス
View full article
HB200x AUTOSAR R21-11 バージョン 0.8.0 S32K3_RTD_6_0_0_D2506_ASR_REL_4_7_REV_0000_2025 がサポートしていません こんにちは、NXPさん。 HB200x AUTOSAR仕様SDKをS32 Design Studioに統合しようとしましたが、以下のエラーメッセージが表示されます。 問題点:Mc33hbはツールチェーン/IDEプロジェクトに存在しません。プロジェクトはコンパイルできません! レベル: エラー タイプ:検証 ツール:ツールチェーン/IDEプロジェクト 起源:ペリフェラル ターゲット:ツールチェーン/IDEプロジェクト:M7_0 リソース:platform.driver.mc33hb CDD_Mb33Hb.c ファイルでさえCDD_Mb33Hb.hなどは、SDKがS32 Design Studioアプリケーション(v3.6.4)にインストールされた際には追加されていませんでした。 Re: HB200x AUTOSAR R21-11 Version 0.8.0 not supported by S32K3_RTD_6_0_0_D2506_ASR_REL_4_7_REV_0000_ こんにちは、 どうやら間違ったRTDバージョンを使用しているようです。HB200x AUTOSAR R21-11 0.8.0リリースノートに基づき、このソフトウェアはSW32K3_RTD_4.4_R21-11_3.0.0_D2303_DS_updatesite.zip(S32 Design Studio IDE v3.5にインストールする必要があります)上で使用可能です。 PetrS_0-1789471295419.pngPetrS_0-1789471295419.png BR、ペトル
View full article
refence configuration path In Simulink, when configuring the hardware, I am trying to change the directory for the reference configuration to a relative path. Simulink -> HW-Settings -> Hardware Implementation -> Target hardware resources -> Referenced Configuration Reference Configuration Path = '.\generated\referenced_config' Unfortunately, it is not possible to enter a relative path here. Nor have I so far been able to set the path via a MATLAB script. Although the script appears to set the path in CoderTargetData, it is not actually applied. Either the old path remains active, or an empty path is applied. Is there a way to set a relative path for the reference configuration? Re: refence configuration path Hi, @AlexG124, Thanks for the details. Could you please help us and let us know what are the MBDT toolbox version, as well as the MATLAB version that you are currently using? In case you are using S32K3 toolbox, there is a model example showcasing the referenced configuration workflow, under model_ref/s32k3xx_refconfig_s32ct folder. Here you will find a MATLAB script called s32k3xx_refconfig_update_paths_callback.m that could help in achieving your goal. It will be also helpful if you could let us know more details on your referenced configuration way of working, usage and application flow. Best regards, Dragos
View full article
参考配置路径 在 Simulink 中配置硬件时,我尝试将参考配置的目录更改为相对路径。 Simulink -> 硬件设置 -> 硬件实现 -> 目标硬件资源 -> 参考配置 参考配置路径 = '.\generated\referenced_config' 很遗憾,这里无法输入相对路径。 到目前为止,我还没能通过 MATLAB 脚本设置路径。 虽然脚本似乎在 CoderTargetData 中设置了路径,但实际上并没有应用。 要么保持旧路径有效,要么应用一个空路径。 是否可以为参考配置设置相对路径? Re: refence configuration path 你好, @AlexG124 , 谢谢你提供的详细信息。请问您能否告知我们您目前使用的 MBDT 工具箱版本以及 MATLAB 版本? 如果您正在使用S32K3工具箱,则在model_ref/s32k3xx_refconfig_s32ct文件夹下有一个模型示例,展示了所引用的配置工作流程。这里有一个名为s32k3xx_refconfig_update_paths_callback.m的 MATLAB 脚本,它可以帮助您实现目标。 如果您能与我们联系并提供更多关于您所参考的配置的工作方式、使用方法和应用程序流程的详细信息,将对我们很有帮助。 顺祝商祺! 德拉戈斯
View full article