Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
SDK 2.2.0 MKL16Z128xxx4 和 McuXpresso IDE V25.6 你好,我以前使用过 McuXpresso V19.xxx 和上述 SDK,在构建时没有问题。 将集成开发环境升级到 V25.6 后,fsl_common.c 出现问题,错误信息是 构建目标:MKL16_BLE_CLIENT_V1_0.axf 调用:MCU 连接器 arm-none-eabi-gcc-nostdlib-Xlinker-Map= " mkl16_ble_client_v1_0.map "-Xlinker --gc-sections -Xlinker -print-memory-usage -Xlinker --sort-section=alignment -Xlinker --cref -mcpu=cortex-m0plus -mthumb -T MKL16_BLE_CLIENT_V1_0_Debug.ld -o"MKL16_BLE_CLIENT_V1_0.axf"./source/LPS22HH_driver.o ./source/LSM6DS3_driver.o ./source/STHS34PF80TR_driver.o ../source/VL53L1_driver.o ./source/adc_driver.o ./source/batt_driver.o ./source/ble_driver.o ./source/cop_driver.o ./source/eeprom_driver.o ./source/fonts.o./source/i2c_driver.o ./source/init_dev_from_struct.o ./source/irq_driver.o ./source/led_driver.o ./source/lptmr_driver.o ./source/main.o ./source/mode_driver.o ./source/mtb.o。/source/oled_driver.o。/来源/semihost_hardfault.o。/source/spi_driver.o。/source/swd_driver.o。/source/uart_driver.o。/drivers/fsl_adc16.o。/drivers/fsl_clock.o。/drivers/fsl_cmp.o。/drivers/fsl_common.o。/drivers/fsl_dac.o。/drivers/fsl_dma.o。/drivers/fsl_dmamux.o。/drivers/fsl_flash.o。/drivers/fsl_gpio.o。/drivers/fsl_i2c.o。/drivers/fsl_i2c_dma.o。/drivers/fsl_llwu.o。/drivers/fsl_lpsci.o。/drivers/fsl_lpsci_dma.o。/drivers/fsl_lptmr.o。/drivers/fsl_pit.o。/drivers/fsl_pmc.o。/drivers/fsl_rcm.o。/drivers/fsl_rtc.o。/drivers/fsl_sim.o。/drivers/fsl_smc.o。/drivers/fsl_spi.o。/drivers/fsl_spi_dma.o。/drivers/fsl_tpm.o。/drivers/fsl_tsi_v4.o。/drivers/fsl_uart.o。/drivers/fsl_uart_dma.o。/board/clock_config.o。/board/peripherals.o。/board/pin_mux.o。/cmsis/system_mkl16z4.o C: /nxp/mcuxpressoide_25.6.136/ide/plugins/com.nxp.mcuxpresso.tools.win32_25.6.0.202501151204/Tools/bin/.../lib/gcc/arm-none-eabi/14.2.1/../../../../../../arm-none-eabi/bin/ld.exe:。/drivers/fsl_common.o:在函数 `__assertion_failed' 中: C:\Software Projects\ConSyTech\MKL16_BLE_CLIENT_V1_0\workspace\MKL16_BLE_CLIENT_V1_0\Debug/../drivers/fsl_common.c:49:(.text.__assertion_failed+0x10):对 “dbgConsole_printf” 的未定义引用 已用内存区域大小 区域大小%已用内存年龄 程序闪存: 12728B 128KB 9.71% Sram: 2968 B 16 KB 18.12% collect2.exe:错误:LD 返回 1 退出状态 make[1]:*** [makefile:48: MKL16_BLE_CLIENT_V1_0.axf] (译注:MKL16_BLE_CLIENT_V1_0.axf)。错误 1 make:*** [makefile:39: all] 错误 2 " make-r-j8 all " 以退出代码 2 终止。版本可能不完整。 08:49:54 版本失败。3 个错误,0 个警告。(耗时 430 毫秒) 请教如何纠正。 克莱斯 Re: SDK 2.2.0 MKL16Z128xxx4 and McuXpresso IDE V25.6 你好@claeskjellstrom 请添加 debug_console 和 serial_manager 元器件。如果问题仍然存在,请分享您的项目,我将帮助您进行检查。   谢谢!   BR 爱丽丝 Re: SDK 2.2.0 MKL16Z128xxx4 and McuXpresso IDE V25.6 嗨,Alice,因为时间有点紧,我又换回了 11.9.1Build 2710 版的集成开发环境,但现在的问题似乎是我根本看不到"Clocks Diagram" ,MKL02 和 MKL16 MCU 都是如此。它们之前一直在工作,但无论" 关于透视" ,我都看不到它们,而且由于它是一个裸金属项目,一直在低功耗(不同的时钟设置)下运行,所以非常依赖它们。说来话长,我尝试了各种方法,最后在 MKL02 项目中,通过更改 mexfile,我现在可以看到它们了。 如果我从一个完全空白的项目开始,除了某些文件外,总是看不到时钟图? 此致 克莱斯       Re: SDK 2.2.0 MKL16Z128xxx4 and McuXpresso IDE V25.6 通过删除 x:// Program Data 文件夹/NXP/!!!!!!!!!delete 下以前版本的所有安装文件解决了这个问题。 Re: SDK 2.2.0 MKL16Z128xxx4 and McuXpresso IDE V25.6 您好, 谁能描述一下 mcuXpresso 版本和 mcu 配置工具之间的关系?如前所述,我使用的是 IDE 11.9.1,并尝试了不同版本的配置工具。我用 MKL16Z128xxx 的正确 SDK 制作了一个干净的项目,调用了所有驱动程序(fsl)等。据我所知,如果你有很久以前的配置工具生成的 mex 文件,你就不需要下载它,但显然版本真的很糟糕。当我运行配置工具作为独立组网 (SA)时,我收到的消息要么是太旧的版本,要么是更新版本。似乎什么都不合适。 Re: SDK 2.2.0 MKL16Z128xxx4 and McuXpresso IDE V25.6 您好, 对所附的屏幕转储有何评论?
記事全体を表示
Homebrew RF 设计挑战赛获胜者 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 描述 第一名 第二名 第三名 结束语 描述 今年早些时候,恩智浦为业余无线电爱好者组织了一次促销机会,让他们发挥创造力,构建自己的功率放大器设计。 NXP 在这次竞争激烈的 Homebrew RF 设计挑战赛中收到了大量富有创意的作品。我们感谢社区的奉献和热情,使这次比赛取得了成功。 第一名 MRF101AN 宽带放大器设计,具有 1 W 输入、100 W 输出 1.8-54 MHZ 放大器平台。(更多信息请访问: NXP MRF-101 - RFPowerTools ) 该放大器带宽为1.8MHz至54MHz。最大输出功率在30MHz时为100W,在50MHz时为70W。 最大电源50V至4A,电压驻波比最大为1.5:1。 PCB 的设计尺寸为 5x5 厘米(2x2 英寸)。包括风扇和散热器在内重量为310克。 第二名 采用经济实惠的 LDMOS 器件的 600W 宽带 HF 放大器(更多信息请访问: https ://qrpblog.com/2019/10/a-600w-broadband-hf-amplifier-using-affordable-ldmos-devices/) 该项目旨在展示 MRF300 晶体管作为 2-50MHz 范围内的线性宽带设备的能力,并供无线电爱好者用作中高功率放大器的起点。这也是我参加 2019 年 NXP Homebrew RF 设计挑战赛的作品。 为了实现 600W 输出的目标,同时最大限度地降低偶次谐波的水平,使用了两个晶体管的“推挽”配置。幸运的是,制造商提供了两个具有镜像引脚排列的版本(MRF300AN 和 MRF300BN),从而可以轻松设计此类产品的 PCB 布局。采用常见的TO-247封装,源极接极耳。 每个 MRF300 LDMOS 晶体管的额定输出功率为 330W,工作频率范围为 1.8-250MHz,最大增益为 28dB,效率超过 70%。建议的电源范围是 30-50Vdc。通过研究规格,看起来通过正确的宽带匹配和一些操作安全裕度,我们可以在相当大的带宽上以大约 45V 的电压获得接近 600W 的输出;目标是覆盖 1.8 至 54MHz。 设计该放大器时的主要挑战是在整个频率范围内实现良好的输入和输出匹配以及保持高而平坦的增益。良好的线性度和低水平的谐波产物是必需的。由于 TO-247 不是专门为高功率射频设计的封装,因此在热设计和 PCB 布局方面也存在一些挑战。 信息取自获奖者的文章。 第三名 用于立方体卫星等离子推进器的高效开关模式射频放大器,采用 MRF101AN LDMOS 器件(更多信息请访问:研究 - SuperLab@Stanford ) E 类放大器利用有源器件作为开关,仅在截止(关闭)和饱和(打开)条件下工作。这最大限度地减少了电压和电流的重叠,减少了有源器件的损耗。为了进一步减少损耗,E 类放大器利用电感调谐谐振网络实现零电压开关,在开启之前将开关两端的电压降至零,从而消除有源器件输出电容中存储的否则会耗散的能量。这是通过电感调谐串联谐振输出滤波器实现的。 在 E 类放大器中,损耗几乎完全由有源器件传导的电流决定,因此需要较高的漏极阻抗来最大限度提高效率。漏极阻抗最终受开关额定电压的限制。对于我们期望的 40W 输出功率和 MRF101AN 的最大额定电压 133V,该阻抗仍然小于 50 欧姆,因此使用 L 匹配电路将漏极阻抗匹配至 50 欧姆。我们设计中的负载网络提供了15.4+12.8j的漏极阻抗。 由于 MRF101AN 将在饱和状态下运行,因此需要较高的驱动水平。为了消除对前置放大器的需求并允许数字控制,我们使用开关模式电源中通常使用的高速栅极驱动芯片 LMG1020 来驱动 MRF101AN,而不是 RF 前置放大器。谐振网络用于提供基波和三次谐波的电压增益,在栅极上提供准方波,有助于确保器件保持饱和状态。 结束语 这是一场惊险刺激且竞争非常激烈的比赛!每位参与者都以自己富有创意、独特且令人印象深刻的方式展示这些新部件的功能。 NXP 始终致力于迎接新的设计挑战。 准备好迎接下一个挑战了吗? 汽车电子 工业控制 移动设备 回复:自制射频设计挑战赛获胜者 展示设备实际用户的应用程序是一个非常好的主意。
記事全体を表示
[过滤器:垃圾邮件] nismkiki 的帖子正文匹配了 " phon**epe ",板 " 电源管理单元 "。 [过滤器:垃圾邮件] nismkiki 的帖子正文匹配了 " phon**epe ",板 " 电源管理单元 "。 帖子主题:如何退还错误的交易 职位机构: 如何从 PhonePe 上的错误交易中取回钱款(客户服务号码 📞076995 95414) 如果您不小心将钱汇入了错误的帐户或在 PhonePe 上进行了错误的交易(客户服务号码 👉+9176,,995,,,954,,,14👈),请按照以下步骤操作:在 PhonePe 应用程序中进行投诉。如何取回在 PhonePe 上意外支付的款项? 通过应用程序提出投诉: 打开 PhonePe 应用程序 → 我的(或设置)→ 帮助 & 支持 → 交易问题。TAP错误的交易 → 选择提出投诉 → 写下原因(例如,错误的账户、重复付款)→ 提交。   联系官方客服: 致电:080-6872-7374(免费电话)或 +91-22-6872-7374 提供:注册手机号码、交易编号、唯一参考号码(URN)。电子邮件:[[email protected]](mailto:[email protected])请在邮件主题行注明"Wrong Transaction Reversal" ,并发送您的手机号码、交易 ID 和问题描述。   向银行申请退款: 请就近前往银行网点或通过网上银行/手机银行提交书面申请。获取并保留银行的UTR号码(唯一交易参考)以进行撤销。   后续行动和预防措施: 尽快(最多 48 小时内)提交投诉。妥善保存截图、收据和交易 ID。切勿将您的 OTP、密码或个人信息透露给任何非官方号码或个人。仅使用官方渠道(上述提供的应用程序、网站、电话号码/电子邮件)。   注意:撤销程序通常需要 7-10 个工作日。如果没有及时收到退款,请再次联系客户服务中心或银行。 正文"PhonePe(客户服务号码 📞076995 95414) 如果您不小心将钱汇入了错误的帐户或在 PhonePe 上进行了错误的交易(客户服务号码 👉+9176,,995,,,954,,,14👈),请按照以下步骤操作:在 PhonePe 应用程序中进行投诉。如何取回在 PhonePe 上意外支付的款项" 匹配的过滤模式"phon**epe" 。 用户[id=258406,login=nismkiki]的发帖因以下最终用户面临的错误而被拒绝: 邮件正文包含 PhonePe(客户服务号码 📞076995 95414) 如果您不小心将钱汇入了错误的帐户或在 PhonePe 上进行了错误的交易(客户服务号码 👉+9176,,995,,,954,,,14👈),请按照以下步骤操作:在 PhonePe 应用程序中进行投诉。如何取回不小心在 PhonePe 上支付的款项,这在本社区是不允许的。请在发送您的帖子前删除这些内容。
記事全体を表示
EB tresos 许可证到期 我的 EB Tresos 许可证有效期至 2025 年 12 月 31 日(即将到期)。 如何在过期前获得新的激活码? Re: Expiration of EB tresos license 嗨,Joung、 请注意,在圣诞假期期间,我们的支持响应时间可能会比平时长。在某些情况下,您的请求可能会在新年后得到处理。感谢您的理解。 几天前,我给 [email protected] 发了电子邮件,提醒他们更新 EBTresos 激活码,但至今没有收到回复。 恐怕要到新年后才能更新。 很抱歉给您带来不便! 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 -------------------------------------------------------------------------------
記事全体を表示
EIQ 時系列生成モデルは、PowerQuad DSP または Neutron N1-16 NPU を使用して高速化されます。 質問: PowerQuad DSP または Neutron N1-16 NPU を使用して EIQ 時系列生成モデルを高速化するにはどうすればよいですか? 図に示すように、別のライブラリ ファイルを追加する必要がありますか、それとも生成されたモデルの静的ライブラリにはすでに PowerQuad DSP または Neutron N1-16 NPU アクセラレーションが含まれていますか? 想定される回答:PowerQuad DSPまたはNeutron N1-16 NPUアクセラレーションを使用したドキュメントまたはプロジェクトをご提供ください。TSSで更新可能な関連プロジェクトはありますか? マクネン NPU|ML Re: eiq time series 生成模型使用PowerQuad DSP or Neutron N1-16 NPU加速 こんにちは@xiaobai_226 アクセラレータのサポート。  PowerQuad : NXP ハードウェア IP は、FFT 計算を高速化するのに役立ちます。選択したターゲットにこのハードウェア モジュールが含まれている場合は、デフォルトで表示され、有効になります。 Neutron NPU : NXP ハードウェア IP はディープラーニング モデルの予測を高速化するのに役立ちます。これは、選択したデバイスにこのハードウェア モジュールが含まれている場合にサポートされます。 BR ハリー Re: eiq time series 生成模型使用PowerQuad DSP or Neutron N1-16 NPU加速 こんにちは、ハリー TSS によって生成されたライブラリ ファイルには、すでに加速プロセッシングユニットが組み込まれているということをおっしゃっているのでしょうか?.lib 以降TSSによって生成されたファイルには、プロセッシングユニットが含まれているかどうかが明示的に示されておらず、SDKの例とTensorFlow for NPUの両方でNPUは.aの形式で提供されることを考えると、ファイルでは、TSS で生成されたファイルに加速ユニットが含まれているかどうかは不明のままです。テストに使用する評価ボードは MXCN947EVK です。
記事全体を表示
S32K148 引导加载程序跳转应用程序,但应用程序在闪存擦除 + 复制后不运行 我正在 S32K148 上开发一个引导加载程序和应用程序设置。 引导加载程序位于闪存起始位置 (0x00000000) 应用程序位于 0x00022000 应用程序有自己的矢量表和链接脚本 当以独立组网 (SA) 方式运行时,应用程序可以完美运行 当引导程序执行闪存擦除和应用程序复制时,跳转到应用程序不起作用。 然而 如果我跳过擦除和复制,跳转就会正常工作 在这两种情况下都输入了 jump_too_application() 启用擦除 + 复制时,跳转后看不到应用打印 堆栈指针和RESET处理程序值看起来有效 应用程序矢量表正确 应用程序在没有引导程序的情况下也能正常运行 我没有在应用程序代码中明确启用看门狗 闪存擦除 + 复制后,在跳转到 S32K148 上的应用程序之前还需要哪些步骤? 谁能帮帮我? 我将链接文件脚本和跳转程序代码附在下面。 谢谢! 引导程序链接器文件 内存 { int_flash_interrupts:ORIGIN = 0x00000000,长度 = 0x00000400 /* 1K */ /* 不要更改此部分 */ int_flash_config:ORIGIN = 0x00000400,长度 = 0x00000010 /* 16 字节 */ /* 不要更改此部分 */ int_flas h:ORIGIN = 0x00000410,长度 = 0x00001101 bf0 /* 总计 128KB-0x410 = 引导加载程序代码为 0x1FBF0 字节 */ int_sram_results:ORIGIN = 0x1FF0000,长度 = 0x00000100 /* 256 字节 */ int_sram:ORIGIN = 0x1FF0100,长度 = 0x0003df00 /* ~248K */ int_sram_stack_stack_c0: ORIGIN = 0x2001E000,长度 = 0x 00001000 /* 4K */ r am_rsvd2:ORIGIN = 0x2001F000,长度 = 0 /* SRAM 结束 */} 应用程序链接文件 内存 { int_flash_intrupts:ORIGIN = 0x00022000,长度 = 0x00000400 /* 1K-0x00022000 处的应用程序中断向量 */ int_flash_config:ORIGIN = 0x00022400,长度 = 0x00022400,长度 = 0x00000010 /* 16 字节-应用程序 闪存配置 */ int_flash:ORIGIN = 0x00022410,长度 = 0x00063bf0 /* 400KB 应用程序区域(0x64000-0x410 = 0x63bf0 字节)*/ int_sram_results:ORIGIN = 0x1FF0000,长度 = 0x00000100 /* 256 字节 */ int_sram:ORIGIN = 0x1FF0100,长度 = 0x0003df00 /* ~248K */ int_sram_stack_c_c0: ORIGIN = 0x2001E000,长度 = 0x00001000 /* 4K */ r am_rsvd2:ORIGIN = 0x2001F000,长度 = 0 /* SRAM 结束 */} main.c EraseApplication(); CopyApplication(DOWNLOADED_APP_START_ADDRESS,APPLICATION_START_ADDRESS,APPLICATION_SIZE); jump_to_application(); 跳转到应用程序()函数 void jump_too_application(void) { uint32 app_msp; application_entry_t app_reset_handler; /* 跳转前打印信息 */ // printf("跳转到 application\r\n"); /* // volatile uint32 delay = 100000U; // while(delay--); /* 禁用所有中断 */ __asm volatile ("cpsid i"); /* 将向量表偏移量设置为应用程序的向量表 */ S32_SCB->VTOR = APPLICATION_START_ADDRESS; /* 从向量表的第一个字加载应用程序的 MSP */ app_msp = *((volatile uint32*)APPLICATION_START_ADDRESS); /* 从向量表的第二个字加载应用程序的 Reset_Handler 地址 */ app_reset_handler = (application_entry_t)(*((volatile uint32*)(APPLICATION_START_ADDRESS + 4U)); /* 设置指向应用程序 MSP 的堆栈指针 */ __asm volatile ("msr msp,%0": :"r" (app_msp)); // /* Memory barrier */ //__asm volatile ("dsb"); // __asm volatile ("isb"); /* 跳转到应用程序的 Reset_Handler */ app_reset_handler(); /* 不应到达此处 */ while(1) { /* 无限循环 */ } } Re: S32K148 Bootloader jump application, but application does not run after flash erase + copy 请注意,在圣诞假期期间,我们的支持响应时间可能会比平时长。在某些情况下,您的请求可能会在新年后得到处理。感谢您的理解。 Re: S32K148 Bootloader jump application, but application does not run after flash erase + copy 嗨,@kavyakoney、 可能存在闪存访问碰撞,因为引导加载程序和应用程序目前都放在 S32K148 的闪存块 0 中。 S32K148 设备包含三个 512 KB 闪存块(方块 0、块 1、块 2)。闪存编程操作(擦除/编程)只能在 CPU 不执行代码的块上进行。 如果引导加载程序从 0 块运行,并试图擦除或编程也在 0 块内的内存,内核可能会执行无效数据,从而无法正确跳转到应用程序。 为避免出现这种情况,应将应用程序放入闪存块 1 或闪存块 2,而将引导加载程序完全放在闪存块 0 中。 谢谢! BR,丹尼尔
記事全体を表示
IMX8mini Yocto Linux 的 rootfs 大小 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 对不起,我必须在这里提出这个问题。 [我的情况]: imx8mini,8G emmc,运行 Yocto Linux,Linux 4.14.98 电路板支持包。 [问题]: 默认情况下,Yocto Linux 版本的 rootfs 大概是 1.3GB,当我把它刷到 EVK 时,整个系统显示的只有 1.3GB,这绝对不合理,因为我的 emmc 是 8GB。 [我目前得到的解决方案] 在上网搜索 Yocto 之后,我知道可以使用 IMAGE_ROOTFS_EXTRA_SPACE=" xxxxxx" 或IMAGE_ROOTFS_SIZE="xxx" 来扩展整个大小。 [我的问题] 但是,如果这样做,我发现我的 rootfs 也会被强制放大到文件大小以上。 e,g,如果我将 IMAGE_ROOTFS_EXTRA_SPACE= " xxxxx " 设置为 8GB,那么版本 rootfs 图像大小也是 8GB!!!!!!!!!!!! 真糟糕,rootfs 添加了这么多无用的零填充,真正的 rootfs 只有 800MB,为什么要添加这么多无用的数据,强行放大到无用的 8GB?????!!!!!!!!!!!这导致我花了太多无用的时间将无用的 8GB 数据闪存到 EMMC!!!!!!!! 这既浪费了闪存图像时间,也浪费了我的硬盘存储!!!!!!!!! 为什么 Yocto 的设计如此糟糕??????? 为什么不使用 Android 的智能方式?????对于 Android,整个 system.img 只有大约 800MB,闪存到 EVK 后,整个系统(/)仍然显示 8GB emmc,而不是 800MB。 有谁能帮助我解决这个令人沮丧的问题?非常感谢。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus Linux Re: rootfs size for IMX8mini Yocto Linux 嗨,@Yuri、 我们使用的是 i.MX8M Plus EVK,它有 32 MB QSPI 闪存。 我们的目标是完全从 QSPI 闪存启动 U-Boot、Linux 内核、设备树和 initramfs (rootfs.img)。 我们能够成功启动: U-Boot(来自 flash.bin) Linux 内核(Image.gz) 设备树 (imx8mp-evk.dtb) 但是,我们在从 QSPI 闪存加载和使用 initramfs/rootfs 映像时遇到了问题。内核启动成功,但内核在 Waiting for removable media(等待可移动媒体)处挂起....,请参阅下面附带的日志。 -----Flash 布局和图像大小---------------- QSPI 闪存大小:32 MB flash.bin (U-Boot + SPL) ~2.3 MB Image.gz (内核) ~13.5 MB imx8mp-evk.dtb ~86 KB rootfs.img ~12.6 MB ----QSPI 偏移布局---------- flash.bin @ 0x00000000 Image.gz @ 0x00240000 imx8mp-evk.dtb @ 0x01000000 rootfs.img @ 0x01080000 ------ 将文件编入 QSPI(来自 SD 卡)--------- sf probe 0 sf erase 0x0 0x2000000 fatload mmc 1${loadaddr} flash.bin sf 写${loadaddr} 0x0${filesize} fatload mmc 1${loadaddr} Image.gz sf 写${loadaddr} 0x240000${filesize} fatload mmc 1${loadaddr} imx8mp-evk.dtb sf 写${loadaddr} 0x1000000${filesize} fatload mmc 1${loadaddr} rootfs.img # initramfs (cpio.gz) sf 写${loadaddr} 0x1080000${filesize} ------闪烁后,重启板------------------ 从 u-boot 启动后,为 Linux 内核 (Image.gz)、设备设置环境变量树 (imx8mp-evk.dtb),rootfs.img。 sf probe 0 setenv loadaddr 0x40480000 // 核心 setenv fdt_addr 0x43000000 //dtb setenv initrd_addr 0x43800000 //rootfs setenvkernel_comp_addr_r 0x50000000 setenv kernel_comp_size 0x04000000 sf read${loadaddr} 0x240000 0xCD3CE2 sf read${fdt_addr} 0x1000000 0x14360 sf read${initrd_addr} 0x1080000 0xC04DB0 setenv bootargs"console=ttymxc1,115200 root=/dev/ram0 rw" setenv bootcmd 'sf probe 0; sf read${loadaddr} 0x240000 0xCD3CE2; sf read${fdt_addr} 0x1000000 0x14360; sf read${initrd_addr} 0x1080000 0xC04DB0; booti${loadaddr} ${initrd_addr} ${fdt_addr} ' saveenv ----------------------------------------------------------------------- 1. 使用 SD 卡 Wic 文件在分区(启动/根目录)上运行良好。 2.We genarated Two yocto images ==> 1.bitbake core-image-minimal-initramfs (generated initramfs.cpio.gz)这个 cpio.gx 使用这个 cmd mkimage-A arm-O linux-T ramdisk-d (来自 linux 用户指南)== > 2. 还从 yocto 中生成了使用 bitbake core-image-tiny 生成的微小 rootfs。 core-image-tiny-imx8mp-evk.tar.zst,该 tar 已解压缩到 SD 卡中的 EXT4 分区,并成功加载了微小的 rootfs。 3.但正如第二点所说,rootfs.img 也被放入了 SD 卡的 EXT4 根分区,但却无法加载 rootfs。 ------------------------------------------------------------------------------------------- 1. 这是启动 initramfs (rootfs.img) 的正确方法吗从 QSPI 直接连接 i.MX8M Plus EVK? ----------------------------------------------------------------------------------------------- 3. 有没有推荐的恩智浦参考镜像用于在 i.MX8MP(Linux 内核 (Image.gz)、设备上完全从 QSPI 启动内核和 initramfs树 (imx8mp-evk.dtb),rootfs.img)? 4.如何在 I.MX8MP 上从 QSPI 闪存加载 rootfs.img? Re: rootfs size for IMX8mini Yocto Linux <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [email protected] 你好 以下是文档,描述了如何版本和使用分区。 分区用户手册 也许使用大尺寸图片会更容易些:-( 此致, 尤里。 Re: rootfs size for IMX8mini Yocto Linux <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,尤里、 谢谢您的帮助。但对于 此外,还可以使用parted之类的实用程序来版本小尺寸的 文件系统并调整部分大小。 如何做到这一点?我很难理解这一点。这是否意味着有一种名为"parted" 的工具可以做到这一点?还是别的什么? 我用"Yocto + parted 谷歌了一下,没有得到任何有用的信息。" 谢谢! Re: rootfs size for IMX8mini Yocto Linux <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好 无论如何,使用 Yocto 方法生成 Linux 系统需要 大量主机资源。如恩智浦Linux文档中所述,客户只需版本一次 文件系统,然后在没有Yocto环境的情况下重新编译U-启动和/ 或内核。此外,还可以使用parted之类的实用程序来构建小尺寸的 文件系统并调整部分大小。 此致, 尤里。
記事全体を表示
关于CANFD中二次采样点偏移SSP Offset的设置问题 在ISO 11898-1 2015,SSP要求是在普通采样点SP之前,但是公司规范中定义了 SSP offset 等于TSEG1,相当于SSP和SP在同一个位置。那么这个就失去了SSP的快速检测错误的功能。请问这个规范中固定的SSP offset是否合理。 例如:规范中要求CANFD采样点配置建议,其中SSP Offset =TSEG1   Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 您好, 我不知道 ISO 11898-1 2015 的确切措辞,也不知道您的图片来自何处。也许这只是误读。 符合 ISO 标准的 CAN FD 控制器使用 TDC 来测量回路延迟,并使用可配置的 SSP 使发射器能够在更高的数据速率下正确检测数据错误。省略 TDC/SSP 会使这一机制失效,从而降低错误检测的鲁棒性。 图示 TX 输出:代表控制器传输的 CAN FD 位。 RX 输入:代表收发器延迟后的接收比特。 TDC 测量:控制器测量 TX 和 RX 之间的环路延迟。 TDC 偏移:用户可配置的值,添加到测量的延迟中。 SSP 位置:计算公式为 SSP = TDC 测量值 + TDC 偏移。 SSP 不应该在 TX 功能域中的主 SP 之前。相反,在对 RX 信号进行采样时,它的位置应在考虑收发器延迟后与正确的比特中心对齐。从 TX 的角度看,SSP 出现的时间比正常 SP 晚,因为 RX 信号由于物理延迟而滞后于 TX。将 TDC 偏移量设置为等于标称 SP 可确保 RX 采样点与接收位处于同一时间,但可以自由设置,即位于位中间,这对于错误检测和数据完整性是最佳选择。 ISO 11898‑1 要求 SSP 进行发射器延迟补偿,而不是 TX 功能域中的早期错误检测。目标是确保发射器在延迟后能够正确验证自己的位。 BR, Petr Re: 关于CANFD中二次采样点偏移SSP Offset的设置问题 再次感谢
記事全体を表示
HAB SRK 撤销 您好,恩智浦技术支持、 我正在使用带有 Habv4 (CST 4.0.1) 的 RT1176 板。我目前使用 SRK1 对图像进行签名,但我需要改用 SRK2。(我们试图在撤销 SRK1 之前用 SRK2 测试图像) 在我目前的 CSF 文件中,我有 文本   [Install SRK] File ="..\..\crts\SRK_1_2_3_4_table.bin" Source index = 0 [Install CSFK] File ="CSF1_1_sha256_secp256r1_v3_usr_crt.pem" [验证 CSF] [Install Key] Verification index = 0 Target index = 2 File ="IMG1_1_sha256_secp256r1_v3_usr_crt.pem" [验证数据] 验证指数 = 2 引擎 = CAAM 引擎配置 = 0 区块 = 0x80000000 0x0 0x8000 "启动.bin" 请您解释一下: 从 SRK1 转到 SRK2 的最简单方法是什么? 我的 CSF 文件需要做哪些更改? 我是否只需要将 [Install SRK] 中的 源代码索引 从 0 改为 1? 感谢您的帮助。 Re: HAB SRK revoke 我试着更改 [Install SRK] File ="SRK_1_2_3_4_table.bin" 来源指数 = 1 [Install CSFK] File ="CSF2_1_sha256_secp256r1_v3_usr_crt.pem" [Install Key] Verification index = 0 Target index = 2 File ="IMG2_1_sha256_secp256r1_v3_usr_crt.pem"   最终使用 SRK 2,但我遇到了这些事件 Re: HAB SRK revoke 你好 是的,从使用 SRK1 到使用 SRK2 的最简单方法是修改 CSF 文件中 [Install SRK] 部分的源索引参数,从 0 改为 1。 在您当前的 CSF 文件中: ``` [Install SRK] File ="..\..\crts\SRK_1_2_3_4_table.bin" 源索引 = 0 ``` 您应将其更改为: ``` [Install SRK] File ="..\..\crts\SRK_1_2_3_4_table.bin" Source index = 1 ``` 源索引参数决定将使用 SRK 表中的哪个键。索引 0 对应 SRK1,索引 1 对应 SRK2,以此类推。 你还需要在 CSF 文件中引用 CSF2 和 IMG2 的相应证书文件,而不是 CSF1 和 IMG1,替换: -" csf1_1_sha256_secp256r1_v3_usr_crt.pem " 替换为 " CSF2_1_SHA256_secp256r1_v3_usr_crt.pem " " g1_1_sha256_secp256r1_v3_usr_crt.pem " 带有 " img2_1_SHA256_secp256_secp256r1_v3_ usr_crt.pem " 这种方法允许您在永久撤销 SRK1 之前使用 SRK2 进行测试。 此致 Re: HAB SRK revoke @Bio 感谢您之前的澄清。 在固件更新期间,我将对网络安全逻辑和 SRK 迁移过程进行重要的后续跟进。 我们当前的场景:正常启动:设备使用 SRK1(索引 0)启动。信任链已完全建立:ROM -> 引导加载程序 (SRK1) -> 应用程序 (SRK1)。 固件更新:当系统在 SRK1 的信任下运行时,我们将使用 SRK2(索引 1)签名的新完整映像(BS + 应用程序)下载到同步动态随机存取存储器(SDRAM)中。 验证:当前正在运行的 Bootloader 调用 hab_rvt.authenticate_image() 来验证 同步动态随机存取存储器(SDRAM) 中的新镜像。 我的问题是 1。关于运行时 SRK 切换:你能否确认 HAB 库允许在同一个电源周期内执行源索引 = 1 (SRK2) 的新 [安装 SRK] 命令,即使初始启动时使用了 SRK1? 2.关于在同一周期内撤销:是否有可能在更新过程中撤销 SRK1(通过烧录 SRK_REVOKE eFuse),然后安装 SRK2 并对新的 RAM 映像进行验证,所有这一切都在同一个电源周期内完成?谢谢 Re: HAB SRK revoke @Bio_TICFSL 请您提供帮助,任何帮助都将是有益的 谢谢
記事全体を表示
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.
記事全体を表示
ubloxとlwipでビルディングするときにwifi_nxpに2つの問題が見つかりました https://github.com/NXP/wifi_nxp/issues に 2 つの問題を追加しました。SO誰かがこれを見て欲しい 問題1 LWIP_IGMP を 0 に設定するとビルドできません 問題2 MCUX_COMPONENT_utility.debug_console_rttでビルドできません Re: I have found 2 problems in wifi_nxp when building with ublox and lwip 新しい問題が 1 つ追加されました。SO 3 つの問題が未解決になりました。 Re: I have found 2 problems in wifi_nxp when building with ublox and lwip こんにちは、 教えてくれてありがとう。 担当チームに通知いたしました。 ちなみに、どのu-bloxモジュールを使用していますか? よろしくお願いいたします。 ダニエル。 Re: I have found 2 problems in wifi_nxp when building with ublox and lwip よろしくお願いします。 どの SDKs バージョンを使用していますか? どのような例を使っていますか? それぞれのCASEの再現手順を共有してCANいただけますか? よろしくお願いいたします。 ダニエル。 Re: I have found 2 problems in wifi_nxp when building with ublox and lwip LWIP_IGMP が無効になっている場合のビルドの問題について · 問題 #7 · NXP/wifi_nxp 。 LWIP_IGMPを0に設定してLWIPを使用する場合は、wifi_netif.cファイル内の以下のコードを保護してください。 #もし LWIP_IGMP では以下のようにエラーが発生します。 #if LWIP_IGMP netif_set_igmp_mac_filter(netif, igmp_mac_filter); netif->flags |= NETIF_FLAG_IGMP; #endif よろしくお願いいたします。 ダニエル。 Re: I have found 2 problems in wifi_nxp when building with ublox and lwip AP をオフにするとビルドできないことについて · 問題 #9 · NXP/wifi_nxp 。 WPL_Start_APとWPL_Stop_APというAPIは、wifi_webconfigサンプルの一部です。このサンプルはuAPを起動するために設計されており、プロビジョニングに特化しています。そのため、SDKsではuAPの機能を保護できません。 #もし。 コードをカスタマイズし、wifi_webconfig の例をベースとして使用する場合は、次のコマンドを使用してガード機能を追加できます。 #if UAP_SUPPORT ... #endif   これにより、必要に応じて AP 機能を無効にできるようになります。
記事全体を表示
i.MX 数据表中 NVCC 的含义 你好 我正在查看 i.MX 数据表,经常看到以 NVCC_* 开头的引脚名称。 能否请您解释一下 NVCC 代表什么? 此外,名称中包含 NVCC 的徽章有何意义? 感谢您的支持。 顺祝商祺! Re: Meaning of NVCC in i.MX Datasheet 您指的是哪种产品? NVCC 是"Nominal Voltage Common Collector" 的缩写,NVCC_* 引脚是为一组 I/O 焊盘(如 GPIO、UART、SPI 等)提供电压的电源引脚。 如 NVCC_SD 为 SD 卡接口引脚供电。 Re: Meaning of NVCC in i.MX Datasheet 你好,丽塔、 谢谢您的解释。我所指的产品是 i.MX93。 我知道 NVCC 代表标称电压共集电极,而 NVCC_* 引脚是为特定 I/O 组(如 GPIO、UART、SPI)提供电压的电源引脚。NVCC_SD 为 SD 卡接口供电的例子非常有用。 感谢您的支持。 致以最诚挚的问候, tkato Re: Meaning of NVCC in i.MX Datasheet 你好@tkato, 不客气。 如有任何疑问,您可以创建新的主题,与我们自由联系。 祝您有美好的一天 顺祝商祺! Rita
記事全体を表示
mke06128vqh4 中的 uart0 朋友们,我有一块用 MKE06Z128VQH4 微控制器设计的板,我在其中使用了多个输出和输入。我使用的是一个 KBI 输入、3 个定时器和一个计数器,所以没有问题 - 我已经进行了配置,它们都能正常工作。 我目前正在研究 UART0 串行端口,我将 USB-TTL 串行适配器连接到 PC,以接收或发送数据。我无法使用 SDK 库发送或接收信息。我使用 MCUXpresso 的配置如图所示: 针脚: 时钟,我有一个 12MHZ 的外部晶体: 由于 FLL 出错,我无法设置 FEE 选项,然后我使用 FBELP 进行配置。 在 UART0 中,我使用中断接收和发送轮询进行配置。 安装的 sdk 是 我有示例软件包: 有了这些例子,我仍然无法让 UART0 正常工作。我需要一些指导 - 几天来我一直在尝试让 UART0 正常工作。 Re: uart0 in mke06128vqh4 你好@Iotelctronic 感谢您的提问。 请首先测试 UART 演示。UART 演示在您那边能正常工作吗? 确保硬件连接正确。连接正确的 TX 和 RX 引脚。 测量 TX/RX 信号。 BR 爱丽丝 Re: uart0 in mke06128vqh4 你好@Iotelctronic 请在不做任何修改的情况下使用演示版。 我已经在我这边进行了测试,没有发现任何问题 BR 爱丽丝 Re: uart0 in mke06128vqh4 嗨,艾丽丝! 我使用轮询对演示进行了测试,但它不起作用。 codigo main.c: #include "pin_mux.h" #include "board.h" #include "fsl_uart.h" /******************************************************************************* * Definitions ******************************************************************************/ /* UART instance and clock */ #define DEMO_UART UART1 #define DEMO_UART_CLK_FREQ CLOCK_GetFreq(kCLOCK_BusClk) /******************************************************************************* * Prototypes ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ uint8_t txbuff[] = "Uart polling example\r\nBoard will send back received characters\r\n"; uint8_t rxbuff[20] = {0}; /******************************************************************************* * Code ******************************************************************************/ /*! * @brief Main function */ int main(void) { uint8_t ch; uart_config_t config; BOARD_InitBootPins(); BOARD_InitBootClocks(); config.baudRate_Bps = 115200U; config.parityMode = kUART_ParityDisabled; config.stopBitCount = kUART_OneStopBit; //config.txFifoWatermark = 0; //config.rxFifoWatermark = 1; config.enableTx = false; config.enableRx = false; // UART_GetDefaultConfig(&config); // config.baudRate_Bps = BOARD_DEBUG_UART_BAUDRATE; // config.enableTx = true; //config.enableRx = true; UART_Init(DEMO_UART, &config, DEMO_UART_CLK_FREQ); UART_WriteBlocking(DEMO_UART, txbuff, sizeof(txbuff) - 1); while (1) { UART_ReadBlocking(DEMO_UART, &ch, 1); UART_WriteBlocking(DEMO_UART, &ch, 1); } } Re: uart0 in mke06128vqh4 你好@Iotelctronic 1) 关于时钟,请检查 12 MHz 晶振是否正常工作,并验证配置。 2) KE06 不支持 DMA。 谢谢! BR 爱丽丝 Re: uart0 in mke06128vqh4 你好,我找到问题所在了。我使用的 SDK 示例和其他使用寄存器的项目对我不起作用;它们总是发送错误的数据和字符。我使用的是外置 12 MHz 晶振,使用该晶振似乎无法产生精确的 115200 波特率。不过,我将配置改为 8 MHz,而没有拆焊 12 MHz 晶体,结果运行正常。我最大的问题是:如果我将配置修改为 8 MHz,但不更改 12 MHz 晶体,为什么它还能工作?我展示的代码是我在 .freq 中做的修改= 8000000U.有什么解释吗?我还想问一下,MKE06Z128VQH4 微控制器是否有与 UART 一起使用的 DMA? /*********************************************************************************************************************** * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. **********************************************************************************************************************/ /* * How to setup clock using clock driver functions: * * 1. call CLOCK_SetSimSafeDivs() to set the system clock dividers in SIM to safe value. * * 2. If external oscillator is used Call CLOCK_SetXtal0Freq() to set XTAL0 frequency based on board settings and * call CLOCK_InitOsc0() to init the OSC. * * 3. Call CLOCK_BootToXxxMode()/CLOCK_SetXxxMode() to set ICS run at the target mode. * * 4. If ICSIRCLK is needed, call CLOCK_SetInternalRefClkConfig() to enable the clock. * * 5. call CLOCK_SetSimConfig() to configure the divider in sim. */ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!GlobalInfo product: Clocks v7.0 processor: MKE06Z128xxx4 package_id: MKE06Z128VLK4 mcu_data: ksdk2_0 processor_version: 9.0.0 * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ #include "clock_config.h" /******************************************************************************* * Definitions ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ /* System clock frequency. */ extern uint32_t SystemCoreClock; /******************************************************************************* ************************ BOARD_InitBootClocks function ************************ ******************************************************************************/ void BOARD_InitBootClocks(void) { BOARD_BootClockRUN(); } /******************************************************************************* ********************** Configuration BOARD_BootClockRUN *********************** ******************************************************************************/ /* clang-format off */ /* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* !!Configuration name: BOARD_BootClockRUN called_from_default_init: true outputs: - {id: Bus_clock.outFreq, value: 20 MHz} - {id: Core_clock.outFreq, value: 40 MHz} - {id: Flash_clock.outFreq, value: 20 MHz} - {id: ICSFF_clock.outFreq, value: 31.25 kHz} - {id: ICSIR_clock.outFreq, value: 37.5 kHz} - {id: LPO_clock.outFreq, value: 1 kHz} - {id: OSCER_clock.outFreq, value: 8 MHz} - {id: Plat_clock.outFreq, value: 40 MHz} - {id: System_clock.outFreq, value: 40 MHz} - {id: Timer_clock.outFreq, value: 20 MHz} settings: - {id: ICSMode, value: FEE} - {id: ICS.BDIV.scale, value: '1', locked: true} - {id: ICS.IREFS.sel, value: ICS.RDIV} - {id: ICS.RDIV.scale, value: '256'} - {id: ICS_C1_IRCLKEN_CFG, value: Enabled} - {id: OSC_CR_OSCEN_CFG, value: Enabled} - {id: OSC_CR_OSC_MODE_CFG, value: ModeOscLowPower} - {id: OSC_CR_RANGE_CFG, value: High} - {id: OSC_CR_RANGE_RDIV_CFG, value: High} - {id: SIM.DIV2.scale, value: '2'} - {id: SIM.DIV3.scale, value: '2', locked: true} sources: - {id: OSC.OSC.outFreq, value: 8 MHz, enabled: true} * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ /* clang-format on */ /******************************************************************************* * Variables for BOARD_BootClockRUN configuration ******************************************************************************/ const ics_config_t icsConfig_BOARD_BootClockRUN = { .icsMode = kICS_ModeFEE, /* FEE - FLL Engaged External */ .irClkEnableMode = kICS_IrclkEnable, /* ICSIRCLK enabled, ICSIRCLK disabled in STOP mode */ .bDiv = 0x0U, /* Bus clock divider: divided by 1 */ .rDiv = 0x3U, /* FLL external reference clock divider: divided by 256 */ }; const sim_clock_config_t simConfig_BOARD_BootClockRUN = { .outDiv1 = 0x0U, /* DIV1 clock divider: divided by 1 */ .outDiv2 = 0x1U, /* DIV2 clock divider: divided by 2 */ .outDiv3 = 0x1U, /* DIV3 clock divider: divided by 2 */ .busClkPrescaler = 0x0U, /* bus clock optional prescaler */ }; const osc_config_t oscConfig_BOARD_BootClockRUN = { .freq = 8000000U, /* Oscillator frequency: 12000000Hz */ .workMode = kOSC_ModeOscLowPower, /* Oscillator low power */ .enableMode = kOSC_Enable, /* Enable external reference clock, disable external reference clock in STOP mode */ }; /******************************************************************************* * Code for BOARD_BootClockRUN configuration ******************************************************************************/ void BOARD_BootClockRUN(void) { /* Set the system clock dividers in SIM to safe value. */ CLOCK_SetSimSafeDivs(); /* Initializes OSC0 according to board configuration. */ CLOCK_InitOsc0(&oscConfig_BOARD_BootClockRUN); CLOCK_SetXtal0Freq(oscConfig_BOARD_BootClockRUN.freq); /* Set ICS to FEE mode. */ CLOCK_BootToFeeMode(icsConfig_BOARD_BootClockRUN.bDiv, icsConfig_BOARD_BootClockRUN.rDiv); /* Configure the Internal Reference clock (ICSIRCLK). */ CLOCK_SetInternalRefClkConfig(icsConfig_BOARD_BootClockRUN.irClkEnableMode); /* Set the clock configuration in SIM module. */ CLOCK_SetSimConfig(&simConfig_BOARD_BootClockRUN); /* Set SystemCoreClock variable. */ SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK; } Re: uart0 in mke06128vqh4 谢谢,时钟的问题在于晶体焊接的频率是 8MHZ,而不是 12MHZ
記事全体を表示
同时使用 PCIe 和 USB3 时的 iMX8MP 带宽限制 你好 一位客户报告了使用 USB 3 摄像机时的带宽限制。在正常情况下,摄像头运行良好,但一旦开始向 NVMe PCIe 驱动器写入数据,流水线就会因带宽不足而崩溃。 他们进行了一项不同的测试,结果非常有趣。他们没有使用 USB3 摄像头,而是连接了一个 USB3 千兆以太网接口,并开始使用 iperf3 进行带宽测试。测试速度保持在约 900MB/s,直到他们开始使用 dd 向 NVMe 硬盘写入。当出现这种情况时,USB3 的带宽将降至每秒约 400MB。 这是预期行为吗? 我注意到 USB3 和 PCIe 都直接连接到 AXI 总线,这条总线上有 1Gb/s 的限制吗? 在将视频数据写入 NVMe 硬盘时,客户需要稳定的 USB3 带宽(至少足以持续收集帧)。 如有任何帮助,我们将不胜感激、 拉斐尔 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 我进行了以下测试,以了解带宽降低的情况。我连接了一个 NVMe 磁盘并将其挂载在 /mnt,并通过电缆将一个 USB3 千兆以太网接口直接连接到我的机器。在不向磁盘写入数据的情况下启动 iperf3,输出结果如下: root@verdin-imx8mp-15207903:~# iperf3 -c 192.168.50.1 Connecting to host 192.168.50.1, port 5201 [ 5] local 192.168.50.58 port 42800 connected to 192.168.50.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 113 MBytes 950 Mbits/sec 0 293 KBytes [ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec 0 307 KBytes [ 5] 2.00-3.00 sec 112 MBytes 938 Mbits/sec 0 321 KBytes [ 5] 3.00-4.00 sec 112 MBytes 940 Mbits/sec 0 338 KBytes [ 5] 4.00-5.00 sec 112 MBytes 938 Mbits/sec 0 338 KBytes [ 5] 5.00-6.00 sec 112 MBytes 938 Mbits/sec 0 338 KBytes [ 5] 6.00-7.00 sec 112 MBytes 940 Mbits/sec 0 372 KBytes [ 5] 7.00-8.00 sec 112 MBytes 942 Mbits/sec 0 372 KBytes [ 5] 8.00-9.00 sec 113 MBytes 945 Mbits/sec 0 372 KBytes [ 5] 9.00-10.00 sec 112 MBytes 941 Mbits/sec 0 372 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver iperf Done. 现在,我在另一个终端上开始向 NVMe 磁盘写入数据: root@verdin-imx8mp-15207903:~# dd if=/dev/zero of=/mnt/bla bs=1M count=10000 10000+0 records in 10000+0 records out 10485760000 bytes (10 GB, 9.8 GiB) copied, 76.2779 s, 137 MB/s 同时,我再次启动 iperf3: root@verdin-imx8mp-15207903:~# iperf3 -c 192.168.50.1 -t 60 Connecting to host 192.168.50.1, port 5201 [ 5] local 192.168.50.58 port 59494 connected to 192.168.50.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 54.8 MBytes 457 Mbits/sec 0 317 KBytes [ 5] 1.00-2.00 sec 1.38 MBytes 11.5 Mbits/sec 0 317 KBytes [ 5] 2.00-3.01 sec 2.00 MBytes 16.7 Mbits/sec 0 317 KBytes [ 5] 3.01-4.00 sec 1.38 MBytes 11.6 Mbits/sec 0 317 KBytes [ 5] 4.00-5.00 sec 1.88 MBytes 15.7 Mbits/sec 0 317 KBytes [ 5] 5.00-6.00 sec 112 MBytes 937 Mbits/sec 0 335 KBytes [ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec 0 335 KBytes [ 5] 7.00-8.00 sec 15.0 MBytes 126 Mbits/sec 0 335 KBytes [ 5] 8.00-9.00 sec 1.38 MBytes 11.5 Mbits/sec 0 335 KBytes [ 5] 9.00-10.00 sec 1.62 MBytes 13.6 Mbits/sec 0 335 KBytes [ 5] 10.00-11.00 sec 1.88 MBytes 15.7 Mbits/sec 0 335 KBytes [ 5] 11.00-12.00 sec 71.9 MBytes 604 Mbits/sec 0 335 KBytes [ 5] 12.00-13.00 sec 113 MBytes 946 Mbits/sec 0 335 KBytes [ 5] 13.00-14.00 sec 65.1 MBytes 546 Mbits/sec 0 335 KBytes [ 5] 14.00-15.00 sec 47.9 MBytes 400 Mbits/sec 0 498 KBytes [ 5] 15.00-16.00 sec 37.2 MBytes 313 Mbits/sec 0 498 KBytes [ 5] 16.00-17.00 sec 39.6 MBytes 331 Mbits/sec 0 498 KBytes [ 5] 17.00-18.00 sec 45.6 MBytes 384 Mbits/sec 0 498 KBytes [ 5] 18.00-19.00 sec 30.0 MBytes 251 Mbits/sec 0 498 KBytes [ 5] 19.00-20.00 sec 1.38 MBytes 11.6 Mbits/sec 0 498 KBytes [ 5] 20.00-21.00 sec 2.00 MBytes 16.8 Mbits/sec 0 498 KBytes [ 5] 21.00-22.01 sec 2.00 MBytes 16.7 Mbits/sec 0 498 KBytes [ 5] 22.01-23.00 sec 14.4 MBytes 121 Mbits/sec 0 498 KBytes [ 5] 23.00-24.00 sec 113 MBytes 946 Mbits/sec 0 747 KBytes [ 5] 24.00-25.00 sec 113 MBytes 950 Mbits/sec 0 747 KBytes [ 5] 25.00-26.00 sec 40.6 MBytes 339 Mbits/sec 0 747 KBytes [ 5] 26.00-27.00 sec 48.1 MBytes 405 Mbits/sec 0 747 KBytes [ 5] 27.00-28.00 sec 25.6 MBytes 215 Mbits/sec 0 747 KBytes [ 5] 28.00-29.01 sec 46.9 MBytes 391 Mbits/sec 0 747 KBytes [ 5] 29.01-30.00 sec 42.4 MBytes 358 Mbits/sec 0 747 KBytes [ 5] 30.00-31.00 sec 29.1 MBytes 244 Mbits/sec 0 747 KBytes [ 5] 31.00-32.01 sec 2.75 MBytes 23.0 Mbits/sec 0 747 KBytes [ 5] 32.01-33.01 sec 1.00 MBytes 8.38 Mbits/sec 0 747 KBytes [ 5] 33.01-34.00 sec 1.50 MBytes 12.7 Mbits/sec 0 747 KBytes [ 5] 34.00-35.00 sec 18.1 MBytes 152 Mbits/sec 0 747 KBytes [ 5] 35.00-36.00 sec 112 MBytes 943 Mbits/sec 0 747 KBytes [ 5] 36.00-37.01 sec 111 MBytes 922 Mbits/sec 0 747 KBytes [ 5] 37.01-38.00 sec 1.62 MBytes 13.7 Mbits/sec 0 747 KBytes [ 5] 38.00-39.00 sec 1.62 MBytes 13.6 Mbits/sec 0 747 KBytes [ 5] 39.00-40.00 sec 1.50 MBytes 12.6 Mbits/sec 0 747 KBytes [ 5] 40.00-41.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 41.00-42.00 sec 94.1 MBytes 791 Mbits/sec 0 747 KBytes [ 5] 42.00-43.00 sec 112 MBytes 944 Mbits/sec 0 747 KBytes [ 5] 43.00-44.00 sec 40.5 MBytes 339 Mbits/sec 0 747 KBytes [ 5] 44.00-45.00 sec 1.62 MBytes 13.6 Mbits/sec 0 747 KBytes [ 5] 45.00-46.00 sec 2.88 MBytes 24.1 Mbits/sec 0 747 KBytes [ 5] 46.00-47.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 47.00-48.00 sec 54.2 MBytes 456 Mbits/sec 0 747 KBytes [ 5] 48.00-49.00 sec 112 MBytes 937 Mbits/sec 0 747 KBytes [ 5] 49.00-50.00 sec 97.6 MBytes 816 Mbits/sec 0 747 KBytes [ 5] 50.00-51.00 sec 1.38 MBytes 11.6 Mbits/sec 0 747 KBytes [ 5] 51.00-52.01 sec 1.50 MBytes 12.5 Mbits/sec 0 747 KBytes [ 5] 52.01-53.00 sec 1.75 MBytes 14.8 Mbits/sec 0 747 KBytes [ 5] 53.00-54.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 54.00-55.00 sec 108 MBytes 904 Mbits/sec 0 747 KBytes [ 5] 55.00-56.00 sec 113 MBytes 947 Mbits/sec 0 747 KBytes [ 5] 56.00-57.00 sec 22.6 MBytes 189 Mbits/sec 0 747 KBytes [ 5] 57.00-58.00 sec 1.38 MBytes 11.6 Mbits/sec 0 747 KBytes [ 5] 58.00-59.00 sec 1.38 MBytes 11.5 Mbits/sec 0 747 KBytes [ 5] 59.00-60.36 sec 2.75 MBytes 16.9 Mbits/sec 0 747 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.36 sec 2.21 GBytes 314 Mbits/sec 0 sender [ 5] 0.00-60.37 sec 2.20 GBytes 313 Mbits/sec receiver iperf Done. dd 写入完成后,以太网端口的带宽就会恢复到约 940Mbits/s。 我们的客户面临的问题略有不同。当它们开始写入 NVMe 磁盘时,由于带宽低,USB3 摄像机捕获失败。如果没有写入磁盘,也不会失败。 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 我没有任何记录表明我的团队以前见过这种行为。 AXI 总线不应限制在 1Gb/s 以内,因为只有一条 PCIe 线路将占用几乎所有的带宽。 能否详细介绍一下您的测试设置? 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 感谢您提供的信息,我将与内部团队分享这些信息,并尽快向您通报最新情况。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 另外,我还创建了一个 cgroup 设置,可以对写入 NVMe 磁盘的数据进行节流。看起来 USB3 和 PCIe 子系统在 SoC 内共享一条约 1Gb/s 的管道,因为结果非常直接。如果我增加节流量,USB3 就能立即获得更多带宽。 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 感谢您提供的信息。 据内部团队说,他们以前也做过类似的测试,但没有遇到问题。i.MX8MP 支持 USB 和 PCIE 端口同时运行。 你能提供电路板支持包版本吗,我会再试一次。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 我使用 Toradex 电路板支持包 7.4.0 进行了测试,它使用恩智浦下游内核 6.6.101。 传输同时进行,只是它们似乎在共享带宽。 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好,我有最新消息。 我们的内部团队可以重现该问题: 我在 i.MX8MPEVK 上重现了这个问题。目前怀疑是 NOC 带宽造成的问题。 如果使用 eth0/eth1 进行同样的测试不能解决问题,因此不受 AXI 总线的限制。 使用 USB3.0 以太网进行测试: top - 12:36:31 up 43 min, 2 users, load average: 0.41, 0.23, 0.15 Tasks: 160 total, 4 running, 155 sleep, 1 d-sleep, 0 stopped, 0 zombie %Cpu0 : 0.0 us, 7.9 sy, 0.0 ni, 53.5 id, 5.0 wa, 11.9 hi, 21.8 si, 0.0 st %Cpu1 : 2.0 us, 21.8 sy, 0.0 ni, 51.5 id, 20.8 wa, 3.0 hi, 1.0 si, 0.0 st %Cpu2 : 1.1 us, 22.1 sy, 0.0 ni, 50.5 id, 23.2 wa, 3.2 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 2.1 sy, 0.0 ni, 6.4 id, 0.0 wa, 12.8 hi, 78.7 si, 0.0 st MiB Mem : 5606.6 total, 5171.0 free, 403.9 used, 192.0 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 5202.7 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 34 root 20 0 0 0 0 R 38.8 0.0 0:38.37 ksoftirqd/3 1962 root 20 0 3304 2148 1124 D 32.9 0.0 0:03.39 dd 1959 root 20 0 17896 3360 2720 S 13.6 0.1 0:01.91 iperf3 748 parsec 20 0 279360 5148 4636 R 2.9 0.1 0:10.60 parsec 1963 root 20 0 7644 5072 2896 R 1.9 0.1 0:00.10 top 16 root 20 0 0 0 0 R 1.0 0.0 0:25.62 ksoftirqd/0 29 root 20 0 0 0 0 S 1.0 0.0 0:00.20 ksoftirqd/2 801 ntp 20 0 77012 4968 4200 S 1.0 0.1 0:00.23 ntpd 我们将继续在内部讨论这个问题。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好,@rbeims、 内部团队确认是带宽限制。 在这种情况下,可以尝试使用 CSI 接口摄像头。 顺便问一下,客户能否分享您的 CPU 负载信息? 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好,@rbeims、 感谢您的更新。 能否请您分享一下 CPU 负载? 我会检查是否有办法对优先级进行收费。 致以最崇高的敬意 Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 你好 在 NOC 块中,PCIE 和 USB 是同一个块,在 doc 中,它们的优先级相同。因此,无法通过修改优先级来实现。 顺祝商祺! Re: iMX8MP bandwidth limitation with simultaneous PCIe and USB3 use 谢谢你的澄清!
記事全体を表示
UJA1169AXF:为什么 CW 有时会等待第三个唤醒帧,而不是第二个? 你好 NXP 团队,我们有两批板使用相同的 UJA1169AXF 和相同的固件,但是在 CAN 唤醒后它们显示不同的 CW-Flag 时机:事件 板-A 序列 板-B 序列板 A 当发送第二个唤醒帧时,V1 升至 5 V,但寄存器 0x63 中的 CW 标志仍为 0。只有在第三个唤醒帧之后,CW 才变为 1。 板 B 有了第二个唤醒帧时,V1 上升到 5 V,CW 已经设置为 1;不需要第三帧。 你能解释一下哪些板载参数让 CW 位在某些板上等待额外的帧吗?它是否与 V1 上升时间、PNP 负载电流或控制内部 “已确认” 信号的另一个模拟阈值有关? 谢谢您的提示! 致以最诚挚的问候,赵光宇 Re: UJA1169AXF: Why does CW sometimes wait for the third wake-up frame instead of the second? 你好,赵先生、 您是否正在使用我们的一个或多个UJA1169Ax-EVB?如果是,请说明使用的是哪一种。 如果您使用自己的设计,请共享包含电压等级和部件值的示意图。 致以最崇高的敬意 约瑟夫 Re: UJA1169AXF: Why does CW sometimes wait for the third wake-up frame instead of the second? 你好,赵先生、 我需要联系应用工程师寻求建议。应用工程师总是需要以下信息。请与大家分享。如果可能,还请提供原理图。 客户:? 最终客户:? 最终应用: ? 国家: 中国中国 年产量:? 致以最崇高的敬意 约瑟夫 Re: UJA1169AXF: Why does CW sometimes wait for the third wake-up frame instead of the second? 你好,约瑟夫 首先,请帮助查看 V1 的波形, ,我需要与硬件工程师确认其余部分 2 帧 V1 : 3 帧 V1: 另外,请问 V1 的斜率会产生什么影响? 致以最崇高的敬意 赵 Re: UJA1169AXF: Why does CW sometimes wait for the third wake-up frame instead of the second? 你好,赵先生、 与典型的 CAN 显性/隐性转换相比,这些斜坡相对较慢。 效果 缓慢的斜率会增加 V1 在阈值区域的停留时间,这可能会导致阈值失调: 不确定的主导检测(设备等待更长的时间才能确认有效的主导状态)。 唤醒帧验证可能失败,尤其是在帧定时很紧的情况下。 如果斜率太低,内部滤波器可能会将边缘归类为噪声或不完整,从而迫使设备等待另一帧。 致以最崇高的敬意 约瑟夫 Re: UJA1169AXF: Why does CW sometimes wait for the third wake-up frame instead of the second? 你好,约瑟夫、 在我的波形图中,2 帧可以设置 SBC 的 CW,V1 的上升时间为 248us, 3 帧可以设置 SBC 的 CW(我认为这是有问题的),V1 的上升时间为 195us, 相反,慢一些是正常的 ,这似乎与您说的相反 另外,在 2 帧的情况下,睡眠时 V1 的电压不是 0V 是否与此有关? 致以最崇高的敬意 赵
記事全体を表示
BFU660F 的 Spice 型号 您好, 能否提供 BFU660F 的香料型号? 谢谢! 约翰 Re: Spice Model for BFU660F 您好, ,我试图将此模型用于 Orcad PSpice,但似乎无法识别某些参数(例如:...M参数......),软件就会出错。请提供可在 orcad PSpice 中导入的 BFU660F 模型, ,谢谢您的支持 ,致以最诚挚的问候 Jonata Re: Spice Model for BFU660F 亲爱的艾丽卡 我想在 LTSPICE 中使用 2 发射器模型。 请发布 BFU660F 的 4 针型号。 顺祝商祺! 诹访仁 Re: Spice Model for BFU660F 嗨,艾丽卡、 谢谢你的香料模型。 您可以关闭此主题。 顺祝商祺! 约翰 Re: Spice Model for BFU660F 您好。 SPICE 模型附后。 希望对你有所帮助。 此致问候
記事全体を表示
PCAL 6534 電源シーケンス 最初にオンにする必要がある電源は、VDD(P) または VDD(I2C_BUS) ですか? PCAL6534 には電源シーケンスが必要ですか? Re: PCAL 6534 Power sequence こんにちは、 正確なタイミングシーケンスは指定されていません。デザインで最初に VDD_I2C に電源を投入する場合は、I²C 通信を試行する前に、VDD_P が速やかに上昇し、POR しきい値に達することを確認してください。POR リセット遅延時間は、VDD_P がしきい値を超えてから約 1 µs であることに注意してください。SO、信頼性の高い動作を確保するには、VDD_P が安定した後、I²C トランザクションを開始する前に短い遅延 (数マイクロ秒など) を許可します。 BRs、トーマス Re: PCAL 6534 Power sequence タイミングを含む正確な電源シーケンスはありますか? 実際、デザイン上、VDD_I2C は VDD_P よりも先に電源が投入されます。 Re: PCAL 6534 Power sequence こんにちは、 VDD(P) は最初に電源を投入するか、少なくとも VDD(I2C_BUS) より遅くは投入しないでください。これにより、通信が開始される前に内部回路とレジスタが適切に初期化されます。 BRs、トーマス
記事全体を表示
使用 usbdm 对 68HC912B32 编程 我正在尝试对一块装有这种芯片的旧板进行编程,但是对这个微控制器系列来说是全新的,所以不胜感激。 我下载并安装了 USBDM_4_12_1_340_Win.msi Windows 软件,并运行了"USBDM Memory Dump" 应用程序,转储了 68HC912B32 芯片上的闪存(地址范围 0x8000-0xFFFF)。 我还查看了"HCS12 Programmer" 或"Flash programmer" 应用程序,但其下拉菜单列表中没有 MC912B32 芯片。我还用 " Detect Chip " 按钮尝试了 " 设备选择 " 但它无法检测到我的芯片。 我不需要完整的开发环境/集成开发环境,只需要能够转储闪存、更换损坏的微控制器并用转储的程序对新微控制器进行编程。 这个 4 岁的https://community.nxp.com/t5/OSBDM-and-TBDML/program-the-HC12-B-Family-of-MCU/td-p/1324102这个问题很有趣,但并没有提供解决方案。 我的首选操作系统是 Linux 而不是 Windows,因此我非常乐意尝试基于 Linux 的解决方案。 对如何安装一个有效的编程环境有什么想法吗? 非常感谢 汤姆-克兰 Re: Programming a 68HC912B32 with usbdm 嗨,@pgo、 感谢您的跟进。我取得了一些进展。 Code Warrior 5.2 不支持 68HC912B32 的解决方案是安装 Code Warrior 5.1。这里建议https://community.nxp.com/t5/CodeWarrior-for-MCU/CodeWarrior-Development-Studio-for-HCS12-X-Microcontrollers/m-p/603056。 在 5.1 版中(见所附屏幕截图 Code-warrior2-run-as-administrator-MC68HC912B32+USBDM.jpg),MC68HC912B32 芯片已出现并可以选择。 但是,"连接 "下拉菜单中没有列出 USBDM 或 TBDML 选项。 在重新安装 Code Warrior 5.1 后,我重新安装了 USBDM 及其驱动程序,并将 USBDM 插入电脑。 为了检查 USBDM 未出现在 "代码勇士连接 "菜单中是否是因为 USBDM 不支持 68HC912B32,我尝试选择了 USBDM 支持的其他芯片。 我选择了 MC9S12A128B。 现在 “连接” 菜单增加了 3 个条目:" TBDML ", " HCS 串行监测 " & " USBDM "。请参阅所附屏幕截图 Code-warrior2-MC68HC9S12A128B+USBDM.jpg。 除了尝试修改 USBDM Tcl 代码以支持 68HC912B32 外,是否还有任何其他软件/硬件应用程序或其他选项可与 USBDM pod 一起使用以对该芯片进行编程? 如果没有,是否有其他支持 S/W 的硬件/软件选项可以让我对 68HC912B32 的闪存进行编程? 我的板只有用于调试/编程的 6 针 BDM 插槽 —— 所以必须假设制造商最初就是这样编程的,除非它是在焊接之前断路完成的,这似乎不太可能... 谢谢! 汤姆 Re: Programming a 68HC912B32 with usbdm 嗨,汤姆 很抱歉,我已经无法访问 Codewarrior(或 Windows!),因此无法亲自检查。 当我在恩智浦网站(https://www.nxp.com/products/68HC912B32)上搜索 68HC912B32 时,最终会找到您下载的 Codewarrior 版本,因此这似乎是正确的版本。 我不知道为什么 B32 没有出现。 对不起! Re: Programming a 68HC912B32 with usbdm 嗨,Pgo、 感谢您的跟进。 我已经部分拆解了之前转储的图像,所以应该可以拼凑出一个 .asm文件放入代码勇士项目中。 我找不到 Codewarrior 第 6 版的下载地址,但还是从https://www.nxp.com/design/design-center/software/development-software/codewarrior-development-tools/codewarrior-legacy/codewarrior-development-studio-for-hcs12x-microcontrollers-classic-ide-v5-2:CW-HCS12X下载了。 链接。 它被列为版本 5.2,重要的是,在 " 支持的设备 " 的 " Expand All " 复选框下列出了 68HC912B32。 安装 + 运行应用程序并检查版本号,显示的是 5.9 而不是 5.2。请参见所附截屏图片。 正在调用 " 启动对话框..." 和 " 创建新项目 " 提供了一个可选择芯片系列的弹出窗口。请参阅所附的截屏图片。 它只列出了 HCS12 & HCS12X 系列。 将这些节目扩展到家庭成员。请参阅所附的截屏图片。不出所料,其中没有 HCS912B32。 是我做错了什么,还是漏掉了什么显而易见的东西? 非常感谢 汤姆-克兰 Re: Programming a 68HC912B32 with usbdm 嗨,汤姆 很抱歉,USBDM 编程器不太可能适用于对您的芯片进行编程。 正如其他主题所指出的,这需要开发 TCL 脚本来完成基本工作(芯片启动、大量擦除等),并开发目标代码来完成块编程。 这是一项艰巨的工作,而且不能保证这种方法一定有效,因为 USBDM 采用的方法可能与早期的芯片不兼容。 可以使用位于 https://github.com/podonoghue/usbdm-eclipse-makefiles-build 的代表为 Linux 版本 USBDM。 我认为最好的办法是检查 Codewarrior V6(我认为)是否支持该芯片的 TBDML(USBDM 与之兼容)。 我不确定这是否允许独立编程,而不是从源代码进行调试开发。 仅适用于窗口。 再见
記事全体を表示
S32G2 上的 LLCE CAN 通信问题 - 发送/接收报文时偶尔出现故障 在开发过程中,LLCE CAN 模块遇到了一些问题: ​设备详情:​ 定制设计的硬件 CPU 型号:S32G274 RTD 版本:4.0.2 LLCE 版本: 1.0.8 ​问题 1.​ 一个通道能正确接收信息,但无法发送信息。只有重新启动后才能恢复正常运行。 使用 Lauterbach 调试时,函数 Can_43_LLCE_SendWritecmd 返回 CAN_BUSY。 通过强行修改 Can_au16TransmitHwObjectCen[x] 的值为非零值进行的进一步测试表明, Can_Llce_write 函数也返回 CAN_BUSY。 ​问题 2.​ 一个通道在发送和接收信息时都出现故障。需要重新启动才能恢复。 以下是通过 Can_Llce_ProcessErrorNotification 获得的错误信息: error->eNotifId:2 error->ErrorInfo->eModuleId:102 error->ErrorInfo->eErrorCode:7 我们希望得到解决这些问题的指导。谢谢! Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 嗨,zhuyz 感谢您的回复。 建议优先进行单通道测试,并尽可能延长向通道发送帧的时间间隔。 错误信息表示接收端已达到最大硬件对象数,即报文缓冲区已满,无法接收新报文。您可以尝试增加帧时间间隔并添加缓冲区进行测试。 BR 乔伊 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 你好,Joey_z ,感谢您的跟进。 您可能没有看清楚我的问题--主要问题是出现问题后,我再也无法通过这个通道接收/发送信息,而不仅仅是偶尔掉帧。 根据我通过劳特巴赫获得的信息,我怀疑 LLCE 本身存在问题,而不是外部因素造成的。能否请您再次回顾一下我最初的问题? Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages hi,zhuyz 感谢您的回复。 请尝试用这种方法测试您的问题。 1.尝试降低 CAN 负载,增加 CAN 帧的时间间隔,检查丢帧现象是否得到缓解。 2.尽量保持测试方法简单,优先考虑单通道测试和只发送或接收帧的测试。例如,首先测试有问题通道的发送功能。 3.你们的 CAN 测试设备是什么?请确保测试设备可靠。 希望这能帮到你。 BR 乔伊 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 你好,Joey_z, 我没有用它来路由 CAN 帧,我只是用它来发送和接收 CAN 帧。 关于您提到的 CAN 环回模式,我前面提到的问题 1 就是用这种方法检测到的。 你的回答让我有点困惑。我希望您能提供一些故障排除方法和可能的原因。 因为对我来说,LLCE 是一个黑盒子,我目前没有能力继续排除故障。 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 嗨,zhuyz 感谢您提供的信息。 路由 CAN 帧 "是指 LLCE 中的 CAN2CAN/CAN2ETH/ETH2CAN 功能。您使用过吗? 如果您只是使用 LLCE 发送和接收 CAN 帧,我建议您可以尝试使用 CAN 环回演示进行测试。您需要修改关联客户板的代码。 关于问题发生的概率相对较低,而且不是每次都能重现。 如果要进行接收帧然后在 CAN 信道中发送的测试,建议考虑接收和发送之间的间隔时间。 BR 乔伊 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages 你好,Joey_z ,感谢您的回复。 我没有使用 LLCE CAN 演示测试这个特定通道,因为在我的案例中,问题并不总是与固定通道相关联。此外,该问题出现的概率相对较低,而且并非每次都能重现。 关于问题 1,我正在使用它收发 CAN 报文。我不太清楚你说的 "路由 CAN 帧 "是什么意思。 所有 20 个通道都在使用,而且都在 M7-0 内核上运行。 Re: LLCE CAN Communication Issue on S32G2 – Occasional Failures in Sending/Receiving Messages hi,zhuyz 感谢您与我们合作。 您是否使用过 Can_Llce_DS_Can2Can_S32G274A_M7 的 LLCE CAN 演示来测试问题通道? 关于问题 1,您是用它来路由 CAN 帧还是只发送报文? 您使用的是哪个频道?您只在 S32G 上使用了 M 内核? BR 乔伊
記事全体を表示
[S32G3] [BOSCH] XRDC 启动导致崩溃 客户:博世 XRDC init 正在触发崩溃,如果需要更多详细信息,请与我们联系 XRDC 版本:AR 版本 43。4.4.0(SW 版本 4.0.2) HSE FW 版本:22_2_62_0 RTD 模块:RM 客户代码: 在 M7 核心中 Xrdc_Ip_Init(&Xrdc_Config);最后在 Task_Init 中调用,其中 Xrdc_Config 来自 tresos 生成的文件 static const Xrdc_Ip_InstanceConfigType * const aXrdc_Config_Array[1] = {&Xrdc_Config_XRDC_INSTANCE0}; const Xrdc_Ip_ConfigType Xrdc_Config = { Xrdc_Ip_Config_XRDC_INSTANCE0 { aXrdc_Config_Array、 (uint32)1UL、 Xrdc_Instances_InUsed、 (uint32)1UL }; TASK(Task_Init) { 所有启动函数,例如 ADC、PFE Csm_Init(NULL_PTR); CryIf_Init(NULL_PTR); Crypto_Init(NULL_PTR); Xrdc_Ip_Init(&Xrdc_Config); 请帮助我找出客户所附代码(EB Tresos)中的问题。 谢谢! Dhvani Singhal 优先权:紧急 RTD Re: [S32G3] [BOSCH] XRDC init is causing a crash 你好,@DanNguyenDuy、 我将要求客户实施这种方法,并将配置文件发送给我。然后,我会将文件发送给你。 谢谢! Dhvani Singhal Re: [S32G3] [BOSCH] XRDC init is causing a crash 你好,@DhvaniSinghal、 RTD_RM_IM 文件中有一条关于 Rm_Init 的说明。在调用Xrdc_Ip_Init()之前是否调用了 Mcu_Init()? 如果您这样做了,能否将配置文件(.xdm 或 .arxml文件),请告诉我导致崩溃的 Xrdc_Ip_Init() 函数中的语句是什么? 在我看来,你应该在 Crypto_Init() 之前调用 Xrdc_Ip_Init()。 顺祝商祺! 丹 Re: [S32G3] [BOSCH] XRDC init is causing a crash 你好,@DanNguyenDuy、 客户提出了一些有关 XRDC 初始化的问题,具体如下: 在运行时动态附加或更改内核(M7 或 A53)的进程 ID (PID)的推荐方法是什么? XRDC 驱动程序仅在主机端可用。是否允许在 A53 端修改 XRDC 寄存器以附加 PID? 如果我们允许在运行时访问A53的XRDC寄存器,我们如何确保功能安全。 如果 A53 内核尝试访问 XRDC 封锁(即发生访问冲突),是否有 XRDC 状态寄存器或机制可由 M7 功能安全核心监测来调试此故障? 我们观察到,在 XRDC 出现故障后,XRDC DERLOCK 寄存器(功能域错误锁定)有时似乎无法正确更新。除了检查这个寄存器之外,我们还可以在 S32G3 的功能安全或网络安全模块中检查是否存在并记录了 XRDC 访问失败的确认? XRDC 限制在启动顺序的哪个特定时刻适用于 A53 内核? 在系统软件配置和锁定 XRDC 寄存器之前,A53 内核的默认 XRDC 策略(如默认 DID 分配和默认访问权限)是什么? 请帮助我回答上述问题。 谢谢并致以诚挚的问候 Dhvani Singhal Re: [S32G3] [BOSCH] XRDC init is causing a crash 嗨,@DhvaniSinghal、 问题 1: 1.1 可以。用户可从 A53 端调用 Xrdc_Ip_SetProcessID(),更新主控内核的 PID。 1.2 为确保运行时的安全访问,请配置 SEMA42 通道以实现互斥。这样可以防止同时访问,并保证对 XRDC 寄存器进行原子更新。 问题 2& 3:目前,Cortex-M7 没有检查 Cortex-A53 错误状态的机制。 问题 4& 5:有关这些问题,请联系 HSE 团队。 顺祝商祺! 丹 Re: [S32G3] [BOSCH] XRDC init is causing a crash 你好,@DanNguyenDuy、 客户尝试了您之前回复中提到的步骤,但仍然遇到错误。请在下方找到配置文件和代码片段以供参考。 在 crypto init 之前调用 Xrdc_Ip_Init 尝试通过在 rba_main 中调用 Rm_Init,在 Xrdc_Ip_Init 之前初始化 Rm_Init 观察到一旦在 Mcu_Init 之后添加 Rm_Init 就会崩溃 此致 Dhvani Singhal Re: [S32G3] [BOSCH] XRDC init is causing a crash 嗨,@DhvaniSinghal、 这是调用 Rm_Init 之前 Mcu 初始化的正确顺序。 另外,因为 Rm_Init() 将调用 Xrdc_Ip_Init()。因此,如果用户调用了 Rm_Init(),就不需要再调用 Xrdc_Ip_Init()。请从代码中删除 Rm_Init() 或 Xrdc_Ip_Init()。 顺祝商祺! 丹
記事全体を表示