Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
s32k344 示例代码版本错误 在 S32 设计工作室中,我正在尝试版本示例代码。 但是大多数示例代码都显示版本错误。 在版本之前我必须做点什么吗? 1. adc_example_S32K344 2.mcu_example_S32K344 =============================== JungkyuHan1_0-1761641437633.png JungkyuHan1_3-1761641675832.png JungkyuHan1_1-1761641596861.png JungkyuHan1_2-1761641621303.png Re: S32k344 example code build error 亲爱的@Robin_Shen 按照你的建议,我卸载并重新安装了所有代码包都包含 S32D。 我成功地版本了代码。 谢谢! JungkyuHan1_0-1761894465150.png Re: S32k344 example code build error 您是在创建新项目时遇到该问题,还是在按照我视频中的所有步骤操作后仍遇到该问题? 您能在另一台电脑上重现该问题吗? 请尝试卸载 S32DS v3.6.1 然后重新安装 S32DS v3.6.1 + s32K3_S32 M27x 实时驱动程序 ASR R21-11 版本 6.0. 0。 Re: S32k344 example code build error 亲爱的@Robin_Shen 我试过用你上传的视频复制,但失败了(结果一样)。 Re: S32k344 example code build error 我不清楚您是如何导入 RTD 示例的。请参考视频中的步骤。我在构建时没有遇到任何错误。 (在 “我的视频” 中查看) Re: S32k344 example code build error 亲爱的@Robin_Shen 感谢您的支持。 [Test 1] 我尝试了 -> (但什么也没改),并点击 ,但遇到了另一个错误。 [Test 2] 我尝试了 -> (添加 [adc] 驱动程序)并点击 ,但遇到了另一个错误。 你能帮帮我吗? [测试 1] - 不做任何更改 JungkyuHan1_1-1761702181263.png == 版本结果。错误 ===== JungkyuHan1_0-1761702124154.png [测试 2] - 添加 [adc] 驱动程序 JungkyuHan1_2-1761702401831.png == 版本结果。错误 ===== JungkyuHan1_3-1761702566354.png Re: S32k344 example code build error 嗨,郑奎 请单击 description.txt 中提到的 更新代码 按钮: 3.生成、构建和运行示例应用程序 3.1 生成 S32 配置 在运行示例之前,需要生成配置。首先转到 S32 DS 中的 “项目资源管理器视图”,然后选择当前项目。选择 " S32 配置工具 " 菜单,然后单击所需的配置工具(引脚、插孔、外围设备等...)。点击其中任何一个都将生成所有元器件。进行所需的更改(如果有),然后单击 " S32 配置工具-> 更新代码 " 按钮 。 3.2 编译应用程序 选择要版本化的配置:左键单击 Eclipse 中版本按钮对应的向下箭头,选择 RAM/FLASH(DEBUG_RAM/DEBUG_FLASH) 。 使用 Project > 版本 来构建项目。 等待版本操作完成,然后继续执行下一步。检查编译器控制台中是否有错误消息;完成后, 应 创建 *.elf 二进制文件 。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"Mark Correct" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 -------------------------------------------------------------------------------
View full article
iMX8QXP I2C RPBUS構成 こんにちは、NXP チームの皆様、 iMX8QXPをSoCとして使用し、カスタムデザインを採用しています。EVK で i2c_rpbus_5 を無効にすると、imx8x-mek-rpmsg.dtsi ファイルの i2c_rpbus_15 ノードで A35 の起動に失敗します。M4側のデフォルトの電源モードアプリケーションを使用しています。 したがって、i2c_rpbusノードを割り当てる必要があるのはどのような基準で、A35と一緒にM4を使用する場合、i2c_rpbusノードを割り当てることが必須かどうかをお知らせください。 よろしく ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 mek.hファイルの提案に従って変更すると、問題は解決されると思います。ご支援いただきありがとうございます。 他に問題が発生していないか確認します。 よろしく ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 設計には 2GiB の DRAM を使用しています。住所変更のガイドがあれば教えてください。 よろしく ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 U-boot のソースコードは、dts、defconfig、board ファイルの変更以外は変更していません。imx-mkimage コンパイルでは、M4 での起動には "flash_linux_m4" フラグを、M4 を使用しない起動には "flash" フラグを使用しました。 よろしく ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 添付ファイル(dtsi.zip)でdtsiファイルを見つけてください。 よろしくお願いします。 ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 ターゲット ボードを受け取り、rpmsg.dtsi ファイルに i2c バスが 1 つ (mek.dtsi ファイルの i2c1 にマップされている) しかない M4 でボードを起動すると、imx-rproc ドライバーからカーネル パニックが発生し、M4 なしでボードを起動すると、起動に問題はありません。カーネルパニックのログを以下に添付します。 それを調べて、この問題のRCAが何であるかを教えてください。 よろしく ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 サポートありがとうございます。 よろしく ランジット・クマール Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 詳細な説明をありがとう。 私のクエリは、ターゲットデバイスではrpmsg.dtsiファイルに記載されているスレーブが存在しないようなものです。したがって、この場合、すべてのi2c_rpbusノードを無効にできますか? よろしく ランジット・クマール Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 情報をありがとう。i2c_rpbus_5に存在するスレーブを無効にすることで、ボードを起動できます。 もう1つの質問として、i2c_rpbusノードを持つことが必須ですか、それともすべてのi2c_rpbusノードとそれに関連するスレーブを無効にすることができますか? よろしくお願いします。 ランジス・クマール。 Re:iMX8QXP I2C RPBUS構成 こんにちはZhiming、 カーネルブートログは添付ファイル(kernel_error_logs.txt)で見つけてください。 よろしくお願いします。 ランジット・クマール
View full article
GUIDERデザインチームは、マウスで幅を変更できるように、GUIDERデザイナーの左側にある[ページ]と[コンポーネント]の列を変更することを推奨します。 GUIDERデザインチームには、GUIDERデザイナーの左側にある[ページ]列と[コンポーネント]列の幅をマウスで変更できるように変更することを推奨します。これは、複数レイヤーのコンテナを使用している場合やコントロール名が長い場合、コントロールを非表示にするかどうかを選択できないためです。代わりに、選択したコントロールを右クリックした際にポップアップメニューバーに[非表示]オプションを追加してください。
View full article
I.MX8 MINI的PCIE问题 您好,我们使用i.MX 8M Mini Quad作为产品的主控制器,考虑到它不支持USB3.0的功能,我们就计划使用它的PCIE接口配合UPD720202K8-711-BAA-A芯片来实现USB3.0的功能。但是我在“i.MX 8M Mini Hardware Developer’s Guide”中看到“使用适当的外部 PCIe 参考时钟发生器”。我想了解一下为何要建议使用外部的PCIe时钟发生器呢?在我的这个方案中如果不作用外部时钟发生器可以吗?会有什么影响? (我目前的设计是没有使用外部时钟发生器,UPD720202K8和I.MX8的PCIE_TX,PCIE_RX通过0.1uF电容相连,PCIE_CLK是直连的。) i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: I.MX8 MINI的PCIE问题 现在我也是想要使用内部参考时钟,在设备树中将ext_osc属性改为了0,但是还是没有时钟输出可能是什么原因呢,使用的是Linux4.14.78版本的内核 userlong_0-1722305319885.png Re: I.MX8 MINI的PCIE问题 Hi @mytemp  我们不建议客户使用内部时钟。根据我们的测试,内部时钟的抖动比标准高出约 30%。 Zhiming_Liu_0-1718325745136.png 不过内部PLL可以通过PCIe Gen 2 一致性测试,也有其他客户用内部时钟。还是建议你在测试阶段保留外部时钟,如果内部时钟无法达到你们的稳定性要求,可以切换到外部时钟。
View full article
S32K1 attach gdbserver without reset Hi, I am trying to attach my debugger (SEGGER J-Link) to a running target to debug it. However, when starting the gdb server, the target seems to reset. Steps to reproduce this issue: 1. Start SEGGER J-Link Remote Server 2. Start gdb server (in WSL2) using the following command: `JLinkGDBServerCLExe -device S32K144W -endian little -if SWD -speed auto -noir -noLocalhostOnly -nologtofile -TelnetPort 19020 -select IP=192.168.x.y -noreset -nohalt` Observer behaviour: When the command is run, the RESET pin is pulled down for 160ms. The running program is stopped (observed by the blinking led that stops). After ~4 seconds, the gdbserver is attached (> `Connected to target`) and the application starts again (led blinking). However, the application was reset, which is not as desired. Any idea to why this would be or what I could do to find the cause? The reset reason seems to be SW reset. The used MCU is a S32K144W on a custom board. Debugging etc works without a problem, the issue I am having is just that I cannot attach to a running target. Re: S32K1 attach gdbserver without reset Hi @danielmartynek , Using the script when starting the gdb server solved the problem. `JLinkGDBServerCLExe -device S32K144W -endian little -if SWD -speed auto -noir -noLocalhostOnly -nologtofile -TelnetPort 19020 -select IP=192.168.x.y -JLinkScriptFile NXP_Kinetis_S32_Attach.JLinkScript -nohalt` Thank you very much and have a nice day! Re: S32K1 attach gdbserver without reset HI @peacefulcarrot, It is necessary that the MCU is in the unlocked state. A special JLink script is needed, which can be found here: https://wiki.segger.com/S32Kxxx#Attach_to_debug_session JLink commander has to be called in following way: C:\Programme\SEGGER\JLink\JLink.exe -JLinkScriptFile NXP_Kinetis_S32_Attach.JLinkScript Then, the MCU is not reset, and access to all memory and registers is possible. Please contact SEGGER support if you have any questions, Regards, Daniel
View full article
I.MX SRAMアクセス中のR1170 SEMC SDRAM割り込み こんにちは RT1170のSEMCにSDRAM(CS0)とSRAM(CSX1)を接続しています。 CS0 のパルスが Low で CSX1 のパルスが Low になることがあることがわかったのは、SEMC が SRAM にアクセスしている間に SEMC が SDRAM に割り込みアクセスしていたことを意味します。 SRAMにアクセスしながらSDRAMのアクセスを防ぐことは可能ですか? Re: SRAM アクセス中の R1170 SEMC SDRAM 割り込み I.MX はい、自動更新は、更新を実行するために必要な場合は、バーツ操作を中断します。バーストを分割するだけで、その間に自動更新を挿入できます。 よろしくお願いいたします オマル Re: SRAM アクセス中の R1170 SEMC SDRAM 割り込み I.MX はい、自動更新は定期的に実行されます。残念ながら、この特定の実装の例はありません。 よろしくお願いいたします オマル Re: SRAM アクセス中の R1170 SEMC SDRAM 割り込み I.MX SEMC は、AUTO REFRESH コマンドを送信する前に、デバイス上の開いているページを閉じるために PRECHARGE ALL コマンドを送信します。したがって、自動更新が無効になっている場合、両方のコマンドは実行されません。これは SDRAMCR3[REN] フィールドで無効になっています。 SDRAM のタイミングでリフレッシュが行われないと、SDRAM 上の一部のデータが失われる可能性があることを考慮してください。 よろしくお願いいたします オマル Re: SRAM アクセス中の R1170 SEMC SDRAM 割り込み I.MX SDRAMのどのコマンドがSRAMアクセスを妨害していますか。 BMCR を0x81する目的は、コマンドが「先入れ先出し」ポリシーで実行されるように、コマンド・キューの順序変更を回避することです。 UTとRTは同じままにしておくことをお勧めしますが、メモリによって可能な限り高いリフレッシュ期間に変更すると、中断が自動更新コマンドであると疑われるため、SDRAMの中断を減らすことができます。 よろしくお願いいたします オマル Re: SRAM アクセス中の R1170 SEMC SDRAM 割り込み I.MX SDRAMの中断は自動更新コマンドによるものと考えており、これを防ぐためにはSDRAMの更新タイミングを調整することが重要です。 また、BMRCレジスタに異なる設定を実装すると役立つかもしれませんが、コマンドの並べ替えを防ぐために0x81を設定することをお勧めします。 よろしくお願いいたします オマル
View full article
Hyperlynxを使用したLPPDR4シミュレーションのタイミングモデル(.v)のリクエストです。 こんにちは、LPDDR4インターフェイスをシミュレートしています。Hyperlynxはタイミングモデルファイル(*.v)をリクエストしています。このファイルを提供してもらえますか?私が使っているデバイスはMIMX8ML4CVNKZABで、アイビスモデルはimx8mp_15x15_v2.ibsです。よろしくお願いします!バー//プイイー Re:HyperLynxを使用したLPPDR4シミュレーションのタイミングモデル(.v)のリクエスト。 こんにちは@puiyee_poon、 確認しておりますので、お待ちください。 良い一日をお過ごしください よろしくお願いいたします。 リタ Re:HyperLynxを使用したLPPDR4シミュレーションのタイミングモデル(.v)のリクエスト。 こんにちは 、あなたがお勧めするツールは、実際にボードがあるときに役立ちます。しかし、私はレイアウトのルーティングを終えたばかりで、PCBAを製造する前にLPDDR4とi.MX8MPLUSプロセッサ間のシミュレーションを行い、信号品質が良好であることを確認する必要があります。 そこで、要求に応じてMIMX8ML4CVNKZAB用のVerilogデザインファイルファイル(*.v)を提供してください。そうすれば、HyperLynxツールにファイルを実装してシミュレーションを行うことができます。よろしくお願いします! バー//プイイー Re:HyperLynxを使用したLPPDR4シミュレーションのタイミングモデル(.v)のリクエスト。 NXPが提供するMSCALE DDRツールを使用できます 。 i.MX 8MファミリDDRツールリリース - NXP Community ご不明な点がございましたら、お気軽にお問い合わせください 良い一日をお過ごしください よろしくお願いいたします。 リタ
View full article
文档_OTA_安全启动_88MW320 没有文档,只有示例。请帮我找到所需的文件 回复:Documentation_OTA_Secure-Boot_88MW320 你好, 请提供一些解释工作流程的文档,或者任何通用的secureboot.c,secureboot.h 和 boot.c 和 boot.h文件对我来说很有用。 此外,如果有文档解释 MQTT 和 HTTP 流程,那将会非常有帮助。@DanielRuvalcaba 回复:Documentation_OTA_Secure-Boot_88MW320 你好, 那么引导加载程序呢?是否有特定的 boot.c 文件?和 boot.h 或 secureboot.c 和 secureboot.h 此外,除了 SDK 包中的文档之外,还有其他可用的东西吗?我需要一些用于 HTTP、MQTT 的应用程序开发。 回复:Documentation_OTA_Secure-Boot_88MW320 您好,我正在使用适用于RDMW320-R0 (88MW320_xx_xxxx) 的 SDK 版本 2.9.13,该版本是从 MCUXpresso SDK 构建器下载的 问题是,当我下载与 SDK 一起生成的文档时,我没有获得有关 OTA、自定义引导加载程序开发、安全启动、HTTP/HTTPS、MQTT、MbedTLS 和类似 API 的应用程序说明或其他内容的详细信息。
View full article
We can measure RX signals from PHY but not TX signals coming from RT1176. Hello everyone, We are developing a new ethernet application with NXP i.MX RT1176 and TI DP83826E, but we are facing a connection problem that we are unable to establish ethernet communication. We are using DP83826 in basic mode and interfacing through RMII. The link is stablished and we are able to see RX signals from PHY while we are pinging from a computer connected to the board. But we are unable to exchange messages between the board and the computer. DP83826.png DP83826_uC.png DP83826_uC2.png   I would really appreciate it if you could help me with some suggestions. i.MXRT Re: We can measure RX signals from PHY but not TX signals coming from RT1176. Hello @Habib_MS,  Thanks a lot for your message! We found the problem thanks to your app note recommendation, it was a problem with "ref_clock" pin. We changed "software input on" in MCUExpresso to "enabled" and ethernet worked well. mdribeiro_0-1737662532568.png mdribeiro_1-1737662555313.png Re: We can measure RX signals from PHY but not TX signals coming from RT1176. Hello @mdribeiro, In order to support you better, can you provide me the next information? - Are you currently using an SDK example, if the answer is yes, can you share me the name and your SDK version? - Which software stack was used for make ping in your board? - " But we are unable to exchange messages between the board and the computer", can you provide me more context about this comment, for example the PHY does not emit a signal, or it is emitting a signal, but the computer cannot interpret the information, etc? Also, I highly recommend see this app note in order to obtain more information about Ethernet Capabilities and PHY Connection of the RT1xxx series. BR Habib
View full article
IMX93QSB 的 Flexspi_nor_polling_transfer SDK 示例中的供应商 ID 问题 大家好 我使用适用于 VSCode 的 MCUXpresso 来测试类似 imx93-qsb 的定制板的外围设备。从 SDK 项目 " flexspi_nor_polling_transfer " 开始,我想测试或非闪存 MT25QU01GBBB8E12 的功能,它与示例中使用的芯片非常相似:MT25QU512ABB。 当谈到函数 flexspi_nor_get_vendor_id 时,它给出 0xFF 而不是 0x20,然后它会成功完成最后一次操作。         Immagine1.png 我使用的是与示例相同的 SPI 外设(SD3 焊盘上的 flexSPI1),我不明白为什么我没有正确读取 ID 供应商。谁能帮帮我? Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 值得一提的是,在扩展 SPI 模式下使用 IS25WX256 时,读 ID 命令 0x9E 也有问题。命令格式为 "FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x9e, kFLEXSPI_Command_READ_SDR, kFLEXSPI_1PAD, 4),"。每次使用时,我都会读到 `0x888cadce`。 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 你好@AldoG、 我试着在 flexspi_nor_get_vendor_id 功能中加入一些 PRINTF 命令,以了解 vendorID 值是怎么回事。 Bob_NXP_user_0-1741957491653.png 输出结果是这样的 Bob_NXP_user_2-1741957546022.png 我还尝试将 flashXfer.seqIndex 改为 4 *NOR_CMD_LUT_SEQ_IDX_READID,结果输出发生了变化: Bob_NXP_user_3-1741958011862.png 我不知道在功能内部反复推敲是否会有帮助。也许问题出在 seqIndex 值本身。请告诉我您的想法。 此致, 鲍勃 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 您好, ,我发现您使用的正是原样,而不是我建议添加的内容。 我不认为是内存工作不正常,而是获取 ID 的 LUT 命令工作不正常,所以我才提到是否有可能检查发送是否正确。 致以最崇高的敬意/问候, Aldo。 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 你好 我很确定闪存运行良好,因为我已经能够使用这个 UUU 命令放置针对 或非-flash 的引导加载程序: uuu.exe-b qspi imx-启动-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot 在 FlexSPI Serial NOR 中设置启动配置,我可以看到引导加载程序运行正常。但我还是不明白,为什么在 MCUXpresso 的 VScode 中使用该项目会出现问题。 如果您能帮助我,请告诉我,我也需要使用 iMX93 的 M33 内核。 谢谢! 鲍勃 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 您好, 感谢您的分享,我会仔细检查的。 同时,您有办法检查硬件上的信号吗? 致以最崇高的敬意/问候, Aldo。 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 你好,阿尔多、 谢谢你帮我。遗憾的是,对 LUT 的更改并不能解决问题,我仍然在 Vendor ID 上读取到 0xff 的值。我与大家分享整个 C 代码: /* * 版权所有 (c) 2016,飞思卡尔半导体有限公司 * 2016-2018 恩智浦版权所有 * 保留所有权利。 * * * SPDX 许可证标识符:BSD-3 条款 */ #include "pin_mux.h" #include "clock_config.h" #include " board.h " #include "fsl_debug_console.h" #include "fsl_rgpio.h" #include "fsl_lpi2c.h" #include "fsl_iomuxc.h" #include "fsl_lpi2c.c" #include "fsl_flexspi.h" #include "app.h" #include "fsl_debug_console.h" #include "fsl_cache.h" #include "pin_mux.h" #include "clock_config.h" #include " board.h " #include "fsl_common.h" /******************************************************************************* * 定义 ******************************************************************************/ /******************************************************************************* * 原型 ******************************************************************************/ /******************************************************************************* * 变量 ******************************************************************************/ /* 程序数据缓冲区应以 4 字节对齐,这样可以避免总线故障,因为此内存区域配置为 MPU 的设备内存。*/ SDK_ALIGN(静态 uint8_t s_nor_program_buffer[256], 4); 静态 uint8_t s_nor_read_buffer[256]; 外部 status_t flexspi_nor_flash_erase_sector(FLEXSPI_Type *基, uint32_t 地址); 外部 status_t flexspi_nor_flash_page_program(FLEXSPI_Type *基, uint32_t dstAddr, 常数 uint32_t *src); 外部 status_t flexspi_nor_get_vendor_id(FLEXSPI_Type *基础, uint8_t *vendorId); 外部 status_t flexspi_nor_enable_quad_mode(FLEXSPI_Type *基); 外部 status_t flexspi_nor_erase_chip(FLEXSPI_Type *基); 外部 void flexspi_nor_flash_init(FLEXSPI_Type *基); /******************************************************************************* * 代码 ******************************************************************************/ flexspi_device_config_t deviceconfig ={ .flexspiRootClk = 12000000, //12 MHz, ok per noi .闪存大小 = 闪存大小, .CSIntervalUnit = kFLEXSPI_CsIntervalUnit1SckCycle, .CSInterval = 2, .CSHoldTime = 3, .CSSetupTime = 3, .数据验证时间 = 0, .列空间 = 0, .启用 WordAddress = 0, .AWRSeqIndex = 0, .AWRSeqNumber = 0, .ARDSeqIndex = nor_cmd_lut_seq_idx_read, .ARDSeqNumber = 1, .AHBWriteWaitUnit = kFLEXSPI_AhbWriteWaitUnit2AhbCycle, .AHBWriteWaitInterval = 0, }; const uint32_t customLUT[自定义长度] ={ /* 快速读取四通道模式 -SDR */ [4 * nor_cmd_lut_seq_idx_read + 0] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0xEB, kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_4PAD, 0x18), [4 * nor_cmd_lut_seq_idx_read + 1] = flexspi_lut_seq( kFLEXSPI_Command_DUMMY_SDR, kFLEXSPI_4PAD, 0x0A, kFLEXSPI_Command_READ_SDR, kFLEXSPI_4PAD, 0x04), /* 读取状态寄存器 */ [4 * nor_cmd_lut_seq_idx_readstatusreg] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0xB5, kFLEXSPI_Command_DUMMY_SDR, kFLEXSPI_4PAD, 0x0), [4 * nor_cmd_lut_seq_idx_readstatusreg + 1] = flexspi_lut_seq(kFLEXSPI_Command_READ_SDR, kFLEXSPI_4PAD, 0x04, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x0), /* 读取 ID */ [4 * nor_cmd_lut_seq_idx_readid] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x9E, kFLEXSPI_Command_READ_SDR, kFLEXSPI_1PAD, 0x04),// modifica mia da 0x9F A 0X9E /* 写入启用 4 焊盘 */ [4 * nor_cmd_lut_seq_idx_writeenable_opi] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0x06, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x00), /* 启用写入功能 */ [4 * nor_cmd_lut_seq_idx_writeenable] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0x06, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0), /* 擦除扇区 */ [4 * nor_cmd_lut_seq_idx_erasesector] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0x20, kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_4PAD, 0x18), /* 程序 */ [4 * nor_cmd_lut_seq_idx_pageprogram_quad] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0x32, kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_4PAD, 0x18), [4 * nor_cmd_lut_seq_idx_pageprogram_quad + 1] = flexspi_lut_seq(kFLEXSPI_Command_WRITE_SDR, kFLEXSPI_4PAD, 0x01, kFLEXSPI_Command_STOP, kFLEXSPI_4PAD, 0), /* 进入四重模式 */ [4 * nor_cmd_lut_seq_idx_enablequad] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x35, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x00), /* 虚拟写入,当 AHB 写入命令触发时,不执行任何操作。*/ [4 * nor_cmd_lut_seq_idx_write] = flexspi_lut_seq(kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x0, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x0), /* 使用 Qual SDR 读取功能读取状态寄存器 */ [4 * nor_cmd_lut_seq_idx_readstatus_opi] = flexspi_lut_seq(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0x05, kFLEXSPI_Command_READ_SDR, kFLEXSPI_4PAD, 0x02), }; int main(void) { uint32_t i = 0; status_t 状态; uint8_t 供应商 ID = 0; pcal6524_handle_t 句柄; /* 关闭 clang-format */ const clock_root_config_t lpi2cClkCfg ={ .时钟关闭 = false, .mux = 0,// 24MHz 振荡源 .分隔 = 1 }; /* clang-format on */ BOARD_ConfigMPU(); BOARD_InitBootPins(); BOARD_BootClockRUN(); BOARD_InitDebugConsole(); CLOCK_SetRootClock(BOARD_PCAL6524_I2C_CLOCK_ROOT, &lpi2cClkCfg); CLOCK_EnableClock(BOARD_PCAL6524_I2C_CLOCK_GATE); /* 为 M.2 或非闪存卡设置 3.3V */ BOARD_InitPCAL6524(&句柄); PCAL6524_SetDirection(&处理, (1 << BOARD_PCAL6524_EXT1_PWREN), kPCAL6524_Output); PCAL6524_SetPins(&处理, (1 << BOARD_PCAL6524_EXT1_PWREN)); flexspi_nor_flash_init(example_flexspi); PRINTF("\r\nFLEXSPI 示例启动!\r\n"); /* 获取供应商 ID。*/ 状态 = flexspi_nor_get_vendor_id(示例, &vendorID); 如果(status != kStatus_Success)     { 返回 状态;    } PRINTF("供应商 ID: 0x%x\("......")", vendorID); #if !(定义(xip_external_flash)) /* 擦除整个芯片 .*/ PRINTF("通过 FlexSPI 擦除整个芯片...\r\n"); 状态 = flexspi_nor_erase_chip(example_flexspi); 如果状态 !=kStatus_Success)     { 返回状态    } PRINTF("擦除完毕\r\n"); #endif /* 进入四重模式。*/ 状态 = flexspi_nor_enable_quad_mode(example_flexspi); 如果(status != kStatus_Success)     { 返回 状态;    } /* 擦除扇区。*/ PRINTF (" 通过 FlexSpi 擦除序列号 或非...\ r\n "); 状态 = flexspi_nor_flash_erase_sector(示例, 示例 * SECTOR_SIZE); 如果(status != kStatus_Success)     { PRINTF("擦除扇区失败 !\)"); 返回 -1;    } memset(s_nor_program_buffer, 0xFFU, ((s_nor_program_buffer)); DCACHE_InvalidateByRange(example_flexspi_amba_base + 示例 * ()()()()()(, flash_page_size); memcpy(s_nor_read_buffer, (void *)(example_flexspi_amba_base + 示例 * SECTOR_SIZE), ((s_nor_read_buffer)); 如果(memcmp(s_nor_program_buffer, s_nor_read_buffer, ((s_nor_program_buffer)))     { PRINTF("Erase data - read out data value incorrect !\r\n "); 返回 -1;    } 不然     { PRINTF("Erase data - successfully. \r\n");    } 为(i = 0; i < 0xFFU; i++)     { s_nor_program_buffer[i] = i;    } 状态 = flexspi_nor_flash_page_program(示例, 示例 * SECTOR_SIZE, (空格 *)s_nor_program_buffer); 如果(status != kStatus_Success)     { PRINTF("页面程序失败 !\r\n"); 返回 -1;    } DCACHE_InvalidateByRange(example_flexspi_amba_base + 示例 * ()()()()()(, flash_page_size); memcpy(s_nor_read_buffer, (void *)(example_flexspi_amba_base + 示例 * SECTOR_SIZE), ((s_nor_read_buffer)); 如果(memcmp(s_nor_read_buffer, s_nor_program_buffer, ((s_nor_program_buffer)) != 0)     { PRINTF("程序数据 - 读出数据值不正确 !\r\n "); 返回 -1;    } 不然     { PRINTF("程序数据 - 成功。 \r\n");    } 状态 = flexspi_nor_get_vendor_id(示例, &vendorID); 如果(status != kStatus_Success)     { 返回 状态;    } PRINTF("供应商 ID: 0x%x\("......")", vendorID); PRINTF("状态: %d\,......。", status); 虽然(1)     {    } } Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 您好, 感谢您的测试,那么很可能是在执行 READ ID 时 LUT 序列不正确,请尝试对 LUT 进行以下更改: /* 读 ID */ [4 * NOR_CMD_LUT_SEQ_IDX_READID] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD,0x9E, kFLEXSPI_Command_READ_SDR, kFLEXSPI_1PAD, 0x04), 请尝试并告知我结果。 致以最崇高的敬意/问候, Aldo。 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 是的,我按照您的建议添加了这段代码: Immagine5.jpg 遗憾的是,正如你所看到的,一切都没有改变: Immagine4.jpg @AldoG你有其他想法吗? 谢谢! 鲍勃 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 您好, hw 上的一切看起来都很好,您能否尝试在数据编程后添加读取供应商 ID 的功能? 致以最崇高的敬意/问候, Aldo。 Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 你好,阿尔多、 感谢您的回复。这些是连接 Immagine2.png Re: Vendor ID issue in Flexspi_nor_polling_transfer SDK example for IMX93QSB 你好, 这可能是由于没有正确处理SPI内存上的RESET信号造成的,你能分享一下你是如何连接内存的吗? 如果您能提供一个小的原理图,那将会非常有帮助。 致以最崇高的敬意/问候, Aldo。
View full article
s32k144 aips の使い方は? ハイ フラッシュメモリを動的に保護したり保護解除したりする必要があります。 SO、MPU とフラッシュ保護レジスタ、AIPS について勉強しました。 MPU およびフラッシュ保護レジスタは解決できません。 また、AIPS(ペリフェラルアクセス保護)の説明は、RM で使用するには不十分です。 OPACR の wp ビットは関連していると思います。 しかし、各 wp ビットがどこを示しているのかわかりません。 AIPSの使い方を詳しく教えていただけますか? よろしくお願いします。 よろしくお願いいたします。 フィリップ Re: How to use s32k144 aips? こんにちは@minsky 、 新しいThreadを作成していただけますか? Re: How to use s32k144 aips? こんにちは。周辺機器のアクセス制御では、どのレジスタとどのスロットにあるかをどのように決定するのでしょうか? Re: How to use s32k144 aips? こんにちは、フィリップ。 「X」は、S32K1 派生製品にペリフェラル アクセス制御が存在することを意味します。 FTFC の周辺アクセス制御は、OPACRA のスロット 0 にあります。 要件によって異なりますが、FTFCレジスタを書き込みから保護する場合は、OPACRA[WP0] = 1を設定します。 よろしくお願いいたします。 ダニエル Re: How to use s32k144 aips? こんにちは、ダニエル kmh48301_0-1643929795415.png 「x」は何を意味していますか? どのペリフェラルレジスタを書き込み保護しますか? : FTFC を書き込み禁止にしたいです。 SO OPACR Slot1 が該当します。 でもどうやってCAN? よろしくお願いします。 よろしくお願いいたします。 フィリップ Re: How to use s32k144 aips? こんにちは、フィリップ。 どのペリフェラルレジスタを書き込み保護しますか? RM に添付されているS32K1xx_Mamory_Map.xlsxを参照してください。 danielmartynek_0-1643893300395.png danielmartynek_1-1643893329578.png danielmartynek_3-1643893452245.png よろしくお願いいたします。 ダニエル
View full article
S32k312のPLL計算 こんにちは、チーム 私たちのデザインでは S32K312 マイクロチップを使用しています。PLL 出力周波数の計算を手伝っていただけますか。40 MHz の外部水晶発振器を使用しています。CAN計算例を一つ教えていただけますか?40MHzの水晶発振器を使用しても大丈夫でしょうか? S32K312 用のクロック計算機を提供してください。 Re: PLL calculation for S32k312 こんにちは@mogilipuri_harish 、この問題は解決できましたか。私も同じ問題を抱えています。私もまったく同じ構成で、S32K312 に MCAL 6.0.0 を使用しています。 「PLL ODIV2 = 2」が範囲外のためエラーが発生しました Re: PLL calculation for S32k312 こんにちは @mogilipuri_hari sh データシート以外に、クロック設定に関するガイダンス文書は存在しません。 図に示すように、RTD 2.0.1以降のバージョンにはS32K312用のルーチンがあります。 Senlent_0-1679275360762.png Re: PLL calculation for S32k312 こんにちは この PLL クロックの計算を試みています。この計算のやり方について、いくつかメモをCANいただけますか?参考資料のようなもの。ツール内に S32k312 の例が見つからなかったのですが、役立つと思うので共有していただけますか。 Re: PLL calculation for S32k312 こんにちは、 参考までに、例えば: Senlent_0-1679045256458.png PLL 出力周波数は 640MHz ~ 1.28GHz の範囲内である必要があります。 Re: PLL calculation for S32k312 こんにちは、 質問を完全に理解できませんでした。どの仕切り値を変更CANかということでしょうか? Senlent_0-1679014916370.png 画像内のこれらのパラメータはCAN変更可能で、S32 DS でこれらのクロック ツリー構成を表示できます。 Re: PLL calculation for S32k312 ここで変更できる変数値は何ですか? Re: PLL calculation for S32k312 思い出させてくれてありがとう S32K312ではCORE_CLK=160Mhzでも動作可能ですが、お客様がこの方法を使用することは推奨されません。未知のリスクがあります。 Re: PLL calculation for S32k312 こんにちは、センレントさん 実際、S32k312 のコアクロック周波数は 120Mhz です。 Re: PLL calculation for S32k312 こんにちは@mogilipuri_harish FXOSC は 8MHz から 40MHz までCAN、SO、40MHz の水晶発振器でも問題ないはずです。 「S32 Design Studio for S32 プラットフォーム」を使用してクロックツリーを設定できます。 以下にその例をご紹介します。 Senlent_0-1678946272283.png PS:当社が提供するS32K312EVBは16MHzの外部水晶発振器を使用しています
View full article
タッチスクリーンのドライバが動作しません。GT9271チップがnxp-imx93frdm PCAL6524 gpioエキスパンダーに接続されています。 NXPチームの皆様、こんにちは。 MIPI-DSI インターフェースを使用して、Goodix GT9271 タッチスクリーンを i.MX93 EVK ボードに統合しています。タッチ割り込み (INT) およびリセット (RST) 信号は、 I/O エクスパンダー PCAL6524HEAZ (I2C アドレス 0x22、I2C1 にコネクテッド) を介してルーティングされます。 システムの詳細: ボード: i.MX93 EVK プロセッサ:i.MX9352 Linux バージョン: 6.6.36-lts-next(ヨクト・スカースギャップ 6.6) ディスプレイインターフェース: MIPI-DSI タッチコントローラ:Goodix GT9271(I2Cアドレス:0x5D) I/Oエクスパンダー:NXP PCAL6524HEAZ(I2Cアドレス:0x22) GT9xx ドライバ バージョン: V2.8.0.2 (カスタム ドライバ統合) ハードウェア ピン マッピング(EVK 回路図より): MIPI-DSIコネクタ(P7) : ピン17 → CTP_RST → U725.P2_1 (PCAL6524のGPIO17) ピン18 → DSI_CTP_nINT → U725.P0_7 (PCAL6524のGPIO7) nxp ボードからのデバッグ メッセージ: gpiochip4: GPIO 640-663、親: i2c/1-0022、1-0022、CAN スリープ: [ 9475.945028]Gt9xxドライバが終了しました [ 9477.986387]Gt9xx ドライバをインストールしています。 [ 9477.986597] goodix-custom 2-005d: GTP ドライバ バージョン: V2.8.0.2<2017/12/14> [ 9477.986609] goodix-custom 2-005d: GTP I2C アドレス: 0x5d [ 9477.986636] goodix-custom 2-005d: vdd_anaレギュレータが見つかりません。ダミーを使用しています。 [ 9477.986642] goodix-custom 2-005d: vcc_i2c レギュレータが見つかりません。ダミーを使用しています。 [ 9477.986646] goodix-custom 2-005d: ギターのリセット [ 9478.016950] goodix-custom 2-005d: I2C アドレスは 5d です [ 9478.017220] goodix-custom 2-005d: IC バージョン: 9271_1020 [ 9478.017498] goodix-custom 2-005d: ドライバセットが設定を送信しない [ 9478.023312] goodix-custom 2-005d: スロットレポートプロトコルを使用する [ 9478.023488] 入力: goodix-ts を /devices/virtual/input/input7 として [ 9478.024381] goodix-custom 2-005d: INT num -22、トリガータイプ:0 [ 9478.024400] goodix-custom 2-005d: irq -22 の要求に失敗しました [ 9478.024404] goodix-custom 2-005d: 作業Threadの作成に失敗しました [ 9478.042299] goodix-custom: 2-005d のプローブがエラー -22 で失敗しました 「.ko」を作成していますファイルを作成し、コマンドinsmodを使用してimx 93frdmボードに挿入し、0x5d i2cをgoodix-customモジュールに手動で割り当てると、実行時エラーが発生し、モジュールを挿入できません。これについて助けてもらえますか? Re: Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander NXPコミュニティの皆様、こんにちは。 私は現在、Goodixタッチスクリーン(GT9271)を i.MX93FRDM ボード。タッチスクリーンは I2Cアドレス0x5D 、および 割り込み(INT) そして リセット(RST) ラインは I/Oエクスパンダー PCAL6524HEAZ (U725)は、 I2Cアドレス0x22 。 ハードウェアの回路図によると、次のようになります。 CTP_INT(割り込み) は P0_7 U725にコネクテッド。 CTP_RST(リセット) は P2_1 U725にコネクテッド。 これらのピンは、22 ピン MIPI DSI FPC コネクタを介して次のように公開されます。 ピン18: DSI_CTP_nINT (P0_7) ピン17: CTP_RST (P2_1) /sys/kernel/debug/gpio 経由で GPIO ベースを調べると、次のようになります。 gpiochip4: GPIO 640 -663 、 親: i2c/1-0022、1 -0022 、 スリープ可能: これは、 PCAL6524 の基本 GPIO 番号は 640 です。 これに基づいて、ピンを次のようにマッピングしました。 P0_7 = 640 + 7 = GPIO 647 P2_1 = 640 + 16 (P2ベースオフセット) + 1 = GPIO 657 私は Goodix ドライバにこれらの値を次のようにハードコードしました。 #GTP_INT_PORT 647を定義します#GTP_RST_PORT 657を定義します   ドライバは I2C アドレスを正しくロードしてプローブします。ただし、IRQ を要求しようとすると、次のエラーが発生します。 [ 2385.431060 ]goodix-custom 2-005d: INT num -22 、トリガータイプ:0 [ 2385.431080 ]goodix-custom 2-005d: irq -22 の要求 に 失敗しました   これは、gpio_to_irq() が無効な IRQ 番号 (-22 = EINVAL) を返していることを示します。 私の質問は次のとおりです: GPIOは 647 そして 657 正しい数字 P0_7 そして P2_1 i.MX93 の PCAL6524 エクスパンダーの? 何か特別な設定が必要ですか? デバイスツリー、 pinctrl 、または割り込み使用のためにこれらのエクスパンダー GPIO を適切にエクスポートする他の方法はありますか? NXPが推奨する方法はありますか? PCAL6524からのGPIO割り込み このタッチスクリーン ドライバーなどのカスタム ドライバーではどうですか? i.MX93 プラットフォームで PCAL6524 GPIO を割り込みラインとして使用する方法の説明や例があれば非常に役立ちます。 どうぞよろしくお願いいたします。 Re: Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander NXPコミュニティの皆様、こんにちは。 現在、Goodix タッチスクリーン (GT9xx シリーズ) をi.MX93プラットフォームに統合する作業に取り組んでいます。タッチスクリーンはI2C アドレス 0x5Dを使用し、割り込み (INT)ラインとリセット (RST)ラインの両方がI2C アドレス 0x22にあるI/O エクスパンダー PCAL6524HEAZ (U725) を介してルーティングされます。 ハードウェアの回路図によると、次のようになります。 CTP_INT (割り込み)は U725 のP0_7にコネクテッド。 CTP_RST (リセット)は U725 のP2_1にコネクテッド。 これらのピンは、22 ピン MIPI DSI FPC コネクタを介して次のように公開されます。 ピン18: DSI_CTP_nINT (P0_7) ピン17: CTP_RST (P2_1) /sys/kernel/debug/gpio 経由で GPIO ベースを調べると、次のようになります。 gpiochip4: GPIO 640 -663 、 親: i2c/1-0022、1 -0022 、 CAN スリープ可能: これにより、PCAL6524 の基本 GPIO 番号が 640 であることが確認されます。 これに基づいて、ピンを次のようにマッピングしました。 P0_7 = 640 + 7 = GPIO 647 P2_1 = 640 + 16 (P2ベースオフセット) + 1 = GPIO 657 私は Goodix ドライバにこれらの値を次のようにハードコードしました。 # GTP_INT_PORT 647を定義# GTP_RST_PORT 657を定義   ドライバは I2C アドレスを正しくロードしてプローブします。ただし、IRQ を要求しようとすると、次のエラーが発生します。 [ 2385.431060 ] goodix-custom 2-005d: INT num -22 、 トリガー タイプ:0 [ 2385.431080 ] goodix-custom 2-005d: irq -22 の要求 に 失敗しました   これは、gpio_to_irq() が無効な IRQ 番号 (-22 = EINVAL) を返していることを示します。 私の質問は次のとおりです: GPIO 647と657は、i.MX93 の PCAL6524 エクスパンダーのP0_7とP2_1の正しい番号ですか? 割り込み使用のためにこれらのエクスパンダー GPIO を適切にエクスポートするには、デバイス ツリー、 pinctrl 、またはその他の場所で何か特定の設定を行う必要がありますか? このタッチスクリーン ドライバなどのカスタム ドライバでPCAL6524 からの GPIO 割り込みを使用するために NXP が推奨する方法はありますか? i.MX93 プラットフォームで PCAL6524 GPIO を割り込みラインとして使用する方法の説明や例があれば非常に役立ちます。 どうぞよろしくお願いいたします。 Re: Touchscreen Driver not working , GT9271 chip connected nxp-imx93frdm PCAL6524 gpio expander こんにちは、 モジュールを入力したときにデバイスが応答していないようです。モジュールを確認して、使用しているカーネル バージョンでモジュールが再度ビルドされているかどうかを確認してください。また、デバイス ツリーがない可能性もあるかどうかも確認してください。 よろしくお願いします。
View full article
imxrt1170 EVKB こんにちは、 現在、開発には i.MXRT1170 EVKB を使用しており、ポーリング モードで正常に機能している evkbmimxrt1170_enet_txrx_transfer_cm7_100M の例を使用しています。ただし、代わりに割り込み (ISR) モードで動作するように変更したいと考えています。 これを実装する方法を誰か教えていただけませんか? ご回答をお待ちしています。 Re: imxrt1170 EVKB わかりました。やってみます。 ありがとうございます パルト Re: imxrt1170 EVKB こんにちは、 最新の SDK のすべての関連例については、 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/25.06.00/driver_examples/enetをご覧ください。 txrx_multiring_transfer からの割り込みをサポートする例があるようです: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/release/25.06.00/driver_examples/enet/txrx_multiring_transfer/enet_txrx_multiring_transfer.c#L347   しかし、それは 1G enet のようです。https://mcuxpresso.nxp.com/mcuxsdk/latest/html/examples/driver_examples/enet_1g/txrx_multiring_transfer/readme.html
View full article
i.MX7D の DRAM_SDCLK0 は約 270MHz で遅いです。 こんにちは。 CCM_ANALOG_PLL_DDR が 0x0000302C に設定されている場合、DRAM_SDCLK0 は 132MHz になります。 SO、CCM_ANALOG_PLL_DDR の TEST_DIV_SELECT ビットが 0x01 に設定され、0x0020302C に設定されている場合、DRAM_SDCLK0 は約 270MHz になります。 533Mhzの半分です。 DRAM_PHYM_ALT_CLK_ROOT と DRAM_ALT_CLK_ROOT は DDR_PLL_DIV2 に設定されています。 1/2にする設定はありますか? よろしくお願いいたします。 Re: DRAM_SDCLK0 of i.MX7D is about 270MHz,  it's slow ! こんにちは、ジョアンシー。 よろしくお願いします。 計算結果と実際の DDR_SDCKE には 1/2 の差があります。 理由は分かりませんが、とりあえずここで終わりにします。 周波数が高くなると、DDR_SDCLKE の電圧レベルは低下します。 SO、頻度を下げようと考えています。 よろしくお願いいたします。 Re: DRAM_SDCLK0 of i.MX7D is about 270MHz,  it's slow ! 私が示したドライバは式を教えてくれるので、 CCM_ANALOG_PLL_DDR、CCM_ANALOG_PLL_DDR_NUM、CCM_ANALOG_PLL_DDR_DENOMレジスタを読み取って、正しいかどうかを確認する必要があります。 Re: DRAM_SDCLK0 of i.MX7D is about 270MHz,  it's slow ! こんにちは、ジョアンシー。 uboot-2022.01をビルディングしています。 示したコードは get_ddrc_clk(void) です。 このコードで見つけたもの reg = readl(&ccm_reg->root[DRAM_CLK_ROOT].target_root; 「図5-7.DRAM_Clock構造」に記載されていないDRAM_CLK_ROOTがregにロードされます。 DRAM_CLK_ROOTの初期値は0x00000001でした。 DRAM_CLK_ROOT をクリアすると正しく表示されるようになりました。 ただし、DRAM_SDCKE0 は 270MHz です。これは正しいですか?オシロスコープで確認しました。 よろしくお願いいたします。 Re: DRAM_SDCLK0 of i.MX7D is about 270MHz,  it's slow ! 以下のようにソースコードを確認しました https://github.com/nxp-imx/uboot-imx/blob/lf_v2025.04/arch/arm/mach-imx/mx7/clock.c#L162 decode_pll関数をチェックした CASE PLL_DDR: reg = readl(&ccm_anatop->pll_ddr); (reg & CCM_ANALOG_PLL_DDR_POWERDOWN_MASK) の場合 0を返します。 num = ccm_anatop->pll_ddr_num; denom = ccm_anatop->pll_ddr_denom; (reg & CCM_ANALOG_PLL_DDR_BYPASS_MASK) の場合 MXC_HCLK を返します。 div_sel = (reg & CCM_ANALOG_PLL_DDR_DIV_SELECT_MASK) >> CCM_ANALOG_PLL_DDR_DIV_SELECT_SHIFT; 頻度を返します * (div_sel + num / denom); SO、式は24M *(DIV_SELECT+(NUM/DENOM))、div_selはCCM_ANALOG_PLL_DDRから、mumはCCM_ANALOG_PLL_DDR_NUMから、denomはCCM_ANALOG_PLL_DDR_DENOMから取得されます。 Re: DRAM_SDCLK0 of i.MX7D is about 270MHz,  it's slow ! こんにちは、ジョアンシー。 説明していただいた図は理解できました。 しかし、リファレンスマニュアルには、FASTMIX がどのレジスタであるかは説明されていません。 レジスター名を教えてください。 このCASE、CCM_ANALOG_PLL_DDRn の TEST_DIV_SELECT を 0x00 に設定する必要がありますか? よろしくお願いいたします。 Re: DRAM_SDCLK0 of i.MX7D is about 270MHz,  it's slow ! 1/2にする設定はありますか? >どういう意味ですか? DRAM_SDCLKに533Mhzが必要だということですか? joanxie_0-1754714689138.png 図5-7を参照してください。専用のDRAM_PLLを使用して1066MHzの2倍クロックを生成し、分周器を使用してそれを2で分割して、デューティサイクルが良好な533MHzクロックを生成します。この533MHzクロックは PHY_MCLK として使用されます。一方、1066MHzのクロックも2で割られ、 1/N 分周器を使用して 533MHz を PHY_CLK として取得するほか、PHY クロックを 266MHz や 133MHz などの低い周波数に分割するために使用される 1/N 分周器があります。1/N除算器は3ビットの除算器である Nは2から8までの範囲で設定できます。SO、1/Nを1/2に設定すると533MHzになります。
View full article
i.MX6ULL割り込みが頻繁にトリガーされます(21f4000.serial)。 皆さん、こんにちは。システムの動作中に遅延が発生していました。トラブルシューティングの結果、RS485周辺機器の割り込み回数が異常であることが判明しました。前夜の割り込み回数は3億回を超えていました。 67: 334823120 GPC 30 レベル 21f4000.シリアル 翌日にはさらに増えました。 xisuisan222_0-1755174004840.png このシリアル ポートを使用してデータを送受信するプロセスは 1 つだけです。通常の業務操作では、これほど頻繁にデータが送信されることはありません。 異常波形は以下のとおりです。 xisuisan222_1-1755174213455.png 通常の波形 xisuisan222_2-1755174236393.png 周辺機器からRS485通信ケーブルを取り外すと、割り込み回数は正常に戻りました。しかし、その後機器を再起動すると、割り込み回数が1秒あたり数万回増加しました。この問題は最終的にUARTプロセスを再起動することで解決しました。3台の機器を同時に稼働させていますが、この現象は突然発生し、この1台のみで発生しました。正常な動作データは下図のとおりです。 xisuisan222_3-1755174521514.png なぜこのようなことが起こるのか知りたいです。よろしくお願いします! i.MX6UL Re: i.MX6ULL 中断频繁触发(21f4000.serial) こんにちは@JosephAtNXP 、 この問題に関してのサポートに心より感謝申し上げます。最新情報をお知らせします。UART4 を使用するプロセスを再開すると、デバイスは通常の動作を再開しました。それ以来監視を続けてきましたが、問題は再発していません。 ちなみに、この RS485 バスには 2 つのスレーブ デバイスがあります。当時、スレーブデバイスからのログを確認しましたが、明らかな異常は見つかりませんでした。実際には、異常状態中に元のパケットをキャプチャするためにプロセスのログ レベルを調整していましたが、そのプロセスの一環として UART4 プロセスを再起動すると問題は解決し、残念ながら問題のあるパケットをキャプチャすることはできませんでした。 よろしくお願いします。 Re: i.MX6ULL 中断频繁触发(21f4000.serial) こんにちは@xisuisan222さん この孤立した動作は物理的な問題のように見えますが、回線にはケーブルやもう一方の端、ハードウェア障害などの原因があるはずです。 すべての要素の電源を入れ直した後、何か違いが見られますか? よろしくお願いします。
View full article
关于使用 RTD 进行功能安全配置的问题 你好,团队 请问 S32K314 的热电阻(MCAL/SPD)配置如何? Q1.我没有在 RTD 上找到关于带中断的 PLL LOL 的 "配置"。 哪种配置(来自带有 SPD 的 MCAL RTD)可以配置 LOL 的 RESET 或中断? Q2.对于带中断功能的低压检测 和 HVD,我没看清哪个与低压检测 和 HVD 有关。 请问哪一个是低压检测和 HVD 的中断反应,“MCU_ERROR_ISR_NOTIFICATION” 还是 “MCU_PMC_NOTIFICATION”? Q3.对于 ERM0 配置,如何配置 ERM(使用 RTD/SPD),例如下面的代码? 谢谢! RTD S32_CONFIG_TOOL S32DS Re: Question about Safety configuration using RTD 是的 用户可在 EB Tresos 的此节点中配置其用户通知,MCU_ERROR_ISR_NOTIFICATION 将在 PMC_VoltageError_IRQHandler> 中调用 ...> 然后,Mcu_Ipw_ReportPowerErrorsCallback 将调用此通知 Re: Question about Safety configuration using RTD 你好@congnguyenphu 感谢您的回复。 为了再次确认,低压检测/HVD 与 MCU_ERROR_ISR_NOTIFICATION 有关,不是吗? 谢谢! (我将关闭此票......) Re: Question about Safety configuration using RTD 你好@Luke_Chun 1.要配置 PLL LOL 的中断,Platform 模块中指向的 IRQ 必须正确。应启用 SoC_PLL_IRQn(NVIC 212)。它在参考手册和我们的头文件中提到: 但是,我检查了 RTD 代码包,我们不为这个中断提供 ISR。我在 SPD 包中也找不到。因此,用户需要为该中断处理程序实现自己的 ISR。 2。NVIC 52 参考手册中提及的带中断的低压检测 和 HVD: 在 RTD 的 MCU 集成手册中,我们提供了名为 PMC_VoltageError_IRQHandler 的 ISR 来处理该问题: 您可以在 RTD 平台中通过 IRQ"PMC_IRQn" 配置并启用它。 在 PMC_VoltageError_IRQHandler() 中,它还通过"MCU_ERROR_ISR_NOTIFICATION "宏调用MCU 配置中用户自定义的回调通知 McuErrorIsrNotification。 3.如何配置 ERM: -在 RTD 代码包中:我们在 EB Tresos/S32CT 上没有配置来帮助用户配置 ERM 寄存器的值。但 RTD 在 BaseNXP/header/S32K314_ERM.h 中提供了宏,帮助用户设置该寄存器的值: 用户可以使用这些宏作为裸机代码来设置寄存器的值。 -在 SPD 代码包中:我指的是 emcem 插件,文件 emceM_ERM.C在函数 eMcem_Erm_Init()中,以下宏用于设置 ERM[CR] 寄存器的值:erm_cr_addr32()、safetybase_reg_write32()  
View full article
[RW612] デュアルアンテナスループット こんにちは、 現在、RW612 を使用して開発しており、Wi-Fi と BLE が同時に動作する機能に取り組んでいます。 このシステムは、Wi-Fi と BLE に別々のアンテナを備えたデュアルアンテナ構成を使用します。 以下は、MCUXpresso IDE で現在使用されている SDK の詳細です。 * SDK名: SDK_2.x_FRDM-RW612 * SDKバージョン: 24.12.00 * マニフェストバージョン: 3.15.0 テスト中に、2.4GHz 帯域の Wi-Fi に接続し、同時に BLE 操作を実行すると、Wi-Fi のスループットが大幅に低下することがわかりました。 一方、5GHz帯は目立った劣化もなく安定して動作します。 ただし、私たちのユースCASEでは 2.4GHz 動作も必要なので、この問題に対処する必要があります。 調査中に、「AN14121: RW61x の共存の概要」という文書を見つけました。質問させてください。私たちのようなデュアルアンテナ設定では、特別に PTA (Priority Traffic Arbiter) 設定を別々に構成する必要があるのでしょうか? さらに、FRDM-RW612 SDK で提供される Wi-Fi および BLE ファームウェア (rw61x_sb_wifi_a2.bin および rw61x_sb_ble_a2.bin) は、シングルアンテナ構成用に設計されているようです。デュアルアンテナ設定用に別のファームウェアバージョンはありますか?もしSOなら、それを入手することは可能でしょうか? ありがとう。 Re: [RW612] Dual Antenna Throughput こんにちは@hclee 共存はデフォルトで有効になっているため、構成する必要はありません。BT と 2.4G Wi-Fi が同時に動作すると、2.4G Wi-Fi と BT の中断を回避するためにスループットが低下します。 ただし、coex に関するデモを提供しており、SDKs で参照できます: \middleware\wireless\coex\build_coex.sh このシェルをビルドし、J-Link を使用してボードにフラッシュします。 shaun_wu_0-1756867014748.png よろしくお願いいたします。 ショーン 機密文書を入手するには NDA が必要です。 Re: [RW612] Dual Antenna Throughput こんにちは、 @shaun_wu 現在、デュアルアンテナで構成されたカスタムボードを使用しています。 私たちのアプリケーションでは、Wi-Fi 経由でサーバーからデータをストリーミングしながら、同時に BLE 経由でデータを送信します。 テスト中に、ダウンロードに 2.4GHz Wi-Fi 帯域を使用し、送信に BLE を使用すると、Wi-Fi スループットが著しく低下することが確認されました。 当社のボードではデュアルアンテナ設定を使用しているため、このシナリオで共存メカニズムを適切に有効にするために必要な特定の構成手順があるかどうかをお尋ねしたいと思います。 提供されたリンクにアクセスしようとしましたが、次のメッセージが表示されました: 「あなたのユーザーIDにはダウンロードを続行するための十分な権限がありません。」 コンテンツを表示またはダウンロードするために必要な権限がないようです。 よろしくお願いします ヘクリー Re: [RW612] Dual Antenna Throughput こんにちは@hclee FRDM ボードは 1 つのアンテナ構成のみをサポートしています。カスタム ボードを使用していますか? shaun_wu_0-1756783468460.png 調査中に、「AN14121: RW61x の共存の概要」という文書を見つけました。質問させてください。私たちのようなデュアルアンテナ設定では、特別に PTA (Priority Traffic Arbiter) 設定を別々に構成する必要があるのでしょうか? --> Wi-Fi 2.4G と BT の中断を回避するために共存メカニズムは使用できません。 さらに、FRDM-RW612 SDK で提供される Wi-Fi および BLE ファームウェア (rw61x_sb_wifi_a2.bin および rw61x_sb_ble_a2.bin) は、シングルアンテナ構成用に設計されているようです。デュアルアンテナ設定用に別のファームウェアバージョンはありますか?もしSOなら、それを入手することは可能でしょうか? --> frdm ボードのハードウェアはデュアル アンテナをサポートしていません。evk 設計を参照できます。当社はデュアル アンテナの設計と構成を提供します。https://www.nxp.com/webapp/Download?colCode=RD-RW61X-BGA-IPA-2A-V4&appType=license よろしくお願いいたします。 ショーン よろしくお願いいたします。 ショーン
View full article
S32K388 SMP example debugging Hello, I am tying the FreeRTOS SMP example using S32K388-EVB-Q289. Rev B I  am using PEMicro Debugger (interface : USB Multilink, port: embedded Multilink Rev A) and I don't have T32 But it seems that only the core master runs and the other smp core is not running if i only use the debug config given. So i add one more debug config, set core M7_2, try to attach but  "Break at address "0x20402400" with no debug information available, or outside of program code."    unnamed.png Re: S32K388 SMP example debugging Hi @chansookang, Sorry, talking with the internal team, it seems that FreeRTOS SMP code version running in SRAM does not meet customer requirements (multicore). Also, the FreeRTOS SMP version is a code drop version, so the code may have issues or problems. For now, FreeRTOS SMP is not working correctly in multicore. Could you help me by entering a support case to continue this internally? You can enter a support ticket through here: NXP Support. Best regards, Julián Re: S32K388 SMP example debugging Hi @chansookang, Sorry for the late reply. I have received an answer from the team, however, I am still discussing with them the debug configuration and functionality for SMP.  Re: S32K388 SMP example debugging Hello Would you be able to tell me when I can expect to know? Thank you Re: S32K388 SMP example debugging Hi @chansookang, I have raised a ticket to the internal team to ask for confirmation whether the example supports PEmicro configuration. As far as I know, the Lauterbach scripts included with the example are needed to start-up core2 and control the program's flow. I've shown how to run the project in this community post: Solved: S32K358 - freeRTOS SMP - NXP Community. Please wait until I get a response from the corresponding team.  Best regards, Julián
View full article
i.MX93 SRK 生成,"输入 PKI 树持续时间年数" 使用的字段? 在 i.MX93 超级根密钥生成过程中,其中一个问题是 Enter PKI tree duration (years): 该字段的值何时使用? (因为目标在启动期间无法验证时间戳/证书持续时间的有效性。) 安全
View full article