Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
MWCT2016S 无法更改 UART 波特率 嗨,恩智浦社区、 我有一个关于 MCAL 中 UART 模块配置的问题。我无法更改波特率。SBR 和 OSR 寄存器符合预期,但实际测量的波特率为 72254。请帮助解决这个问题。 感谢您的帮助! Johnson97_0-1765938756521.png Johnson97_1-1765938839658.png Re: MWCT2016S can't change UART baud rate 请参阅[RTD400 MCAL 3] K312 MCU 时钟系统配置 的 2.2 EB 配置 部分配置 Mcu 。 Re: MWCT2016S can't change UART baud rate 是的,我已经调用了 Mcu_DistributePllClock() 函数。 如有必要,附加文件包含基于参考例程的源代码。 Johnson97_0-1766022864617.png Re: MWCT2016S can't change UART baud rate 您是否在主函数中调用了Mcu_DistributePllClock()?请参考以下代码: /* Initialize the clock driver */ Mcu_Init(NULL_PTR); /* Initialize the clock tree and apply PLL as system clock */ Mcu_InitClock(McuClockSettingConfig_0); #if (MCU_NO_PLL == STD_OFF) while ( MCU_PLL_LOCKED != Mcu_GetPllStatus() ) { /* Busy wait until the System PLL is locked */ } Mcu_DistributePllClock(); #endif Re: MWCT2016S can't change UART baud rate HI 一开始,我使用了 aips 慢时钟,但问题依然存在。波特率为 142857。在我将时钟更改为 aips plat 之后,波特率发生了变化,甚至变得更低,达到了 72254,但仍然不是预期的波特率。 我和 UART 例程的区别似乎只在于核心时钟。我使用 PLL 作为核心时钟源。会是这个原因吗?使用 PLL 时有什么特别的注意事项吗? 如有必要,附件中包含我的 EB 项目。 Re: MWCT2016S can't change UART baud rate HI 请根据表 130配置UartClockRef 。S32K3XXRM Rev12 的LPUARTn 实例时钟。 对于 S32K312,LPUART [1:7] 由AIPS_SLOW_CLK 提供时钟。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: MWCT2016S can't change UART baud rate 问题已经解决。 非常感谢!
記事全体を表示
TWR-KV58 ハードフォールト おはよう TWR ボードに顕著なエラーがあります。以前、このボードを同じ状態で使用し、正常に動作していましたが、しばらくそのまま放置していたところ、突然、ハードフォールトが発生し、起動しなくなりました。 JTAG ケーブルをコネクテッド状態で Multilink を使用しています。以前もそうしました。ハードフォルトで直接スタートします。 これがスクリーンショットです pietrodicastri_0-1765878099381.png ジャンパー J19 と J20 は JTAG を使用するために開いています。それで十分なはずです。 何か提案してください。壊れているとしか思えません。 皆様ありがとうございました ピエトロ Re: TWR-KV58 Hard Fault おはよう ただサポートしてください。バックアップソリューションとしてすでに新しいものを注文しましたが、続行するには支援が必要です。 ありがとう Re: TWR-KV58 Hard Fault こんにちは@pietrodicastri 、 ご投稿ありがとうございます。これがソフトウェアの問題であるかどうかを判断するために、「Hello World」デモなど、SDK に含まれているデモを実行したときに HardFault が引き続き発生するかどうかを確認してください。 SDKリンク:ボードを選択 | MCUXpresso SDKビルダー 詳細については、 https://www.keil.com/appnotes/files/apnt209.pdfを参照してください。 Celeste_Liu_0-1766030502918.png BR セレステ Re: TWR-KV58 Hard Fault こんにちは ボードが動作するようになりました…サポートに感謝します。 今度は別のものを投稿します。 ありがとう ピエトロ
記事全体を表示
iMX6ULL 控制台 UART 与其他使用 RS-485 的 UART 相互干扰 iMX6ULL 系统,内核为 lf-6.6.52-2.2.1。控制台设置为 ttymxc3 上的 RS-485 串行端口 ttymxc0。收发器"驱动使能" 连接到 SNVS_TAMPER7,我们有一个 DTS: &iomuxc_snvs { pinctrl_rs485_snvs: rs485grp_snvs { fsl,pins = < MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x1b0b1 /* RS485.DE as RTS */ >; }; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rs485>, <&pinctrl_rs485_snvs>; fsl,dte-mode; rts-gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; linux,rs485-enabled-at-boot-time; status = "okay"; label = "rs485"; }; 我注意到,如果向控制台打印数据,会干扰 RS-485 串行端口:RTS/DE 信号有时会延迟 5-10 毫秒。该值在 9600 bps 时超过 3.5 个字符,这意味着由于主机仍在驱动总线,因此来自设备的响应将出现乱码。可以用以下方法复制: while true;do echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >/dev/kmsg;done 这是一个已知的问题吗? i.MX6UL 疑似软件缺陷 Yocto Project Re: iMX6ULL console UART interferes with other UART using RS-485 你好@astrand 这似乎是 Linux 内核中的一个常见问题。以下是 LWN.NET 中的讨论。 printk/console 是一个速度慢的设备。当遇到大量日志时,内核必须同步向控制台写入信息。在这一过程中,它持有相关锁并消耗 CPU 时间,从而延迟其他任务调度和中断处理。即使您的控制台不同于 RS-485 串行端口,系统的整体调度/软中断/任务队列仍然会被拖慢。这将延迟 UART 传输完成事件到达驱动器并随后拉低 DE 位所需的时间。更多详情,请参阅该讨论。 https://lwn.net/Articles/909980/ 您可以尝试在运行时设置较低的控制台日志级别,或定义 rs485-rts-delayin dts. echo "4 4 1 7" > /proc/sys/kernel/printk 致敬, Zhiming
記事全体を表示
MPC5748G 将 uart 与 tcpip 结合使用 我想把以太网传输和串行端口打印功能结合起来。在代码 A 中,我试图在串行端口打印的基础上添加以太网传输功能 (tcpip),但失败了。我想在代码 B 的 LWIP 例程中添加串行端口显示功能,但按下 SW2 按钮后串行端口显示屏上看不到发送的信息。我不知道这两个地方设置得不对。 我是一名学生,这个问题已经困扰了我一个星期。如能解决,我将不胜感激 Re: MPC5748G combine uart with tcpip 我承认我用 AI 编写的代码是电子垃圾,但我不明白为什么在修改了两个例程的文件中使用相同的代码段只能实现一半的功能(UART 或 tcpip) 谁能帮帮我? QING_QUE_0-1765711747775.png
記事全体を表示
i.MX95 安卓 15_2.0.0 电路板支持包 — 480p 视频显示蓝色水平线(720p/1080p OK) 你好 、 我们在自定义板上使用搭载安卓 15_2.0.0 电路板支持包的 i.MX95。 我们只有在播放分辨率为 480p 的视频时才会遇到这个问题。 其他分辨率(如720p和1080p)也能正常播放,没有任何伪影。 在播放 480p 视频时,我们观察到蓝色水平线横跨整个显示区域。 此问题出现在所有显示界面上: *LVDS 面板 *HDMI *MIPI-DSI 显示器 因此,问题似乎与显示屏无关。 其他观察结果 ============================ 同样 的硬件(LVDS/HDMI/MIPI)在带有 480p 视频的 Linux 电路板支持包 中完美运行。 在 Android Auto 电路板支持包 15_1.3.0 中不会出现此问题。 → 在 Auto 电路板支持包 中,480p 的播放效果是干净的。 只有安卓 15_2.0.0 标准电路板支持包才显示这个 480p 的伪影。 Auto 电路板支持包是否有任何必须应用于标准电路板支持包的补丁? 随附参考照片供您审阅。 任何指导或补丁都将非常有用。 谢谢, Maruti Naik Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 您能在 nxp imx95 板上重现这个问题吗? Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 目前,我们没有与i.MX95 19×19 EVK板兼容的显示器。请尝试在您这边重现这个问题,并分享观察结果。 Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 我用下面的演示图像测试了 480P 视频、 15.0.0_2.0.0_demo_95 这个玩家是仙人掌玩家,我没发现任何问题,我也测试了 1080p,所以我请你在恩智浦板上重现这个 Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 感谢您的更新和在演示图像上的测试。 目前,由于我们这端没有兼容的显示器,我们无法在19×19 EVK板上测试显示。不过,我们观察到,在 "开发者选项 "中将显示布局更改为 "瀑布式剪切 "后,480p 回放问题消失了,而使用默认布局时,问题始终存在。 您是否了解默认布局配置可能出了什么问题,特别是影响 480p 视频播放的问题? Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 如何在 "开发者选项 "中将显示布局更改为瀑布式剪切?
記事全体を表示
PN5180 库移植 IRQ 问题 你好,我正在使用 PN5180 和另一个品牌的 MCU,并试图将 NxpNfcRdLib_PN5180_v07.14.00_Pub 移植到我的项目中。我在项目中 添加了带有PH_OSAL_NULLOS 的NfcrdlibEx1_DiscoveryLoop 示例。 为了测试通信,我打印了 PN5180 的固件版本。 alig_ones_0-1765365621097.png 然后调用 然后调用 DiscoveryLoop_Demo 函数来读取 NFC 卡,但当 调用 phacDiscLoop_Run 函数。我跟踪找到确切位置,看到它在下面等待中断: alig_ones_1-1765365756616.png 我将 IRQ 引脚配置为上升沿,但它永远不会上升。问题出在哪里,如何解决?   Re: PN5180 Library Porting IRQ Issue 你好@alig_ones 希望你一切顺利。 请注意,将 NFC读取器库移植到第三方平台不在我们的支持范围内,此移植工作由客户自行负责。我们有针对我们产品组合中一些 MCU 的移植指南: NFC 读取器库移植 FRDM_K64F 、将 NFC 读取器库与 LPC55S69 一起使用以及将 NFC 读取器库移植到 i.MX RT1050 - NXP 社区。虽然您使用的是第三方主机 MCU,但这些指南可帮助您确定针对不同 MCU 应进行的修改。 请问您使用的是OM25180开发套件,还是基于 PN5180 的定制板? Eduardo。 Re: PN5180 Library Porting IRQ Issue 您好, 您观察到的行为可能与天线有关。由于您使用的是定制板,请确认您遵循了 PN5180 天线设计并且您的天线已正确调整。除了 NFC 天线工具 和 NFC 阅读器 天线设计 工具 之外,我们还建议参加 NFC 天线 设计系列培训 ,因为其中介绍了天线、优化和调试以及测试的主要方面。 为了正确设计天线,必须使用阻抗分析仪或 VNA 测量天线阻抗。这种 VNA 可用于测量天线线圈以及包括匹配电路在内的天线阻抗。您可以查看使用 miniVNA 对 NFC 和读卡器IC 天线的测量和调谐;本应用笔记为如何使用 miniVNA 网络分析仪测量和调整/匹配 NFC 和读卡器IC 天线提供了指导。此外,您还可以参考如何使用 NanoVNA 进行 NFC 读卡器天线设计。 关于图形用户界面,我想您指的是NFC 驾驶舱。PNEV5180B 评估板已准备好使用该工具;在该板中,PN5180 通过 SPI 连接到恩智浦 LPC1769 µC。值得注意的是,要将 PNEV5180B 与 NFC Cockpit 结合使用,需要在 LPC1769 上安装特定的固件。有关详细信息,请参阅《恩智浦 NFC 驾驶舱用户指南》。 Eduardo。 Re: PN5180 Library Porting IRQ Issue 你好,爱德华多、 我正在使用基于 PN5180 的自定义板。我将 LPCD 模式改为 PHHAL_HW_PN5180_LPCD_MODE_DEFAULT,现在我得到了中断,执行不再卡住。但它很少能读卡,我应该在 NFC 库中查找哪个关键字来增加读卡范围? 我读到 OM25180 可以与图形用户界面一起使用,我可以将其与 MCU 一起使用吗?谢谢。 这就是可以读取的结果: alig_ones_0-1765460651535.png Re: PN5180 Library Porting IRQ Issue 硬件团队更改了天线设计,现在读起来很好,谢谢。
記事全体を表示
[RTD] 优化 DMA 时 FlexIO I2C 无通道故障 你好@DanNguyenDuy Mobis 在尝试启用 DMA 优化时,没有遇到像下面这样的 FlexIO I2C 通道故障。 它被卡在 DevAssert(Master != NULL_PTR),但在我的审查中,通道索引似乎没有问题。 0 : LPI2C 1 : LPI2C 2 : FlexIO_0_1 : FlexIO I2C #0 / DMA Optimize / DMA timer2 3 :FlexIO_4_5 : FlexIO I2C #1 / DMA Optimize / DMA timer6 因此,FlexIO I2c 通道=1(I2c 通道=3)是正确的,但实际显示没有通道。 以下是 Mobis 对带有 DMA 优化功能的 FlexIO I2C 的配置 为什么 Master 会出现 NULL_PTR?请问如何调试? 启用 DMA 优化会有麻烦吗?Scatter Gather 是根据以下 RTD_I2C_UM.pdf 分配的 如果 DMA 优化设置有问题,且 STOP/NACK 未正确生成,会出现这种症状吗?能否提供 FlexIO I2C DMA 优化示例? RTD Re: [RTD] FlexIO I2C no channel trouble under DMA optimize 你好@alexyang 很抱歉我的回复晚了。我在 RTD_I2C_UM.pdf 中看到,I2C 插件中有一节指导如何配置 FlexIO DMA 优化: 请按照本节配置此功能。 Re: [RTD] FlexIO I2C no channel trouble under DMA optimize 你好@congnguyenphu 随信附上我对 FlexIO I2C DMA 优化的评估。 它以您提到的 I2C_UM 为基础,非常有用。 谢谢。 BRs, Alex Yang
記事全体を表示
i.MX93 A55 の Zephyr こんにちは、 i.MX93 Cortex-A55 で Zephyr を実行するための例が提供されており、hello_world をビルドし、u-boot プロンプト経由で DDR で実行できます。 u-bootの使用は避けたいです。ATF コードを参照しましたが、bl31 のビルドのみがサポートされています。「BootROM -> ATF BL2 -> ATF BL31 -> Zephyr」を実現したいのですが、BL2 をビルドするためのリファレンスはありますか? また、hello_world の例を OCRAM で実行したいのですが、手順を教えていただけますか。また、ここでもブートローダーが必要ですか。それとも JTAG 経由でバイナリを OCRAM に直接ロードできますか。 ありがとうございます Re: Zephyr on i.MX93 A55 こんにちは、 DDR 上で、BootROM --> BL2 --> BL3 --> Zephyr の順で Zephyr を起動できます。 内部 RAM で zephyr を実行したいです。ここに何か参考になるものはありますか? ありがとうございます
記事全体を表示
在 VSCode 中设置 Zephyr 环境时出错(python7.4-venv?) 你好。 我试图在 VSCode 中设置 Zephyr 环境,但在MCUXpresso 安装程序中点击安装按钮时出现错误。除其他事项外(我遵循了恩智浦在 LinkedIn 上发布的简短教程),我还设置了Zephyr Developer以进行安装。 教程:https://www.nxp.com/company/about-nxp/smarter-world-videos/HELLO-WORLD-DEMO-ZEPHYR-VID 系统要求我输入密码数十次(Linux 系统),但每次安装程序执行这一行时都会出错: [info] Executing command "pkexec apt -y install python7.4-venv" python7.4还存在吗? 然后我就收到了这些信息: [error] Command pkexec exited with code 100. [error] The python virtual environment module could not be installed. [error] Error occurred while installing Zephyr Python Dependencies: The virtual environment cound not be created. Skipping... 这不是拼写错误。看看这张图片: Captura de pantalla de 2025-12-04 23-39-26.png 有什么提示吗?我错过了什么吗? 先谢谢你了! Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 您好!感谢您的及时回复。抱歉,上一篇文章没有提供详细资料。 fjrg76@fjrg76-amd:~$ cat /etc/os-release NAME="Linux Mint" VERSION="22.2 (Zara)" ID=linuxmint ID_LIKE="ubuntu debian" PRETTY_NAME="Linux Mint 22.2" VERSION_ID="22.2" HOME_URL="https://www.linuxmint.com/" SUPPORT_URL="https://forums.linuxmint.com/" BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/" PRIVACY_POLICY_URL="https://www.linuxmint.com/" VERSION_CODENAME=zara UBUNTU_CODENAME=noble fjrg76@fjrg76-amd:~$ whereis python3 python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz fjrg76@fjrg76-amd:~$ which python3 /usr/bin/python3 fjrg76@fjrg76-amd:~$ ls -ls /usr/bin/python* 0 lrwxrwxrwx 1 root root 10 nov 12 06:15 /usr/bin/python3 -> python3.12 7832 -rwxr-xr-x 1 root root 8016832 nov 6 07:44 /usr/bin/python3.12 0 lrwxrwxrwx 1 root root 34 nov 6 07:44 /usr/bin/python3.12-config -> x86_64-linux-gnu-python3.12-config 0 lrwxrwxrwx 1 root root 17 nov 12 06:15 /usr/bin/python3-config -> python3.12-config 4 -rwxr-xr-x 1 root root 945 dic 11 2023 /usr/bin/python3-qr 还有安装人员: MCUXpresso Installer Changelog Version 25.09.179 Improvements -Introduced mechanism to exclude component versions that may lead to compatibility issues. 如果您需要更多信息,请不要犹豫。 Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 你好@fjrg76、 能否请您再详细介绍一下这个问题? 你使用的是什么 Linux 发行版?您可以运行 cat /etc/os-release 您使用的是哪个版本的安装程序?您可以在右侧菜单的 "关于 "部分找到这些信息。 您的系统上安装了哪些 Python 版本?您可以运行这些命令进行验证: whereis python3 which python3 ls -ls /usr/bin/python* 谢谢, Alexandra Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 感谢@fjrg76 提供更多细节! MCUXpresso 安装程序错误地将 python3-qr 模块理解为 Python 版本。我们将在下周的版本中解决这个问题。在此期间,您可以通过卸载 python3-qr 模块,运行 MCUXpresso 安装程序设置,然后重新安装模块来临时解决这个问题。   此致, 亚历山德拉 Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 好了,变通方法奏效了! 但是,要删除的软件包叫做 python3-qrcode。Warpinator程序也被淘汰: $ sudo apt remove python3-qrcode Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Leyendo la información de estado... Hecho Los siguientes paquetes se ELIMINARÁN: python3-qrcode warpinator ... 好消息是,我在使用变通方法后恢复了Warpinator。 谢谢,别忘了在发布之前测试你的版本 😃 Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 你好! 这样的包不存在: E: 没有找到 python3-qr 套件 在 Google 上快速搜索"python3-qr" ,没有任何结果。您的意思是:"python3-qrcode" ? $ dpkg -l | grep python3 | grep qr python3-qrcode 7.4.2-4 所有 QR 码图像生成器库 - Python 3.x
記事全体を表示
[S32K311][MultiPartition]:在 S32K311 上设置多分区时 SPI 初始化失败 你好,团队、 李尔的问题如下 ------------------------------------------------------------------------------------- 我们正在单核 ECU (S32K311) 上实施多分区,在 SPI 驱动程序初始化过程中遇到了一个问题。 观察结果: SPI 驱动程序调用 OsIf_timer.c 中的 OsIf_GetPartitionID(),以获取当前分区 ID 并将其用作 SpiID。但是,该 ID 与 SpiCorePartitionUse 中的值不匹配,尽管两者都是为同一个 ECUC 分区配置的。由于这种不匹配,驱动程序会触发信号 DET 错误,无法初始化外围设备。 调试时发现的问题: 函数 OsIf_apxMultiPartitionPredefinedConfig 返回一个 SPI 驱动程序不期望的值。这似乎是造成不匹配的原因。 初步分析表明,该问题可能与 Vector DaVinci/Tresos 工具的配置生成有关。 影响 SPI 在多分区模式下无法完成初始化,导致通信功能受阻。 ------------------------------------------------------------------------------------- BR Stefano RTD Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 因为他们提到了OsIf_apxMultiPartitionPredefinedConfig,所以我认为他们使用的是 ASR OS。 那么,在这种情况下,函数 GetApplicationID() 返回的是什么值? 请将它们的配置发送给我,包括EcuC、Os、Spi、BaseNXP。 生成以下结构的输出 他们使用的是什么软件包? 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 请帮助我读取 SPI_Init() 函数中的以下参数: - SpiId? - 他们向函数 Spi_Init() 传递了什么配置? 像这样: 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 请告诉我附件是否足够。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 李尔回答道: Spi_Init(&Spi_Config_EcucPartition_C0_B); 这是我们在 Init 函数中传递的信息,SPI_ID 从分区 ID api 中读取,但没有正确链接到操作系统应用程序 ID。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 这是他们申请中的操作系统: 他们将Spi_Config_EcucPartition_C0_B传递给了Spi_Init(),因此 SPI_ID 必须是下面的值: 在这种情况下,u32AppId 必须为 1 才不会出现 Det 错误。但 OS_GetApplicationID() 函数属于 RTOS 而非 RTD,因此请标记 RTOS,以便有人能帮助获取该函数。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 下面是李尔的答复: 在我们的案例中,SPI ID 和操作系统应用程序不匹配。我们认为,就 ASIL 而言,它应该返回 1,但它却返回 0,导致配置不匹配。请看下面的快照。 如果你愿意,我们可以开个短会,我可以向你详细介绍。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 我不知道 RTOS 是如何工作的,也不知道在 RTOS 中如何从函数 GetCurrentApplicationID() 返回值。但如果想保持 u32AppID = 0 为当前值,避免出现 Det 错误,则可以按下面的方法操作: 然后,生成的文件是 这意味着,如果 u32AppId = 0,SpiID = 0; u32AppId = 1,SpiID = 1; 在 SPI 中,生成的文件是 这意味着 Spi_Config_EcucPartition_C0_QM->u32SpiCorePartitionUse = 1; Spi_Config_EcucPartition_C0_B->u32SpiCorePartitionUse = 0; 在另一种情况下,他们想将 u32AppID 更改为其他值,那么@StefanoGattazzo请添加 RTOS 标记并移除 RTD 标记,以便 RTOS 的人员可以帮助您。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 抱歉,我对此一无所知。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 HI Nhi_Nguyen, 我能问谁? BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 请删除 RTD,我看到您添加了 RTOS 标签,我们团队会有人回答您的问题。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 如果您认识某个人,我可以直接询问--现在情况紧急。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好,团队、 李尔正在写作: 不,我们使用的不是恩智浦操作系统,而是矢量操作系统。OSIF 参考来自基础元器件。 我们目前正在开发一个 POC,其中 SPI 驱动程序被分区,这样 LPSPI2 是专用的,用于质量管理应用程序,而其余的 LPSPI 模块则用于 ASIL B 应用程序。 根据 RTD 用户手册,这要求每个分区分别调用两次 Spi_Init()。因此,我们首先从 ASIL B Os Application 调用 Spi_Init()函数,然后再从 QM Os Application 调用 Spi_Init()函数,并为每个函数传递正确的配置指针。 我们看到,在 Spi_Init()函数中调用了 Spi_GetID(),然后又调用了 GetCurrentApplicationID()(如下截图所示) 下面是 Os 生成的枚举。ASIL B Os 应用程序调用 GetCurrentApplicationID() 时,返回 0。 QM Os 应用程序调用 GetCurrentApplicationID() 时,返回 1。 在 OsIf_GetPartitionID 中,Os 返回的值用于获取在数组 OsIf_apxMultiPartitionPredefinedConfig 中配置的分区编号。 OsIf_apxMultiPartitionPredefinedConfig 中的值如下 当 QM 应用程序调用 Spi_Init()时,Spi_GetID() 返回的值为 1(GetCurrentApplicationID() 返回 1,OsIf_apxMultiPartitionPredefinedConfig 的索引 1 也是 1)。 但生成的 SPI 配置不符合预期值,Det 会收到错误报告。 是什么影响了 MCAL 在 Spi_Config 和 OsIf_apxMultiPartitionPredefinedConfig 中生成的值? BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 以下是我从您所附项目中获得的配置 Spi、Ecu、Os。 EcuC 用于定义分区 ID,例如在他们的配置中,QM 是 0 分区,C0_B 是 1 分区,System 是 2 分区。 然后,Os 选择从 EcuC 获取分区 ID 的分区。例如 SPI:C0_B 为分区 1,C0_M 为分区 0。 操作系统:结构 OsIf_apxMultiPartitionPredefinedConfig 也指 EcuC 中的分区 ID。例如,在他们的配置中: 应用程序 0 - 系统 - 分区 2; 应用 1 - C0_B - 分区 1; 应用 2 - C0_M - 分区 0; 因此,如果要将 C0_B 传递给 Spi_Init(),也就是将分区 1 传递给 Spi_Init(),那么 OsIf_apxMultiPartitionPredefinedConfig[x] = 1; 或者 x = 1; x = GetCurrentApplicationID(); 所以,有了他们在最新回复中展示的照片: 在 Spi 中,C0_B 是分区 1; C0_M 是分区 2; 这意味着,在 EcuC 中,索引 0 是系统分区;索引 1 是 C0_B 分区;索引 2 是 C0_M 分区。 总之,根据 Os、Spi、EcuC 的上述定义,他们可以调整分区配置以避免 Det 错误。 顺祝商祺! Nhi
記事全体を表示
S32Z/E の SMU_M33 で CAN LLCE を使用できますか? S32Z/E の LLCE パッケージでは、サンプルでは常に RTU_R52 を使用して LLCE ファームウェアをロードおよび使用していますが、SMU_M33 を使用して同じ機能を実行できるかどうかを知りたいです。もしSOなら、何を変更する必要がありますか? Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、 zyt 次の図のように、S32ZE_GreenVIP_1.3.0/doc/UM_S32ZE_GreenVIP.pdf を参照してください。 SMUはFlexLLCEの初期化、CAN_HUBの設定に使用できます。 リソース マネージャーによって。 RTU は通信モジュールを直接使用し、IPCF を使用した FlexLLCE とのデータ交換を行います。 Joey_z_0-1764818044183.png BR ジョーイ Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、 zyt お問い合わせいただきありがとうございます。 この質問を確認するお手伝いをさせていただきます。 BR ジョーイ Re: Can LLCE used with SMU_M33 in S32Z/E? SMUを使用して、LLCEの初期化だけでなく、LLCEルーティング機能すべてに対応できますか?RTUは関与しないのでしょうか? Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、zyt ご返信よろしくお願いします。 SMUを使用して、LLCEの初期化だけでなく、LLCEルーティング機能すべてに対応できますか?RTUは関与しないのでしょうか? >>> SMU を使用して LLCE ファームウェアをロードし、LLCE ルーティング機能を設定しますか? また、SMU を使用して FlexLLCE とデータを交換しますか? BR ジョーイ Re: Can LLCE used with SMU_M33 in S32Z/E? はい、CAN2CAN、CAN2ETH、ETH2CAN などのルーティング関連のすべての機能を SMU と LLCE で実行し、 RTU は参加させません。 Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、zyt 返信が遅くなり申し訳ありません。 現在、FlexLLCE のソフトウェア ドライバとファームウェアは、ホスト アプリケーション用の RTU R52 コアの使用のみをサポートしています。現時点では、これを SMU CM33 コアに移植する予定はありません。 BR ジョーイ
記事全体を表示
PN7160 PN7220 Android 15 Porting to i.MX8MN EVK Introduction We have an official PN7160/PN7220 Android 15 porting guide (PN7160/PN7220 – Android 15 porting guide). But the patches only for Android 15 AOSP r1 (android-15.0.0_r1). If customer want to porting to the newer release of AOSP, there will have many errors during the source code compiling. This document is for customer reference to solve the error one by one.  NOTE :  All the modifications are just for reference. They are NOT a NXP official patches for the newer release of AOSP porting. So the modifications may not be the best solution. Customer please base on their needs to modify the AOSP source code.  Hardware boards: i.MX8MN EVK PN7160 EVK PN7220 EVK Build the Android for i.MX8MN EVK The i.MX Android BSP that I used is Android 15.0.0_2.0.0 (L6.12.20_2.0.0 BSP). It could be downloaded from here: Android OS for i.MX Applications Processors | NXP Semiconductors 1. Download the "Documentation" and the "Install Source Package".  2. Follow the Android User's Guide to build the Android BSP for i.MX8MN EVK first.  According to the android_build/.repo/manifests/aosp-android-15.0.0_2.0.0.xml, you will see the AOSP version is android-15.0.0_r32. Now, follow the PN7160/PN7220 – Android 15 porting guide to porting the NFC to i.MX Android BSP.  1. Kernel Driver : To establish connection with the PN7220 or PN7160, the Android stack uses the nxpnfc kernel driver.  You could download the driver from github below: nfcandroid_platform_drivers/drivers at br_ar_16_comm_infra_dev · nxp-nfc-infra/nfcandroid_platform_drivers · GitHub git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" -b br_ar_16_comm_infra_dev There is driver for Kernel 6.6 and 6.12. So, please download the correct one for your porting. For example, the kernel in i.MX Android BSP Android 15.0.0_2.0.0 is 6.12. So I will use the 6.12 driver for my porting. In your porting, make sure the PATH in Makefile and Kconfig files are setting properly.  For example in my porting: android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ tree . ├── Kconfig ├── Makefile └── pn7160         ├── common.c         ├── common.h         ├── i2c_drv.c         ├── i2c_drv.h         ├── Kbuild         ├── Kconfig         ├── Makefile         ├── spi_drv.c         └── spi_drv.h 1 directory, 11 files android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Makefile # # Makefile for the kernel nfc device drivers. # obj-y += pn7160/ android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Kconfig source "drivers/nfc/pn7160/Kconfig" 2. Adding the "nxpnfc" to the i.MX8MN EVK device tree file. Show the connections table on the board. Show the pictures &i2c3 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c3>; pinctrl-1 = <&pinctrl_i2c3_gpio>; scl-gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>; status = "okay"; nxpnfc@28{ compatible = "nxp,nxpnfc"; reg = <0x28>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_nfc>; nxp,nxpnfc-irq = <&gpio3 22 0>; nxp,nxpnfc-ven = <&gpio3 20 0>; nxp,nxpnfc-fw-dwnld = <&gpio3 21 0>; }; &iomuxc {         pinctrl_nfc: nfcgrp {                 fsl,pins = <                         MX8MN_IOMUX_SAI5_RXC_GPIO3_IO20                 0X19  // VEN                         MX8MN_IOMUX_SAI5_RXD0_GPIO3_IO21                0X19  // FW-DWNLD                         MX8MN_IOMUX_SAI5_RXD1_GPIO3_IO22                0X19  // IRQ                 >;         }; Show the schematic.  3. Modify the imx8mn_gki.fragment nano vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment Add the CONFIG_NXP_NFC_I2C=m 4. Go to the device/nxp/imx8m/evk_8mn/  Modify the BoardConfig.mk. # selinux permissive +BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive BOARD_SEPOLICY_DIRS := \        $(CONFIG_REPO_PATH)/imx8m/sepolicy \        $(IMX_DEVICE_PATH)/sepolicy  \ +       vendor/nxp/nfc/sepolicy \ +       vendor/nxp/nfc/sepolicy/nfc ShareBoardConfig.mk     $(KERNEL_OUT)/drivers/net/phy/realtek.ko \     $(KERNEL_OUT)/drivers/pps/pps_core.ko \     $(KERNEL_OUT)/drivers/ptp/ptp.ko \     $(KERNEL_OUT)/drivers/net/ethernet/freescale/fec.ko +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko endif     $(KERNEL_OUT)/drivers/trusty/trusty-core.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-log.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-ipc.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-virtio.ko \ +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko else BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \     $(KERNEL_OUT)/drivers/input/touchscreen/goodix_ts.ko \     $(KERNEL_OUT)/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.ko Endif Compatibility_matrix.xml             netutils-wrapper         1.0                 android.hardware.emvco         1                      IEmvco             default             device_framework_matrix.xml             nxp.hardware.secureime         1                     ISecureIME             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         android.hardware.emvco         1                     IEmvco             default             evk_8mn.mk # -------@block_bluetooth------- # Bluetooth HAL PRODUCT_PACKAGES += \     android.hardware.bluetooth \     android.hardware.bluetooth-service.default.nxp # NXP 8987 Bluetooth vendor config PRODUCT_PACKAGES += \     bt_vendor.conf # ------nfc------- $(call inherit-product, vendor/nxp/nfc/device-nfc.mk) $(call inherit-product, vendor/nxp/emvco/device-emvco.mk) PRODUCT_PACKAGES += \         android.hardware.nfc-service.nxp PRODUCT_PACKAGES += \         com.nxp.emvco \         com.nxp.nfc \         nfc_nci_nxp_pn72xx # -------@block_usb------- Init.rc on post-fs && property:vendor.skip.charger_not_need=0     # Swap in only 1 page at a time     write /proc/sys/vm/page-cluster 0     # Grant permission for fetching available_pages info of statsd     chown system system /proc/pagetypeinfo     chmod 0440 /proc/pagetypeinfo     exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d \     /vendor/lib/modules nxpnfc_i2c     write /sys/power/wake_lock nosleep on post-fs-data && property:vendor.skip.charger_not_need=0     setprop vold.post_fs_data_done 1 ueventd.nxp.rc /sys/devices/virtual/thermal/thermal_zone* trip_point_0_hyst 0660 system system /sys/devices/virtual/thermal/thermal_zone* trip_point_1_hyst 0660 system system /dev/dmabuf_imx           0664   system     system /sys/class/backlight/* brightness 0660 system system /dev/ttymxc1              0666   nfc   nfc /dev/ttymxc2              0666   nfc   nfc /dev/nxpnfc               0666   nfc   nfc # for libcamera /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera 5.  hardware/interfaces/compatibility_matrices/compatibility_matrix.202404.xml             android.hardware.wifi.hostapd         1                     IHostapd             default                         android.hardware.wifi.supplicant         2                     ISupplicant             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         vendor.nxp.emvco         1                     INxpEmvco             default             6.  android_build/vendor/nxp/nfc/device-nfc.mk android_build/vendor/nxp/emvco/device-emvco.mk Two approach. 1. NXP NFC Patch to Android AOSP and then build. If the Android release is too new, It will be a lot of errors, 2. Copy the R1 files to R30 first, then run NXP NFC patch. Then build. I use the second. Download the AOSP R1 source code. Copy the R1 replace the folders below. Apply the patches. build the code. Here is the error list and the reference solution.
記事全体を表示
i.MX6DL PCIe x1 Gen1 链路训练失败 我们使用的是运行内核 5.10.235 的 i.MX6DL,出现了 PCIe Gen1 链路训练问题。日志显示,链接训练从未完成--链接在不断地重新训练。Debug0 寄存器显示链路不稳定,表明某些东西正在触发信号再训练。 观察到的 LTSSM 过渡: L0 → S_POLL_CONFIG → S_RCVRY_RCVRCFG → S_CFG_LINKWD_START → S_POLL_CONFIG 我们还注意到,尽管 pcii-imx6.c 和 pcii-imx6.c 寄存器的 LnkCap 寄存器值(每个电源周期)都会发生变化,但 LnkCap 寄存器的值并没有改变。和 pcie-designware.c为 Gen1 明确配置链路。还有什么可能会修改这个寄存器? 示例: 情况 1:0x1ffc07c = 值 0x0011cc12 LnkCap:端口 #0,速度 5GT/s,宽度 x1,ASPM L0s/L1,退出延迟 L0s<1us,L1<8us LnkCtl2:目标链接速度 2.5GT/s 情况 2:0x1ffc07c = 值 0x00100001 LnkCap:端口 #0,速度 2.5GT/s,宽度 x1,ASPM L0s/L1,退出延迟 L0s<1us,L1 无限制 LnkCtl2:目标链接速度 2.5GT/s 此外,禁用加扰器似乎能稳定链路: devmem2 0x1ffc710 w 0x00010122 查找以下信息: 1.最初达到 L0 后会触发信号链路再训练什么? 2。还有哪些硬件/软件部分可能会修改 LNKCap? 详情请见附件。 Re: i.MX6DL PCIe x1 Gen1 Link Training Failure 你好 1。关于达到 L0 状态后可能触发链路重新训练的因素: -PCIe 通道上的信号完整性问题可能导致链路不稳定 -电源波动或噪声影响 PCIe PHY -时钟抖动或 PCIe 参考时钟不稳定-与 PCIe 走线阻抗或长度匹配 相关的硬件设计问题 -可能引发不必要的重新训练的软件/驱动程序错误 2. 对于波动的 LnkCap 寄存器值: -寄存器可以通过硬件初始化序列和软件驱动程序进行修改 -在 i.MX6 PCIe 实现中,都是 pci-imx6.c和 pcie-designware.c尝试配置链路参数 -链路能力协商在训练期间进行,值可能会根据终端设备报告的内容进行调整。 您观察到禁用加扰器会稳定链路 (devmem2 0x1ffc710 w 0x00010122),这表明存在潜在的信号完整性或时钟问题。这与之前通过硬件调整解决 i.MX6 平台 PCIe 链路稳定性问题的情况一致。 我建议查阅 i.MX 6Dual/6Quad 和 i.MX 6Solo/6DualLite " 的应用笔记 AN4784 " PCIe 认证指南,其中包含专门针对 i.MX6DL 平台的详细PCIe SERDES 设置信息。本文档提供全面的 PCIe 认证指导,有助于解决间歇性链路培训故障。 对于特定的持续再训练问题,请考虑: -验证 PCIe 参考时钟信号质量和抖动 -检查 PCB 设计中的走线长度是否匹配-确认 PCIe 通道上的端接和阻抗正确 -检查负载条件 下的电力轨道 稳定性您看到的 LNKCap 寄存器修改可能与初始化序列期间的硬件级寄存器访问有关,可能受到 PHY 校准变化的影响。 此致 Re: i.MX6DL PCIe x1 Gen1 Link Training Failure 再补充一些细节。 根据下面的观察结果,禁用加扰器时 Gen1 链路是稳定的。有没有办法强制主机只进行第一代训练,而不尝试第二代? * LnkCap is 5GT/s root# lspci -s 00:00.0 -vv |grep LnkCap LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 root# devmem2 0x1ffc07c /dev/mem opened. Memory mapped at address 0xb6f5c000. Read at address 0x01FFC07C (0xb6f5c07c): 0x0011CC12 <<< gen2 root# ltssm_debug.sh |grep curr LTSSM current state | 0x7 | S_CFG_LINKWD_START LTSSM current state | 0x11 | S_L0 LTSSM current state | 0x7 | S_CFG_LINKWD_START LTSSM current state | 0xf | S_RCVRY_RCVRCFG * Setting Lnkcap to gen1 but value is getting overwritten root# devmem2 0x1ffc07c w 0x00100011 root# devmem2 0x1ffc07c /dev/mem opened. Memory mapped at address 0xb6fb1000. Read at address 0x01FFC07C (0xb6fb107c): 0x0011CC12 root# ltssm_debug.sh |grep curr LTSSM current state | 0x7 | S_CFG_LINKWD_START LTSSM current state | 0xf | S_RCVRY_RCVRCFG LTSSM current state | 0x7 | S_CFG_LINKWD_START * Disable scrambler root# devmem2 0x1ffc710 w 0x00010122 root# devmem2 0x1ffc710 /dev/mem opened. Memory mapped at address 0xb6f66000. Read at address 0x01FFC710 (0xb6f66710): 0x00010122 * LnkCap was set to Gen1 again, and the value remains stable. root# devmem2 0x1ffc07c w 0x00100011 root# devmem2 0x1ffc07c /dev/mem opened. Memory mapped at address 0xb6f0a000. Read at address 0x01FFC07C (0xb6f0a07c): 0x00100011 * Gen1 changes reflected here root# lspci -s 00:00.0 -vv |grep LnkCap LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM not supported root:~# ltssm_debug.sh |grep curr LTSSM current state | 0x11 | S_L0 LTSSM current state | 0x11 | S_L0 Link stable. 谢谢! Re: i.MX6DL PCIe x1 Gen1 Link Training Failure 你好 感谢您的指点。 但是,如果我们强制将链路速度设为 Gen1,那么在什么情况下,硬件仍能将链路能力宣传为 Gen2 并启用ASPM 相关选项? 例如,我们看到 LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us 我们还在训练序列中观察到5 GT/s和自主变化 TS1。 TS1/TS2 日志附后。 谢谢!
記事全体を表示
Is DDR ISSI LPDDR4 IS46LQ32K01S2A-046BLA1 compatible and supported with iMX8MPlus Processor? Hi, We are working with on a hardware with iMX8MPlus processor. We intend to use the ISSI LPDDR4 P/N IS46LQ32K01S2A-046BLA1 as the memory source.   We request a confirmation from NXP engineers that the ISSI IS46LQ32K01S2A-046BLA1 is fully compatible and validated for use with the NXP i.MX8MP processor. Adding links to members: @pradeep_t  @GOWRIPRIYA_G  Re: Is DDR ISSI LPDDR4 IS46LQ32K01S2A-046BLA1 compatible and supported with iMX8MPlus Processor? Hi @naikabhishek, Thank you for contacting NXP Support! According to our memory compatibility guide, the part number that you want to use is compatible with iMX8MP. We have validated the S46LQ32K01S2A-046BLA2 and IS43LQ32K01S2A-046BLI, according with the datasheet the part with ending A1 only changes the temperature range. Best Regards, Chavira
記事全体を表示
S32K312: I2CおよびADCトリガーの問題 弊社のお客様は S32K312 100 ピンを使用して開発を行っており、次のような問題に直面しています。どのように彼らを導けばよいかアドバイスをいただけますか? 問題ステートメント1: I²Cの問題(SBC):I²Cモジュールは、初期化直後、転送が開始される前にバスがビジー状態(BBF = 1)であると報告します。バスがアイドル状態にならないため、マスターはSEND操作を完了できず、それ以上のI²Cアクティビティは発生しません。 問題2 : BCTUからのADCトリガーが機能しません。1つのPWM_TriggerチャネルがBCTUを使用してADCをトリガーするように設定されており、その結果はDMAバッファに保存されるはずですが、実際にはそうではありません。 #S32K312 優先度: 重要 Re: S32K312 : I2C and ADC Trigger issues こんにちは@YukoKintoさん、 お客様が使用した RTD パッケージのバージョンは何ですか? 設定ファイル(.arxml または .xdm)を送っていただけますか?i2c、Adc、Pwm、ポートのファイルとフロー コードはありますか? よろしくお願いいたします。 ダン
記事全体を表示
如何在全新项目(自定义板)中设置 CMake 以正确添加/参考 MCUXpresso SDK 你好,恩智浦社区! 我正在尝试建立一个新的资源库,以便在 MCXN947 上编译代码。目标是建立一个支持 MCXN947 的多个板变体的单一存储库(在我的项目中被称为 " dcm "、dcm1212 " 和 " mcxn947-eval ")。最后一个(mcxn947-eval)以 MCXN947 的 FDR 板为基础,上面附有子板。目前只有它能编译,所以如果您正在研究这个问题,不用担心其他的。 在我当前的文件夹结构中,我希望有(见所附项目): -我的应用程序层的应用程序文件夹 -ecu 文件夹,用于将不同的板变体抽象到应用程序中(根据通过 CMake 预设选择的变体编译一个子文件夹) -我的部分库子模块的模块文件夹,包括用于抽象应用程序 sdk 的通用 HAL 层 -mcuxpresso-sdk 文件夹包含我的 sdk 对于 SDK 文件夹,我使用了 Github mcuxsdk-manifests 并对 yml 进行了自定义,使其仅提取 MCXN 系列和我感兴趣的元器件。对于查看所附项目的任何人来说,在 mcuxpresso-sdk 文件夹内进行简单的"west update" 就能得到我需要的东西。 我现在似乎很难弄明白如何设置 CMake 系统,让所有内容都能很好地编译在一起。我的大多数项目都使用 CMake 库的概念,以干净、漂亮的方式添加每个子文件夹。但是,我无法使用 SDK 做到这一点。 目前,我的最佳解决方案是手动添加 SDK .c我需要在 ecu\ sources\ mcxn947-eval\ 板 CMakeLists 里面的文件。老实说,这样做非常麻烦,而且不能完全奏效(例如,在 peripherals.c 中初始化 FlexComm硬件故障)。我看了恩智浦社区的一些帖子,但似乎都不适合我。我在使用它们时总是会遇到一些编译或配置问题。 注意:由于最终的生产版本(dcm 和 dcm1212)将在自定义板上运行,所以我正在尝试摆脱 " 板定义的 " 设置。这就是为什么 mcxn947-eval 目前不使用 SDK 中的 frdm 板设置的原因。 MCX N Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我认为你可以使用这种结构。 repo/ │ ├─ app/ # 应用层(与主板无关)├─ ecu/ │ ├─ dcm/ │ ├─ dcm1212/ │ └─ mcxn947-eval/ # 基于 FRDM 的自定义变体 │ ├─ 模块/ │ └─ hal_generic/ │ │ mcuxpresso-sdk/ # 从西部拉出 SDK CMake 系统已经知道哪些文件属于每个元器件。您不应手动列出这些内容。 BR 哈利 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 谢谢你,哈里。 我同意这是最适合我的项目的结构。我的问题是不知道如何在项目根目录下创建 CMake,以正确添加和编译 application/ecu/modules 文件夹和 sdk 文件夹。 对于我手动编写的 ony,我只需通过 CMake"add_subdirectory" 进行编译,其中每个子文件夹都将包含各自的 CMake,以创建 CMake 库。然后,我通过"traget_link_libraries" 在 CMake 根目录中将它们链接在一起。我举了这两个 CMake 的例子,就像我现在一样(稍微简化了一点,这样我们就不用担心不同的版本目标了)。 我缺少的是如何将SDK添加到这个整体版本系统中,并确保我的ecu文件夹可以访问它。 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我刚测试过。 结构是 Harry_Zhang_0-1765438042376.png Harry_Zhang_1-1765438058379.png Harry_Zhang_2-1765438077914.png BR 哈利 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我们采用了拖放功能,使用户更容易向项目中添加源代码。该功能目前是一项试验性功能,用户必须在分机设置中启用。用户只需将源代码放入项目,项目的 CMakeLists.txt 文件就会自动更新。 要启用该功能: 打开扩展设置 选中启用将文件添加到项目 重新启动工作区 Harry_Zhang_0-1765419423926.png 对于硬件故障,请检查时钟、引脚复用器等是否存在冲突。 最后要启用自定义板(在 mcuxsdk 存储库之外),请按照 https://mcuxpresso.nxp.com/mcuxsdk/latest/html/develop/sdk/custom_board_development.html#enable-a-cu 中的步骤操作... BR 哈利 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 您能否分享该示例中 CMakeList.txt 根目录的内容? Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 事实上,@Harry_Zhang,您是否介意分享一下您在这里设置的整个项目? 感谢你们迄今为止提供的所有帮助! Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我刚刚测试了我下载的这个示例。 Harry_Zhang_0-1765788298872.png 您可以下载它。 定制板开发 — MCUXpresso SDK 文档 BR 哈利
記事全体を表示
S32G2 BSP42.0でカーネルイメージ認証を有効にできませんでした こんにちは、エキスパート これは Ceer-Hirain からの緊急CASEです。BSP42.0 でカーネル イメージ認証を有効にできませんでした。 お客様の問題ステータス: 1.お客様は、Foxconn のコードベースの ATF と Foxconn のボードを使用しました。彼らはS32G2 BSP42.0の第10章に従った。UM は ATF とカーネル イメージの両方の認証を有効にします。詳しい手順は添付しております。テスト ログには、「bootm 0x80000000」を実行した後にカーネル イメージが見つからないことが示されましたが、iminfo コマンドではカーネル イメージを取得できないことが示されました。 2. お客様に、ステップ 9 の後に再生成された ATF バイナリを次のコマンドを使用して SD カードに書き込むように依頼しました。 dd if=fip.s32 of=/dev/sdb seek=512 skip=512 iflag=skip_bytes oflag=seek_bytes conv=notrunc,fsync BSP42.0ではこのステップが抜けていると思いますうーん。しかし、お客様は、再生した ATF を SD カードに書き込むと BL31 が起動に失敗すると報告しました。 3. また、お客様に NXP が github でリリースした ATF を使用するように依頼しましたが、ATF で以下のようなエラーが報告されました。 私がしたこと: 1.私はS32G2 BSP42.0の10.6.2章の手順に従っただけですRDB2 のカーネル認証を有効にする UM。添付の詳細な手順を参照してください。 2.再生したATFをSDカードに書き込みます 3. テスト ログにはカーネル イメージと dtb ファイルが正常に検証されたことが示されましたが、カーネル イメージのロード後にシステム リセットがトリガーされました。 私の分析: お客様はサードパーティ(Foxccon)のテストボードとATFを使用していたので、 Foxcon は、ATF と BSP に何らかの変更を加えて、自社のボードに適用した可能性があります。執筆 生成された ATF により、お客様側で BL31 のブート失敗が発生します。再生成された fip.s32 には、追加の署名ハッシュ値を持つ DTB が含まれます (mkimage ツールを使用してカーネルと fdt に署名)。SO、BL31 メモリが追加の署名ハッシュ値によって上書きされる可能性があります。 1. システム リセットがトリガーされる理由について、私の手順と分析を確認してください。 2. お客様の問題について、お客様の手順を確認し、ヒントを提供していただけますか?いくつかの設定を確認していただけますか? Linux BSP 優先度: 高 Re: Failed to enable kernel image authentication in S32G2 BSP42.0 お客様はATFの主な変更を提供しました Re: Failed to enable kernel image authentication in S32G2 BSP42.0 はい、これについては言及されていませんが、暗示されていると思いました。ただし、必要であればこの詳細をCAN追加します。 ただし、itb 構成の例を提供しており、それを使用すると動作します。また、verifiedboot は Yocto で自動化されているため、多くの手動手順を実行せずに、verififedboot を Yocto で高速化できます。 DISTRO_FEATURES:append = " verifiedboot" でビルドするだけです Re: Failed to enable kernel image authentication in S32G2 BSP42.0 こんにちは、 たとえば、0x80000000 で fatload を使用して ITB をロードする場合、ITB が収まるように 0x80000000 からの十分なスペースがあることを確認する必要があります。次に、ロード時に ITB に設定された値によって、ITB から新しいメモリ位置へのカーネルのアンパックに十分なスペースが確保されることを確認する必要があります。このCASEでは、ITB がロードされたときと同じメモリ アドレス (0x80000000) でカーネルが ITB からアンパックされ、破損が発生し、ブートローダがボードを再起動します。動作させるためには、ロードを 0x80000000 ではなく 0x82000000 (ITS/ITB 構成) に変更するか、ITB を別のメモリ位置にロードすることをお勧めします。 よろしくお願いいたします。 ミハイ Re: Failed to enable kernel image authentication in S32G2 BSP42.0 はい、メールで述べたように、私も後の実験でこの詳細を見つけましたが、BSP UMではこの詳細は言及されていません。 Re: Failed to enable kernel image authentication in S32G2 BSP42.0 こんにちは、ミハイ お客様に Yocto を使用してセキュア機能を自動的に有効にするように依頼したところ、以下のように ATF が BL31 または BL33 の起動に失敗するという同じ問題が発生したと報告されました。 メールで述べたように、お客様も私が共有した手順に従ってカーネル イメージ認証を手動で有効にしましたが、私の側ではそれが機能することが証明されていますが、同じ問題が発生しました。 この問題は以下の 2 つの要素に焦点を当てています。 1. お客様は変更された dtb ファイルを使用して ATF を再構築しました。この dtb ファイルには、カーネル イメージの認証に使用される追加の公開キーが含まれています。変更されていない dtb ファイルを使用して ATF をビルドすると、ATF は正常に起動します。 2. ATF はお客様によって変更されています。以前のコメントに添付されている ATF のパッチ ファイルを参照してください。 お客様に、ATF コードをデバッグしてスタックポイントを見つけるように依頼しました。お客様はこのプロセスに取り組んでいます。FUTUREにはお客様とのオンラインデバッグ会議が行われる可能性があります。私は ATF の専門家ではないので、ソフトウェア チームも会議に参加できることを願っています。添付ファイルは、正常に起動できないお客様のATF dtbとfip.binです。 ところで、ソフトウェア チームは、根本原因を調査するために、お客様からさらに追加情報を入手し、より多くの提案を得る必要がありますか? Re: Failed to enable kernel image authentication in S32G2 BSP42.0 こんにちは、アーサー。 UM からステップ 8 を実行するときに、結果の dtb を dts に戻し、meld を使用して入力と出力の dtb を確認するように指示してください。( は、meld なしでは動作しますが、meld があると動作しないため) これはビルドの問題だと思います。適切な入力 dtb が 1 つありますが、手順 8 を実行した後、結果はハードウェアと一致しない別の dtb になります。 よろしくお願いいたします。 ミハイ
記事全体を表示
我们可以同时在不同的设备上使用 MCX nx4x FlexSPI PortA 和 PortB 吗。 你好,恩智浦、 我们可以使用 FlexSPI 连接硬件并同时使用两个设备吗? PortA->或非 FLASH 端口 B->PSRAM 还有任何配置示例可供参考吗? 非常感谢您 MCX N Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. 嗨,哈里、 根据 Spark 的描述,我们应该检查 device_config 和 clk 源吗? 我看到 typedef struct _flexspi_config { ...... #if defined(FSL_FEATURE_FLEXSPI_SUPPORT_SEPERATE_RXCLKSRC_PORTB)&& FSL_FEATURE_FLEXSPI_SUPPORT_SEPERATE_RXCLKSRC_PORTB flexspi_read_sample_clock_t rxSampleClockPortB; /*!< 用于闪存读取的采样时钟源_b 选择。*/ #endif 1.使用端口 A 和端口 B 时,是否需要使用单独的 rxclks 源? 2.我们是否应该检查传递给 FLEXSPI_SetFlashConfig() 的&deviceconfig? Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. 嗨,哈里、 示例代码仅提供如何在 PortA 上访问 NOR Flash ID,我尝试添加代码以在 MCX-N5XX-EVK 上连接 PSRAM 的情况下访问 PortB。以下是实验结果供你参考: FlexSPI 设置: PortA->或非 FLASH 端口 B->PSRAM 测试用例 1:成功 初始 PortA 和读取 PortA 闪存 ID(1 字节) Sparklin_0-1752651824941.png 测试用例 2:成功 初始端口 B 和读取端口 B 闪存 ID(1 字节) Sparklin_1-1752651987591.png 测试用例 3:失败 最初,PortA 和端口 B 都使用地址分别读取 PortA 和端口 B 闪存 ID(1 字节) Sparklin_2-1752653036217.png 以下是代码片段供您参考。请检查我们是否犯了一些错误,或者是否需要对端口 A 和端口 B 进行更多配置。 在 flexspi_nor_flash_init 上修改代码以初始化端口 A 和端口 B 闪存设备 Sparklin_3-1752653316172.png 向 flashXfer.deviceAddress 添加偏移量以读取端口 B 设备 Sparklin_4-1752653442642.png 以下是修改后的文件和整个项目存档供您参考: Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. 你好 我指的是SDK示例,但是它同时连接到一个闪存设备而不是两个设备。 恐怕我错过了让两台设备同时运行的配置。 有任何示例配置可供参考吗? 或者,如何确保我从寄存器级别进行了正确的配置? 谢谢  Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. 你好@greatshow_chen 是的,在恩智浦MCX NX4x上,您可以同时使用FlexSPI端口 A 和端口 B 来连接两个不同的内存设备。 PortA->或非 FLASH 端口 B->PSRAM 您必须确保 或非 闪存和 PSRAM 没有共享任何冲突的引脚。 您可以参考 flexspi_octal_polling_transfer Harry_Zhang_0-1751622607790.png BR 哈利 Re: Can we use MCX Nx4x FlexSPI portA and portB with different device at the same time. 你好 许多采用 FlexSPI 的恩智浦微控制器(如 i.MX RT 系列)都有两个独立的 FlexSPI 通道(端口 A 和端口 B)。可以将每个端口配置为与不同类型的存储设备通信。这使您可以将或非闪存连接到一个端口,将 PSRAM 连接到另一个端口。
記事全体を表示
imx8mp OpenGL 无显示 有没有办法让 OpenGL 在无头模式下运行(不连接显示器)? 我正在使用基于 fsl-xwayland 映像的 imx8mp。我知道 PGU 等设备在我的设备树中配置正确,因为连接后就能正常显示。如果我尝试像这样运行一个简单的 gstreamer 管道: gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=1920,height=1080 ! queue ! glupload ! glcolorconvert ! gldownload ! video/x-raw,format=RGB ! queue ! fakesink 我收到以下错误信息 Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0"; ERROR: from element /GstPipeline:pipeline0/GstGLUploadElement:gluploadelement0: Failed to perform a wayland roundtrip 我的系统安装为通过 SSH 使用 remote-x 服务器,但即便如此,我也一无所获。 有没有什么 XDG 变量可以设置? 图形与显示 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux 多媒体 Yocto Project Re: imx8mp OpenGL without display 所以,我要回答我自己的问题,供其他来这里的人参考: 我可以通过以下方法让 GPU 工作并执行 gstreamer glupload/glshader 等命令: - 为虚拟显示器加载 VKMS 内核模块 - 在 westom.ini 中设置 renderer=gl 并禁用"g2d" 。 经过这些设置后,WESTON 启动了,我也有了 opngl 命令。 有趣的是,我验证了 OpenCL 在 weston 离线时也能正常工作。遗憾的是,与普通矩阵相比,OpenCV 中使用 UMat 和 T-API 的性能并没有提高。它似乎确实比简单的逐元素乘法快得多,例如在 C 中,所以这可能要归因于 OpenCV 中的 Arm-neon 加速。 Re: imx8mp OpenGL without display 谢谢 ugurkur,但这似乎没什么用。 如果我检查 `echo $XDG_RUNTIME_DIR` ,会得到"/run/user/0" ,所以看起来没问题。 根据我的清单,我有你提到的所有代码包。但我仍然无法让 OpenGL 正常工作。 Re: imx8mp OpenGL without display 你好,我在 i.MX8M 板上遇到了同样的问题。对我有用的是将 weston、weston-init 和 weston-xwayland 代码包添加到我的 Yocto 图像中,这完全解决了显示错误。此外,我还使用以下命令设置了 XDG_RUNTIME_DIR 环境变量: export XDG_RUNTIME_DIR=/run/user/$( id -u) 希望这也能帮助您解决问题! Re: imx8mp OpenGL without display 那么,它们能教给我们什么吗?您还有什么其他想法,可能是什么原因导致了这个问题? Re: imx8mp OpenGL without display 这不是错误,你的系统应该在无显示的情况下运行。 此致 Re: imx8mp OpenGL without display 我得到以下信息 WARNING: erroneous pipeline: could not link videotestsrc0 to xvimagesink0, neither element can handle caps video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080 我是否漏掉了内核配置? Re: imx8mp OpenGL without display 你好 请再试一次: $ DISPLAY=:0 gst-用上市,不用发布-1.0videotestsrc !video/x-raw(memory:NVMM),width=1920,height=1080, 'video/x-raw,width=1920,height=1080 !xvimagesink sync=0 此致
記事全体を表示
MRF300AN:从数据表到现实世界的问题 我想用 MRF300AN 搭建几个射频放大器,这看起来像一款非常棒的设备。从数据表中的建议应用到构建实际工作电路,我有一连串的问题。 首先,我想就指定的 PCB 提出几个问题: 数据表中指定的印刷电路板提供了零件编号,制造商为 MTL。 我看到 MTL 是一家提供 PCB 制造服务的公司。 我说只要提供这个零件号就可以从他们那里订购板,他们不必向他们发送文件或其他任何东西就已经知道板是什么了吗?如果是这样,那就太好了! 虽然我对印刷电路板制造并不陌生,但我以前从未做过电镀通孔,而对此进行研究意味着,如果能以合理的成本从MTL获得几块板,麻烦远大于仅购买几块板的价值。 我的第二个问题涉及用于数据表230mhz设计的PCB的区别,这是唯一与其他板不同的板。虽然我想版本第一个射频放大器将在50mhz上运行(因此从数据表来看,设计似乎非常简单和一站式),但第二个将使用222MHz。这个频率范围是一种过渡,带状线技术开始变得更加实用," 普通 " LC 元件开始变得不那么实用了。在 230mhz 设计中使用带状线技术而不是空气绕组线圈有什么特殊原因吗? 还是仅仅为了说明在输入和输出匹配中使用带状线? 同样,板材料也不同。在此频率下,使用 AD255C 而不是 FR4 是否真的有明显优势? 我问第二个问题是因为我更愿意使用较小的 FR4 板和低频设计中使用的气绕线圈来版本 222mhz 的设计。在这一频率下,使用空气绕组线圈而不是带状线似乎不会有任何明显的效率损失,也不会增加制造难度。 同样,FR4 印刷电路板材料的任何损耗在此频率下似乎也是微不足道的(我说错了吗?) 对我来说,减小尺寸和降低成本(特别是考虑到散热片和铜块散热器)的优势要大于 0.001 英寸的损失。%空气线圈效率或 0.001dbFR4 主板材料损失。 首先提出这些问题,是因为我正在规划机柜内的机箱布局,包括强制空气冷却系统的气流路径,因此需要知道我要围绕哪一组尺寸进行设计。 我的下一组问题将涉及元器件选择,同样是从数据表中所说的转变为工作电路的实际实现。谢谢您的有用回复! Re: MRF300AN: questions about datasheet to the real world 漂移老板》的 "可玩性 "非常高。总有新的记录等着我们去打破,总有新的汽车等着我们去解锁。玩得越多,就越 "上瘾"! Re: MRF300AN: questions about datasheet to the real world 它是那些对编辑应用程序的灵活性和功能要求极高的移动创作者的首选。 vn 应用下载. Re: MRF300AN: questions about datasheet to the real world Grewal Transport Service 专门提供可靠高效的 < a href= " https://www.grewaltransportservice.com/transport-service-delhi-to-chennai.php " > 德里到钦奈的运输服务 注重功能安全、及时性和可负担性,我们同时提供整车装载 (FTL) 以及根据您的特定要求量身定制的 零件卡车装载 (PTL) 解决方案。我们的现代化车队可确保您的货物得到安全运输,实时货运跟踪可为您提供完整的透明度。选择 Grewal Transport Service,您可以获得值得信赖的德里到钦奈的运输服务,我们提供最优质的物流服务,并将客户满意度放在首位。体验无忧、经济高效的送货服务。 Re: MRF300AN: questions about datasheet to the real world 好的,很好,谢谢你的答复! 因此,我对板本身的结论是正确的。但是你的回答提示了一个问题,是否可以只订购裸露的 PCB,而不是完整的 " 评估板 " 或 " 套件 "?我最初与 Digikey 和 Mouser(它们是您在美国的主要代理商,几十年来我一直在向他们订购零件)核对过,但只有完整的 " 评估板 " 可用。同样,在 " 射频电路系列 " 中,我看不到任何只参考裸露的 PCB 的内容。我之所以要订购裸露的 PCB,而不是自己复制布局然后蚀刻,唯一的原因是它必须平放在铜散热器上,而且必要的电镀通孔方法比自己只买两块板要麻烦得多(我还打算为 50MHz 版本建造一块)。那么恩智浦或 MTL 会卖给我几块裸 PCB 吗? 我该如何订购? 我的下一个评论和问题涉及一些元器件选择。数据表中指定的 Bourns trimpot 不是一个现成可用的现实世界元器件。Mouser和Digikey都出售相同零件的变体,但物理配置不同,因此无法正确安装在板上。这似乎是一个非生产部件,作为 Bourns 样品套件的一部分出现在某人的工作台上。 🙂 就现有的变化而言,将近 5 美元就能买到一个触发器? 真的吗? 这是个非常昂贵的阻尼器,而规格完全相同的零件在剩余物资商店只需不到 1 美元就能买到。 在实现该电路时,我将使用手头上已经放置的一个微调电池,将偏置分频器放在电源板上(由IC稳压器而不是齐纳器供电),然后将偏置从电路板上引入作为单独的电源线。这将需要一个额外的馈通电容和一根电线,但我手头上已经有了,而且肯定比花将近5美元买一个微调器更胜一筹! 我的下一个问题是关于所用的一些电容。许多设备的额定电压为 500 伏。 出于某种原因,500 伏额定电压真的有必要吗? 在这个功率级、漏极电压、漏极阻抗和负载阻抗下,最低 " 安全 " 额定值难道不会接近 100-160v 吗?同样,我手头有许多所需的数值,但额定电压低于 500 伏。 此外,某些指定的精确电容已不再可用(至少不是来自Mouser和Digikey的电容),因此无论如何,在某些情况下都需要更换。 Re: MRF300AN: questions about datasheet to the real world 1. 我们没想到客户会直接向 MTL 下订单。取而代之的是,应该通过我们的代理商或在恩智浦网站上使用 " RF CIRCUIT COLLECTION " 服务订购板: https://www.nxp.com/design/development-boards/rf-circuit-collection:RF-CIRCUIT-COLLECTION 这些板可以作为完全组装和测试的电路提供,也可以作为包括印刷电路板和所有所需元器件的套件提供。可以讨论交付选项(例如,设备样本的数量)。 2. 您的总体理解是正确的。 微带设计减少了 BOM,简化了装配。在微波设计中,使用微带匹配是必不可少的。 在低频情况下,使用微带匹配会受到尺寸的限制。匹配任何阻抗所需的典型微带元件尺寸为 Lambda/4。如果在两端使用电容,则微带段的长度可以缩短到Lambda/12。较短的区段只能用于部分调谐。 因此,微带匹配设计有一个自然的低频界限。典型板尺寸为 300-400MHz。在较低频率下,这种技术没有任何优势。 3. 电路板材料决定介电常数(波长-> TL 尺寸)和损耗。必须考虑到损耗,在某些应用中损耗是至关重要的。 - 低噪音放大器输入损耗会以相同的幅度增加噪声系数。 - 高 Q 值设计(滤波器、变压器)。损耗限制了滤波器的最大品质因数。 在某些情况下,基板损耗会提高放大器的稳定性,因此是有益的。 设计人员必须在评估材料造成的性能损失后,在廉价的 FR4 材料和昂贵的 FR4 材料之间做出选择。大多数 1GHz 以下的射频功率放大器都可以使用 FR4 制作。微波设计通常使用高质量的射频基底。 4。 222 Mhz 射频功率放大器可使用 FR4 材料和用于阻抗匹配的分立元器件来实现。 祝您愉快! Pavel NXP TIC
記事全体を表示