Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
适用于 MC56f84xxx 和 MC56f82xxx 的 eFlexPWM 抖动功能 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 对于开关电源应用,输出电压分辨率取决于PWM分辨率,PWM分辨率取决于PWM模块驱动时钟(IP Bus时钟)频率和PWM信号输出频率。但eflexPWM模块具有分数延迟逻辑特性,相当于增加了PWM模块驱动时钟频率。 对于 MC56F847xx,有两个 eFlexPWM 模块:eFlexPWMA 和 eFlexPWMB,eFlexPWMA 支持具有微边沿放置的分数延迟逻辑。eFlexPWMB 模块不支持具有微边沿放置的分数延迟逻辑,但 eFlexPWMB 模块可以使用抖动来模拟精细边沿控制,该模式称为“无微边沿放置块的分数延迟逻辑”。 虽然MC56F847xx的参考手册没有列出小数寄存器,但它们确实存在。例如,存在PWMB_SMxFRACVAL1、PWMB_SMxFRACVAL2、PWMB_SMxFRACVAL3、PWMB_SMxFRACVAL4、PWMB_SMxFRACVAL5和PWMB_SMxFRACTRL。 抖动意味着 PWM 占空比可以增加或减少 N 个 PWM 周期中的一个,N 取决于 PWMB_SMxFRACVALy 寄存器中定义的分数值,例如,如果 PWMB_SM0FRACVAL4 为 0x4000,则分数值等于 8/32=1/4,这意味着四个 PWM 周期中有一个 PWM 周期的占空比将增加一。 抖动模式不需要启用eFlexPWM的内部PLL模块。 配置: 设置PWMB_SMxFRACTRL寄存器中相应的位,然后写入PWMB_SMxFRACVAL1,PWMB_SMxFRACVAL2,PWMB_SMxFRACVAL3,PWMB_SMxFRACVAL4,PWMB_SMxFRACVAL5寄存器,就可以了。 PWMB_SM0FRCTRL=0x04; PWMB_SM0FRACVAL3=0x2000; PWMB模块配置: PMB_SM0VAL2=PWMB_SM0VAL4,PWMB_SM0VAL3=PWMB_SM0VAL5,并且PWMB_SM0CTRL2=0x2000; PWMB_SM0FRCTRL=0x04; PWMB_SM0FRACVAL3=0x2000;   通过上述配置,PWMB_SM0 设置为独立模式,如果没有分数特征,PWMB_A0 和 PWMB_B0 应该具有相同的波形。 启用带抖动子模式的分数延迟逻辑后,8 个 PWM 周期中有一个 PWM 周期的占空比不同。     图中显示了两个通道PWMB_A0和PWMB_B0 ,由于这两个信号几乎都有相同的波形,所以大部分时间是叠加的,但是有两个周期是不同的。示波器上的黄色通道是J503(GPIOG2或PWMB-B0)信号的引脚23,粉色通道是J503(GPIOG3或PWMB_A0)信号的引脚24。 您可以看到 8 个 PWM 周期中每个周期的占空比都是不同的。 BR 荣向俊 概述
記事全体を表示
S32K-如何制作 Flash Driver 映像。 什么是“闪存驱动程序”? (以下内容摘自Klaus Emmert-> “ 闪存引导加载程序用户手册2.7版 ” ) “闪存驱动程序(实际闪存算法)是执行闪存函数的硬件相关代码。在大多数情况下,无法从闪存对闪存进行编程,因此闪存驱动程序被下载到RAM中执行,以便对应用进行编程。将闪存算法下载到RAM中的好处是,无需对主引导加载程序重新编程即可更新闪存算法。下载完成后,算法将从RAM中清除,避免在应用中意外调用闪存函数。 在特殊情况下,闪存算法保存在闪存中,需要时再复制到RAM中。当然,如果使用这种配置,就不能再更改闪存算法。此外,意外调用这些函数,还有可能导致闪存被无意擦除。纠正此问题的办法是加密相应的程序代码,例如异或运算(XOR)或类似操作。” 演示说明 -该软件使用的是“S32 Design Studio for S32 Platform V3.4”,而SDK是“RTM 4.0.3”。 - 基于 S32K142-EVB 的硬件 -提供两个演示,一个用于制作“闪存驱动程序”,另一个用于测试闪存驱动程序镜像 ·“Flash_Driver_Source_Project” 此例程用于制作 Flash 驱动程序映像。 ·“Flash_Driver_Source_Project_Test” 此例程用于测试 Flash 驱动程序映像。   ·闪存驱动程序映像制作过程 1.创建一个新项目并添加 Flash 组件    请参考提供的演示并修改main.c文件。 Senlent_0-1681178869405.png 注释 1 在 main.c 中定义函数索引表 2. 修改链接文件 Senlent_1-1681178869440.png 注释 2 修改了 S32K142_32_flash.ld 文件 Senlent_2-1681178869446.png 注释3修改了S32K142_32_flash.ld文件 3. 添加用于操作闪存所需函数的“属性”命令 Senlent_3-1681178869590.png 注释4在函数中添加“属性”,如下所示 Senlent_4-1681178869619.png    如果在一个函数中引用了另一个函数,那么我们还需要为被引用的函数添加“属性”。 4. 编译项目并检查xx.map文件,确认分配的地址空间是否正确。 Senlent_5-1681178869676.png 注意5 检查Flash_Driver_Source_Project.map 5. 制作闪存驱动程序 Senlent_6-1681178869728.png 注释6创建闪存映像 Senlent_7-1681178869783.png 注释7选择映像格式 Senlent_8-1681178869825.png Note 8 制作闪存驱动器映像 新建一个“xx.s19”文件,然后将0x1fffe000~0x1ffffffff范围的数据复制到该文件中 Senlent_9-1681178869900.png 注释9必要时更改链接顺序    如果某些函数分布在不同的文件中,通过更改链接顺序可以更改分配给这些函数的地址。 测试闪存驱动程序映像的过程 1. 在不添加闪存组件的情况下创建新项目。    您仍然需要创建一个新项目,但不需要向其中添加闪存组件。 2.像之前一样修改链接文件。 3. 参考提供的演示并修改main.c文件。 4. 编译项目,检查.map文件,确认分配数组位置的地址空间是否正确。 Senlent_10-1681178869941.png 注释10确保Function_TABLE已经放在正确的位置 5.进入调试部分,导入准备好的 flash 驱动镜像。 Senlent_11-1681178870007.png 注释12在操作闪存模块之前导入闪存驱动程序映像 6. 测试闪存驱动程序是否能正常工作。 Senlent_12-1681178870042.png 注释13检查测试结果 到目前为止,我们已经知道了如何制作闪存驱动程序映像,以及如何测试闪存驱动程序映像。这种方法并不局限于制作与闪存操作有关的函数,其他函数也可以这样使用,但具有这种应用场景的应用很少。 回复: S32K-How to make Flash Driver image. 你好,我按照你的方法去设置,但是他生成的map文件地址不对,如何修改链接文件的编译顺序? binZhang01_0-1720078509141.png 关于:S32K-如何制作Flash驱动程序映像。 我们能否获得S32K3XX的新RTD 3.0.0的更新版本?
記事全体を表示
操作指南:如何在 S32 Design Studio for ARM 中安装 IAR Eclipse 插件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> S32 Design Studio(S32DS)for ARM 支持 IAR Eclipse 插件,使用户能够使用 IAR 工具链为 ARM 构建和调试 S32DS 项目。 本文档介绍了如何安装此插件以及如何在新项目向导中启用 IAR。 当前版本的 S32DS for ARM 2018.R1 支持 IAR 编译器 v7.x 和 v8.x。 IAR eclipse 插件安装完成后,您应该能够直接在 S32DS Eclipse 环境下使用 IAR 编译器/调试器接口创建、构建和调试新的 S32DS 项目(包括 SDK)。   安装说明 首先,确保您已安装 IAR Embedded Workbench 并拥有 IAR 的有效许可证。现在我们来开始eclipse插件的安装。   1.安装IAR插件管理器 前往菜单"Help" -> "Install New Software" 然后点击"Add..." 按钮以添加位于此处的新的 IAR 仓库: http://eclipse-update.iar.com/plugin-manager/1.0 勾选" “我接受许可协议条款”" 然后点击"“确定”" 以接受未签名内容软件 最后继续安装。安装插件后,系统会要求您重新启动 S32DS 每当您创建新工作区时,系统会要求您输入 IAR Embedded Workbench IDE 的路径   2.在IAR Embedded Workbench插件管理器中配置IAR插件 运行 IAR 插件管理器(菜单 "帮助" -> "IAR Embedded Workbench 插件管理器...") 选择 ARM 版本(8.x),然后点击“安装”按钮。 选择显示的所有 IAR 组件,然后单击“下一步”按钮继续安装。   3. 在项目向导中新建IAR项目 您现在可以在 S32DS 中创建一个新项目,并选择 ARM 的 IAR 工具链而不是默认的 GCC 编译器。 调试器选择中应该会出现一个新项目 - “IAR 插件调试器”。如果您打算使用 IAR 支持的探针进行调试,请选择此选项(例如I-喷气式飞机 IAR 特定的面板和设置现在显示在启用了 IAR 选项的新 S32DS 项目的属性中(参见上文)。 调试配置面板中有一个新类别“IAR C-SPY 应用程序”,其中包含选择了 IAR 调试插件选项的项目的所有调试配置。 调试器视角现在提供了几个 IAR 特定的视图和功能。 享受使用 S32DS 中的 IAR Eclipse 插件进行构建和调试! 第三方(高级)插件 新建项目向导 - 项目管理和设置 回复:如何将 IAR Eclipse 插件安装到 S32 Design Studio for ARM 中 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> hello. Stanislav Sliva 我想使用 IAR 编译器。因此按照上述步骤安装了 IAR Plugin Manager。 但是在安装过程中,我遇到了以下问题。 \ 但安装完成后,在 "Window -> Preferences" 中并未找到 "IAR Embedded Workbench" 选项。 如下图所示,我无法继续进行后续安装步骤。 请检查这个问题。 此致 MinYeop
記事全体を表示
IMX8 SAI TDM16问题 我们正在使用 IMX8Nano 内核 5.15 定制板,并且在 SAI5 上使用 TDM16 时出现问题 问题是,对于 TDM 16 流,我们随机地得到 8 个通道不同步的通道切换。我们添加了内核跟踪,并从 fsl_sai 驱动程序中看到以下调试 如果(标志 & FSL_SAI_CSR_FEF){ dev_dbg(dev, “isr: 检测到传输欠载\n”); 在这种情况下,驱动程序应该执行 FIFO 重置,但这不会发生或没有任何效果。 下次发生欠载时,通道将重新调整,因为在 16 通道配置中始终有 8 个通道输出。 SAI 处于从属模式,仅激活传输线: &sai5 { #sound-dai-cells = <0>; pinctrl 名称 = “默认”; pinctrl-0 = <&pinctrl_sai5>; fsl,数据线=<0 0x00 0xff>; dmas = <&sdma2 8 24 0>, <&sdma2 9 24 0>; fsl,txmasterflag = <1>; 状态 = “好的”; };   使用 simpl-audio-card f   输出1 {   兼容=“简单音频卡”; 简单音频卡,名称=“SAI51”; 简单音频卡,状态=“正常”; 简单音频卡,bitclock-master = <&spdif_codec1>; 简单音频卡,帧主控= <&spdif_codec1>; 简单音频卡,格式=“left_j”;                 cpu1:简单音频卡,cpu{                 sound-dai = <&sai5>;                 dai-tdm-slot-num = <16>; dai-tdm-时隙宽度 = <32>;         };           spdif_codec1:  simple-audio-card,codec { sound-dai = <&codec_out1>;         };                };          编解码器输出1:1output_txcodec #sound-dai-cells = <0>; #地址单元格 = <0>; #大小单元格 = <0>;         compatible = "linux,spdif-dit"; 声音名称前缀 = “spdif_codec1”; 状态 = “好的”;     };   我们尝试了网上各种帖子中的一些解决方法,但都没有成功。   还有人见过这样的问题吗?我们假设这种欠载是由于中断触发得太早,因此 DMA 中没有足够的数据供所有通道使用。 我们的播放日志中没有错误,TDM8 模式下也没有错误。   任何帮助表示感谢。, 回复:IMX8 SAI TDM16问题 我们把这个问题放在一边。但是从 dts 的角度来看,这里有一些重要的经验教训可以与其他人分享: fsl,数据线=<0 0x00 0xff>; 如果您在引脚映射中指定了多条数据线,请小心此配置。结合此配置: cpu1:简单音频卡,cpu{                 sound-dai = <&sai5>;                 dai-tdm-slot-num = <16>; dai-tdm-时隙宽度 = <32>;         };   这将创建一个 32 通道接口,因为插槽号应该引用每条数据线所需的通道数,而不是 SAI 接口的总通道数。   因此我们看到 64 位的 DMA,因为这本质上是一个 32 通道操作,而我们只需要 16 个。   我们切换到如下所示的 4 X TDM4 配置: 4条数据线 pinctrl_sai5: sai5grp { fsl,引脚=< MX8MN_IOMUXC_SAI2_MCLK_SAI5_MCLK 0xd6 MX8MN_IOMUXC_SAI2_RXC_SAI5_TX_BCLK 0xd6 MX8MN_IOMUXC_SAI2_RXFS_SAI5_TX_同步 0xd6 MX8MN_IOMUXC_SAI2_RXD0_SAI5_TX_DATA0 0xd6 MX8MN_IOMUXC_SAI2_TXFS_SAI5_TX_DATA1 0xd6 MX8MN_IOMUXC_SAI2_TXC_SAI5_TX_DATA2 0xd6 MX8MN_IOMUXC_SAI2_TXD0_SAI5_TX_DATA3 0xd6 >; }; SAI5 &sai5 { #sound-dai-cells = <0>; pinctrl 名称 = “默认”; pinctrl-0 = <&pinctrl_sai5>; fsl,数据线=<0 0x00 0xff>; dmas = <&sdma2 8 24 0>, <&sdma2 9 24 0>; fsl,txmasterflag=<1>; /删除属性/ fsl,共享中断; 状态 = “好的”; };   卡和编解码器   输出1 {   兼容=“简单音频卡”; 简单音频卡,名称=“SAI51”; 简单音频卡,状态=“正常”; 简单音频卡,bitclock-master = <&spdif_codec1>; 简单音频卡,帧主控= <&spdif_codec1>; 简单音频卡,格式=“left_j”;                 cpu1:简单音频卡,cpu{                 sound-dai = <&sai5>;                 dai-tdm-slot-num = <4>; dai-tdm-时隙宽度 = <32>;         };           spdif_codec1:  simple-audio-card,codec { sound-dai = <&codec_out1>;         };              };          编解码器输出1:1output_txcodec #sound-dai-cells = <0>; #地址单元格 = <0>; #大小单元格 = <0>;         compatible = "linux,spdif-dit"; 声音名称前缀 = “spdif_codec1”; 状态 = “好的”;     }; 注意 slo-num 为 4。每条数据线现在有 4 个数据通道。您将需要使用 ALSA 来映射这些,就像我们一样。我们使用 dmix 创建 8 个立体声,映射如下: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15 通道数是这样的,因为我们没有启用fls、多通道和禁用共享中断 希望这对其他人有帮助。 回复:IMX8 SAI TDM16问题 Hello, 感谢您的更新。 仅需确认,请验证您的设计是否启用了 SAI 发送配置 3 寄存器 (TCR3) 的发送通道启用位。 顺祝商祺! 回复:IMX8 SAI TDM16问题 因此,我们已经使用 16 位音频进行了测试,到目前为止没有错误。我们将继续进行浸泡测试,因为才过了几个小时。我们不能在生产中使用它,但是一个有趣的测试, 我想这是有道理的,因为 DMA 控制器是 32 位的,所以对于 16 通道的 32 位音频数据,我们谈论的是每个样本 64 位音频,这将使用两个 DMA 插槽,对于欠载,fifo 不同步 1,代表一半的数据,因此是 8 通道切换。 我们现在需要了解在发生欠载运行时 32 位模式下的 fifo 重置以及为什么这没有影响,我认为它只清除 32 位数据而不是与完整样本相关的 64 位数据。另外,为什么会发生这些欠载现象以及为什么 dma 中断无法跟上系统的速度。 回复:IMX8 SAI TDM16问题 我们已经排除了 DMIX 本身,因为它也发生在其他 Alsa 插件中,例如 DSHARE 回复:IMX8 SAI TDM16问题 我无法在当前测试环境中降低比特率,因为通过 alsa 传输的音频是固定的,接收端编解码器(clck src)也是固定的。我将尝试并测试另一种方法。 作为更新,我们将时钟设置为主模式,认为它可能与从属模式下的时钟稳定性有关,但这没有影响。 我们正在 alsa 中运行一个 dmix 插件,将 16ch 混合到 8 X 2ch,目前正在那里进行调查。 回复:IMX8 SAI TDM16问题 Hello, 如果降低比特率,还会出现错误吗? 顺祝商祺! 回复:IMX8 SAI TDM16问题 我们的 alsa 播放日志中没有错误,TDM8 模式下也没有错误。
記事全体を表示
G3引导加载程序定制 本文档说明如何修改引导加载程序以启动 Linux & MCAL,并解决 bootloader、MCAL 和 Linux 之间的冲突。 本文说明在S32G2 RDB2板上如何定制开发Bootloader,本文示例主要实现功能是: Bootloader启动一个M核,MCAL驱动测试程序,本文分别测试了MCU,DIO,UART的MCAL驱动示例代码。 Bootloader同时启动A53 Linux 目录 1    需要的软件,工具,文档与说明... 3 1.1  软件与工具... 3 1.2  参考文档... 3 1.3  开发说明... 3 2    测试软件安装编译说明... 4 2.1  安装RTD_MCAL驱动... 4 2.2  编译MCAL驱动测试程序(以MCU为例) 5 2.3  优化重排M7 demo镜像及与MPU设置的配合... 5 2.4  去掉CLOCK INIT. 7 2.5  去掉MCU相关INIT. 8 2.6  DIO MCAL程序去掉PORT INIT. 9 2.7  UART MCAL程序去掉PORT INIT. 10 2.8 UART MCAL程序修改CLOCK TREE.. 10 2.9  解决中断冲突... 11 2.10 准备A53 Linux镜像... 12 3    Bootloader工程说明... 13 3.1  关掉XRDC支持... 13 3.2  关掉eMMC/SD支持(可选) 14 3.3 关掉 secure boot(可选) 14 3.4  增加MCAL驱动所需要的PORT的初始化... 15 3.5  解决Bootloader,MCAL与Linux的clock冲突... 17 3.6  配置A53 Boot sources: 34 3.7  配置M7 Boot sources: 35 3.8  关闭调试软断点:... 36 3.9  编译Bootloader工程... 37 3.10 制造Bootloader的带IVT的镜像... 38 3.11 烧写镜像... 41 4    测试... 42 4.1  硬件连接... 42 4.2  MCU MCAL+Linux测试过程... 42 4.3  DIO MCAL+Linux测试过程... 43 4.4  UART MCAL+Linux测试过程... 43 5    Bootloader源代码说明... 43 6    Bootloader定制说明... 45 6.1  QSPI NOR驱动说明... 45 6.2  eMMC/SDcard启动支持... 46 6.3  DDR初始化... 46 6.4  Secure Boot支持... 46 7    调试说明... 46 7.1  Bootloader的调试... 46 7.2  MCAL驱动的调试... 46 再添加一个文档来解释如何修改 atf 以在 G3 上启动。 汽车电子 Re: S32G Bootloader Customzition 最终定位到问题为uboot 中board_common.c,在start kernel时board_cleanup_before_linux调用scmi_reset_agent导致,请问如果注释调会由什么影响 回复:S32G Bootloader 自定义 检查文档: 确保已加载 LLCE 驱动 ko。 S32G_Bootloader_G3_LLCELOGGER 文档 & 项目说明: G3引导加载程序定制(与 G2 类似)以运行 logger 示例。 https://community.nxp.com/t5/NXP-Designs-Knowledge-Base/S32G-Bootloader-G3-Customization/ta-p/1769528 回复:S32G Bootloader 自定义 Hi John, 您有S32G3引导加载程序的手册吗? 非常感谢您! 回复:S32G Bootloader 自定义 Hi John, 只是好奇——这份文件有英文版吗? 顺祝商祺! Viktor
記事全体を表示
S32K312 FLEXCAN1不工作 Hello, 我正在使用 s32k312 评估板进行测试,在该板上我配置了两个 flexcan 的 Flexcan0 和 flexcan1。 对于 flexcan0 测试,我使用端口 PTA6 和 PTA7,并且它运行完全正常。我能够接收消息并传输消息。 但是 flexcan1 不工作。我正在尝试在 flexcan1 上发送虚拟数据,但在该端口(PTC8)上没有看到任何内容。目前对于 flexcan1 我使用 ptc8 和 PTC9。要将这两个端口用于 flexcan1,我需要移除连接到评估板中的 FS26 的电阻器 R461 和 R157,以用于 flexcan1。 您能否分享任何使用此 flexcan1 的样本或示例项目? 提前致谢 回复:S32K312 FLEXCAN1不工作 你好@Senlent , 感谢您的支持和信息 回复:S32K312 FLEXCAN1不工作 Hi@vinaychitturi 此方法无效,请不要浪费时间。 回复:S32K312 FLEXCAN1不工作 Hello, 感谢您的支持以及对环回模式的改变。 我忘了为 can1 Rx 添加硬件对象,但是通过您对 flexcan1 环回模式的更改,测试它运行良好。 关于我在之前的评论中提到的第二个测试,我添加了用于接收 can2 消息的硬件对象。在该测试中,从硬件方面我将 CAN1TX(ptb22)连接到 can2RX(ptc16)。我正在将消息从 can1 TX(PTB22)发送到 can2RX 引脚(PTC16)。在这个测试中,如果没有 CAN 收发器,我无法看到从 CAN1 到 CAN2 的任何消息。我附上了如上所述的更新后的项目。 从 MCU 端验证 flexcan1 是否是一个可行的测试。 提前致谢 回复:S32K312 FLEXCAN1不工作 Hi@vinaychitturi 根据演示“ Flexcan1_loopbackmode.zip ”做了一些更改 測試結果。 Senlent_0-1727087343480.png 很抱歉,我尝试了几次后仍无法将完整的项目上传给您。 我上传了配置文件和修改后的main.c仅有的。 回复:S32K312 FLEXCAN1不工作 Hello, 感谢您的回复。 我在评估板上做了一些测试以确保 MCU 正确传输,因为我们仍然没有在带有 SBC 收发器的实际生产板上的 CAN1 通道上看到任何 CAN 消息。 为了测试评估 FLEXCAN1 功能是否正常工作,我们尝试了一些方法 1)我为 flexcan1 启用了环回模式,这样即使没有 CAN 收发器,我也需要从 flexcan1 接收数据(它将发送和接收 CAN1 控制器内部的消息)。在这次测试中,我也没有通过 flexcan1 接收到任何数据。 2)我启用了 can1 和 can2 控制器,并且我直接从 can1 TX 引脚发送到 can2 RX 引脚,而无需使用 can 收发器,以查看数据是否从 can1 传输并接收到 can2。即使在这个测试中我也没有看到从 can1 到 can2 的数据 如果以下两种方法不是正确的测试方法,您能否告诉我如何测试没有 CAN 收发器的微控制器 flexcan1,以确认我们的微控制器没有问题? 我附上了上述两个项目。如果我在配置中做错了什么,请告诉我。 如果上述方法是正确的测试方法,您能否分享使用中断的 flexcan1 环回模式的示例代码,并使用中断将 flexcan1 的数据传输到 flexcan2。 先行致谢。 回复:S32K312 FLEXCAN1不工作 Hi@vinaychitturi 这可能仍然与您的 FlexCAN1 硬件连接有关。 我没有在 S32K312EVB 上测试 FLEXCAN1。正如我所说,S32K312EVB 的硬件不允许您评估 FlexCAN1。 我有特殊的硬件来评估你的代码。 回复:S32K312 FLEXCAN1不工作 Hello, 感谢您的快速回复和测试。 因此,您通过连接来自 can1 的外部 CAN 收发器进行了此测试,然后您就能看到这个 CAN 框架。 因为从我的角度看,在连接 CAN 收发器或 sbc 之后,从 flexcan1 发送一条消息表明 mb 始终保持总线繁忙,一旦发送 tx,我们就应该通过 flexcanirq_txmbinterrupt 改回空闲状态。 但最终我从未遇到过 tx 或 rx mb 中断的任何断点。 您以前见过这种行为吗?或者我在测试时遗漏了什么吗? 先行致谢。 回复:S32K312 FLEXCAN1不工作 Hi@vinaychitturi 我测试了你的项目,我可以从 CAN1 接收帧。 Senlent_0-1726733504888.png 回复:S32K312 FLEXCAN1不工作 Hello,  谢谢您的回复。 我尝试通过连接外部 CAN 收发器在评估板上测试这个 CAN1,但仍然没有看到收发器端的任何通信。在我们的生产板上,我们将 can1 连接到 sbc 收发器,并且我通过 spi 启用了 sbc 中的 can,但我仍然没有在生产板上看到任何通信。 您能否验证我是否正确配置了 flexcan1? 提前致谢 回复:S32K312 FLEXCAN1不工作 Hi@vinaychitturi 您需要注意,S32K312EVB硬件上不使用CAN1。 如果需要使用评估CAN1实例,则需要额外的CAN支持 收发器硬件。这可能是您无法测量 CAN1 信号的原因。 回复:S32K312 FLEXCAN1不工作 我正在附加用于测试 flexcan0 和 flexcan1 的项目。在该示例中,我正在为两个 CAN 发送虚拟消息。但我只看到来自 CAN0(PTA7)的这些消息。我附上了运行此示例项目时看到的屏幕截图 flexcan.PNG 在上面的截图中,通道 5 对应于我通过 CAN0-TX(PTA7)发送的数据,通道 4 对应于 CAN1TX(ptc8)。 如果我对 FLEXCAN1 的配置有误,请告诉我。
記事全体を表示
如何通过Lauterbach解除S32K1XX的安全 Hi,  如果 (FSEC !=0xFE),您可以通过 Lauterbach 解除 s32k1xx 的保护 20250206_104547_Lauterbach FSEC unsecure script s32k144.gif 您可以将 txt 重命名为 cmm 干杯! 奥利弗 回复:如何通过Lauterbach解除s32k1xx的安全 希望对您有帮助。
記事全体を表示
SE05x - FAQs 中间件 所有SEO5x MW软件包是否仅通过精简Nano与Full版本间的代码实现差异化?答:不是,SEO5x MW软件包并不相同。与Full MW软件包相比,Nano MW软件包仅支持一部分功能和命令。Nano MW软件包专为资源受限环境设计,具有更小的代码占用空间。 为什么一些SEO5x MW软件包在NXP.com上,而另一些在GitHub上?答:nxp.com上的SE05x MW软件包是一个多平台版本,适用于所有支持的平台,包括文档和各种依赖项,可实现MW的快速开箱即用编译。gitHub发布版本针对特定使用场景,例如使用nano软件包的资源受限设备和使用mini软件包的Linux自动构建系统。策略是不断将完整MW软件包的更多组件迁移到gitHub。 更新/更改到最新 MW 版本的最佳实践是什么? 答案:NXP建议始终更新到最新的MW版本,以确保包含最新的修复程序。MW 已经没有重大的架构变化了。第一步是阅读集成文档中的更改日志,以检查是否有任何预期的重大更改。新 MW 版本的集成只需重复设计阶段中针对平台所采取的具体步骤即可。 我在哪里可以找到所有支持的不同MW版本的小应用程序版本列表? 答:cMake设置项PTMW_SE05X_Ver用于定义所支持的小应用程序主要版本号。所支持的小应用程序版本作为可选值提供给此设置。 我可以在 A5000 和 SEO51 上使用相同的 MW 版本吗? 答案:是的,您可以在 A5000 和 SEO51 上使用相同的 MW 版本。MW 版本支持 A5000 和 SEO51 平台。 我的开发人员遇到一个常见错误……MW与小应用程序版本不匹配。消除此错误并仍然获得最新MW版本的所有功能/修复的首选方法是什么? 答案:必须修复主要版本不匹配的问题。除非需要特定的新功能,否则次要版本不匹配并不重要。这个问题无法由MW决定。通常而言,次版本号不匹配的问题可忽略不计。 所有MW版本/修复是否都映射回特定的SEO5x部件或小应用程序版本,在哪里可以找到它?答:MW版本通常涵盖所有已发布且可用的产品变体,直到该产品变体停产。MW变更日志提供了有关中间件版本、任何小应用程序版本支持变更、支持的平台,以及变更和增强功能的信息。 安全元件配置 NXP.com上的演示板是否始终是最新的小应用程序版本? 答:是的,NXP.com上的演示板上都有最新的小应用程序版本。您可以通过SEO5x SEMS Lite CLI工具或SEO5x Get Info示例在演示板上查看小应用程序版本。GetInfo示例也会向OEF传递该消息。 SEO5x部件的默认I2C地址(目标和控制器)是什么?所有SEO5x部件上的地址是否相同? 答:SEO5x部件的默认I2C目标地址是0x48。这在所有SEO5x部件上都是相同的。I2C控制器地址在发送至SE的I2C控制器命令的净荷中指定。 我可以更改目标端和控制器端的I2C地址吗? 答:您可以使用SEO5x PERSO小应用程序更改SE051A/C的I2C目标地址。此小应用程序允许您修改安全元件的I2C地址及其他参数。 I2C控制器地址在发送至SE的I2C控制器命令的净荷中指定。 我能否在SEO5x上同时激活2或3个接口? 答:不能,SEO5x每次仅支持一个活动接口,即I2C、ISO 7816或ISO 14443。然而,您可以通过重置设备在接口之间切换。其他接口的可用性取决于类型。 I2C时钟拉伸需要使用哪些特定按键或功能? 答:时钟拉伸功能在SE050F上默认启用。在所有较新部件(SE050E、A5000、SE051、SE052)中,默认情况下该功能是禁用的。   安全元件性能 是否有特定的加密操作需要超过100毫秒才能完成?答:是的,某些加密操作可能需要超过100毫秒才能完成,具体取决于算法、密钥长度和输入数据。例如,RSA密钥生成、RSA签名生成与验证、ECC密钥生成以及EdDSA签名生成或任何新对象的创建可能需要超过100毫秒。 对于RSA密钥生成,不同RSA大小之间的性能差异是什么?恩智浦推荐的密钥长度是多少?哪种RSA密钥长度符合FIPS 140-3? 答:对于RSA密钥生成,不同RSA大小之间的性能差异如下: - RSA 1024:约0.6秒 - RSA 2048:约3秒 - RSA 3072:约12秒 - RSA 4096:约30秒 恩智浦推荐的RSA密钥长度为2048位或更高,因为较低的密钥长度被认为不安全且容易受到攻击。RSA 2048位及以上密钥长度符合FIPS 140-3要求。 写入命令的性能是否与读取命令相同? 答:不同,写入命令的性能低于读取命令,因为写入命令涉及将数据写入闪存,这比从闪存中读取数据花费的时间更长。 有哪些常见位置(如I2C总线、应用程序等)可以进行性能调优? 答: - I2C总线:您可以通过使用总线支持的最大时钟频率(默认值为1 MHz)来优化I2C总线的性能,并检查总线上的轮询间隔是否因I2C驱动程序而变慢。最快轮询间隔为1毫秒。 - 应用程序:您可以通过使用最适合的加密算法(使用ECC代替RSA)和密钥大小(主要针对RSA),尽量减少APDU交换次数(避免为每项操作打开和关闭会话),以及在可能的情况下将多项操作批量合并为单个命令,来优化应用程序的性能。 对于性能至关重要的操作,最好启用调试日志,以便分析交换的命令。要检查I2C总线性能,使用逻辑分析仪跟踪非常有用。   安全元件存储器 如何查看我在 SE05x 中已使用或剩余的空间? 答案:您可以通过使用示例 se05x_Minimal 来检查 SE05x 中剩余的空间。它返回可用的 NVM 存储器量。 SEO5x 的内存是否会磨损,您如何检查状态或内存写入情况? 答案:是的,SEO5x 上的闪存具有有限的写入次数。SE 会自动将磨损分布在整个内存中,以达到数据表中所述的闪存写入耐久性。您无法读取已发生的写入循环次数,但MW会在每个触发至少一次NVM写入的APDU中写入一条信息消息。   非接触式安全元件(NFC)接口 我可以更改非接触式接口上的ATS吗?答:可以,您可以在已安装PERSO小应用程序的产品上使用PERSO小应用程序,更改非接触式接口上ATS的历史字符。 SEO5x是否具有NFC天线以及用于通过NFC更新安全对象的应用说明? 答:AN12664 EdgeLock SE05x for NFC后期配置描述了如何使用NFC接口更新安全对象的一般过程。 SE050
記事全体を表示
如何创建 RT AVB 交换机和端点平台 如何创建 RT AVB 交换机和端点平台 1.摘要 在上一篇文章中,介绍了如何使用单点 RT1170 作为发送端 (talker) 和单点 RT1170 作为接收端 (listener),并将两块板子直接连接以实现 AVB 端点测试。然而,在实际应用中,许多场景是多点对多点的,这就需要 AVB 交换机。因此,本文在之前的基础上,增加了另一个接收端端点和 AVB 交换机,以实现一个包含一个发送端和两个接收端的 AVB 平台。 1.jpg 图1 AVB 交换机可以是第三方的 AVB 交换机产品。当然,也可以考虑使用 NXP 即将推出的新产品 RT1180。该芯片具备 AVB/TSN 交换功能,并且我们支持 RT1180 的协议栈也已发布。 2. 平台创建 本文将使用两台AVB交换机进行AVB测试:一台使用NXP官方的MIMXRT1180-EVK作为AVB交换机,另一台使用第三方产品MOTU的AVB交换机。端点使用三块NXP MIMXRT1170-EVK开发板,其中一块用于发话器配置,另外两块用于听话器配置。 关于 RT1170 作为端点(即发送端和接收端)的配置,可以参考之前的文章: RT1170 AVB 口感新鲜 在这里,您可以直接快速开始,将堆栈中准备好的 avb_app.bin 文件直接烧录到 MIMXRT1170-EVK 开发板,以完成发送端和接收端的配置。当然,如果有一些自定义功能需要修改源代码,您也可以参考上述文章进行重新编译,生成 avb_app.bin 文件,然后进行烧录。 2.1 软件和硬件 硬件: MOTU AVB SWITCH(switch)    MIMXRT1180-EVK 开发板 * 1(交换机)      MIMXRT1170-EVK 开发板 * 3(1 块作为发送端,2 块作为接收端),硬件需要进行修改,参考之前的文档 软件: RT1170 AVB/TSN stack: genavb_tsn-mcuxpresso-SDK_2_13_0-5_6_1: https://mcuxpresso.nxp.com/download/52643189c4d74a7b26b8e096ab28df0e RT1180 AVB/TSN stack: genavb_tsn-mcuxpresso-SDK_2_15_0-6_0_0 : https://mcuxpresso.nxp.com/download/c584c33a8d4f55c29b5505b9be8f537a 2.2 配置 RT1170 AVB 端点 直接将 avbstack 中的文件烧录: genavb_tsn-mcuxpresso-SDK_2_13_0-5_6_1\binaries\genavb-avb_audio_app-evaluation-freertos_rt1176-5_6_1.tar\genavb-avb_audio_app-evaluation-freertos_rt1176-5_6_1\release\avb_app.bin 至三块 MIMXRT1170-EVK 开发板,并进入串口下载模式进行编程: 2.jpg 图2 三块开发板烧录的是相同的代码。烧录完成后,让开发板进入内部启动模式,并通过串口配置发送端和接收端。代码烧录成功后,板载串口会持续发送日志信息。只需在键盘上输入 INSERT,即可进入 shell 命令行状态。 2.2.1 1MIMXRT1170-EVK 进行发送端配置 cd .. ls mkdir avb_app write avb_app/mclock_role 0 mkdir avdecc write avdecc/btb_mode 0 mkdir fgptp write fgptp/gmCapable 1 mkdir port0 write port0/hw_addr 00:22:33:44:55:66 2.2.2 2 MIMXRT1170-EVK 进行监听器配置 cd .. ls mkdir avb_app write avb_app/mclock_role 1 mkdir avdecc write avdecc/btb_mode 1 write avdecc/talker_id 0x00049f4455660000 2.3 AVB交换机配置 以下是两个 SWITCH 配置连接: 2.3.1 MOTU AVB 交换机 使用 MOTU AVB 交换机作为 AVB 交换机的连接框图: 3.jpg 图3 物理板的连接如下: 4.jpg 图4 对于专用的 AVB 交换机,无需进行特定配置,因为可以将其视为具备 AVB 功能的交换机,能够实现 AVB 数据的转发功能。只需将一个发送端的 1G 网口和两个接收端的 1G 网口连接到 MOTU AVB 交换机的网口即可。之后,只要发送端和接收端功能正常,整个音频传输就能正常进行。发送端负责采集麦克风的音频数据信息,然后转发给两个接收端进行播放。当然,这两个接收端需要分别连接扬声器。 2.3.2RT1180 AVB 交换机 对于RT1180 AVB交换机的配置,有两种方法:快速启动和自编译。如果源代码没有更改,您可以直接使用随堆栈提供的 bin 文件。这里您需要注意选择正确的 bin 文件。RT1180 有两个内核:CM33 和 CM7 内核。CM33 镜像支持 TSN/AVB 桥接功能,即交换机,而 CM7 镜像支持 TSN 端点功能。 MIMXRT1180-EVK 开发板包含多个网口,具体情况如下: 5.jpg 图5 6.jpg 图6 因此,在使用 AVB 交换机网络端口时,您需要注意使用 ENET0、1、2 和 3 端口。 使用 MIMXRT1180-EVK 作为 AVB 交换机网口的连接示意图如下: 7.jpg 图7 实际连接示意图如下: 8.jpg 图8 要实现 RT1180 代码,需将 RT1180 M33 TSN 桥接代码下载到 MIMXRT1180-EVK 开发板。如果 AVB/TSN 协议栈的源代码无需修改,可使用现成的 bin 文件进行测试: genavb_tsn-mcuxpresso-SDK_2_15_0-6_0_0\binaries\genavb-tsn_app-evaluation-freertos_rt1189_cm33-6_0_0\release\tsn_app.bin 烧录方式有多种,可使用工具或命令行方式。工具可选用 MCUBootutility 或官方的 SEC 工具。此处我们选择使用 MCUBootutility 工具,下载链接为: https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v6.2.0 若使用 SEC 工具进行下载,可参考协议栈文档: genavb_tsn-mcuxpresso-SDK_2_15_0-6_0_0\doc\ NXP_GenAVB_TSN_MCUXpresso_User_s_Guide_6_0_rev0.pdf, chapter 11 Flash Image booting. 使用 MCUBootutility 工具时,需要进行如下修改: \NXP-MCUBootUtility-6.2.0\src\targets\MIMXRT1189 \MIMXRT1189\bltargetconfig.py Modify: #flexspiNorMemBase0 = 0x38000000 # CM33 Secure #flexspiNorMemBase0Ns = 0x28000000 # CM33 Non-Secure 收件人: flexspiNorMemBase0 = 0x28000000 # CM33 Non-Secure flexspiNorMemBase0Ns = 0x38000000 # CM33 Secure 9.jpg 图9 将 tsn_app.bin 烧录到 RT1180 地址 0x2800b000。 让MIMXRT1180-EVK开发板进入串行下载模式,SW5:1-关,2-关,3-关,4-开。然后,找到另一根USB线,将J33连接起来,进行代码刷写下载。程序编写完成后,需进入QSPI的内部启动模式:SW5:1-关,2-开,3-关,4-关。 至此,具备 AVB 交换机功能的应用程序烧录完成。该代码无需像 RT1170 那样进入 shell 来配置文件系统。对于 RT1180 桥接代码,烧录完成后,重启设备便会内置交换机功能。 当然,如果您需要重新编译自己的项目,可以直接参考堆栈文档:NXP_GenAVB_TSN_MCUXpresso_User_s_Guide_6_0_rev0.pdf。 如果您使用 Linux 系统进行编译,方法与 RT1170 相同,分为三个步骤:    (1) 为 RT1180 SDK 打 AVB 协议栈补丁   (2) 在 RT1180 AVB 协议栈中添加两个软链接,一个指向开发板 SDK,另一个指向 AVB SDK 源代码。结构如下:   10.jpg 图10 (3)最后,构建 ./build_release.sh \genavb_tsn-mcuxpresso-SDK_2_15_0-6_0_0\genavb-apps-freertos-6_0_0.tar\genavb-apps-freertos-6_0_0\boards\evkmimxrt1180\demo_apps\avb_tsn\tsn_app\cm33\armgcc\ build_release.sh 然后,它将生成相应的 tsn_app.bin 文件。 3. AVB 网络数据包分析 我一直想查看 AVB 网络数据包,因此想到了以下方法来实现。我还找到一个普通网络交换机,它可以将部分网口的数据包转发到特定网口。这里使用这种方法只是为了查看基本的数据包。原则上,普通交换机不具备 AVB 物理层功能,所以应该会对同步功能产生一些影响。但由于设备限制,本文仅对 AVB 数据包结构做基本了解。 准备一台具有端口镜像功能的交换机:NETGERA plus switch ProSAFE GS105E。 然后配置交换机,将端口2和端口3的数据镜像到端口1: 11.jpg 图11 然后,整个AVB系统连接图如下所示: 12.jpg 图12 物理连接图如下: 13.jpg 图13 开启整个系统平台并运行系统功能,即发送端端点有声音输入,两个接收端端点的放大器有输出。在 PC 上打开 Wireshark 软件并进行抓包。抓包情况如下: 14.jpg 图14 如您所见,有许多AVTP数据包,并且有两个目标地址。 要分析 AVTP 数据包,首先必须了解标准的 AVTP 数据包是什么样的。标准数据包具有以下结构: 15.jpg 图15 接下来,打开Wireshark软件,配置要捕获的网络端口,然后比较捕获的数据包: 16.jpg 图16 可以看到,整个数据包基本被捕获到了,但像 VLAN 标签和 IEC 61883 头部等细节信息并未出现。这很可能是由于普通交换机的物理层不支持 AVB 导致的。不过,仍然可以看到上面的音频数据,而且确实是双声道,但数据只通过一个声道传输。因此,对于 RT1170 接收端来说,虽然连接了双声道扬声器,且两个扬声器分别对应左右声道,但实际聆听时,只有一个扬声器有声音,另一个则没有声音。这与捕获到的数据包情况一致。其原因是协议栈代码使用一个声道进行麦克风采集,虽然音频配置为双声道,但实际上只有一个声道有数据。 至此,AVB 交换机与端点平台的架构搭建和测试工作已完成。 可以在视频中查看测试效果。 (在 “我的视频” 中查看)
記事全体を表示
HSE を使用した ADKP プログラミングで HSE_SRV_RSP_INVALID_PARAM が返される こんにちは、チームの皆さん MCU にインストールされた HSE FW を使用して ADKP をプログラムしようとしていますが、HSE_SRV_RSP_INVALID_PARAM エラーが発生します。 HSE_ProgramAdkp() 関数内でデバッガーを使用してステップインを実行すると、同じシーケンスが正常に機能します ( HSE_SRV_RSP_OK )。 HSE FW バージョン、認証モードを問題なくCAN読み取れます。 ADKP プログラミングの場合のみ、HSE_SRV_RSP_INVALID_PARAM エラーが発生します。 添付されているのは私のリンカーファイルです。すべての HSE 変数を int_sram_no_cacheable 領域にマッピングしました。また、スタックは int_sram_no_cacheable にマップされます。 どこが間違っているのか教えてください。 Re: ADKP Programming with HSE returning HSE_SRV_RSP_INVALID_PARAM こんにちは@Bhushan1312 HSE 記述子を DTCM に強制していますか? lukaszadrapa_0-1767359890040.png アドレス 0x2000_0000 の DTCM メモリはコアに対してのみ表示されます。その他のバス・マスタは、0x2100_0000 のバックドア アドレス経由でのみ DTCM にアクセスできます。SO、HSE 変数には DTCM を使用することはお勧めしません。代わりに通常のキャッシュ不可能な SRAM を使用してください。 次のポイント - ADKP をプログラミングする場合、このサービスが UTEST メモリをプログラムすることに注意してください。UTESTメモリはフラッシュブロック0と同じパーティションにあります。つまり、コードは別のフラッシュブロックまたはRAMから実行する必要があります。そうしないと、書き込み中の読み取りエラーが発生する可能性があります。 よろしくお願いいたします。 ルーカス Re: ADKP Programming with HSE returning HSE_SRV_RSP_INVALID_PARAM こんにちは@lukaszadrapa 。 ADKP プログラミングは、リンカーの変更 (リンカーが添付されています) により機能しているようです。以前のリンカーと同様に、すべてのデータ変数を SRAM セクションにマッピングすることで変更を加えすぎ、スタックがキャッシュ不可能な領域にマッピングされました。 いかなる機能も RAM またはその他のフラッシュ セクションに移動していません。 LCステージの進行はまだ確認できていません。 再開まで今しばらくお待ちください。
記事全体を表示
[过滤器:垃圾邮件] nismkiki 的帖子主题与 " phon**epe " 相匹配 " phon**epe ",板 " 电源管理单元 "。 [过滤器:垃圾邮件] nismkiki 的帖子主题与 " phon**epe " 相匹配 " phon**epe ",板 " 电源管理单元 "。 帖子主题:Phonepe से गलत ट्रांजेक्शन हो जाए तो क्या करें 主题文本"电话" 匹配过滤模式"电话 ***epe" 。 职位机构: Phonepe गलत लेनदेन पैसे वासी ग्राहकसेवा नंबर" (0769-9595-414) या"सपोर्ट" सेक्शन में जाकर शिकायत दर्ज करें और अपने बैंकको भीसूचित करें। इसके बाद、 正文"电话" 匹配的过滤模式"电话 ***epe" 。 用户[id=258406,login=nismkiki]的发帖因以下最终用户面临的错误而被拒绝: 信息主题包含 Phonepe,这在本社区是不允许的。请在发送您的帖子前删除这些内容。 信息正文包含 Phonepe,这在本社区是不允许的。请在发送您的帖子前删除这些内容。
記事全体を表示
スマートPCと組み込みプラットフォームの統合に関する提案が必要です こんにちは、みんな、 特に、単一の組み込みボードを超えて完全なコネクテッドソリューションへと進化するプロジェクトが増えるにつれて、システムレベルの設計に関する議論について前向きで建設的な視点を共有したいと考えました。コミュニティはすでに強力な技術的コラボレーションを示しており、完全なシステム統合に向けてこれらの会話を拡大することで、共有学習とイノベーションをさらにCANで強化できます。 多くの現代デザインにおいて、スマートPCは組み込みプラットフォームと並んでセントラルな役割を果たし、可視化、データマネジメント、分析、そしてユーザーインタラクションのための強力なホストとして機能します。スマートPCは、低レベルのリアルタイム制御と高レベルのアプリケーションロジックの間をブリッジし、柔軟なアップデート、より豊富なインターフェース、そしてスケーラブルなシステムマネジメントを可能にします。スマートPCが組み込みハードウェアとどのように通信し、ワークロードをマネジメントし、長期的なシステム信頼性をどのようにサポートするのかを詳細に解説することは、非常に有益です。段階的なアーキテクチャの説明、インターフェース選択の根拠、そしてパフォーマンスに関する考慮事項は、経験レベルの異なる開発者にとって大きなメリットとなるでしょう。 全体として、シナリオベースで経験に基づいた議論を促進することで、知識基盤の強化につながります。NXP.comで共有される、肯定的で十分に裏付けられた事例は、より優れたデザインのインスピレーションとなり、エンジニアが協調学習を通じて堅牢でFUTUREを見据えた組み込みシステムを構築するのに役立ちます。
記事全体を表示
How to invoke flexcan event callback I use flexcan_1 of S32K312  to communicate with PCANpro,the communication seems well, mcu can receive and send data.  However, the callback function fails to work properly. What is the reason for this? Is there any need to register or monitor the callback function? No relevant APIs were found. here are my code and configuration. ---- DMA is used for SPI,it does no matter with can. chris_010_0-1766912460665.png chris_010_1-1766912489091.png chris_010_2-1766912692115.png chris_010_3-1766912722883.png chris_010_4-1766912734801.png Re: How to invoke flexcan event callback Hi@chris_010 Please refer to the demo in the attachments, the RTD is 5.0.0.
記事全体を表示
CW ARMv8内部アップデートを取得できません こんにちは、みんな! Win 11 に CodeWarrior for QoriQ をインストールしました: CodeWarrior Development Studio for QorIQ LS series - ARM V8 ISA Version: 11.5.12 Build Id: 221209 エンドポイントhttp://classics.ea.freescale.net/Builds/Products/ARMv8/11.5.0/Windows/Updatesが応答しないため、CW ARMv8 内部更新を取得できません (スクリーンショットを参照)。 それについて何か知っている人はいますか? そのエンドポイントは最近変更されたのでしょうか? Re: Cannot pull CW ARMv8 Internal Updates MPU 部品番号を教えてください。 よろしくお願いします。 Re: Cannot pull CW ARMv8 Internal Updates QorIQ LS シリーズ用の CodeWarrior Development Studio - ARM V8 ISA、最新バージョンは次のとおりです。 バージョン: 11.5.12 ビルドID: 221209 11.5.0を11.5.12にアップデートしたい場合は、更新するにはオフライン パッチを使用してください。 マイNXPアカウント->ソフトウェア->ソフトウェアライセンスとサポート->アカウントの表示->製品リスト->QorIQ LSシリーズARMv8 ISA用CodeWarrior-> アップデートパッケージをダウンロードしてください com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip C:\Freescale\CW4NET_v2020.06\CW_ARMv8\fsl_eclipse.bat から CodeWarrior を開き、[ヘルプ] -> [新しいソフトウェアのインストール] -> [追加] -> [アーカイブ] から更新パッケージをインストールしてください。 よろしくお願いします。
記事全体を表示
mk64 フラッシュ 0xE5FF8 からの読み取りによりバスフォールトが発生する こんにちは、 FRDM_k64 に似た MK64FN01M を実行するボードがあります。 最後のバイトに CRC を保存して、フラッシュに設定を保存します。 ボード上の1つのセクターで、そのセクションを読み込むとバス障害が発生します このコードは、0xE5FF8 から 8 バイトの長さの RAM への単純な memcpy を呼び出します。 このコード内のこの関数は、以前に異なるメモリ セクションで呼び出されます。 これらの場所でのみコードがクラッシュします。 このセクターを他の場所に移動すると、機能します。 その特定のメモリが問題になる可能性がある理由について何かアイデアはありますか? ありがとう、アディブ Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは@theadib まずセクター全体を消去し、次に 8 バイト境界に合わせて設定データ (CRC を含む) を書き込んでください。同じ 8 バイトのフレーズに対して部分的な更新を実行しないでください。その後、読み取り操作を続行します。   BR アリス Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは、アリスさん。返信ありがとうございます。 バス障害は読み取り操作中に発生します(フラッシュ位置からのmemcpy) 通常のフラッシュ アドレスを使用するとバス障害が発生する原因は何でしょうか? 以前は書き込み操作はありませんでした。 フラッシュの読み取りを永続的に「ブロック/保護」することは可能ですか。 私のプログラムは他のデバイスでは正常に動作していました。 何かアイデアはありますか? ありがとう、アディブ Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは@theadib FSECレジスターがあります。FSEC の SEC ビットは、MCU が安全な状態か安全でない状態かを決定します。これは MCU 全体を制御しますが、あなたの CASE は一部のメモリのみが読み取れないため、これが原因ではないと思います。 前回の書き込み時にエラーが発生した可能性がございますので、一度メモリを消去し、再度読み込みを行って正常に動作するか確認して頂く事をお勧め致します。   よろしくお願いします。   BR アリス   Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは@Alice_Yang 、 おそらく、この問題は、私が SEGGER JLink を使用しているときに認識した奇妙な動作によるものだと思います。 JLink で MK64FN1M0XXX12 を使用して MK64FN1MOVLQ12 に接続すると、次のようになります。 デバイス MK64FN1MoXXX12 SWDの場合 スピード1000 connect 消去する ロードビン イメージファイル.bin 0 通常、JLink は消去後にデバイスが保護されていると主張します。 そして、この添付のダイアログを提示します。 消去コマンドの後、デバイスは保護されておらず、セキュリティも保護されていないと予想されます。 JLink を使用してフラッシュを完全に消去し、新しいイメージをロードする場合の推奨されるシーケンスは何ですか? 前もって感謝します Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは@Alice_Yang ご迷惑をおかけして申し訳ございません。 根本的な原因は、同じアドレスに同じデータが二重に書き込まれていることにまで遡りました。 バグのないコードではこのようなことは起こらないはずだ 😉 しかし、 2回目の書き込みはエラーコードを返します しかし、そのセクターを読み取るだけでも BUS_FAULT トラップが発生します。 アクセスによってプログラム全体がクラッシュする前に、セクターの状態を確認する方法はありますか? そうすることで、セクターを再度適切に消去し、セクターを正しい状態にすることができます。 ??? リファレンスマニュアルのセクション29.4.10.2でFSFEの説明を確認しました。フラッシュコマンド。 しかし、プログラム メモリからセクターを「テスト」できるコマンドは見つかりません。 何か見逃しているでしょうか? そうすれば、再起動後にフラッシュの状態を確認するための、より回復力のあるアプリケーションを作成できます。 前もって感謝します、 アディブ Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは@theadib J-Link を使用して消去する場合、同じチップに対して 2 つのオプションがあります。「セキュリティを許可する」のないデバイス名を選択してください。このようにすると、消去後にセキュリティが保護されなくなります。 Alice_Yang_0-1767951588914.png ありがとう。 BR アリス Re: mk64 read from flash 0xE5FF8 causes busfault こんにちは@theadib Erase Flash Sector コマンドを起動すると、FRFE は選択したフラッシュを消去し、消去されたことを確認します。消去検証に失敗した場合、FSTAT[MGSTAT0]ビットが設定されます。CCIFフラグはフラッシュセクター消去操作後に設定されます。 完了します。フラッシュセクター消去コマンドは一時停止可能です(FCNFG[ERSSUSP]ビットと図29-11を参照)。 Alice_Yang_0-1767953891145.png BR アリス
記事全体を表示
S32G3 LLCE CAN2CAN Fail 各位NXP专家,大家好! 背景信息:我的项目现在需要使用 LLCE 的 CAN2CAN 路由功能,从 BCAN1 接收消息将其路由到 BCAN2,绕过 Autosar CAN 通信协议栈。我已经按照手册配置了 EB,但测试后发现没有消息被转发。我的 LLCE 固件版本为 S32G_LLCE_1_0_7。 HRH.png LLCE_AF.png 调试后发现,CAN驱动初始化正常,路由表也设置正确,TXMB也足够。LLCE固定也已成功加载。所以我不知道问题出在哪里。请问您能否指导我如何进行故障修复,以及是否有任何合理的建议? Re: S32G3 LLCE CAN2CAN Fail 您好 1. 请问您使用的RTD版本是多少? 2. 您使用的是参考板还是自己设计的板卡? 3. 您试过默认的CAN2CAN 示例程序吗?是否也有问题呢? BR Chenyin  Re: S32G3 LLCE CAN2CAN Fail 你好, 1.我们使用的是 MCAL 版本 RTD_4.4_4.0.2 和我们自己的板。 2.感谢您的答复。问题已经解决。降低目标控制器上用于路由的 TXMB 值解决了问题;16 似乎是每个 CAN 控制器的最大 TXMB 值。 3.我想进一步询问:是否有办法禁用特定 CAN 控制器的路由功能?能否提供相关功能或 EB 配置选项? Re: S32G3 LLCE CAN2CAN Fail Hello, @canhe  很高兴问题得到了解决。 关于您的新问题,disable the routing function of a specific CAN controller,请问您是想在CAN2CAN操作中停止对某个端口的转发?还是某种其他的操作,,麻烦您详细描述一下需求 BR Chenyin Re: S32G3 LLCE CAN2CAN Fail 您好,Chenyin 是的,我想在 CAN2CAN 操作中停止转发某个端口。通常,BCAN1 收到 0x123 报文后,会直接路由到 BCAN2 进行传输。现在(假设有这样一个开关),如果路由关闭,BCAN1 将停止转发 0x123 报文,但 BCAN1 仍可正常接收其他报文。只需关闭其路由功能即可。 Re: S32G3 LLCE CAN2CAN Fail 你好,@canhe 谢谢你的澄清。 抱歉,没有类似的开箱即用示例供您直接参考,我建议您参考 LLCE 固件用户指南,该指南详细描述了从 FW 的角度实现的 API,例如 可以向 LLCE 发送 LLCE_CAN_CMD_REMOVE_AF_DESTINATION 命令来删除现有的目的地规则,您可以查看相应的 API,以确定哪一个最符合您的具体要求。   BR 切宁 Re: S32G3 LLCE CAN2CAN Fail 您好,Chenyin ,感谢您的回复。我会试试的。 还有一点需要确认。LLCE中HRH的内部选择方法如下:第一,根据索引在普通过滤表中搜索;第二,根据索引在高级过滤表中搜索,对吗? 例如,我在 BCAN1 上创建了两个 HRH。HRH1 不关联任何路由选项,也不过滤数据包。生成的代码是一个常规过滤器。HRH2 与路由选项相关联,过滤器 ID 为 0x32。生成的代码是一个高级过滤器。HRH2 的对象 ID 小于 HRH1。经过测试,当接收到 0x32 数据包时,它们总是被 HRH1 处理,从而导致路由失败。 Re: S32G3 LLCE CAN2CAN Fail 你好,Chenyin 是的,目前配置的两个过滤器有重叠的信息。 HRH1: HRH1HRH1HRH1 HRH2: HRH2HRH2HRH2 我们知道,最好为每个邮件 ID 配置一个过滤器。但是,由于该项目充当网关 ECU,因此有许多消息,因此需要配置许多 HRH。这使得工作非常繁琐。因此,为路由信息和主机信息分别建立两个 HRH 就足够了。然而,从结果来看,信息总是被没有相关路由选项的 HRH 接收和处理。 Re: S32G3 LLCE CAN2CAN Fail 你好,@canhe 感谢您的回复。 对于您提到的情况,首先匹配的是未启用高级功能的过滤器,这与您的测试结果一致。 一般来说,不建议在配置中出现这种重叠。每个 ID 最好都有一个固定的过滤规则。     BR 切宁
記事全体を表示
[过滤器:垃圾邮件] Tabar11u 的帖子主题与 " cred " 相匹配 " cred ",板 " S32G "。 [过滤器:垃圾邮件] Tabar11u 的帖子主题与 " cred " 相匹配 " cred ",板 " S32G "。 帖子主题:如何拨打 CRED 客户服务电话? 主题文本"CRED" 匹配过滤模式"cred" 。 职位机构: 获得支持-91,42,,48-34.,67需求。通过应用程序。CRED 没有客户电话,但我们有专家随时待命,帮助解决您可能遇到的任何问题。 正文"CRED" 匹配过滤模式"cred" 。 用户[id=258247,login=Tabar11u]的发帖因以下最终用户面临的错误而被拒绝: 邮件主题包含 CRED,这在本社区是不允许的。请在发送您的帖子前删除这些内容。 报文正文包含 CRED,这在本社区是不允许的。请在发送您的帖子前删除这些内容。
記事全体を表示
S32K3 MBD 软件结构和它是自动星基础吗? 你好,我需要 S32K3 MBD 软件结构,想知道当前的工具箱结构是否以 autosar 为基础? Re: S32K3 MBD software architecture and is it autosar base? 你好,@saurabhkulkarni123、 感谢您的留言。要准确回答有关 S32K3 MBDT 软件架构以及当前工具箱结构是否基于 AUTOSAR 的问题,我们需要更详细地了解您的具体问题以及您正在寻找的信息类型。 能否请您详细说明您的要求,以便我们更好地了解您的需求并提供适当的指导? 顺祝商祺! 德拉古
記事全体を表示
imx8mp& pca9450c 程序无法启动 当板最初开机时,PCA9450 的所有输出电压都正常。在没有加载任何程序的 M8P 板上使用 SDPS 模式下载程序后,除 LDO1 和 LDO2 之外的所有电源都断电。PCA9450C 使用示波器观察 PCA9450C 启动,发现除 LDO1 和 LDO2 之外的所有电源电压都呈现间隔为 100 毫秒的脉冲。在电源恢复正常之前,这些脉冲持续了几个周期。 以下是下载程序后的日志和示波器电压读数。 hjk003_0-1766122256898.png hjk003_1-1766122321365.png i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus PMIC Re: imx8mp & pca9450c program cannot start @guoweisun、 hjk003_0-1766125728129.png Re: imx8mp & pca9450c program cannot start @guoweisun、 hjk003_0-1766125486827.png hjk003_1-1766125501858.png Re: imx8mp & pca9450c program cannot start 打我的电话147 Re: imx8mp & pca9450c program cannot start @guoweisun, 感谢回复 hjk003_0-1766124046856.png hjk003_1-1766124109008.png hjk003_2-1766124208738.png hjk003_3-1766124312322.png Re: imx8mp & pca9450c program cannot start 这里只看PCA9450的异常,测试VIN/BUCK1/POWER _ON_REQUEST的波形
記事全体を表示
RT1170 ヒープとスタックに SDRAM を使用する https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-debugging-when-application-is-built-for-SDRAM/mp/1374145/highlight/true#M17210および RT1170_BriefOverview_v210.pdf に記載されている手順に従いました。 大量のヘッドメモリを必要とするアプリを開発中です。 提供されている手順に従い、RT1170_BriefOverview_v210.pdf に記載されている変更を加えて hello world をフラッシュすると、デバッグ モードで SDRAM を使用できるようになります。 しかし、この変更後、SDRAM はコードの保存にも使用されるようになりました。 私のアプリケーションでは、コードをフラッシュ メモリに保存し、BOARD_SDRAM をヒープ セクションとスタック セクションにのみ使用したいと考えています。 アプリケーションをフラッシュ メモリにフラッシュし、そのアプリケーションはヒープ セクションとスタック セクションに BOARD_SDRAM を使用します。 SOのために必要な変更についてご指導ください。 i.MX-RT1170 MIMXRT1170-EVK Re: RT1170 Use SDRAM for Heap and Stack NXP サポートの手順 ( RT1176 で CM4 コア プロジェクトを SDRAM に移動する方法と[RT1170] SDRAM 内でデュアル コア プロジェクトをデバッグする方法) に従って、RT1170 EVKB にマルチコア プロジェクトをロードできました。 SDRAM から実行できるようになったら、マスター/Core M7 プロジェクトで、[プロジェクト設定] -> [C/C++ ビルド] -> [設定] -> [マネージド リンカー スクリプト] に移動し、[アプリケーションを RAM にリンク] 設定を無効にしました。 その後、バイナリをフラッシュし、リセット時にアプリケーションのフラッシュが使い果たされ、M4 アプリケーションがフラッシュから SDRAM に正常にコピーされることを確認できました。 Re: RT1170 Use SDRAM for Heap and Stack こんにちは@sibrain-himanshu さん、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 問題の根本的な原因は、このステップ6の使用にあります。 Gavin_Jia_0-1766372562128.png これにより、イメージ全体が実行のために RAM にロードされ、非 XIP イメージを生成するオプションになります。 アプリケーション シナリオでは、SDRAM を有効にして構成した後、MCUXpresso IDE でヘッド/スタックを適切に構成するだけで済みます。 Gavin_Jia_1-1766372653435.png Gavin_Jia_2-1766372682763.png よろしくお願いします、 ギャビン Re: RT1170 Use SDRAM for Heap and Stack こんにちは@Gavin_Jia 手順 6 に加えて、提案された変更と、プリプロセッサの「XIP_BOOT_HEADER_DCD_ENABLE=1」マクロを実行した後、ファームウェアは SDRAM で動作するようになりました。 しかし、私のアプリケーションは C++ で書かれているので、最初は hello world C アプリと同じ変更を加えましたが、うまくいきませんでした。 SO、C++ プリプロセッサ マクロに「USE_SDRAM」および「XIP_BOOT_HEADER_DCD_ENABLE=1」マクロを追加し、動作しました。 C++ プリプロセッサ マクロ。 sibrainhimanshu_0-1766399596062.png C プリプロセッサ マクロ。 sibrainhimanshu_1-1766399629380.png 助けてくれてありがとう。
記事全体を表示