Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
Fusion F1 DSP MIMXRT595-EVK 用にビルドできません こんにちは、   いずれかの例をビルドしようとすると ( https://mcuxpresso.nxp.com/mcuxsdk/25.06.00/html/boards/RT/evkmimxrt595/gettingStartedXplorer/topics/run_and_debug_from_command_line_environment_linux.html#build-and-debug-dsp-applicationに従う)次のエラーが発生します: [nicolas@LPC84-nicolas xcc]$ make [ 5%] Building C object CMakeFiles/dsp_naturedsp_dsp.elf.dir/opt/mcuxpresso-ide/SDK_25_06_00_EVK-MIMXRT595/SDK_25_06_00_EVK-MIMXRT595/boards/evkmimxrt595/dsp_examples/naturedsp/fusionf1/main.c.obj Error: the "nxp_rt500_RI23_11_newlib" core is not in the current Xtensa core registry. You need to either specify the name of a registered Xtensa core (with the --xtensa-core option or the XTENSA_CORE environment variable) or specify a different registry of Xtensa cores (with the --xtensa-system option or the XTENSA_SYSTEM environment variable). The following Xtensa cores are available:   XTENSA_SYSTEM に設定され、.../builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib に設定されています。XTENSA_CORE は「nxp_rt500_RI23_11_newlib」に設定されていますが、見つかりません。利用できるコアがありませんか?   Xplorer アプリケーションを使用すると、同じエラーが発生します。Linux newlib の DSP 構成は、Tensilica ツールからダウンロードされ、GUI を使用してインストールされました。 具体的なビルド エラーは次のとおりです。 **** Incremental Build [Wed, 23 Jul 2025 11:46:42] **** Project: test Configuration: nxp_rt500_RI23_11_newlib Build Target: Debug ******************************** .... LLVM ERROR: Failed to load library ~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config/llvm/lib/libXtensaCodeGen.so. Unsupported processor configuration. ~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config/llvm/lib/libXtensaCodeGen.so: cannot enable executable stack as shared object requires: Invalid argument ....     Linux (newlib) v10.1.11 の DSP 構成に問題がある可能性がありますtenisillica ツールからダウンロードしますか?Linux で問題を経験している人は他にもいますか?   Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは@Nicolas-ph 、 テスト環境で同じテストを実行しましたが、問題は環境変数の設定にあるはずです。これを次の構成に変更すると動作します。 XTENSA_SYSTEM=~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config export XTENSA_CORE=nxp_rt500_RI23_11_newlib export Gavin_Jia_0-1754990046173.png よろしくお願いします、 ギャビン Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは、ギャビン。 ご返信ありがとうございます。 ライセンスが適切でない場合、IDEs でビルド プロセスを開始できません。SOではないはずです。また、Xplorer IDE は、Windows と Linux の両方でライセンスが正常であると報告します。 よろしくお願いします、 ニコラス Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは@Nicolas-ph 、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 Windows 環境では DSP コードを CAN コンパイルするため、構成プロセスは SO 問題なく実行されるはずです。Linux 環境のライセンスに問題があるのではないかと疑っています。 Gavin_Jia_0-1754468219833.png よろしくお願いします、 ギャビン Re: unable to build for fusion F1 DSP MIMXRT595-EVK 更新、Windows で同じ手順を実行すると、ビルドできるようになります... Re: unable to build for fusion F1 DSP MIMXRT595-EVK こんにちは、 エラーが2つあります。 最初のエラーは、XTENSA_SYSTEM環境変数が正しくないことが原因です。混乱の原因は、ドキュメント(例えばこちら)のフォーマットが適切でないことだと私は思います。先に回答したとおり、正しい変数は次のとおりです。 XTENSA_SYSTEM=~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config 2つ目のエラーは「実行可能スタックを有効にできません」です。その理由は、セキュリティ強化Linux(SELinux)がXtensa Software Toolsでサポートされているプラットフォームではないためです。libXtensaCodeGen.so から実行可能スタックの要件を削除する必要があります。念のため、まずファイルのコピーを作成してから、以下のコマンドを実行してください。 execstack -c ~/xtensa/XtDevTools/install/builds/RI-2023.11-linux/nxp_rt500_RI23_11_newlib/config/llvm/lib/libXtensaCodeGen.so この方法により、Fedora 43上でXtensa Xplorer、MCUXpresso IDE、RT685-EVKを使用してdsp_mu_pollingのサンプルをデバッグすることができました。ターミナルを使ってサンプルをコンパイルすることもできました。
View full article
IMX8MP HDMI 1024x600 分辨率 你好 我有一块自定义 imx8mp 板可以直接 HDMI 视频输出,它在 1920x1080 的显示器上运行良好。 我需要配置自定义 HDMI 分辨率 1024x600@60,像素时钟 40000000。 显示屏: https://www.lcdwiki.com/10.1inch_HDMI_Display-H 感谢您的支持。 Re: IMX8MP HDMI 1024x600 resolution 你好,我找到了一个适合我的解决方案。 我使用以下工具生成了自定义 EDID:https://github.com/akatrevorjay/edid-generator.git,然后将其复制到 /lib/firmware/edid 中。 在内核配置中,我启用了 CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_IMX_HDMI=m 最后,我在 cmdline 中添加了这些参数: drm.edid_firmware=HDMI-A-1:edid/1024x600.bin video=HDMI-A-1:1024x600-16@60 感谢您的支持 Re: IMX8MP HDMI 1024x600 resolution 你好。 不,该决议不是标准决议,您必须进行更改。 此致 Re: IMX8MP HDMI 1024x600 resolution 你好   在 linux 6.12 版本中,文件格式是这样的:   }, { .pixclk = 63500000、 .pll_div_regs = { 0x69, 0x74, 0x89, 0x08, 0x80, 0x40 }、 }, { .pixclk = 67500000、 .pll_div_regs = { 0x54, 0x52, 0x87, 0x03, 0x80, 0x40 }、 }, {   您能帮我在该文件中添加补丁吗? 我需要在内核命令行中添加任何修改吗? Re: IMX8MP HDMI 1024x600 resolution 你好 1080x720 分辨率不是标准分辨率,请检查一下。 --- a/drivers/phy/freescale/phy-fsl-samsung-hdmi.c +++ b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c @ -324,6 +324,15 @@ const struct phy_config samsung_phy_pll_cfg[] = { 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x83、0x0F, 0x3E, 0xF8, 0x00, 0x00, }, + }, { + 65000000, { + 0x00, 0xD1, 0x51, 0x58, 0x8D, 0x04, 0x9A, 0x57, + 0x4F, 0x30, 0x33, 0x65, 0x10, 0xBE、0x24, 0x80, + 0x6C, 0xF2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x3A, + 0x74, 0x8F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00、0x00, 0x00, 0x00, + 0x00, 0xE0, 0x83, 0x0F, 0x3E, 0xF8, 0x00, 0x00, + }, }, { 67500000, { 0x00, 0xD1, 0x54, 0x52, 0x87, 0x03, 0x80, 0x40, -- 此致 Re: IMX8MP HDMI 1024x600 resolution 您能帮我在 samsung_phy_pll_cfg 表中添加这些参数吗? 我的 linux-imx 版本是 lf-6.12.y。 感谢您的支持。 Re: IMX8MP HDMI 1024x600 resolution 你好 这不是当前电路板支持包可以支持的标准分辨率,我需要通过工具生成计时参数,所以请将这些参数添加到 drivers/phy/freescale/phy/freescale/phy-fsl-samsung-hdmi.c 的表中 samsung_pll_cfg Bio_TICFSL_0-1753368299853.png Bio_TICFSL_1-1753368299863.png 这取决于您的像素时钟,但也是可行的。 此致 Re: IMX8MP HDMI 1024x600 resolution 77MHZ 像素时钟的 samsung_phy_pll_cfg 设置是什么?另外,能否请您在 imx8mp 用户手册中提供正确的寄存器设置?imx8mp 和 imx8mm 在 HDMI 上是否一样?
View full article
i.MX93 共享内存访问使用 UIO/mmap 时仅在使用 GDB 调试时崩溃(Segfaults)。 恩智浦和论坛成员,你们好、 我们正在使用 i.MX93,并希望使用共享内存在 M33 和 A55 内核之间进行交互,在该内存区域使用共享环形缓冲区结构。 M33 可以顺利访问共享内存,这在 A55 端也基本正常,但是:只要连接的 GDB 客户端尝试打印共享内存的内容,程序就会因分段故障而崩溃: 无法处理内核从虚拟地址 ffff8000822e7000 处的不可读内存读取的数据。 这就很奇怪了,因为共享内存块的底部从 0x8F600000 开始,映射到虚拟内存的位置是 FFFFF73E0000。 再详细一点: 我们希望避免根据需要编写完整的内核驱动程序,而是使用 UIO 驱动程序处理用户空间的内存访问。 为此,我们在设备树中创建了两个条目,定义了内存区域并将其分配给 UIO 驱动程序。 使用 mmap() 将内存区域映射到用户空间区域后,在不使用 GDB 调试/打印内存区域的情况下,我们就可以在双方都没有问题的情况下读写共享区域。 大多数集成开发环境和调试前端都会在遇到断点时立即打印本地/函数本地变量,这导致我们无法使用调试器,目前完全阻塞了我们的项目 😞 如https://stackoverflow.com/questions/654393/examining-mmaped-addresses-using-gdb所述,解决这个问题的方法是在.access 中添加一个.access.config。成员到相应(自定义)内核驱动程序中的 vm_operations_struct。 但就我所知,我们使用的 UIO 驱动程序(已启用 CONFIG_HAVE_IOREMAP_PROT)中似乎实现了相应的方法:https://github.com/phytec/linux-phytec-imx/blob/v6.6.52-2.2.0-phy/drivers/uio/uio.c 我们正在使用 PHYTEC 的 SOM 板,目前正在使用他们的载板硬件 " PhyBoard Nash " 直到我们自己的硬件完工。因此,我们目前在 yocto 层中主要使用补丁作为 " 快速和肮脏 "。 这篇文章附有一个存档,其中包含一个最小的工作应用程序示例,以及我们当前 yocto 元层的精简版本。 在我看来非常奇怪的是,网上关于 UIO、mmap 和 gdb 问题的搜索结果并不多,但这似乎是从用户空间访问原始内存的一种相当常见的方式。 您知道 GDB 为什么会访问错误的、未映射/不可访问的内存区域,或者是什么原因导致了我们的问题吗? 预先感谢& ,致以最崇高的敬意 马尔库斯 Linux Re: i.MX93 Shared memory access using UIO/mmap crashes (Segfaults) only when debugging with GDB 你好@Bio_TICFSL、 感谢您的快速回复。 是的,我知道内存访问故障是如何发生的,也知道你提到和描述的例子/原因。 GDB 客户端本身似乎执行了错误的内存读取,导致 SIGSEGV 崩溃,因此这无助于我们调试此问题,但似乎是导致此问题的原因。 也许您能告诉我,理论上 GDB 是否应该能够像我们一样访问处理过的内存(UIO + mmap)? 不幸的是,我们目前无法使用 " vanilla " /mainline 内核树在这里进行测试,因为我们在 PHYTEC 载板上,我们无法自己检查这是一个 PHYTEC 分支问题还是常规(主线)问题。 顺祝商祺! 马尔库斯 Re: i.MX93 Shared memory access using UIO/mmap crashes (Segfaults) only when debugging with GDB 你好 你必须去找Phytec才能在这方面有更好的参考。调试期间出现分段错误(segfault)表示程序试图访问其不允许访问的内存位置。这通常会导致操作系统使用 SIGSEGV 信号终止程序。像 GDB 这样的调试工具可以帮助查明原因。   分段故障的常见原因   取消引用空指针或未初始化指针: 试图通过未指向有效内存位置的指针访问内存。   越界数组访问: 访问超出声明大小的数组元素。   堆栈溢出: 过度递归或大型局部变量占用了所有可用堆栈空间。 写入只读内存: 试图修改指定为只读的内存段,如代码段。 Use-after-free 错误: 在内存被重新分配后访问内存。     获取回溯: 一旦发生故障,GDB 就会停止。 使用 bt (回溯)命令查看导致崩溃的调用堆栈。 这有助于确定发生故障的函数和代码行。 I检查变量和内存: 使用 帧 N 浏览堆栈帧(其中 N 是反向跟踪中的帧号),并使用 print variable_name 检查相关变量(尤其是指针)的值,以识别空地址或无效地址等潜在问题。   使用内存分析工具: 可用于检测内存错误,包括无效内存访问、未初始化内存使用和内存泄漏,这些都可能导致分区故障。   此致        
View full article
S32K344 - ECC 可纠正和不可纠错内存 10 (SBC10-NCE10) 你好 我正在编写一个驱动程序,以便从错误报告模块读取诊断数据。 我注意到,与存储器 10 相对应的ERM 状态寄存器 1正在持续检测单比特纠错事件和不可纠错事件。 结果,错误计数器 CORR_ERR_CNT10 立即达到 0xFF,EAR10 和 SYN10 似乎都在确认某种错误(请参阅下图)。 这是唯一受此行为影响的内存区域。试图清除 SBC10 和 NCE10 字段时,NCE10 位几乎立即翻转,随后 SBC10 位翻转不超过 10 毫秒,这表明错误事件的纠正和通知是一致的。 我目前初始化该模块的方法是尝试清除所有状态报告字段,并且不使用基于中断的 ECC 错误通知。不尝试在系统开机时清除状态报告寄存器会导致相同的行为。 我有几个问题 为什么会这样? 根据表 293,内存 10 是否与"Cortex-M7_0 ITCM" 有关? 如果内存 10 确实与 Core#0 ITCM 有关,而且考虑到我使用的是锁相环微控制器,而且这个问题似乎没有影响到 Cortex-M7_1 ITCM 的检查器内核,这是否意味着 Core0 ITCM 出现了故障? ECC Error - Cortex-M7_0 ITCM.png Re: S32K344 - ECC Correctable and Uncorrectable errors Memory 10 (SBC10-NCE10) 嗨,丹尼尔,谢谢你的支持。 根据您的建议,我通过实施"例 6 解决了问题。ITCM 由内核初始化" 载于 AN13388"S32K3 存储器指南" 。 Re: S32K344 - ECC Correctable and Uncorrectable errors Memory 10 (SBC10-NCE10) 嗨,@fede_ls、 ECC 初始化是特定于设备的,因此不包含在默认启动代码中。开发人员有责任根据目标硬件的要求实施 ECC 设置。重要的是,在对内存执行任何读取操作之前,必须正确初始化 ECC。 Re: S32K344 - ECC Correctable and Uncorrectable errors Memory 10 (SBC10-NCE10) 嗨,丹尼尔 请核实 ITCM 是否已在启动代码(startup_cm7.s,ITCM_Init 部分)中正确初始化? 我正在使用默认的 S32DS CMSIS 核心设备启动文件 startup_armcm7.c,我在这个回复中附上了标准的 .c 文件。 我查看了 " example_siul2_port_IP_example_s32k344_itcm_dtcm_s32ds3.4 RTD300.zip " 以了解它是什么样子(如下面的屏幕截图所示以备将来参考)。 fede_ls_0-1753869362851.png 这是否意味着 ITCM 和 DTCM 默认情况下不会使用非 RTD 启动文件进行初始化? 我确保 SCB->ITCMCR 显示 ITCM 确实已启用,并尝试在启动时禁用>重新启用。 我注意到在地址 0x508 处检测到一个错误。 您能否检查一下 .map 中该地址的代码是什么?文件? fede_ls_1-1753870680244.png 如果可以排除真正的 ECC 错误,那么问题可能与系统时钟配置有关。 如果系统时钟设置不符合时钟选项中指定的分频比,恩智浦不保证 MCU 的正常功能。 例如,请参见表 157,选项 A - 高性能模式(CORE_CLK @ 160 MHz)。 目前,我已成功将时钟配置为选项 A,并验证了其配置确实已应用。 Re: S32K344 - ECC Correctable and Uncorrectable errors Memory 10 (SBC10-NCE10) 嗨,@fede_ls、 感谢您的确认。 请核实 ITCM 是否已在启动代码(startup_cm7.s,ITCM_Init 部分)中正确初始化? 我注意到在地址 0x508 处检测到一个错误。 您能否检查一下 .map 中该地址的代码是什么?文件? 请注意,可随时通过向内存写入 64 位数据来重新初始化 ITCM。 因此,即使发生读取错误,也有可能通过重新初始化 ITCM 来解决。 如果可以排除真正的 ECC 错误,那么问题可能与系统时钟配置有关。 如果系统时钟设置不符合时钟选项中指定的分频比,恩智浦不保证 MCU 的正常功能。 例如,请参见表 157,选项 A - 高性能模式(CORE_CLK @ 160 MHz)。 我们强烈建议只使用完全按照指定的预定义时钟选项,以确保可靠运行。 此致, 丹尼尔 Re: S32K344 - ECC Correctable and Uncorrectable errors Memory 10 (SBC10-NCE10) 我刚刚查过了。PRTN1_COFB0_STAT 设置为 0x7EFF001F,表明 PRTN1_COFB0_STAT[BLOCK23] 正在运行。 您对造成这一问题的原因有什么见解吗? Re: S32K344 - ECC Correctable and Uncorrectable errors Memory 10 (SBC10-NCE10) 嗨,@fede_ls、 为确保万无一失,PRTN1_COFB0_STAT[BLOCK23]是否正在运行?
View full article
需要MKE13Z128VLF7的芯片包和例程 MKE13Z128VLF7的芯片包和例程官网上找不到,需要帮忙 Re: 需要MKE13Z128VLF7的芯片包和例程 IAR的也是同理吗?谢谢解答 Re: 需要MKE13Z128VLF7的芯片包和例程 我下载的keil配置的SDK里面没有找到那个exe文件的PACK安装包 Re: 需要MKE13Z128VLF7的芯片包和例程 刚刚发过了: Select Board | MCUXpresso SDK Builder 打开之后输入“MKE13Z128”就能看到了。 Re: 需要MKE13Z128VLF7的芯片包和例程 方便发送一下链接吗?谢谢 Re: 需要MKE13Z128VLF7的芯片包和例程 您好,MKE13Z128VLF7的SDK在Select Board | MCUXpresso SDK Builder能找到,还可以根据需要自行选择版本或者支持的Toolchain/IDE。 Celeste_Liu_0-1753949682251.png Celeste_Liu_1-1753949716964.png 希望上面信息能帮到您。 BRs, Celeste --------------------------------------------------------------------------------------------------------------------------------- Note: If this post answers your question, please click the "ACCEPT AS SOLUTION" button. Thank you! ---------------------------------------------------------------------------------------------------------------------------------  
View full article
ブートローダがファームウェアにジャンプした後ウォッチドッグが無効になる 皆様へ 私は、imxrt1176 を使用して EVKB-1170 の無線ファームウェア機能に取り組んでいます。OTA の基本的な例をベースとして使用します。mcuboot_opensource プロジェクトのメインからウォッチドッグを有効にしました。ウォッチドッグはこのレベルでテストされ、ウォッチドッグに情報を供給するためタイマー割り込みを使用します。問題は、ブートローダーがファームウェアにジャンプした後に発生します。タイマーはまだ実行されていますが、タイマーがウォッチドッグへのデータ供給を停止する条件をテストすると、リセットは発生しません。ウォッチドッグが無効になっているようです。 IMRT1176_cm7.h には WDOG_DISABLE フラグ以外に何かありますか?新しいイメージにジャンプした後、ウォッチドッグが実行されていることを確認する必要がありますか? よろしくお願いいたします。 ヤクブ Re: Watchdog disabled after bootloader jumps to firmware こんにちは@jslota13245さん、 良い知らせを聞いて嬉しいです。 ご返信と解決策の共有ありがとうございます。 FUTURE何か問題が発生した場合は、新しい質問投稿を作成してください。 良い一日をお過ごしください! よろしくお願いいたします。 メイリュー Re: Watchdog disabled after bootloader jumps to firmware メイリュー様 お時間いただきありがとうございました。問題は私の側にありました。新しいファームウェアをフラッシュする前にフラッシュを消去するのを忘れたに違いありません。それが、DISABLE_WDOG を 0 に変更した後に、説明どおりに動作しなかった理由です。起動元のフラッシュに何らかのアーティファクトが残っているのではないかと疑っています。 改めてお礼申し上げます。良い一日をお過ごしください。 🙂 Re: Watchdog disabled after bootloader jumps to firmware こんにちは@jslota13245さん、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 ファームウェアプロジェクトでは、「system_MIMXRT1176_cm7.h」の「DISABLE_WDOG」の定義は何ですか?ファイル? mayliu1_0-1754380140122.png ブートローダがファームウェアにジャンプすると、ResetISR 内でコードの実行が開始され、その後 SystemInit() 関数が呼び出されます。デフォルトの操作の一部として、SystemInit() はウォッチドッグ タイマーを無効にします。 mayliu1_1-1754380828404.png お役に立てれば幸いです。 まだ質問がある場合は、お気軽にご連絡ください。 よろしくお願いします メイリュー
View full article
MbedTLS 您好, 我正在使用 MbedTLS 示例项目与 HTTPS 服务器通信。在握手过程中,我遇到了以下错误。 1) 当我发送 ClientHello 时,收到 Alert Message Level = 2,description 40(握手失败)。 2) 当我尝试使用 curl 或 chrome 浏览器与服务器通信时,它工作正常... 我检查了 Ciper 套件,服务器接受 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xc030)。我在我的客户端上进行了检查,密码套件中包含了它。 有人能帮我找出问题所在吗? 谢谢! 克里斯蒂 Re: MbedTLS 你好 a8Chcx,我也检查了 lwip_httpssrv_mbedTLS_bm 演示的 Ciper 套件,它确实接受 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384。 既然 curl 和 Chrome 浏览器可以正常工作,说明服务器配置基本正确。问题可能在于客户端 MbedTLS 的编译选项或运行时配置,尤其是对高网络安全套件的支持不完整。 Re: MbedTLS 嗨,塞莱斯特、 感谢您的邮件。 1) MCU 为 K66F 2) IDE MCUXpresso V11.5.0 3) 我在使用 SDK 演示版时进行了修改。SDK2.11.0 我用其他服务器进行了测试,运行正常。两个服务器之间的唯一区别是一个使用 0xC02F(正常),另一个使用 0xC030(不正常)。0xC030 是否需要任何设置? 谢谢! 克里斯蒂 Re: MbedTLS 你好@a8Chcx、 谢谢您的帖子。 能否请您先回答以下问题? 1) 您使用的是哪种 MCU? 2) 集成开发环境及其版本; 3) 您使用的是 SDK 中的演示程序吗?是否做了任何修改?如果是,请提供 SDK 版本和演示版名称。 我会在我这边进行测试。 BRs, 西莱斯特
View full article
恩智浦 S32G399ACGM 安全启动流程中的 BL2 MMC 访问和 BL3x 二进制加载和恢复机制 你好,恩智浦社区、 在我启用 Yocto BSP43 和安全启动的自定义 S32G399ACGM 板上,BL3x 二进制文件(BL31、BL32、BL33)位于 MMC 的第一个分区中。 由于BL2负责在启动期间加载和验证这些二进制文件,我希望在这个 BL3x 加载过程中实现恢复机制。 要继续操作,我需要详细了解 BL2 从 MMC 分区获取和加载这些二进制文件的当前默认机制: BL2 是使用固定偏移量还是硬编码地址访问原始数据的 MMC 分区? 它会解析分区表或文件系统来定位二进制文件吗? TF-A 或平台代码的哪些具体部分实现了加载和验证? 是否有围绕 BL3x 加载流程的现有恢复机制? 了解这一点将使我能够适当地设计恢复解决方案并将其内置到BL3x加载/身份验证过程中。 任何对源代码、配置文件或文档的参考,尤其是对于 S32G399ACGM 上的 Yocto BSP43 而言,都将非常有益。 感谢您的帮助! Re: BL2 MMC Access and BL3x Binary Loading and Recovery mechanism in Secure Boot Flow on NXP S32G399 你好,@yashasdu、 我提供的信息回答了您的问题吗?或者您还有更多问题。 因此,请将我的答复作为已接受的解决方案。 预先致谢 Re: BL2 MMC Access and BL3x Binary Loading and Recovery mechanism in Secure Boot Flow on NXP S32G399 你好,@yashasdu、 以下是我对你们问题的回答: BL2 是使用固定偏移量还是硬编码地址访问原始数据的 MMC 分区? 它使用原始数据,这里定义了偏移量: s32cc_platform_def.h#L119 s32cc_platform_def.h#L130 s32cc_platform_def.h#L102 它会解析分区表或文件系统来定位二进制文件吗? 如上所述,它使用定义的偏移量。 TF-A 或平台代码的哪些具体部分实现了加载和验证? 请首先查看以下内容:bl_common.c#L151和bl1_main.c#L203 是否有围绕 BL3x 加载流程的现有恢复机制? 我们没有提供恢复机制的示例,但根据我的经验,其他客户已经在安卓系统中实施了 A/B 更新。尽管您可以将相同的软件刷入两个插槽并根据身份验证结果有选择地启动,而不是仅通过更新来使用它。 您可以查看以下参考: 安卓 A/B 更新 — Das U-启动 未知版本文档 A/B(无缝)系统更新 | Android 开源项目 另请查看 ATF 上的 ARM 官方文档: https://trustedfirmware-a.readthedocs.io/en/latest/plat/nxp/index.html https://trustedfirmware-a.readthedocs.io/en/latest/process/security.html https://trustedfirmware-a.readthedocs.io/en/latest/design/auth-framework.html https://trustedfirmware-a.readthedocs.io/en/latest/design/alt-boot-flows.html 请注意,这只是一项建议,我们不对实施过程中可能出现的问题提供任何支持。 如有需要,您可以联系专业服务部门,要求实施这项功能: 恩智浦工程服务 处理器和微控制器专业支持 专业工程服务信息申请(CAM802 2019) 尽管我们无法为你所需的实施提供支持,但如果你遇到任何与电路板支持包或芯片本身相关的问题,请创建一篇详细的帖子,我或我的同事会尽力帮助你。 如果您有更多问题,请告诉我。
View full article
33774枚举问题 你好, 我现在是MC33664+ 2 * MC33774 在发送唤醒帧0x07f0, 0x0000,0xffee,0xebb3,延迟8ms 发送0x8400, 0x0001, 0x0a41,0x83f5 发送0x8400, 0x0001, 0x0a42,0xc45a, DRIVE_VDDC持续300ms后通信超时,应该是没枚举上,有什么排查方向吗? Re: 33774枚举问题 你好, 你这边是在评估NXP HVBMS参考设计吗?如果是,请告知你在参考哪款BMS的参考设计。 Hui_Ma_0-1756950319724.png 抱歉没有及时答复。 Mike
View full article
复制: RTD 6.0.0 和 NO_STDINT_H 的问题 本帖复制自 此处 亲爱的团队 该客户报告了在定义了 NO_STDINT_H 宏的构建环境中使用 RTD 版本 6.0.0 时出现问题,目的是避免依赖 。 他们提到,他们最近将代码从 RTD 4.0.0 迁移到了 6.0.0。在分析 COMMON.h在这两个版本的文件中,我观察到以下情况: 在 RTD 6.0.0 中, 被直接包含,而没有检查是否定义了 NO_STDINT_H。 相比之下,RTD 4.0.0 包含 BasicTypes.h,它会首先检查 INT8_MIN、INT8_MAX、UINT8_MAX 等宏是否已定义。如果缺少任何宏,则检查 NO_STDINT_H 宏,如果未定义该宏,则仅包括 。 您能帮我检查一下这种行为吗?我想确认我是否遗漏了什么,我的理解是否有误,或者这是否可能是 RTD 6.0.0 中的一个错误。 提前感谢您的帮助。 BR、VaneB 优先级:中等 RTD 来源:恩智浦内部来源:恩智浦内部 Re: Copy: Issue with RTD 6.0.0 and NO_STDINT_H 你好,@Luis_Garabo、 我在您所附的链接中直接回答了客户的问题。 顺祝商祺! 丹
View full article
FreeRTOS 应用程序测试程序 需要在 imx93 自定义板中使用以下源代码验证 FreeRTOS。 https://mcuxpresso.nxp.com/dashboard 请分享用于验证 FreeRTOS 的应用程序测试文档。 Re: FreeRTOS Application Testing Procedure 你好@Esakkiammal   希望你一切都好。   在 SDK 文件夹中,您会发现一个名为 freertos_exmaples 的文件夹:   linux@machine:~/SDK_25_03_00_MCIMX93-EVK/boards/mcimx93evk/freertos_examples$ ls freertos_event freertos_generic freertos_hello freertos_mutex freertos_queue freertos_sem freertos_sem_static freertos_swtimer linux@machine:~/SDKs/SDK_25_03_00_MCIMX93-EVK/boards/mcimx93evk/freertos_examples$   你可以使用 arm 的 gcc 工具编译任何例子。就我而言,我使用的是 arm-gnu-toolchain-13.3.rel1-x86_64- arm-none-eab i。   您可以下载该工具,然后导出环境变量进行编译:   $ export ARMGCC_DIR=~/cortex-m-toolchain/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi   然后,转到要编译的项目,例如"freertos_hello" 。在该目录中,你会发现另一个名为"armgcc" 的目录。这里有编译项目所需的脚本:   #Inside of "armgcc" directory $ ./build_release.sh $ cd release $ ls freertos_hello.bin freertos_hello_cm33.elf     现在,您可以将示例加载到板上。   顺祝商祺! 萨拉斯
View full article
LS1028ardB 熔丝配置标头不起作用 我正在尝试让熔丝配置标头在 ls1028ardb 上自动运行,但是在我将标头添加到我的映像后,我的启动卡在 ATF (BL2) 并且无法继续运行。 当我浏览 input_fuse_file 文件时,这是我在 lsdk pdf 中使用的文件 /* * 2018 恩智浦版权所有 */ --------------------------------------------------- # 指定平台。[必填] # 选择平台 - LS2088/LS1088 平台=LS1088 --------------------------------------------------- # 将设置 GPIO 引脚以提高 POVDD [可选的] POVDD_GPIO= --------------------------------------------------- # 二进制形式的一次性可编程主密钥标志。[必须] # 0000 -> 程序默认的最小 OTPMK 值 # 0001 -> 程序随机 OTPMK 值 # 0010 -> 编程用户提供的 OTPMK 值 # 0101 -> 用预设最小值编程随机 OTPMK 值 # 0110 -> 将用户提供的 OTPMK 值与预编程的最小值进行编程 # 1xxx -> 不要吹 OTPMK OTPMK_FLAGS=1000 # 一次性可编程主密钥值。 # [视标志而定,可选的,如果 OTPMK_FLAGS= " 0010 " 或 " 0110 "] OTPMK_0=12345678 OTPMK_1=87654321 OTPMK_2=12345678 OTPMK_3=87654321 OTPMK_4=12345678 OTPMK_5=87654321 OTPMK_6=12345678 OTPMK_7=87654321 --------------------------------------------------- # 超级根密钥哈希 [可选的] SRKH_0= SRKH_1= SRKH_2= SRKH_3= SRKH_4= SRKH_5= SRKH_6= SRKH_7= --------------------------------------------------- # 指定 OEM UID。[可选的] # 例如 OEM_UID_0=11111111 OEM_UID_0=12345678 OEM_UID_1=21436587 OEM_UID_2=34567812 OEM_UID_3=12345678 OEM_UID_4=87654321 --------------------------------------------------- # 指定调试挑战值和响应值。[可选的] # 例如 DCV_0=11111111 DCV_0= DCV_1= DRV_0= DRV_1= --------------------------------------------------- # 以二进制形式指定调试级别。[可选的] # 000 -> 广泛开放:无条件启用调试门户。 # 001 -> 通过质疑答复有条件开放,无需通知。 # 01x -> 通过挑战响应有条件开放,并发出通知。 # 1xx -> 已关闭。禁用所有调试门户。 DBG_LVL= --------------------------------------------------- # 二进制形式的系统配置寄存器位 [可选的] # WP(OEM 写保护) # ITS(保障意向) # NSEC(非安全) # ZD(禁用 ZUC) # K0、K1、K2、K3、K4、K5、K6(密钥撤销位) # FR0(字段返回 0) # FR1(现场返回 1) WP= ITS= NSEC= ZD= K0= K1= K2= K3= K4= K5= K6= FR0= FR1= --------------------------------------------------- # 指定输出熔丝配置文件名。(默认值:fuse_scr.bin)[可选的] 输出保险丝文件名=fuse_scr.bin --------------------------------------------------- 我想知道这里的问题似乎出在哪里? Re: LS1028ardb fuse provisioning header not working 亲爱的@Steven_27, ,请按照下一个链接中提到的步骤进行操作: https://docs.nxp.com/bundle/GUID-487B2E69-BB19-42CB-AC38-7EF18C0FE3AE/page/GUID-BBED1716-8F27-4B01-9033-075D2037CAFE.html Re: LS1028ardb fuse provisioning header not working 固定机载 DDR 注意:4 GB DDR4,32 位,CL=11,ECC 通知中:BL2:v2.4(版本):lf-5.10.52-2.1.0-rc2-0-gbb 4957067-dirty 通知:BL2:版本:2025 年 9 月 24 日 13:20:00 我的启动过程永远停留在这里。我将其更改为 LS1028 作为平台,除了 OEM UID,我什么都没指定,以下是我的输入文件: [root@fbubuntu ls2088_1088]$ cat input_fuse_file /* * Copyright 2018 NXP */ --------------------------------------------------- # 指定平台。[必须] # 选择平台-LS2088/LS1088 PL ATFORM=LS1028 ------------------------------------------------------------------------------------------------- # 一次性二进制形式的可编程主密钥标志。 [必须] # 0000-> 程序默认最小 OTPMK 值 # 0001-> 程序随机 OTPMK 值 # 0010-> 程序用户提供的 OTPMK 值 # 0101-> 使用预先编程的最小值编程随机 OTPMK 值 # 0110-> 程序用户提供的 OTPMK 值和预先编程的最小值 # 1xxx-> 不要吹掉 OTPMK OTPMK_FLAGS=1000 # 一次性可编程主密钥值。 # [可选取决于标志,如果 OTPMK_FLAGS= " 0010 " 或 " 0110 "] OTPMK_0= OTPMK_1= OTPMK_2= OTPMK_3= OTPMK_3= OTPMK_4= OTPMK_5= OTPMK_6= OTPMK_7=---------------------------------------------------------# 超级根密钥哈希 [可选] SRKH_0= SRKH KH_ 1= SRKH_ 2= SRKH_3= SRKH_4= SRKH_5= SRKH_5= SRKH_6= SRKH_6= SRKH_7= --------------------------------------------------------------------------------------------- [可选的] # e.g OEM_UID_0=11111111 OEM_UID_0=12345678 OEM_UID_1=21436587 OEM_UID_2=34567812 OEM_UID_3=12345678 OEM_UID_4=87654321 --------------------------------------------------- # 指定调试质询和响应值。[可选] # 例如 DCV_0=11111111 DCV_0= DCV_1= DRV_0= DRV_1= DRV_1=------------------------------------------------------------- ----------------------------------------# 以二进制形式指定调试 级 别。 [可选的] # 000 -> 全面开放:调试门户无条件启用。 # 001 -> 通过质疑答复有条件开放,无需通知。 # 01x -> 通过挑战响应有条件开放,并发出通知。 # 1xx -> 已关闭。禁用所有调试门户。 DBG_LVL= ------------------------------------------------------------------------------------ # 二进制形式的系统配置寄存器位 [可选] # WP(OEM 写入保护) # ITS(安全意图)# ZD(ZUC 禁用) # K0、K1、K2、K3、K4、K5、K6(密钥撤回位) # FR0(字段返回 0) # FR1(字段返回 1) WP= ITS= NSEC= ZD= K0= K1= K2= K3= K3= K4= K5= K6= FR0= FR0= FR1=----------------------------------------------------------------- # 指定输出保险丝 配置文件名。(默认值:fuse_scr.bin)[可选] output_fuse_filename=fuse_scr .bin------------------------------------------------------------------------- Re: LS1028ardb fuse provisioning header not working 亲爱的@Steven_27 ,请使用 LS1028 作为平台,而不是 LS1088。 请告诉我结果 BR LFGP
View full article
S32G3 BSP44.0:fsl-image-ubuntu 正在查找 virtual/x86_64-fslbsp-linux-gcc-crosssdk 我正在尝试使用 S32G3 Linux BSP44.0 为 s32g399ardb3 版本 ubuntu 镜像。 我将机器设置为 s32g399ardb3ubuntu,运行 bitbake fsl-image-ubuntu 时出现错误: 错误:没有任何东西提供 “virtual/x86_64-fslbsp-linux-gcc-crosssdk”(但是 /newhome/arthur/fsl-auto-yocto-bsp44.0_s32g/sources/meta-alb/meta-alb-sdk/recipes-devtools/binutils2.34/binutils-cross-canadian_2.34.bb 取决于或以其他方式需要)。 近距离比赛: virtual/x86_64-fslbsp-linux-g++ virtual/x86_64-fslbsp-linux-gccvirtual/x86_64-fslbsp-linux-go 我可以在 BSP44.0 中为 s32g399ardb3 版本 fsl-image-auto 镜像。 我还可以在 BSP43.0 中为 s32g399ardb3ubuntu 版本 fsl-image-ubuntu 镜像。 我正在制造的机器是 SB 版本:core-11.1.0 ubuntu2-noarch: printing-11.1.0 ubuntu2-noarch: 网络安全-11.1.0 ubuntu2-noarch 代理商 ID:Ubuntu 描述:Ubuntu 20.04.6 LTS 版本:20.04 代号:focal 内核版本为 5.4.0-204-generic 和 ldd (Ubuntu GLIBC 2.31-0ubuntu9.18)2.31 关于首选版本 2.35 glibc 不可用的日志警告。 我缺少包裹吗? 此致, 亚瑟 完整日志: arthur@nmgPowerEdgeT630:~/fsl-auto-yocto-bsp44.0_s32g/build_s32g399ardb3ubuntu$ bitbake fsl-image-ubuntu 正在加载缓存:100% |##############################################################################################################| Time: 0:00:02 Loaded 5800 entries from dependency cache. Parsing recipes: 100% |############################################################################################################| 时间:0:00:01 完成对 3692 个 .bb 文件的解析(缓存 3691 个,解析 1 个)。目标 5803 个,跳过 615 个,屏蔽 2 个,错误 0 个。 注意:解决任何缺失的任务队列依赖关系 警告:cross-localedef-native 的首选版本 2.35 不可用(适用于跨语言环境的项目)警告:跨语言环境的原生版本可用:2.31+git 2.39+git 警告:binutils-cross-aarch64 的首选版本 2.38 不可用(适用于项目 virtual/aarch64-fsl-linux-binutils) 警告:binutils-cross-aarch64 的首选版本 2.38 不可用(适用于项目 virtual/aarch64-fsl-linux-binutils) 警告:binutilscross-aarch64 可用:2. 34 2.42 警告:cross-localedef-native的首选版本 2.35 不可用(适用于跨语言环境的项目)警告:跨语言环境的本机版本可用:2.31+git 2.39+git 警告:跨语言环境的首选版本 2.35 不可用(适用于跨语言环境的本机开发项目)警告:首选 2.31+git 2.39+git 警告:binutils-crosssdk-x86_64-f slbsp-的 2.38 版 linux 不可用(适用于物品 virtual/x86_64-fslbsp-linux-binutils) 警告:binutils-crosssdk-x86_64-fslbsp-linux 版本可用:2.42 警告:nativesdk-glibc 的首选版本 2.35 不可用(适用于物品 virtual/nativesdk-libc)警告:nativesdk-glibc 版本可用:2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于项目 virtu al/libc)警告:glibc 版本可用:2.31 +git 2.39+git 警告:binutils-native 的首选版本 2.38 不可用(适用于 binutils-native 项目)警告:binutils-native 版本可用:2.42 警告:nativesdk-glib c 的首选版本 2.35 不可用 可用(适用于物品 virtual/nativesdk-libintl) 警告:nativesdk-glibc 版本可用:2.39+git 警告:nativesdk-glibc 的首选版本 2.35 不可用(适用于物品 virtual/nativesdk-libiconv) 警告:nativesdk-glibc 版本可用:2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于物品 glibc-utils)警告:可用的 glib c 版本:2.31+git 2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于项目 glibc-dbg) 警告:glib c 版本可用:2.31+git 2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于项目 glibc-dev) 警告:glibc 版本可用:2.31+git 2.39+git 警告:glibc-locale-18iidata-18iribc 的首选版本不可用 n) 警告:gli bc-locale 版本可用 : 2.31 2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于 glibc-thread-db 项目)警告:glibc 版本可用:2.31+git 2.39+git 警告:binutils-cross-canadian-aarch64 的首选版本 2.38 不可用(适用于 binutils-cross-canadian-aarch64 项目)警告:binutils-cross-canadian-aarch64 版本可用:2.34 2.42 警告:nativesdk-glibc 的首选版本 2. 35 不可用 ( 对于项目 nativesdk-ldconfig) 警告:nativesdk-glibc 版本可用:2.39+git 警告:nativesdk-glibc 的首选版本 2.35 不可用 (适用于项目 nativesdk-glibc-dev)警告:nativesdk 的版本 -glibc 可用:2.39+git 警告:nativesdk-glibc 的首选版本 2.35 不可用(适用于项目 nativesdk-glibc)警告:nativesdk-glibc 版本可用:2.39+git 警告:nativesdk-glibc 的首选版本 2.35 不可用(适用于项目 nativesdk-glibc-utils)警告:nativesdk-glibc 版本可用:2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于项目 gli bc) 警告:glibc 版本可用:2.31+git 2.39+git 警告:glibc 的首选版本 2. 35 不可用(适用于项目 ldconfig)警告:glibc 版本可用 :2. 31+git 2.39+git 警告:glibc语言环境的首选版本 2.35 不可用(适用于项目 glibc-locale)警告:glibc语言环境版本可用:2.31 2.39+git 警告:glibc 的首选版本 2.35 不可用(适用于商品) virtual/libintl) 警告:glibc 版本可用:2.31+git 2.39+git 错误:没有提供 “virtual/x86_64-fslbsp-linux-gcc-crosssdk”(但是/newhome/arthur/fsl-auto-yocto-bsp44.0_s32g/sources/meta-alb-sdk/recipes-devtools/binutils2. tools/binutils2.0 34/binutils-cross-cross-canadian_2.34.bb 取决于或以其他方式需要)。近距离比赛: virtual/x86_64-fslbsp-linux-g++ virtual/x86_64-fslbsp-linux-gcc virtual/x86_64-fslbsp-linux-go注意:运行时目标 “binutils- cross-canadian-aarch64” 无法构建,正在删除... 缺少或无法构建的依赖链是:['binutils-cross-cross-canadian-aarch64','virtual/x86_64-fslbsp-linux-gcc-crosssdk'] 注意:运行时目标 “packagegroup-cross-canadian-s32g399ardb3” 无法构建, 正在删除... 缺少或无法构建的依赖链是:[“packagegroup-cross-canadian-s32g399ardb3”、“binutils-cross-cross-canadian-aarch64”、“virtual/x86_64-fslbsp-linux-gccc-crosssdk”] 错误:所需的构建目标 “fsl-image-ubuntu” 没有可构建 的提供商。 缺少或无法构建依赖链:['fsl-image-ubuntu','packagegroup-cross-canadian-s32g399ardb3','binutils-cross-canadian-aarch64','virtual/x86_64-fslbsp-linux-gcc-crosssdk']. 摘要:共有 48 条警告信息。 摘要:有 2 条ERROR 信息,返回非零退出代码。 Linux BSP Re: S32G3 BSP44.0: fsl-image-ubuntu looking for virtual/x86_64-fslbsp-linux-gcc-crosssdk 迁移到参考发行版、系统开发套件。 5.0 后,Linux 电路板支持包。 支持不再包括 Ubuntu rootfs。此限制也记录在 BSP 版本 44 的 Linux 电路板支持包发行说明中。 Re: S32G3 BSP44.0: fsl-image-ubuntu looking for virtual/x86_64-fslbsp-linux-gcc-crosssdk 抱歉,这是与https://community.nxp.com/t5/AP-Software-Support/Linux-BSP-44-build-errors/td-p/2164327的重复,信息可能更多一些。 此致, 亚瑟
View full article
S32K388 PIT MCR[FRZ] 完全冻结计数器运行 设置位 PITx MCR[FRZ] = 1 将使计数器在调试模式下完全停止运行(例如,也可在运行时停止,但不能在断点处停止)。 我曾尝试通过代码以及使用 S32DS 中的外设寄存器视图设置 PIT MCR[FRZ] 位,但没有任何效果。 我正在使用 S32K388EVB-Q289 和板载 PEMicro 调试器接口。 根据我的理解,MCR[FRZ] = 1 应该在断点时停止计数器操作,而在 uC 运行时继续计数。 我错过了什么? Re: S32K388 PIT MCR[FRZ] freezes counter operation completely 我已经使用 S32K3 设备进行了测试,PIT FRZ=1 使用我们的无断点在调试会话中停止计数器。 我想到的是在断点前后冻结和解冻。 Re: S32K388 PIT MCR[FRZ] freezes counter operation completely 感谢您的回复。 为了澄清我的理解,"1b - 定时器在调试模式下停止" 是指定时器在整个调试会话期间被冻结,而不仅仅是在遇到断点时? 根据我使用其他微控制器(MPC5xxx 等)的经验,只有在遇到断点时,设置"Freeze 位" 才能停止定时器或外设。 只要微控制器在运行,定时器或外设也在运行。 我在 S32K388 上看到的行为有所不同。 设置"Freeze(冻结)位" 会停止整个调试会话的定时器,而不仅仅是在遇到断点时。 这似乎有点多余,因为我可以通过使能位启用/禁用定时器来达到同样的效果。 在调试会话中,这两个位都显示相同的行为。 这真的是人们期望的行为吗? Re: S32K388 PIT MCR[FRZ] freezes counter operation completely 感谢您联系我们的技术支持团队。 你的问题是一种预期行为。 _Leo__1-1757535780123.png 如果启用了 FRZ,则当您停止调试会话并 RESET MCU 时,计数器将运行。 希望这些信息对您有所帮助。
View full article
GUI Guier1.5.0版本本来可以生成代码和C模拟,但突然又不能生成代码,显示Error: null 现在每次点击生成代码时都弹出Error: null是怎么回事呢 a36887b3518e4600a0f204ceb178bece.png aa312ce1c98e4ffcb8b33ad0f32ce99d.png   Re: GUI Guier1.5.0版本本来可以生成代码和C模拟,但突然又不能生成代码,显示Error: null 你是指的什么数据呢?工程数据吗?如果是工程的话,它默认存放在"C:\NXP\GUI-Guider-Projects"路径下,的确不会因为GUI-Guider某一个版本的卸载而自动删除,你可以进入该路径手动删除。 Celeste_Liu_0-1757904311132.png Re: GUI Guier1.5.0版本本来可以生成代码和C模拟,但突然又不能生成代码,显示Error: null 也是不行,软件自带的卸载程序和电脑上控制面板里的程序卸载都试过,但是重新下载后还是会有保存数据 Re: GUI Guier1.5.0版本本来可以生成代码和C模拟,但突然又不能生成代码,显示Error: null 你可以用卸载程序试试。 Celeste_Liu_0-1757666299537.png Re: GUI Guier1.5.0版本本来可以生成代码和C模拟,但突然又不能生成代码,显示Error: null 我用其他电脑试了一下也没问题,只有我这台有问题。哪怕重新建立最简单的工程也是一样的。 尝试了一下卸载重新安装,发现重新安装后会记录原有的数据,不知道有没有办法把所有数据都删除呢,我想重新安装试试。 Re: GUI Guier1.5.0版本本来可以生成代码和C模拟,但突然又不能生成代码,显示Error: null Hello @Newbie2 , 我刚刚下载了GUI-Guider v1.5.0,试了一下,没复现你的问题。 Celeste_Liu_0-1757657261310.png 这个情况是最近才出现的吗?如果新建一个简单的项目,再点击生成代码,也会出现同样的报错吗? 如果是的话,建议检查一下你的网络环境。 BR Celeste
View full article
BLE 连接间隔 您好,NXP团队, 是否可以将最小连接间隔设置为小于 7.5 毫秒以将数据发送到中央设备。 我正在使用 KW45 EVK 的 eatt 外围设备和 eatt 中央示例代码。 谨致问候 切坦 开发板 Re: BLE connection interval 你好,查坦 感谢您的理解。 顺祝商祺! Re: BLE connection interval 你好,路易斯、 1.I am using wireless uart example for BLE how and when I trying to use lpuartedma example it is not printing anything in teraterm.我参考了 kw45b41zevk_lpuart_edma_transfer 但没有打印任何东西你能指导我如何在无线 UART 中实现 edma 吗。 使用 KW45 LOC 板 2.请确认在 teraterm 中,shell 是使用 dma 来存储数据,还是使用普通的 malloc 来存储和发送数据。 感谢并致意 切坦 Re: BLE connection interval 你好 可以在 KW45-LOC 中闪存未经修改的 [lpuart_edma_transfer] 示例,并执行每 8 个字符回传一次接收到的数据的程序。此示例专用于适用于 KW45B41Z-EVK 的 SDK,因此请注意您在 KW45-LOC 中进行的配置,因为它不是预期的板。 刷新您的板后,请进行RESET,然后您应该会看到这样的消息,例如测试 8 个数字。 luis_maravilla_0-1759874551639.png 能否请您帮助我们共享您的日志,或描述一下您对示例不工作的评论所指的内容? 如果你想使用多个设备执行 BLE 连接,在 teraterm 中发送数据接收和打印,能否以无线 UART 为例,该设备可以连接多个设备,根据你的数据特性,请考虑,当多个设备尝试与同一个中央天线通信时,较短的连接间隔会导致拥塞,从而导致干扰和潜在的数据丢失。值得注意的是,蓝牙规格中宣传的数据传输速率只是理论值;在实际应用中,由于以下几个因素,实际吞吐量要低得多 最诚挚的问候,路易斯 Re: BLE connection interval 你好 Luis, 我在 kw45 LOC 板中使用 lpuart_edma_transfer 但它不起作用,比起我使用 EDMA 内存传输带外壳的内存传输示例(我添加了外壳),但是在 UART 中反射的数据非常慢。 你能不能建议我使用什么来最大限度地接收数据,并在 teraterm 中为多台设备打印,速度为 30 毫秒,每台 240 字节。(我使用 KW45 loc 板进行数据接收)和 loc 板 sdk 示例。 谢谢 Chetan Re: BLE connection interval 为了与无线 MCU 配合使用,连接软件实现了自己的串行管理器驱动程序,它不使用 SDK 调试控制台,因此不使用半托管调试控制台。除此以外,示例的实现还与正常的 UART 通信有关;避免直接使用 printf(),以防止阻塞 BLE 堆栈或干扰定时敏感操作。 另外,您能帮我们确认一下,您使用的是 KW45-LOC 还是 KW45-EVK?EVK SDK 包含 DMA 示例,也许能帮到您。 您能帮我们确认一下,您是如何利用 edma 实现 lpuart 的?您是否正在使用 KW45-EVK SDK 中的 [lpuart_edma_transfer] 示例,但却无法正常工作?还是您为 eatt 中央代码做了实现? 顺祝商祺! 路易斯 Re: BLE connection interval 你好,Nxp 团队、 你能否告诉我 shell 和 printf 的区别是 shell 使用 DMA 在 teraterm 中打印数据(在 eatt central sdk 示例中),因为我现在正在尝试实现 dma 来处理多个设备数据。 我需要使用哪个示例 sdk 来实现 dma,目前我使用 shell 进行内存到内存的传输,但在 teraterm 中打印的数据较少。 我也有疑问,我试着用 edma 实现 lpuart,但没有成功,我发现调试控制台无法在 eatt 中央代码中使用。 谢谢  切坦 Re: BLE connection interval 你好,切坦 当多个设备尝试与同一个中央天线通信时,较短的连接间隔可能会导致拥塞,从而导致干扰和潜在的数据丢失。值得注意的是,蓝牙规格中宣传的数据速率是理论上的;在现实应用中,实际吞吐量要低得多,这要归因于以下几个因素:每个连接间隔的数据包数量有限、数据包之间必须有 150 微秒的帧间空间 (IFS) 延迟、即使没有发送数据也要传输空包以保持连接,以及每个数据包只有一部分承载实际有效负载的协议开销。当多个设备同时连接到同一个中央设备时,这些限制会变得更加明显,从而进一步减少可用带宽并增加数据丢失的机会。 如果您想以最高的数据传输速率发送大量原始数据,恩智浦在另一个MCU SDK(QN9090)中提供了示例私有我的,如果可以调整您的终端任务应用程序的方向,则考虑到多个设备也可能导致数据丢失。 顺祝商祺! 路易斯 Re: BLE connection interval 你好 我在大约 30 毫秒的时间内使用超过 180 个字节从 4 个设备发送多个字节,但是随着连接设备数量的增加,即使我实现了 4 个队列,我也会看到数据丢失,但我只能收到每个 65 个数据。我以最大波特率检查了 teraterm 日志。 Re: BLE connection interval 你好 您能帮我们确认一下,您使用的是哪个示例:EATT 还是 Wireless Uart? 如果你使用的是无线 Uart 示例,只修改设备数量而不更改数据大小,你还会看到这个问题吗? 您能帮我们描述一下您所做的修改吗? 虽然建议设计较小的属性值大小,但作为无线UART的GATT层只能在无线数据包中发送23字节的数据,将ATT数据包的默认长度设置为23,ATT数据包长度设置为保持无线电数据包和ATT数据包之间的逻辑映射。 如果你需要发送更多字节的数据,我建议你查看社区帖子 [1-4] 系列文章《蓝牙低功耗——在GATT服务器上使用长属性——第1部分:ATT_MTU——恩智浦社区》,如上所述,如何写入长属性包括写入队列,以及修改GATT客户端和服务器的ATT_MTU以支持通过MTU交换实现更大的MTU。 Re: BLE connection interval Hii 、 我正在尝试将 4 个 KW45 芯片设备连接到 KW45 LOC 板,并使用 BLE 每 30 毫秒发送 220 字节数据,我能够成功连接 4 台设备,但是在收到数据丢失时,我从 uart 中的 kw45 LOC 板输出中获取日志并进行了分析。 你能告诉我原因吗? 我正在使用无线 uart 在 KW45 LOC 板上接收四台设备多设备的数据。 谨致问候 切坦 Re: BLE connection interval 你好 蓝牙核心规范允许的最小连接间隔 蓝牙核心规范为 7.5 毫秒。 有关此主题的更多详细信息,请参阅 蓝牙核心规范》,第 6 卷,B 部分,第 4.5.1 节 因此,根据标准 connInterval 不能小于 7.5 毫秒,请您提供更多细节,告诉我们您想实现什么目标,以便我们检查是否有任何建议可以提供给您? 此致
View full article
Tja1043 终端电阻器 亲爱的 如果产品不是总线终端节点(或者客户要求产品内部不应有终端电阻),是否需要两个 Pin.Split 的电阻器并且可以移除? aiweixin_0-1758599789346.png CAN 收发器 Re: Tja1043 Termination Resistors guoweisun_0-1758606824453.png 像上面这种就是optional的 Re: Tja1043 Termination Resistors 您好:     CAN总线的两端需要加终端电阻,中间的节点(node1、node2)不需要吧。那么中间的节点是否需要R1、R2两个电阻? aiweixin_2-1758605592704.png aiweixin_1-1758605528138.png Re: Tja1043 Termination Resistors 终端电阻是需要的,没有终端电阻通信不了的,但是这个SPLIT pin可以不用。 Re: Tja1043 Termination Resistors 终端电阻是需要的,没有终端电阻通信不了的,但是这个SPLIT pin可以不用。
View full article
FS26 我从这个官方网站上购买了 SKTEVM 等评估套件,但无法在网站上找到 FS26 芯片的数据表。能否提供该芯片的数据表? Re: FS26 亲爱的亚权白、 FS26 的数据表是保密的。只有在与恩智浦签订了有效的 NDA(保密协议)后才能下载。 如果您与恩智浦签订了有效的 NDA,则可以从FS26 产品页面的 "安全 "部分下载 FS26。 JozefKozon_0-1758799403969.png 如果您还没有保密协议但想签署一份保密协议,请在此处创建新协议,恩智浦代表将帮助您完成流程。 致以最崇高的敬意 约瑟夫
View full article
imx8mp 柔性扫描硬件时间戳 你好 我们有自己的设计,基于恩智浦的 imx8mp 和内核 6.6.23。 我们同时使用两个 flexcan 接口,并希望从驱动程序中读取硬件时间戳。我们正在使用 candump,但读数始终为 0 candump -H -L (0000000000.0000000000)canfd1 776#94CD03004FC7E1 您知道如何启用这项功能吗? 致以最诚挚的问候和感谢 天使 Re: imx8mp flexcan hardware timestamp 默认 16 位定时器:FlexCAN 模块具有内置 16 位定时器,用于计算 CAN 总线上的比特间隔。 它还有一个令人讨厌的特点,那就是每次 CAN 时钟同步时,这个 16 位定时器的时钟周期都会受到一点影响。并非所有 16 位定时器周期都等于位时间。因此,如果尝试使用其他 on-SoC 定时器(其时钟与 CAN 时钟来自同一时钟父时钟)来计算 16 位定时器溢出,以扩展时间戳时钟的宽度,则需要以某种方式跟踪 CAN 接收流量导致的时间戳时钟漂移。 Re: imx8mp flexcan hardware timestamp 你好 谢谢您的答复。 我们知道 imx8mp 中的硬件 Flexcan 控制器支持这种硬件时间戳功能。 请确认恩智浦在内核 6.6.23 中提供的 Linux 驱动程序是否也支持该功能? 致以最诚挚的问候和感谢 天使 Re: imx8mp flexcan hardware timestamp 你好 i.MX 8M Plus FlexCAN具有硬件时间戳功能,该功能 使用自由运行的16位计时器,该定时器根据CAN波特率随每个比特间隔递增,默认情况下在接收每个CAN帧时进行RESET 。要获得更精确的时间戳并克服限制,必须在 FlexCAN 控制寄存器 1 中启用高分辨率 (HR) 时间戳。这需要一个单独的外部定时器源,通常是系统定时器 (STM),通过配置该定时器可提供高分辨率时基。  工作原理   默认 16 位定时器:FlexCAN 模块具有内置 16 位定时器,用于计算 CAN 总线上的比特间隔。 该定时器在 65535 个时钟刻度后缠绕(溢出)。 溢出所需的时间取决于 CAN 总线的速度。 您可以将 CRTL1 [TSYN] 设置为 “1”,以便在收到帧时自动 RESET 计时器,这对于保持消息顺序很有用,但仍受到 16 位限制的限制。 高分辨率 (HR) 时间戳:为实现更高精度,可通过设置 FlexCAN 控制寄存器中的相关位来启用 HR 时间戳功能。 这将禁用用于时间戳的内部 16 位定时器。 它允许使用外部定时器源(如 STM)进行时间戳记录。 然后,您可以从专用寄存器读取 HR 时间戳值。  如何启用人力资源时间戳   配置外部计时器 (STM):安装 STM 以提供高分辨率的时基。 在 FlexCAN 中启用 HR 时间戳:在 FlexCAN 控制器中,启用 HR 时间戳功能。 读取时间戳读取 HR_TIME_STAMP 寄存器,获取高分辨率时间戳 此致
View full article
S32 Power Architecture Design Studio 是否支持 e200z6 S32 Power Architecture Design Studio 支持 e200z6 吗?目标处理器中没有 e200z6 的选项,但是版本工具支持 e200z6。我能否开发出 BOOKE 编码的 mpc5554? Re: Does S32 Design Studio for Power Architecture support e200z6 你好@heidou S32 Design Studio 官方不支持 MPC55xx 设备。如果是 MPC5554,建议使用 Classic CodeWarrior IDE: https://www.nxp.com/design/design-center/software/development-software/codewarrior-development-tools/codewarrior-legacy/codewarrior-development-studio-for-mpc55xx-mpc56xx-classic-ide-v2-10:CW-MPC55XX_56XX 问候, Lukas
View full article