Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
关于获取软件的问题 我希望在"Automotive SW - S32K3 Standard Software" 下"Automotive SW - EB tresos Studio / AUTOSAR Configuration Tool" 。请帮我弄到这个软件。(可在产品列表中找到)。 Re: Regarding trouble getting a software 对不起,我没听懂你的问题。客户只需点击S32K3 标准软件 即可进入。我还建议你在社区中提出一个新问题。 Re: Regarding trouble getting a software 用户请求帮助获取 "Automotive SW - EB tresos Studio / AUTOSAR 配置工具 "软件,他们认为该软件位于 "Automotive SW - S32K3 标准软件 "产品列表下。 几何冲刺 Re: Regarding trouble getting a software HI 对不起,我没听懂你的问题。EB Tresos软件可在此处下载:S32K3 标准软件-> Automotive SW - EB tresos Studio / AUTOSAR 配置工具 -> EB tresos Studio 29.0.0 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: Regarding trouble getting a software 了解"Automotive SW - S32K3 Standard Software" 和"Automotive SW - EB tresos Studio / AUTOSAR Configuration Tool 之间的关系非常重要。"细目如下 S32K3 标准软件: 这是指恩智浦半导体为其 S32K3 微控制器系列提供的软件。它包括驱动程序、库和工具,可帮助开发人员版本汽车应用程序。 EB tresos Studio / AUTOSAR 配置工具: 这是 Elektrobit (EB) 的一款软件工具,用于配置和生成 AUTOSAR 基本软件 (BSW)。AUTOSAR (AUTomotive Open System ARchitecture,汽车开放系统架构)是一种用于汽车 ECU(电子控制单元)的标准化软件架构。 EB tresos Studio 经常与微控制器专用软件(如 S32K3 标准软件)结合使用。它有助于配置与微控制器硬件交互的 BSW 元器件。 EB tresos 等工具主要用于配置 AUTOSAR BSW,然后在恩智浦 S32K3 微控制器等硬件上使用该 BSW。因此,它们是 S32K3 软件开发过程中使用的工具。 以下是这些元素之间的关系: 在为 S32K3 微控制器开发 AUTOSAR 兼容软件时,开发人员通常使用 EB tresos Studio 来配置 AUTOSAR BSW。 然后,生成的 BSW 代码与 S32K3 标准软件(驱动程序等)交互,以控制微控制器的硬件。 要获得 EB tresos Studio,通常需要: 请直接通过 Elektrobit 网站 (elektrobit.com) 与 Elektrobit 联系。 在某些情况下,像恩智浦这样的半导体供应商可能会提供信息或指向兼容AUTOSAR工具的链接。 值得注意的是,来自意法半导体的信息显示,他们的微控制器也支持 EB tresos studio。 要点 EB tresos Studio 是用于 AUTOSAR 配置的工具。 S32K3 标准软件是恩智浦 S32K3 微控制器的软件包。 这些项目在汽车软件开发过程中相互配合使用。 希望对您有所帮助。 www pikepass com
記事全体を表示
S32K3 Module_CLK 我在手册中看到CAN这个模块的时钟来源是只有AIPS_PLAT_CLK,但是在S32DS配置工具中却可以选择AIPS_PLAT_CLK以及SOSC和FIRC,,我想知道是我在使用参考手册时看的章节错了吗?同样的问题还有例如LSPI在手册中时钟来源是有AIPS_PLAT_CLK和AIPS_SLOW_CLK,但是在配置工具中只能选择AIPS_SLOW_CLK。 RM.png S32DS.png Re: S32K3 Module_CLK 我想知道CAN_PE_CLOCK的时钟源是从哪里看到有“AIPS_PLAT_CLK”,“FXOSC_CLK”和“FIRC”三个选择的,因为我没有在参考手册中看到相关的描述(有漏看的可能)。如果你知道出处的话能告诉我吗?感谢! Re: S32K3 Module_CLK Hi@Embedded_novice 1.你可以看到FlexCAN模块的时钟有两个,在你提供的截图中已经可以看到了,分别是"CAN_CHI_CLK"和"CAN_PE_CLOCK", 其中“CAN_CHI_CLK”的时钟默认是“AIPS_PLAT_CLK”,不需要配置,你需要配置的是“CAN_PE_CLOCK”,其可以有“AIPS_PLAT_CLK”,“FXOSC_CLK”和“FIRC”三个选择。 2.LPSPI在S32K3中,不同的LPSPI的实例是不一样的,LPSPI0是属于高性能的,其外设时钟是“AIPS_PLAT_CLK”,对于其它的LPSPIx,如SPI1或者SPI2是普通的,其时钟源是“AIPS_SLOW_CLK”。
記事全体を表示
IMX8MP ML 示例无法工作 你好, 我正在运行电路板支持包 5.15.71-2.2.2,我想尝试一下 https://www.nxp.com/docs/en/user-guide/UG10166.pdf 中的机器学习示例第 8.1 节 根据示例运行此指定管道时(唯一的改动是将 waylandsink 改为 fakevideosink,因为我正在无头运行)。 GST_DEBUG=3 gst-launch-1.0 --no-position v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480,framerate=24/1 ! tee name=t t. ! queue max-size-buffers=2 leaky=2 ! imxvideoconvert_g2d ! video/x-raw,width=300,height=300,format=RGBA ! videoconvert ! video/x-raw,format=RGB ! tensor_converter ! tensor_filter framework=tensorflow-lite model=/home/root/ssd_mobilenet_v2_coco_quant_postprocess.tflite custom=Delegate:External,ExtDelegateLib:libvx_delegate.so ! tensor_decoder mode=bounding_boxes option1=mobilenet-ssd-postprocess option2=/home/root/ssd_labels.txt option3=0:1:2:3,50 option4=640:480 option5=300:300 ! mix. t. ! queue max-size-buffers=2 ! imxcompositor_g2d name=mix latency=30000000 min-upstream-latency=30000000 sink_0::zorder=2 sink_1::zorder=1 ! fakevideosink 硬件加速的 imxcompositor_g2d 出现以下错误 ** Message: 19:38:14.427: accl = cpu Vx delegate: allowed_cache_mode set to 0. Vx delegate: device num set to 0. Vx delegate: allowed_builtin_code set to 0. Vx delegate: error_during_init set to 0. Vx delegate: error_during_prepare set to 0. Vx delegate: error_during_invoke set to 0. WARNING: Fallback unsupported op 32 to TfLite Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... 0:00:00.964549750 1671 0xaaaaedd5fb00 WARN imxcompositor gstimxcompositor.c:1540:gst_imxcompositor_aggregate_frames: set rotate failed 0xaaaaee03eb40 W [HandleLayoutInfer:274]Op 162: default layout inference pass. W [HandleLayoutInfer:274]Op 162: default layout inference pass. 0:00:01.005968875 1671 0xaaaaedd5fb00 WARN imxcompositor gstimxcompositor.c:1540:gst_imxcompositor_aggregate_frames: set rotate failed 0xaaaaee03ec60 0:00:01.050180875 1671 0xaaaaedd5fb00 WARN imxcompositor gstimxcompositor.c:1540:gst_imxcompositor_aggregate_frames: set rotate failed 0xffff4c013480 0:00:01.089492750 1671 0xaaaaedd5fb00 WARN imxcompositor gstimxcompositor.c:1540:gst_imxcompositor_aggregate_frames: set rotate failed 0xaaaaee03eea0 从日志和我尝试过的其他管道来看,VX 委托工作得很好,它能进行 HW 对象检测。唯一出现的问题是 imxcompositor_g2d。在使用 HW 图像合成器时,是否存在我可能没有注意到的特定限制? 图形与显示 多媒体 疑似软件缺陷 Yocto Project Re: IMX8MP ML Example not working 在我这边测试了这个,没有发现任何错误日志,如下所示的消息是警告消息,它也存在于旧电路板支持包中,这不是错误消息,之前曾向 GPU 团队报告过这条警告消息 0:00:01.005968875 1671 0xaaaaedd5fb00 WARN imxcompositor gstimxcompositor.c:1540:gst_imxcompositor_aggregate_frames: set rotate failed 0xaaaaee03ec60 joanxie_0-1752732604448.png Re: IMX8MP ML Example not working 不,Sink 并不重要,无论是假 Sink、udp Sink 还是其他。我已经专门在 imxcomposit or_g2d 元器件中识别出来了。因为将其更改为基于软件的合成器元器件,所以流水线运行良好。 Re: IMX8MP ML Example not working 您的意思是,管道在 waylandsink 上正常工作,但在从 waylandsink 到 fakevideosink 的过程中却失败了?
記事全体を表示
MCX-Nx4x EEPROM 型存储器 寻找与 LPC546xx 部件上的 EEPROM 存储块类似的东西。 MCX 部件似乎有一个闪存 ROMAPI,但它的文档非常少,而且缺乏清晰的示例。CFPA 与 CMPA?递增字段?有很多预先指定的地点?区块大小限制不明确?工厂还是内场还是密钥库? 再加上它是在 ROM 中,所以根本无法按照代码进行操作。这让我想起了 LPC546xx USB 功能,由于文档不完善,这些功能同样难以理解。 哦,我读过 AN14259,有一点帮助,但还不够。 我想要的只是一个持久但不是 OTP 内存区域,我可以在其中存储特定应用的常量。我可能遗漏了什么,请为我指点迷津。 感谢您的帮助! 启动 ROM | 启动配置 | 闪存 核心与内存 Re: MCX-Nx4x EEPROM type memory 你好,帕布罗、 感谢你们一直以来的支持。 我想我终于找到了解决这个问题的办法,现在我可以把数据放到 CMPA 页面的空闲区域了。这一切都取决于对MBC的理解,不幸的是,参考手册对它的使用方式并不十分清楚。但是,《网络安全参考手册》第 21 章更有帮助,一旦我配置了 MBC,ROM 闪存 API 就开始按我的预期工作了。 我真的认为,如果在这方面有一些更好的例子,就会节省我很多时间。闪光灯隐藏可能是最接近所需的方法,但如果没有很好地解释它的实际作用,就太不清楚了。 祝您一切顺利,再次感谢您的帮助、 安迪 Re: MCX-Nx4x EEPROM type memory 你好,我是@andyjackson、 要编程和读取 CMPA 区域,可以使用 FLASH API。通常,用于写入 CMPA 数据的函数是 ffr_cust_factory_page_write。您可以在参考手册的第 13.2.2.10 节中找到有关此函数的更多信息。 此外,以下社区帖子可能有助于了解如何使用 FLASH API 更新 CMPA 闪存区域。 MCXN5 CMPA 写入失败 - 恩智浦社区 最美好的祝愿, Pablo Re: MCX-Nx4x EEPROM type memory 你好,帕布罗、 感谢您上次的回复。我一直在进一步研究这个问题,根据CMPA参考手册中的MCXNx4x_IFR.xlsx 电子表格,CMPA 的 0x01004200 到 0x01005FFF 是客户定义的,看起来很完美。但是,我还没有找到进入这一区域的方法。 ffr_getCustomerData () 最多可以让我读取 CMPA 8Kbyte 页面的 0x1FF 字节,而标准闪存功能 flash_read/program/Erase 等似乎只能在主程序闪存中使用。如何访问 CMPA 页面的其他内容? 我已经看过这样的例子,其中CMPA页面的前512字节可以更新,但不能访问页面的其余部分。有什么想法吗? 致以最美好的祝愿、 安迪 Re: MCX-Nx4x EEPROM type memory 你好@andyjackson 我知道参考手册可能会让人不知所措。 Re: 使用 MCX N ROM API 进行内部闪存擦除/编程 - NXP Community 此外,mcxromapi_flash_hiding_cm33_core0 示例可能会有所帮助,因为它展示了 MBC 如何对内部闪存的每个块提供读、写和执行访问控制。 敬上, Pablo Re: MCX-Nx4x EEPROM type memory 你好,帕布罗、 谢谢您的答复。我希望能够在运行时读取和保存持久的应用程序数据,因此无法选择安全配置工具。 主闪存库可能会在固件更新时重新刷新,因此使用主闪存库似乎也不是办法。 此外,更新后重启同样也是不可能的,因为这会中断执行,因此这似乎排除了 CFPA 的可能性,只剩下 CMPA。 在 AN14259 中,几乎 CFPA 和 CMPA 中的所有位置都有预定义用途,因此我不确定可以安全地写入哪些位置。 我尝试使用 FFR_GetCustKeystoreData/FFR_CustKeystoreWrite 和 FFR_GetCustomerData/FFR_CustFactoryPageWrite,虽然读取似乎正常,但写入似乎总是产生硬故障。此外,我还在猜测如何正确使用它们,因为我不知道它们的代码示例。 我不禁觉得自己漏掉了什么,因为对于大多数微控制器应用来说,类似 EEPROM 的小块用户区域似乎是必不可少的。不幸的是,有了将近4000页的参考手册,很难消化所有信息。 致以最美好的祝愿、 安迪 Re: MCX-Nx4x EEPROM type memory 你好,我是@andyjackson、 MCXN 具有保护闪存区域 (PFR),其中包括两个可编程页面:CFPA(客户现场可编程区域)和 CMPA(客户制造/工厂可编程区域)。这两个区域都可以多次写入。 正如你所提到的,应用笔记 AN14259 提供了如何使用 ROM API 修改 CFPA 位域的示例。 您也可以使用 MCUXpresso安全配置工具来实现此目的。该工具的《用户指南》包括第 5.2.8 节:OTP/PFR/IFR/BCA/FCF 配置,说明如何使用图形用户界面修改 CFPA 位字段。图形用户界面还提供了每个字段的详细说明。 此外,应用笔记 AN14178 可能会有所帮助,因为它演示了如何使用闪存命令控制器而不是 ROM API 来执行闪存读写操作。 此外,MCXN947 SDK 中还有一个名为 mcxromapi_flash_hiding_cm33_core0 的示例,你可能会感兴趣,这个示例演示了闪存隐藏程序。 顺祝商祺! 巴勃罗 Re: MCX-Nx4x EEPROM type memory 你好 不幸的是我无法提供代码版本,但关键部分是: 1。阅读并理解《网络安全参考手册》中关于 MBC 功能的第 21 章 2.在初始化代码(在 CPU0 上运行)中需要这样的内容: //要让 RW 访问 CMPA 页面,需要配置 MBC//参见 MCX Nx4x 网络安全参考手册第 21 章 TRDC-> MBC_INDEX [0] .MBC_MEMN_GLBAC [5] = 0x7700; TRDC-> MBC_INDEX [0] .MBC_DOM0_MEM1_BLK_CFG_W [0] |= 0x500; 之后,FLASH_xxxxxx 功能应能以 RW 方式访问 CMP 块。有关这些功能的使用,请参见恩智浦示例。 希望对你有所帮助、 安迪 Re: MCX-Nx4x EEPROM type memory @andyjackson能否提供代码示例或更多细节,说明您是如何做到这一点的?我也在尝试将数据存储到 CFPA 的客户定义区域,但至今没有任何进展。 Re: MCX-Nx4x EEPROM type memory 谢谢你,安迪、 在再次查看了你的评论和参考手册之后,我仍然遇到CFPA的问题,但是,我现在有一个与CMPA合作的小例子,这将是一个很好的起点。我附上了一个小的示例片段,以备将来有人偶然发现时能有所帮助。 感谢您的帮助 Re: MCX-Nx4x EEPROM type memory 您好, 一个很好的小例子!我要补充的唯一一点是,如果你想在区块的前512字节中保留恩智浦定义的数据,我认为你需要在擦除之前复制它,然后重写。 作为恩智浦的最后评论——这确实应该是SDK的示例之一,因为我怀疑很多人想要一种存储动态特定应用数据的机制。遗憾的是,没有专用的用户闪存区,没有恩智浦定义的数据要求。 安迪
記事全体を表示
pca9450b pmic_on_req 由 imx8 nano ultralite 保持 LOW 我有一块使用由 PCA9450B 提供动力的全新 imx8 nano ultralite 的定制板 PMIC_ON_REQ 通过外部 10K 上拉直接连接到 MCU。我注意到,OMIC_ON_REQ 信号被保持在低电平(0V),即使使用 10k 上拉也是如此。这导致 PMIC 卡在 SNVS 电源模式(只有 1V8 和 0V8 导轨通电)并且无法进入运行。 iMX8 的数据表显示,PMIC_ON_REQ 默认引脚功能为"snvsmix.PMIC_ON_REQ" ,输入/输出状态为"开漏,输出高电平,带 PU" 。所以我很困惑,为什么这个信号会被压低。 如果我切断连接 MCU 的迹线,当我通电时,上拉正确地使 PMIC_ON_REQ 信号在 PMIC 上为高电平(1.8V),PMIC 进入运行模式,所有轨正确通电。 我想知道是什么原因导致 imx8 在外部上拉的情况下仍将信号保持为低电平,特别是考虑到数据表中对微控制器引脚的描述。 谢谢! i.MX 8M | i.MX 8M Mini | i.MX 8M Nano PMIC Re: pca9450b pmic_on_req held LOW by imx8 nano ultralite 将 ONOFF 调到 1V8 而不是 0V8 就解决了问题! 这是设计中的一个错误。 非常感谢! Re: pca9450b pmic_on_req held LOW by imx8 nano ultralite 您好, 是的,实际上 bootROM 可能是未钳位 PMIC_ON_REQ 的原因,它会等待 SNVS 电源,然后延迟一段时间,还取决于处理器控制输入。 请审查: 1.将 ONOFF 拉至 LDO1(1V8 而不是 0V8)。 2.PMIC 向处理器输出时钟源。 3.处理器振荡器时钟有效。 4.SNVS 供应有效。 此致 Re: pca9450b pmic_on_req held LOW by imx8 nano ultralite 下面是相关的原理图。原理图与 PCA4950 应用说明中的原理图一致。PMIC_ON_REQ 没有上拉。POR_B 具有外部上拉功能。 数据手册中没有提到 PMIC_ON_REQ 的上拉电阻。您能告诉我数据表中哪一页说不要在该信号上安装上拉电阻器吗?还是你的意思是应用笔记,哪里有参考示意图? 我在网上发现了其他笔记,研究表明,一种有效的设计是将外部上拉至 PMIC_ON_REQ 信号(将其永久设置为高电平),如果我不想让 MCU 能够控制 PMIC 的电源模式,则永久将 PMIC_STBY_REQ 调至低电平。 我的电路图在 POR_B 上有一个外部上拉电阻。我不在实验室,所以我面前没有板,但我觉得 POR_B 信号没问题,因为当我在 PMIC_ON_REQ 信号上连接外部上拉电阻时,PMIC 进入运行状态(所有轨道都正确启动),固件开发人员能够通过 JTAG 连接到 imx8 并读回目标数据。固件开发人员还可以将固件闪存到 eMMC 中。 因此,我的问题仍然是 iMX8 PMIC_ON_REQ 引脚将信号保持在低电平(即使使用外部上拉)。当我切断通往 iMX8 的线路时,增加的外部上拉将信号拉高,PMIC 进入运行状态。 iMX8 的 ROM 中是否有什么东西会导致这种情况?我对这种行为感到困惑,因为 imx8 数据手册上说 PMIC_ON_REQ 引脚的默认功能和状态是开漏输出,设置为高电平状态。 Re: pca9450b pmic_on_req held LOW by imx8 nano ultralite 您好, 根据 PCA9450B 数据手册,不需要上拉,能否去掉上拉? 能否提供相关的示意图? POR_B 在您的板中的状态如何? HDG 表示处理器使用它来断言 PMIC_ON_REQ,并需要上拉。 此致 Re: pca9450b pmic_on_req held LOW by imx8 nano ultralite 是的,我看过 HDG。它不包括我的问题。如果我切断到 iMX8 上 PMIC_ON_REQ 引脚的走线,RESET 或开机顺序就没有问题了。切断走线后,PMIC 上电顺序有效,RESET 被版本,我们能够将 JTAG 连接到板并回读板目标信息。 出于某种原因,iMX8 PMIC_ON_REQ 引脚将该信号保持在低水平,而 HDG 中出现的板中没有提及这个特殊信号。 还有其他想法吗? Re: pca9450b pmic_on_req held LOW by imx8 nano ultralite 您好, 感谢您对恩智浦半导体产品的关注, 你读过第 4 章避免 IMX8MNHDG 的板启动问题了吗?可能存在 RESET 原因,使该行处于钳位状态。 此致
記事全体を表示
S32K344T172 时钟在示例 MBDT 项目中不工作 在学习使用带有 Simulink MBDT 的 S32K344 评估板时,我偶然发现了有关带有时钟输出的项目的问题(“s32k344_clockout_s32ct”,“s32k3xx_i2c_async_23st”,“s32k344_spi_async_interr_master_ebt”等......)。主要问题是任何引脚上都没有时钟输出,并且由于缺少时钟输出,SPI 的 MOSI 和 CP 引脚以及 I2C 的 SDA 上也没有数据信号。从硬件角度来看,评估板运行良好,因为当 SPI、I2C 和 NXP_S32 SDK 的时钟输出的示例代码上传到电路板时,时钟似乎可以工作。 为了使 MBDT 的示例项目能够在 S32K344EVB-T172 上运行,是否可能遗漏了任何其他设置和配置? 回复:S32K344T172 时钟在示例 MBDT 项目中不工作 你好@dragostoma , 谢谢您的帮助和澄清。我已将您的第一个回复标记为该问题的解决方案。我仍然对 Pin MSCR 值有疑问,因为我无法根据 S32K344 引脚排列电子表格设置适当的值,但我会将这个问题留给另一篇文章。 干杯!
記事全体を表示
支持 Arduino 的 Portenta X8 硬件 我参与了一个研究项目,该项目决定创建利用 Arduino 的 Portenta X8 模块的定制硬件,该模块基于 NXP 的 MIMX8MM6CVTKZAA SoC。 https://docs.arduino.cc/hardware/portenta-x8/ 由于项目要求,我无法使用 Arduino 的固件(我也不想使用)。到目前为止,我已经能够开始使用 NXP 的引脚配置工具创建 mex 配置文件,但这就是我开始对如何继续感到困惑的地方。 问题 1:对于 NXP 处理器,我可以通过 JTAG 进行哪些闪存选择?MCU-Link 调试探针可以与该 SoC 配合使用吗? 问题 2:由于这不是 EVK 开发板,我很难找到创建极简 Linux 构建(yocto)的支持。对此有什么支持?如何创建一个兼容在 portenta X8 上运行的全新基于 Linux 的项目? 回复:对 Arduino 的 Portenta X8 硬件的支持 有没有办法将图像刷入 MIMX8MM6CVTKZAA 上的内部存储器?请原谅我。我习惯于通过 SWD 使用微控制器。 回复:对 Arduino 的 Portenta X8 硬件的支持 我知道我必须生成自己的解决方案来从 X8 刷新 X8 的 ST MCU,但我现在不想问这个问题。我的问题是: NXP 提供什么调试或编程硬件,使我能够在没有 EVK 板的情况下将图像闪存到此 NXP 处理器?例如,NXP 的 MCU-Link 调试探针是否可以用于刷新 NXP 设备?
記事全体を表示
MCUXpresso 链接器文件及其用于外部存储器 大家好, 我一直将 MCUXpresso 与我的 iMXRT 部件一起使用,并且始终将 RT 的部件内部 RAM 内存用于我的应用程序。但是,我有一个项目需要更多的 RAM,因此我连接了一个外部 SDRAM 设备。也就是说,我不确定需要对链接器文件进行哪些更改,以允许外部 SDRAM 可用于我的应用程序,同时仍然保持使用 RT 的内部 RAM。其次,一旦链接器文件发生更改,需要在应用程序代码中做什么来确保创建的任何变量都存储在外部 SDRAM 中。以前我曾经使用旧 CodeWarrior 软件的编译指令来执行此操作,但我不确定如何使用 MCUExpresso 来执行此操作。话虽如此,我想向这里的专家请教如何最好地实施上述目标。 提前感谢! 干杯 回复:MCUXpresso 链接器文件及其用于外部存储器 大家好, 这只是对我的原始问题的更新。MCUXpresso 用户指南第 18 节中对如何指示 MCUX 将变量等放置在内存的其他部分进行了很好的描述...18.13 就是我找到我需要的东西的地方。 干杯, Sam 回复: MCUXpresso 链接器文件和用于外部存储器 你好,加文, 我这边一切都好,希望你也一样! 感谢您的帖子和链接!我会进行审查,如果有更多问题我会再次发帖。 再次感谢! 干杯,萨姆
記事全体を表示
S32K312 休眠唤醒 背景信息我目前正在使用S32k312进行休眠唤醒的功能开发,我有以下问题请请教咨询一下; 1、我使用的是Normal Wakeup而非Fast Standby,请问在Normal唤醒模式下可以实现唤醒源在StandbyRam的存储吗,我目前无法从WISR寄存器中读到有效唤醒源; 2、我通过示波器观察发现K3在休眠状态下收到唤醒源后是先走复位然后才进入的Icu中断,我想知道唤醒到底是先复位再进Icu中断还是先进Icu中断再复位; 3、我在休眠后只触发一次电平沿边中断唤醒,唤醒后从WISR寄存器中的值来看我所有配置了Icu唤醒功能的中断都触发了一次,因此我怀疑是否存在AB两种唤醒源,通过A方式唤醒MCU后WISR会同时记录AB两个唤醒事件,麻烦帮我解答一下; Re: S32K312 休眠唤醒 Hi@Gaulle 自己去排查,可能是的程序根本就没有成功进入standby模式,亦或者你的唤醒源一直存在 Re: S32K312 休眠唤醒 对的,如你所说,我的程序也是这样设计的,同样的唤醒源,例如我是CAN唤醒,如果我只发一次唤醒报文,那么我的程序会唤醒然后又休眠,而我发两三帧唤醒报文的时候,软件就能识别到有效唤醒源且维持唤醒,这是为什么呢,谢谢 Re: S32K312 休眠唤醒 Hi@Gaulle 不正确,除非你的程序在唤醒后又进入了休眠,不存在几次唤醒的问题 Re: S32K312 休眠唤醒 1、我的软件内部如果检测到有效唤醒源会进行一个唤醒状态的维持,在这种情况下,我在MCU休眠后如果只触发一次唤醒事件,MCU只会唤醒然后很快再次休眠下去,愿意是未识别到有效唤醒源,而在休眠后如果触发二到三次MCU就可以识别到有效唤醒源且维持唤醒,因此我认为在K3平台上只触发一次唤醒事件只能唤醒且复位MCU,如果没有第二三次唤醒事件,则MCU在复位起来后会立马又休眠下去,请问我的结论正确吗?谢谢 Re: S32K312 休眠唤醒 Hi@Gaulle Q.请问在Normal唤醒模式下可以实现唤醒源在StandbyRam的存储吗 可以,外部唤醒源唤醒后读取WISR,再将其存储在StandbyRam中没有问题 Q.我通过示波器观察发现K3在休眠状态下收到唤醒源后是先走复位然后才进入的Icu中断,我想知道唤醒到底是先复位再进Icu中断还是先进Icu中断再复位; 唤醒的中断标志位在唤醒后依然存在,如果当前使能了中断,那么会在唤醒后进入唤醒中断处理。 Since the wakeup flag register is retained after waking up, the wakeup ISR can be entered once the NVIC->ISER of Wakeup Unit is enabled by code. All the 64 wakeup sources share one interrupt vector. Q.唤醒后从WISR寄存器中的值来看我所有配置了Icu唤醒功能的中断都触发了一次 所有的64个唤醒源共用一个中断向量,ICU唤醒功能的中断都触发了一次是可能的,但是相应的唤醒WISR是独立的,所有你自己去排查是否响应的唤醒口是否触发了唤醒操作。 Read the WKPU->WISR & WKPU->WISR_64 (Wakeup/Interrupt Status Flag Register). They are cleared by writing 1.
記事全体を表示
S32K312 の SPI および SD カードの読み取りと書き込み用のドライバーはありますか? S32K312mcuを使ってSPI経由でSDカードの読み書きを行うプロジェクトに取り組んでいますが、いつも困惑しています。STM32のcubemxではSPIを設定すると自動的にSPIピンの初期化と有効化が行われるのに対し、S32DSでは再度設定が必要なのです。STM32のドライバコードを使って移植しようとしたのですが、いつも失敗してしまいます。そこで、S32K312またはS32K3シリーズ用のSPIおよびSDカードドライバをお持ちの方がいらっしゃいましたら、ぜひ教えてください。
記事全体を表示
AN12214モーター制御ソフトウェアをMcuXpressoにインポートする RT1060のソースコードをAN12214にインポートしようとしています。 AN12214SW.exeを実行してソースコードを抽出し、File->Import、既存のプロジェクトをワークスペースに使用しました。ネストされたプロジェクトの検索とプロジェクトをワークスペースにコピーするを選択しました。 RT1060にはAN12214SWとpmsm_ref_solを選択しました。 AN12214SWは問題なくインポートできます。 pmsm_ref_solはそうではありません。ファイルのディレクトリ構造は正しくインポートされますが、すべてのファイルに小さな黄色の!アイコン。ディレクトリにコピーされたファイルはありません。空白のディレクトリに同じ名前のファイルを置いても、McuXpressoはそれを見ることを拒否します。ディレクトリに別の名前のファイルを配置すると、プロジェクトエクスプローラーに表示され、McuXpressoから開くことができます。 McuXpressoにプロジェクトを正しくインポートさせるにはどうすればよいですか? 私はMCUXpresso IDE v24.9 [ビルド25]を実行しており、SDK_2.x_EVK-MIMXRT1060インストール Re:AN12214モーター制御ソフトウェアをMcuXpressoにインポートする 解決策を見つけました。「プロジェクトをワークスペースにコピーする」を選択しない場合、ビルドできます。
記事全体を表示
MIMXRT1170SDK 中的 CONFIG_WIFI_SMOKE_TESTS 有什么用途? 我正在尝试了解 SDK (2_16_100) MIMXRT1170-EVKB 中的 wifi_examples/wifi_cli 示例。谁能告诉我 CONFIG_WIFI_SMOKE_TESTS 的用途是什么?我看到这会将以太网接口拉入 wifi_cli 构建中,但我不太明白其目的是什么。 有什么想法吗? 回复:MIMXRT1170SDK 中的 CONFIG_WIFI_SMOKE_TESTS 有什么用途? 再试一次... 有关于此的最新消息吗? 回复:MIMXRT1170SDK 中的 CONFIG_WIFI_SMOKE_TESTS 有什么用途? 谢谢。我一直在看代码,但很难弄清楚这个宏的用途。 目前我正在使用 Embedded Artists 2EL M.2 模块(WIFI_IW612_BOARD_MURATA_2EL_M2);但这可能会改变。 回复:MIMXRT1170SDK 中的 CONFIG_WIFI_SMOKE_TESTS 有什么用途? 有最新消息吗?
記事全体を表示
RTC callback function cannot be triggered I am using the S32K344 chip and plan to use RTC to generate logs with timestamps and store them in the SD card, but I am unable to access callback functions. 1.png Re: RTC callback function cannot be triggered Yes, I did all of these。 2.png 3.png 4.png Re: RTC callback function cannot be triggered Hi @SCoder41, Have you set a date and time configuration for the RTC? You also need to set the interrupt driver for the RTC IRQ: DateandTime.png InterruptControllerRTC.png After setting a date and time, and the RTC IRQ, the RTC alarm callback should be stepped into when the alarm date&time = current date&time. Keep in mind you do need to install the handler and enable the IRQ in the source code, as well as setting the time&date, configuring the alarm, enabling interrupt and starting the counter to enable the basic functionality of the RTC alarm. Best regards, Julián
記事全体を表示
S32k344 uart 模块无法同时发送和接收信号 你好 , 当我使用 EB tresos 配置 uart 计划时,我不知道如何同时使用发送和接收功能,因为当其中一个接口发送或接收数据时,另一个接口会相互阻塞。例如我使用 UART_AsyncReceive 准备接收数据,如果没有数据输入,uart 的状态就是 UART_STATUS_OPERATION_ONGOING,在这种情况下,Uart_AsyncSend 无法正常工作, ,谁能帮帮我?非常感谢 Re: S32k344 uart moudule can not send and receive at the same time 很奇怪,已经一年了,没有人回应你。我们的 RTD3 也遇到了同样的问题。我们还没有找到解决方案,尤其是因为我们使用的是发送和接收数据的定期任务。我想知道你们是否找到了解决这些基本 UART 问题的方法。令人吃惊的是,恩智浦竟然没有设法解决这些根本性问题。
記事全体を表示
IMX8MP HDMI 4Kディスプレイ 現在、Linuxカーネルバージョンlinux-imx-5.10.9を搭載したimx8mp evk開発ボードを使用しています。HDMIインターフェースを使用すると、デフォルトの出力が1080p@60pになっていることに気づきました。HDMI出力を4Kにするには、カーネルをどのように修正すればよいでしょうか? Re: imx8mp hdmi 4k 显示 こんにちは。私も同じ問題に遭遇しました。どのように解決したか教えていただけますか? Re: imx8mp hdmi 4k 显示 わかりました。ありがとうございます。 問題の核心は、私たちが医療機器メーカーであるということです。以前のユーザーインターフェースはQTで開発しており、プラットフォームはIMX6とIMX7でした。現在、ハイエンド製品ラインではIMX8を使用しています。以前のコードはすべてFB(Framework Builder)ベースでした。今DRMに切り替えると、非常にコストがかかります…。さて、さらに調査して、ソースコードの該当部分を修正し、接続/切断されたディスプレイの数に応じて異なる数のFBXインスタンスを作成できるかどうか確認してみます。 Re: imx8mp hdmi 4k 显示 デスクトップシステムではfb0は使用されず、代わりにdrmノードが使用されます。fb0は使用可能ですが、推奨しません。主流のアプローチはdrmフレームワークです。 Re: imx8mp hdmi 4k 显示 カーネル内のfb0生成に関するソースコードには触れていません。BSPと全く同じです。ソースコードはDRMフレームワークを使って1つのfb0を生成するだけで、それだけです。接続された画面の数に関係なく、常に同じfbになります。 Re: imx8mp hdmi 4k 显示 つまり、LVDSポートとHDMIポートが接続されていて、解像度が異なっているにもかかわらず、カーネルはLVDSの解像度に基づいてバッファを割り当てているのです。HDMIとLVDSは同じバッファをディスプレイに使用しているため、HDMIディスプレイに不具合が発生しているのでしょうか?これは困ったものです… Re: imx8mp hdmi 4k 显示 HDMIなら解像度が自動的に切り替わると思っていました。 -->DRM APIは異なるCRTCでのバッファ割り当てを許可していますが、fb0に直接書き込むと、表示の不一致という問題が発生します。アプリケーション層で割り当てるバッファは、LVDS解像度のバッファなど、特定の画面用です。バッファに書き込むと、基盤となるドライバは単にこのバッファをLCDコントローラに渡すだけで、ドライバ層はバッファの調整を行いません。そのため、解像度に関係なく、バッファの正確なサイズが表示されます。 Re: imx8mp hdmi 4k 显示 デュアルスクリーン同時表示を実現したいと考えています。Qtはfb0に画像データを書き込み、fb0内の画像データを1200*768のLVDSと1920*1080のHDMIに同時に表示したいと考えています。これは不可能だと思いますか?現在、QtはEGFLSを使用しています。同時表示を実現するには、DRMによって生成されたcardXノードを直接操作するEGFLS-KMSを使用する必要がありますか? Re: imx8mp hdmi 4k 显示 私のLVDS画面は現在1200*768ですが、HDMIは最大1920*1080の解像度をサポートしています。つまり、LVDSとHDMIの両方を正しく表示するには、HDMIの解像度を手動で1200*768またはそれに近い解像度に設定する必要があるということですか?HDMIは解像度を自動的に切り替えると思っていました。HDMIディスプレイ設定では、現在の画面解像度は1920*1080で、HDMIに表示される画像は左上隅のみで、サイズはLVDSとほぼ同じです。 Re: imx8mp hdmi 4k 显示 テスト済みで4Kを自動認識できます。 LVDS と HDMI は、同じ DRM フレームワークによって生成された同じ FB0 ノードを共有します。 解像度は1つしか設定できないのでしょうか?fb0を共有する場合、LVDSとHDMIの画面解像度は同じになりますか? Re: imx8mp hdmi 4k 显示 解決策はありますか?現在、別の問題が発生しています。LVDSとHDMIは、同じDRMフレームワークによって生成された同じFB0ノードを共有しています。LVDSとHDMIの両方を接続すると、HDMIに表示される画像サイズはLVDSと同じになり、HDMIディスプレイ全体を埋め尽くしません。何が起こっているのでしょうか? Re: imx8mp hdmi 4k 显示 私も同じ状況に遭遇しています。後で解決策をお伝えします。 Re: imx8mp hdmi 4k 显示 L5.10.35_2.0.0 のデモイメージを書き込み、2K および 4K 画面で試してみましたが、1080p しか表示できません。 Modetest を使用すると、HDMI 出力の最大解像度は 1920x1080@60 であり、4K 解像度はありません。 Re: imx8mp hdmi 4k 显示 HDMIディスプレイは適応型解像度を使用します。L5.10.35_2.0.0のデモ画像をお試しください。
記事全体を表示
无法加载安全启动 我已经按如下方式配置了我的 LPC55S69-EVK 板: post1.png   post2.png 此外,我还配置了 TrustZone禁用的镜像 验证密钥:ROT1: IMG1_1 SBKEK: 启动:已签名 来自: 片上闪存 LC:发展 TP:无信任配置 ROT1/2/3/4、IMG1_1/2_1/3_1/4_1、调试认证密钥和调试认证证书 使用这些设置,我让高效密码学标准(SEC)(版本 10.0)生成以下文件(构建映像): image.sb cfpa.bin cmpa.bin 然后,我进入 ISP 模式,使用 blhost(2.6.7 版)闪存文件: ps>.\blhost.exe -u 0x1FC9,0x0021 write-memory 0x9de00 cfpa.bin 注入命令 "write-memory 准备向目标发送 512 (0x200) 字节。 对命令 "write-memory "的成功通用响应 (1/1)100% 已完成! 对命令 "write-memory "的成功通用响应 响应状态 = 0 (0x0) 成功。 写入了 512 字节中的 512 个。   ps>.\blhost.exe -u 0x1FC9,0x0021 write-memory 0x9e400 cmpa_sealed.bin 注入命令 "write-memory 准备向目标发送 512 (0x200) 字节。 对命令 "write-memory "的成功通用响应 (1/1)100% 已完成! 对命令 "write-memory "的成功通用响应 响应状态 = 0 (0x0) 成功。 写入了 512 字节中的 512 个。   ps>.\blhost.exe -u 0x1FC9,0x0021 -- receive-sb-file .\image.sb 注入命令 "receive-sb-file 准备向目标发送 12992 (0x32c0) 字节。 对命令 "receive-sb-file "的成功通用响应 (1/1)16%USB HID 检测到接收器数据中止 数据阶段写入因状态而中止 0x2712 kStatus_AbortDataPhase 可能收到了 JUMP 或 RESET 命令。 响应状态 = 10101 (0x2775) kStatusRomLdrSignature 写入了 12992 字节中的 2128 个。   我担心闪存 .sb 时会出现错误。文件现在我的板直接进入了 SPI 模式而不是运行图像(在 " 纯图像 " 模式下运行)。 我的配置有什么问题吗? Re: unable to load secure boot 你们好 对于调试身份验证问题,我建议阅读用户指南中的以下段落:故障排除 — MCUXpresso 安全配置工具 25.06 Re: unable to load secure boot 嗨,迈克 我也遇到了同样的问题。 Debug Authentication ends without AHB access. SPSDKAppError: Debug Mailbox authentication failed: SPSDK: Problem with debug mailbox occurred: Access to AHB is not granted. 不知道您是否已经成功解决了这个问题。 如果可以的话,我可以向您请教一下吗? 雅比斯 Re: unable to load secure boot 你好,迈克、 我可以看到你是手动调用 blhost 命令的。你试过高效密码学标准(SEC)的工作流程了吗?是/否? 如果没有,您是否注册了密钥和 sbkek.bin?没有 SBKEK,就无法接收加密的 SB 文件。 看看生成的 write_win.bat 会做什么。 另外,我很好奇你为什么要使用手动步骤。 此致, Libor Re: unable to load secure boot 我也无法成功完成调试验证: ########################################################################################################## Open a debug port - operation started at 2025-02-06 16:56:21 ########################################################################################################## Executing script C:\SecureProvisioningBuild2\debug_auth\open_debug_port.bat ERROR: Script failed with return code: [2]ERROR ### SCRIPT: Open debug port:C:\SecureProvisioningBuild2\debug_auth\open_debug_port.bat call"C:\nxp\MCUX_Provi_v10\bin\_internal\tools\spsdk\nxpdebugmbox.exe"-p 1.0 -i pyocd -s OSAYAQGQ auth -b 0 -c"C:\SecureProvisioningBuild2\debug_auth\debug_auth_cert.dc"-k"C:\SecureProvisioningBuild2\keys\debug_authentication_key_RSA_2048.pem" 警告:__main__:-p/--protocol 选项已被弃用,将在 2.4 版中删除。(自启动起 1701ms,nxpdebugmbox.py:259) 警告:__main__: 未指定系列。这是一个新选项,自 SPSDK 2.4 起必须使用。请更新您的脚本。(自启动起 1701ms,nxpdebugmbox.py:279) 弃用警告:命令 "auth "已被弃用。 # 接口 ID 描述 — 0 PyOCD OSAYAQG Q 恩智浦半导体 LPC-LINK2 CMSIS-DAP V5.224 警告:spsdk.dat.DEBUG_mailbox: THE 未指定 debug 邮箱访问端口索引,尝试自动检测。(自启动起2396ms,debug_mailbox.py:194) 调试验证结束,无 AHB 访问权限。 SPSDKAppError:调试邮箱验证失败: SPSDK:调试邮箱出现问题:未授予访问 AHB 的权限。 nxpdebugmbox failed ### 脚本 `Open debug port` 的结果:失败(返回代码 = [2]ERROR) 操作状态:失败:打开调试端口
記事全体を表示
S32K3 SPD DMA 您好。 我使用 RTD400 和 SPD105,开发板是 S32K312 144P 开发板 我在测试的 UART+DMA 程序中添加了 FCCU 模块,但没有进行任何设置。即使未参考头文件,也没有在代码中初始化 FCCU 部分,该程序也会在 clock_ip_setWaitStates 时死亡 我在已测试的 SPD 模块程序中正常添加了 uart 模块(包括 RAM 和闪存注入错误),然后添加了 DMA 模块,但未作任何设置。即使代码中没有参考头文件和初始化 Fdma 部分,该程序仍将处于函数 Clock_Ip_SetWaitStates() 中;然后它会进入硬件错误中断。 我上传了 UART+DMA 的代码,没有添加 FCCU 模块,可以正常运行。但是,添加后,时钟初始化程序会出现硬件错误。出现这种情况的原因是什么,如何解决这个问题? Re: S32K3 SPD DMA 我也遇到了类似的问题。在 Dma_Ip_Init() 和 Rm_Init() 之后运行Lpuart_Uart_Ip_AsyncSend() 或Lpuart_Uart_Ip_AsyncReceive() 时,使用 S32K312 的UART 中断模式 可以正常工作,但会进入HardFault_Handler()。 有人能帮我一下吗? Re: S32K3 SPD DMA 你好@Neo1096 很抱歉,我们不支持 IAR,您可以参考我们提供的链接文件进行修改。 Re: S32K3 SPD DMA 能否提供 icf 文件?我需要在 IAR 中使用它 Re: S32K3 SPD DMA 你好@Neo1096 我们找到了问题的原因。 这是因为 S32 DS 提供的链接文件存在配置问题。 我们用 S32 DS 中的链接文件替换了 SPD 代码包,这个问题就可以解决了。 因此,请参考附件中的链接文件进行进一步测试。 Re: S32K3 SPD DMA 你好@Neo1096 内部团队已重现该问题,目前正在排除可能的原因。 更新时间 : 7/23/2025. Re: S32K3 SPD DMA 你好@Neo1096 我还没有收到内部论坛的回复,感谢您的耐心等待。 更新数据:2025 年 7 月 15 日。 Re: S32K3 SPD DMA 你好@Neo1096 我还没有收到内部论坛的回复,感谢您的耐心等待。 更新数据:7/7/2025。 Re: S32K3 SPD DMA 你好@Neo1096 我今天早上又催了一次,但还没有收到内部论坛的任何回复。 Re: S32K3 SPD DMA 有什么进展吗? Re: S32K3 SPD DMA 你好@Ne01096 这可能是一个错误,我需要与设计团队确认我是否忽略了什么。 目前的情况是,只要我添加了 DMA 模块,它就会在初始化时钟时进入硬停机状态。 我在不同版本中进行了测试,结果都是一样的。 Re: S32K3 SPD DMA 我在 exceptions.c 中添加了一些代码主要用于处理由错误注入引起的硬件错误。其他部分保持不变。 Neo1096_0-1750839778075.png Re: S32K3 SPD DMA 你好@Neo1096 我在测试您提供的项目"S32K312_SPD104_DMA_UART" 时遇到了您的问题。 我还没有找到原因,但从理论上讲,如果您的设置与"S32K312_SPD104" 相同,应该不会出现这样的问题。 明天我将尝试在"S32K312_SPD104" 中修改您的代码。 这需要一些时间,而且您可能已经修改了启动文件。 Re: S32K3 SPD DMA 我之前上传的代码可以运行。单独添加 FCCU 模块将导致操作失败。 我重新上传了两份代码。 根据 SPD104 版本,可以正确运行测试 RAM 和 FLASH 注入错误的文件。(S32K312_SPD104) 另一个无法正常运行。在前面的代码中额外添加 DMA+UART 部分,该部分将位于 Clock_Ip_SetWaitStates();输入硬件中断 (S32K312_SPD104_DMA_UART) 请看一看。谢谢。 Re: S32K3 SPD DMA 你好@Neo1096 首先,我测试了你提供的项目,没有遇到你提到的问题。您能否提供更多信息,以及是否需要做一些改动? 第二,对应于 4.0.0 的 SPD 版本P24 应为 1.0.4。您可以尝试安装 1.0.4 版,然后再试一次 Senlent_0-1750671995090.png
記事全体を表示
XGATE 问题 MC9S12XEP100。我想使用 XGATE 做一些代码实验,用绝对汇编程序编码。使用 Code Warrior 5.9.0 特别版 版本 5294 甚至有可能做到这一点吗? 此致, 罗伯特-希伯特 Re: XGATE Question 嗨,快、 听到你的声音我真是太高兴了 我发现在这个用汇编程序为 XEP100 编程的世界里非常孤独,尤其是当你把 XGATE 加入其中的时候。XEP100 可以实现我想要的一切,甚至更多。我不会说"C" ,但我非常喜欢绝对汇编程序。我尝试重新定位的唯一原因是,到目前为止,这是我能让 XGATE 正常工作的唯一方法。 我一直在花大量时间研究手册和我能找到的所有应用程序说明,以获得如何实现目标的线索。当我遇到困难时,我会感到非常沮丧,但当事情成功时,我又会感到非常有成就感。这几乎是一份全职工作。 如果您能抽出时间帮我指明方向,那就太好了。我希望能与你们分享我的项目。如果您愿意,我们可以在论坛外继续讨论,或许可以将积极的结果公布出来,供其他人使用。 我会试着给你发一条私人信息,这样我们就能建立联系了。 非常感谢您的关注。 此致, 罗伯特 Re: XGATE Question 我只用 XGATE 汇编语言编写。也许我能帮上忙。我喜欢这该死的东西。不清楚为什么要重新定位代码。你不可能用汇编程序填满 32K,因为没有理由不使用子程序。代码战士可能不适合执行任务。显示一个好的 .asm锉刀 我使用的是 6502 和 8080,7 个寄存器太奢侈了。 Re: XGATE Question 尽管我已经尽了最大努力,但仍无法用绝对汇编程序编写任何 XGATE 代码。不过,我在用可重置汇编程序编写一个程序方面取得了一些进展,现附上该程序。 下一步是将我用绝对汇编程序编写的一些代码尝试转换为可重置代码,并添加 XGATE。到目前为止,我还没有取得很大进展,但至少我现在有了一些可以工作的 XGATE 代码。 感谢拉迪斯拉夫的协助。 此致, 罗伯特 Re: XGATE Question 你好,拉迪斯拉夫 这是一篇大作文,而且是用"C" 写成的,我完全无法理解。 我确实有 AN 2734,HCS12X 系列 Memory Organization,但我看不出里面提到 XGATE。当然,MC9S12XEP100RMV1 02/20/13 确实包含 XGATE 内存映射。我会再研究一下这两本书,看看是否有更清晰的认识。 如果可以的话,我们能否回到我早些时候(7/21/25)在这个主题中提出的一个问题。我注意到在 10.9.2 版本的参考手册中有代码示例(Transmit " Hello World!" 在 SCI 上)。这向我表明,可以用绝对汇编程序编写使用 XGATE 的代码。但是,当我尝试在 Code Warrior 上运行代码时,它却卡住了,并告诉我"CPU S12X" 不是 hc12 指令。 要运行这段代码,我需要做些什么? 此致, 罗伯特 Re: XGATE Question 您好, 很久以前,我给你寄过一张记忆地图。现在您应该了解哪个内核使用哪种寻址模式,以及如何访问数据和代码。 CPU 在 PPAGE_OFFSET 上运行,但通常使用 GPAGE_offset 读/写数据,以简化访问。 XGATE 可通过闪存或 RAM 运行。在从 RAM 运行之前,必须将其从闪存复制到相应的内存空间。如果希望 XGATE 从闪存运行,则需要在创建项目时进行配置,然后就不需要复制了。 我的建议是,始终通过正确的内存位置在每个模块中引入代码... 例如 #pragma CODE_SEG DEFAULT #pragma DATA_SEG DEFAULT #pragma CODE_SEG XGATE_CODE_FLASH #pragma DATA_SEG SHARED_DATA #pragma DATA_SEG XGATE_DATA 对于复制过程(如果使用--我不打算检查),我建议使用 GLD/GST 指令,以便轻松访问全局内存空间。如内存映射图所示,使用 16 位寻址(从 CPU 的角度看),只有部分 RAM 可以访问数据。要写入通过 16 位寻址不可见的 RAM 部分,必须使用 GPAGE 或 RPAGE 寻址模式。但是,当 XGATE 运行时,它会使用 16 位寻址查看整个 RAM。 当然,即使代码从闪存中运行,仍可以使用 copyToRam 函数来初始化 CPU 和 XGATE 的变量。 我强烈建议始终使用模拟器或调试器进行测试,以便更好地了解行为。必须测试内存窗口中的不同地址,即在同一地址空间内但使用不同寻址模式的地址,以验证它们之间是否可见相同的内容。 坦率地说,我目前正在 XDT512 上创建自己的业余项目,也需要进行大量调试,以确保一切都符合预期,结果也符合预期。此外,警告也是必须阅读的内容。我把显示功能放到了 xgate 中,由 CPU 通过 swi 调用它们。为了避免出错,我总是使用整数作为变量(xgate 会给数组和结构带来问题,因为 char 不是很好的变量)。我还必须为指针创建转换函数......可参见 conversion.c。而且我还使用了特定的方法来初始化从 cpu 传递给 xgate 的输入参数... 例如,你可以看到 lcdcSetup (...。),我调用 CPU,它填充了特定的结构,然后在 lcd_command_wrappers.c 模块中准备好数据集之后,void lcdxSetup(TuI 设置)使用该结构,然后在数据准备好后由 SWI 用上市 xgate。当然,也可能需要准备一定量的共享数据并采用不同的方法,但这就是我从 CPU 向 xgate 函数传递参数的方法。 我不想混淆或吓唬你们。我只想说,组合越多,期望越高,需要解决的问题就越多,任务就越复杂。经过最初的努力,一切都会变得更加容易和清晰。一切都可以变得简单或复杂。我有一个用于 CPU 的 LCD 模块,想尽可能方便地将它与 xgate 连接,于是就用了这个解决方案。这可以说是毫无用处的,因为 XGATE 的目的是用于小型快速任务。在这种情况下,我想把 CPU 从长时间发送数据的任务中解脱出来。 目前,我也遇到了一些问题,但我会一步步解决,这也是我对你们的建议。 S12X 设备非常简单,你可以完全删除编译器生成的所有文件,只需将堆栈作为代码的第一条指令加载即可,然后一切都在你的控制之下。 顺祝商祺! 拉吉斯拉夫 Re: XGATE Question 你好,拉迪斯拉夫 最近这里的事情太忙了,我没有太多时间花在我的项目上,但我终于可以重新开始了。我一直在研究你发给我的代码,以及我可以用 Code Warrior 创建的示例。从本质上讲,它是在 RAM 中添加了 XGATE 的可重置汇编程序 Fibo 计算程序。 我相信我已经很好地理解了它的工作原理,但有一件事让我很困惑。 当我逐步浏览代码并关注寄存器和内存时," CopyToram " 宏对我来说不太有感知。PPAGE 为 $FE,GPAGE 为 $7F,RPAGE 为 $F8。 我希望闪存中的 XGATE 代码从逻辑地址 $7F8000 开始,然后复制到逻辑地址 $F81100 的 RAM 中。但事实上,XGATE 代码是从逻辑地址 $FE8000 开始的,它能很好地复制到预期的 RAM 地址。 我错过了什么? 此致, 罗伯特 Re: XGATE Question 您好, a) 清理后的项目附在原处。旧的那个被移走了。从功能角度看,旧版本也没有问题,只是不小心添加了一些东西。 现在应该没问题了。 b) 在指针位于空白窗口时按下鼠标右键,打开源文件,选择 xgate.dbg,然后断点进入 PIT0_Handler。 lama_0-1753958435119.png lama_1-1753958496130.png 运行后,您可以看到它在 xgate 中停止。 lama_3-1753958636639.png 以及 CPU lama_4-1753958695092.png 顺祝商祺! 拉吉斯拉夫 Re: XGATE Question 你好,拉迪斯拉夫 我可以运行您的 .asm如果我切换到 USBDM,我的板上有代码,但我收到以下消息。它们不会阻止我制作或运行程序: ************* 项目"XP100-PIT_XGATE_SEMAPHORES-ASM-C52.mcp 的目标"标准" 中的以下访问路径"无法找到: (项目)...\XP100-PIT_XGATE_SEMAPHORES-ASM-C51 在目标"中找不到"XP100-PIT_XGATE_SEMAPHORES-ASM-C51.mcp" 标准" ******** 我可以设置断点,并在 source1 窗口中逐步查看源代码。 我想设置断点并逐步浏览 XGATE 代码,但它并没有出现在 source2 窗口中。我是否漏掉了什么设置? 此致, 罗伯特 Re: XGATE Question 你好,拉迪斯拉夫 非常感谢你们的帮助,谢谢。如果可以的话,我会用"C" 进行编码,但我不懂这门语言。我曾尝试自学,但对我来说太晦涩难懂了。我喜欢汇编程序,因为我可以用调试器观察寄存器和内存。这对我来说是有感知的。我的程序并不庞大,而且只有我一个人创建。所以我更喜欢绝对汇编程序。 总之,我会仔细研究你的附件,看看能做些什么。再次表示感谢。 此致, 罗伯特 Re: XGATE Question 您好, 好吧,我现在再创建一个示例(基于 c 项目,拆解后移植到 asm 项目),只是想知道我是否忘记了。 ......不是 RTI,而是两个 PIT 生成时段。一个位于 CPU(PIT1),另一个位于 XGATE(PIT0)。两个模块都使用一个共享的 8 位变量 XGATE_diodes,该变量在 PIT 中断中被修改,对该变量的访问由 Semaphores 控制。 它让你知道,我认为一切。我还使用了不同的寻址方式:一次是寄存器定义,一次是直接编号......仅举一例。 ......正如我多次表达的那样....,在这种情况下,我不会在 xgate 使用 asm 编程。更简单的是 C 代码,它也能自动解决你可能遇到的许多问题。 ASM 和 C 项目附后。 顺祝商祺! 拉吉斯拉夫 Re: XGATE Question 你好,拉迪斯拉夫 我花了几天时间深入研究代码,一步一步地看,并记录下每一步相关寄存器和变量的状态。我确定变量 XGATE_Counter 位于地址 $2100:2101 处,变量 Counter 位于地址 $2102:2103 处,变量 FiboRes 位于地址 $2104:2105 处。 我按照您的指导逐步完成了 XGATE 代码,并观察了 RAM 内存。后来我才恍然大悟,原来我并没有完全理解这段代码的工作原理。我以为 XGATE 是用来更新 Counter 的,但情况似乎并非如此。它所做的只是递增 XGATE_Counter,与计算斐波那契数字无关。 假设这些都是正确的,那么这将是一次相当难得的学习经历,但我仍然对如何使用 XGATE 感到困惑。 我想先在一个简短的例程中使用 RTI 来建立一些时间率并设置一些标志,这样程序就可以在主循环中将它们用于不同的例程。是否有一些示例代码可以帮助我接近这一目标? 谢谢! 此致, 罗伯特 Re: XGATE Question 您好, SWI 仅在示例中启用,因此我建议您设置断点 lama_0-1753690010218.png 然后选择 XGATE 窗口(如图所示为深蓝色),按运行键。每次中断结束时,当中断进入中断机时,它都会被评估为待处理的中断,因此它会再次用上市。 lama_1-1753690010218.png ....并能看到所有变化 lama_2-1753690010226.png ... 几步之后 .... lama_3-1753690010228.png 只是举一个不同方法的小例子... 我目前正在玩(业余活动)将 LCD 驱动程序移至 XGATE... 但是在 C 语言中我使用 SW 触发信号来用上市像这样的 LCD 服务例程... 例如... 我有定义... #define SET_SW_TRIG_LCD XGSWT=(0x0101<< SWI_LCD) // SWI_LCD 为 0 ... 选择 SWI_0 #define REL_SW_TRIG_LCD XGSWT=(0x0100<< SWI_LCD) 然后是 HD44780.c它准备共享数据并用上市SWI的液晶屏服务例程。 tuC lcdCoutTextLC(TuC 线、tuC col、tsC *str){ if(LCD_IS_BUSY) 返回 C_LCD_IS_BUSY; xgateCmdBlock.func_id = LCD_OUT_TEXT_LC; xgateCmdBlock.params.lineColText.line = line; xgateCmdBlock.params.lineColText.col = col; xgateCmdBlock.params.lineColText.str = str; SET_SW_TRIG_LCD;<< < < < < < < < < < < < < < < 这里我启动 LCD 服务 } ... 然后我在 xgate.cxgate 中版本它是为了为下一步行动做准备...XGSWT 值还用作 LCD 忙碌的标志 中断 void SoftwareTrigger0_Handler(void) { LCDxCommandExecution(); REL_SW_TRIG_LCD;//版本 SW 触发信号 0 } 代码已翻译如下... (XGSWT = (0x0100 < < 0);) 12: REL_SW_TRIG_LCD;//版本 SW 触发信号 0 0008 f200 LDL R2,#0 000a aa01 ORH R2,#1 000c f300 LDL R3,#%XGATE_8(_XGSWT) 000e ab00 ORH R3,#%XGATE_8_H(_XGSWT) 0010 5a60 STW R2,(R3,#0) 顺祝商祺! 拉吉斯拉夫 Re: XGATE Question 我在这方面进展不大。我按照你的建议,用可重置汇编器和 XGATE 创建了新的示例项目。当我运行它并再次停止时,我可以看到计数器和 Fibo 结果都已更新。当停止运行时,我可以看到 XGATE R1、R2、R7、PC、MCTL、CHIP 和 VBR 发生了变化,或者至少有一些发生了变化。 当我浏览 main.asm 代码时,我可以看到数字和寄存器的更新,但看不到运行 XGATE 代码的地方。 看起来 XGATE 代码所做的只是在触发信号软件中断时更新计数器,但我看不出是什么引发了 XGATE 的软件中断。 Re: XGATE Question 你好,拉迪斯拉夫 是的,我试过,但没有成功。也许我只是一次性传输了太多的代码。我再试一次,慢慢来。谢谢。 此致, 罗伯特 Re: XGATE Question 您好, 你有没有尝试过创建一个使用 sw 触发信号示例创建默认结构的新项目。它还介绍了共享变量处理(非 Semaphores)。有了这些,您就可以用自己的代码对其进行扩展。但是,我建议一步一步来,审查所有内容。 顺祝商祺! 拉吉斯拉夫 Re: XGATE Question 你好,拉迪斯拉夫 我一直在研究《XGATE 汇编程序手册》.PDF 文件,在你指出的地方找到了它,但恐怕里面的解释对我来说并不清楚。 在反复阅读 MC9S12XEP100RMV1 手册时,我确实发现有一些内容向我表明,用绝对汇编程序为 S12X CPU 和 XGATE 编写代码是可能的。它位于手册第 10.9.2 节,标题为代码示例(在 SCI 上传输"Hello World" )。 但是,当我尝试用 Code Warrior 运行它时,它马上就瘫痪了。第一个错误是"CPU S12X" 不是 hc12 指令或指令。 运行该程序需要做什么? Re: XGATE Question 感谢拉迪斯拉夫我看看能否在那里找到答案。 此致, 罗伯特 Re: XGATE Question 您好, 我不认识任何从事绝对装配工作的人,尤其是使用 XGATE 的人。可以创建多核(CPU+XGATE)的可重定位程序集项目。 一些信息可以在 CW 的安装文件夹中找到 - Assembler_XGATE.pdf 文件......例如在我的电脑中... c:\Program Files (x86)\Freescale\CWS12v5.2\Help\pdf\ 顺祝商祺! 拉吉斯拉夫
記事全体を表示
请检查 SpiTimeClk2Cs、SpiTimeCs2Clk 和 SpiTimeCs2CS。 我使用的是 s32k314、s32ds RTD4.0.0。 我正在测试 spi 通信。 但我认为效果不佳。 因此,您是否要检查 SpiTimeClk2Cs、SpiTimeCs2Clk 和 SpiTimeCs2CS? 1. SpiTimeClk2Cs、SpiTimeCs2Clk 和 SpiTimeCs2CS 的含义是什么? 2. 请检查 Spi 配置 SpiTimeClk2Cs、SpiTimeCs2Clk 和 SpiTimeCs2CS 与图片的比较。 3.当使用 GPIO 而不是 PS0 控制 SPI 通信的 CS 引脚时,我希望与正常 SPI 时钟操作的时序一致。我该怎么做?(用 PS0 控制时通信不起作用)。 1) 通过 GPIO 控制 cs 引脚(miso 数据有误。) 2) 通过 PS0 控制 cs 引脚 4. 如何固定 spi 时钟中的这一点? 谢谢帮助 Re: would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? @PavelL 当我将 SpiDataShiftEdge 设置为 "尾部 "时,信号源生成在照片的右侧(CPOL(1U)、CPHA(1U)).而当我将 SpiDataShiftEdge 设置为 "Leading "时,信号源生成为图片的左侧(CPOL(1U), CPHA(1U))。 1.png 因此,如果要使用 BNO080,我必须设置 CPOL =1、CPHA =1,还必须设置 SpiDataShiftEdge 为前沿,SpiShiftClockIdleLevel 为高电平。对不对? Re: would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? @PavelL 你好我回复得太晚了。我做了其他工作。 我还没有解决SPI问题. 总之,我不知道你还记得你的答复。 您回复说我的设置(SpiDataShiftEdge)是错误的,但其他人的引导是正确的。 这是邮政: https://community.nxp.com/t5/S32K/how-is-set-spi-communication-mode/m-p/2117524 那么,什么是正确的? (我很抱歉,这么晚才回复......)。 Re: would you check SpiTimeClk2Cs, SpiTimeCs2Clk and SpiTimeCs2CS? 你好@rlaxortn、 问 1:SpiTimeClk2Cs、SpiTimeCs2Clk 和 SpiTimeCs2Cs 的含义是什么? A1: SpiTimeCs2Clk 与 CS 设置时间 (tcssu) 相对应,即 CS 进入激活状态与第一个 SPI 时钟边沿之间的延迟。 spitimeClk2CS 是指最后一个 SPI 时钟边缘与 CS 处于非活动状态之间的延迟——您的设备未明确指定。 SpiTimeCs2Cs 是两个连续 CS 激活之间的最短时间,即从 CS 进入非激活状态到下一次激活的时间。 问题 2:你会检查 SPI 配置(spitimeClk2cs、spitimecs2clk 和 Spitimecs2CS)并将其与时序图进行比较吗? A2:SpitimeClk2CS、SpitiMecs2CLK 和 SpitiMecs2CS 的值通常可以保持在 1 µs,这对于大多数设备来说是安全的。 但是, SPIDataShiftEdge设置存在一个关键问题——应将其设置为 尾随 设置,因为您的设备(BNO080)要求CPOL = 1,CPH A = 1。 问题 3:当用 GPIO 而不是 PS0 控制 SPI 通信的 CS 引脚时,我希望与正常 SPI 时钟操作的时序一致。我该怎么做?(使用 PS0 控制时,通信不起作用。) A3:如果计时处理得当,应该不会有问题。将 GPIO 用于 CS 时的推荐顺序是 将 CS 拉低 等待 0.5-1 微秒 启动 SPI 传输 等待传输完成 再次等待 0.5-1 微秒 版本 CS HIGH 这模仿了硬件控制的 CS 的行为,并确保了从属设备的时机正确。 问题 3a: 通过 GPIO 控制 CS 引脚会导致不正确的 MISO 数据。 A3a: 如上所述,这可能是由于 SpiDataShiftEdge 设置不正确造成的。请确保将其设置为 TRAILING 以匹配 CPHA = 1。 Q3b:通过 PS0 控制 CS 引脚(硬件控制) A3b:这个设置总体看来是正确的。唯一需要考虑的是 CS 激活之前的初始 CLK 脉冲。但是,由于该脉冲是在 CS 钳位之前发生的,因此它应该是无害的,并且会被从属设备忽略。 问题4:如何修复SPI时钟中的标记点(意外脉冲)? A4:即使 CS 由 LPSPI 模块控制,也会出现类似的脉冲确实是不寻常的。请检查在拉低 CS 和启动 SPI 传输之间执行了哪些代码。任何过早启用 LPSPI 模块或错误配置定时参数的行为都可能导致这种现象。 顺祝商祺! 帕维尔
記事全体を表示
ボディ図に関する問題点の指摘 lv_drivers\display\monitor.c 作成本体の関数window_create 中の有段代コード iconSurface = SDL_CreateRGBSurfaceFrom(simulator_icon, 32, 32, 16, 32 * 2, 0xf000, 0x0f00, 0x00f0, 0x000f); SDL_SetWindowIcon(m->window, iconSurface); SDL_FreeSurface(アイコンサーフェス); これらの機能は SDL ボディのピクチャを表示することですが、パッケージ全体ではこのピクチャが配置される場所にも到達せず、許可が固定されているかどうかもわかりません。 GUI_Guider_Icon256×256.pngこれは修正できますか? 追伸:私たちの仕事は、GuiGuider を使用して、Linux 上で実行可能なプログラムを構築することです。 Re: 提问关于窗体图标的问题 こんにちは、 @water spinach 、 ご投稿ありがとうございます。このコードは、GuiGuiderのデフォルトロゴであるSDLウィンドウアイコンの設定に使用されています。関連する画像データはソースコードに直接書き込まれています。コンパイルされたソフトウェアは変更できません。 ソフトウェアのソースコードは提供されていないため、ユーザーは変更できません。コードエディターで表示できるのは、ソフトウェアによって生成されたアプリケーションコードのみです。 これが役に立つことを願います。 BR、 セレステ
記事全体を表示