Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
s32k312 hse ab-swap 重启方法? 恩智浦专家,你好、 1.我使用的是 s32k312,HSE 版本为 1.13.0、2.40.0。 2.我正在实现 OTA 功能。 OTA 完成后,我需要致电 HSE 交换 ab,然后重启以运行新的应用程序。 我的问题是,我编写了一个演示程序,并调用" HSE_SRV_ID_ACTIVATE_PASSIVE_BLOCK" 服务。在不带任何参数的情况下,使用"IP_MC_ME" perphieral 重启单片机,但只起一次作用,然后单片机就无法运行了,可能是出现了一些硬故障。 那么,但是通过RESET引脚重启是可以的。 我的重启密码是 剧透 (高亮部分可供阅读) IP_MC_ME->MODE_CONF = mc_me_mode_conf_func_rst(1); IP_MC_ME->MODE_UPD = MC_ME_MODE_UPD_MODE_UPD(1); IP_MC_ME->CTL_KEY = mc_me_ctl_key_key(0x5AF0); IP_MC_ME->CTL_KEY = mc_me_ctl_key_key(0xA50F); IP_MC_ME->MODE_CONF = MC_ME_MODE_CONF_FUNC_RST(1); IP_MC_ME->MODE_UPD = MC_ME_MODE_UPD_MODE_UPD(1); IP_MC_ME->CTL_KEY = MC_ME_CTL_KEY_KEY(0x5AF0); IP_MC_ME->CTL_KEY = MC_ME_CTL_KEY_KEY(0xA50F); 这个重启代码可以吗?还是我需要使用其他方法重启微控制器,使 ab 交换功能生效并运行新程序? 谢谢。 Re: s32k312 hse ab-swap reboot method? 原则上是正确的,但请务必查看以下演示示例,您可以在其中详细调换程序 首先,我们提供了 Secure 启动 应用笔记,其中包括详细解释所有步骤的演示项目。可从以下网址下载 https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k3-microcontrollers-for-automotive-general-purpose:S32K3 应用笔记可以在这里找到: 文档-> 安全文件-> 安全启动应用笔记 v0.1.1.0(AN744511) 相关演示项目可在此处下载: 设计资源 -> 软件 -> 安全文件 -> SecureBootAppNoteDemo (SW745310)
記事全体を表示
EB 客户许可证管理员 我使用的是 Tresos Studio 29.2。此前,在使用 MPC574xB 时,注册是成功的,一切运行正常。但是,既然我们已经切换到 S32K314 平台并尝试使用相应的激活码将其激活,则出现了以下错误: 错误:flxactappActivationSend (50040,41147,10248) 该激活请求不产量获得许可证的权利。 与 FlexNet Operations Server 的连接失败。 请问问题出在哪里,EB 真的只支持一个平台吗? 电源 Re: EB ClientLicenseAdministrator 你好、 请检查您的账户,获取新的激活代码。此外,还存在可用许可证数量的问题。我已经联系了许可证管理部门来解决这个问题。 Re: EB ClientLicenseAdministrator 我通过下面的网站重新获取了最新的激活代码,但发现还是以前的激活代码,无法成功激活。接下来我该怎么办? 设计 :产品下载 :文件
記事全体を表示
mc33772c 分配 CID 你好, ,我目前正通过 mcu 连接 mc33664 和 mc33772c。现在,我可以通过发送读取初始寄存器的指令来获得正确的响应,但在我尝试写入 cid 并读取它之后,却无法获得正确的响应。 在不更改读取指令(不修改报文计数器)的情况下继续发送,仍能得到响应,这正常吗? 下面是我尝试写入 cid 但没有收到响应的情况,而读取初始寄存器时也得到了响应。此外,此后发送的其他指令也可以收到相同的响应,除非再次发送读取初始寄存器的指令,在这种情况下,响应数据将被更新。     SPI Re: mc33772c assign CIDs 嗨,凯文、 我检查了你的电路图,似乎是正确的。但我不明白 BCC 的各个接地是如何连接的。请确保 BCC 的地线连接到 6 芯电池中最低电池的负极。请参阅所附示意图。 如果不存在 EEPROM,则应忽略 I2C ERR FLT。 开始时,请断开较高 BCC 的连接,并尝试只写入第一个 BCC,同时将 6 芯电池只连接到第一个 BCC。如下所示。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 嗨,凯文、 感谢您提供的示意图。是的,我收到了。我会检查一下,然后再回来。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 您好, ,我已将原理图作为附件发送到您上周五的私人信息中。您收到了吗?还有问题吗? 最美好的祝愿 Kevin Re: mc33772c assign CIDs 嗨,凯文、 你在使用我们的评估板吗?如果是,请注明完整的产品编号。如果您使用自己的设计,请共享您的原理图以及电压等级和零件值以供检查。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 你好, ,我现在已经连接了电池,但仍无法成功写入 cid。而通过读取 FAULT1 STATUS$24 寄存器,我发现在执行写入指令后也出现了故障检测。我没有外部 EEPROM,因此将 I2C ERR FLT 设置为 1 应该是正常的。 我的波形也正常。我真不知道为什么写不对。     Re: mc33772c assign CIDs 嗨,凯文、 是的,可能就是这个原因。请参阅MC33772C 数据手册中的第 5.2 节。根据您所使用的 MC33772C 版本,BCC(电池芯控制器)必须连接的电池芯数量是最少的。通常,最小电池数为 3。但是,即使是 MC33772CTC0AE 版本,CT 和 CB 引脚也不能保持浮空。 另请参阅AN12536。 致以最崇高的敬意 约瑟夫 Re: mc33772c assign CIDs 您好, 我通过接线为 mc33772c 供电。这种方法是否会影响我读写 mc33772c 芯片、分配 CID。     Re: mc33772c assign CIDs 嗨,Kevinyuee、 INIT 寄存器读取工作 这表明默认 CID(通常为 0x00)仍处于活动状态。 该命令的报文计数器和 CRC 可能是正确的。 撰写 CID 需要 一个有效的报文计数器(从上一条成功报文开始递增)。 正确的 CRC。 CID 分配命令的正确帧格式。 请参阅MC33772C 完整数据手册中的第 9.3.2 和 9.3.3 节,了解空闲模式和启动模式的说明。 致以最崇高的敬意 约瑟夫
記事全体を表示
S32K312 FlexCan的问题 亲爱的NXP社区工作人员你好,目前我想将S32K312的Flex CAN0配置为enhanced Rx FIFO和DMA接收CAN2.0和CANFD报文,我参考了社区中的所有示例,现在仍然存在发送正常,但是无法接收到消息的问题。能否麻烦您帮我查看一下我的初始化过程是否存在问题,以及中断回调函数是否正确配置呢? Re: S32K312 FlexCan的问题 这些都是一致的,我试一下把源工程的其余模块一个个移植去正常运行的测试工程能不能找到问题。 Re: S32K312 FlexCan的问题 Hi@Django_007 排查下工程的一些选项,例如工程的编译优先级是不是一样的 Re: S32K312 FlexCan的问题 enhanced_test是我新建的测试工程。 Re: S32K312 FlexCan的问题 我将flexcan相关的代码和.mex的配置移植到一个新的工程之后却能正常运行,但是我检查了很多次这两个项目并没有什么不同,您有什么思路吗? Re: S32K312 FlexCan的问题 好的我再创建一个工程尝试一下 Re: S32K312 FlexCan的问题 Hi@Django_007 好吧,我今天来不及帮你处理了,明天我再帮你看下。 或者我建议你创建一个新的工程,对照链接中的demo重新做个测试demo,看看是不是有什么地方自己的工程中疏漏了,如果还没有成功,你再把你创建的这个新的demo发给我,我帮你看下。 Re: S32K312 FlexCan的问题 还是没有解决,刚刚我测试时没注意发送的是MB配置接受的ID,enhanced RxFIFO配置接受的ID的CAN报文还是无法接收。 Re: S32K312 FlexCan的问题 Hi@Django_007 解决了?什么问题? Re: S32K312 FlexCan的问题 Hi@Django_007 我测试了你的代码,总体是没有任何问题的。你的代码里面mask是使用“Individual Mask Type.” 我简单的帮你改了下方便你测试。 1.0xface,拓展帧 2.0x01,标准帧,这里我将mask设置为全1, 3.新增0x12,标准帧 中断里面你需要为每个MB重新调用FlexCAN_Ip_Receive,否则你无法启动下一次接收的 附件是我测试的截图,关于mask的设置原理参考下面我之前写的文档,自己去深入的研究下 https://community.nxp.com/t5/S32K-Knowledge-Base/S32K1xx-FlexCAN-Mask-Setting-Demo/ta-p/1519753 Re: S32K312 FlexCan的问题 抱歉,上传工程花费了一些时间,非常感谢您能抽空解决我的问题。 Re: S32K312 FlexCan的问题 Hi@Django_007 完整的测试工程贴上来,你提供的这两个文档我也没看到你使能中断之类的 Re: S32K312 FlexCan的问题 对不起,我已经被这个问题困扰一周了,这些示例我都有参考,并且在debug配置过程中返回的结果都是正常的,但是我发送can报文给MCU却无法接收到消息。 Re: S32K312 FlexCan的问题 Hi@Django_007 在这个S32K论坛里面,类似的问题至少有几十个,你自己下次多尝试搜索一下。 这里我给出我们knowledge base上的demo,你可以去参考(其实还可以搜到很多类似的) https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-DMA-test-S32DS3-5/ta-p/2015832
記事全体を表示
使用 I2C 发送作为主站时无 SCL/SDA 信号 我已将 LPI2C1 安装为主服务器,但在尝试发送时没有得到任何输出。我有上拉电阻,信号仅连接到 1 个从属设备。请参见下文。造成这一问题的可能原因是什么? 初始化: /* 设置 I2C1 中断 */ IntCtrl_Ip_EnableIrq(LPI2C1_IRQn); IntCtrl_Ip_InstallHandler(LPI2C1_IRQn, LPI2C1_Master_Slave_IRQHandler, NULL_PTR); /* Init lpi2c in master mode */ Lpi2c_Ip_MasterInit(LPI2C_CHANNEL_0,&I2c_Lpi2cMasterChannel0); 发送数据: 布尔 I2C_read_fault_status(uint8 *rx_buffer) { TxBuff[0] = 0x78; if (LPI2C_IP_SUCCESS_STATUS == Lpi2c_Ip_MasterSendData(LPI2C_CHANNEL_0, (uint8 *)&TxBuff[0], 1U, FALSE)) { LM5171_data_ptr = rx_buffer; LM5171_data_len = 1; 返回 TRUE; } Re: No SCL/SDA Signals when using I2C Send as Master 我们使用的是 S32K324 部件、S32DS3.5 调试器和 Multilink FX 通用接口。我们的热电阻版本是 4.00 HF02。LPI2C 外设中没有启用调试的选项(与其他外设一样)。我没想到要手动设置该选项!当我设置 DBGEN 位时,信号如期工作。 Re: No SCL/SDA Signals when using I2C Send as Master 您使用的是哪种调试模式?特定的调试器还是板载调试器? Re: No SCL/SDA Signals when using I2C Send as Master Hi@phil_b 能告诉我们您使用的零件编号吗?此外,热电阻版本是? 如果您使用的是 S32K3,请尝试设置该位,然后再试一次。 Re: No SCL/SDA Signals when using I2C Send as Master 当我在调试模式下运行时,信号丢失了。当我拆下调试连接器时,信号还在!有没有办法在调试模式下查看信号?
記事全体を表示
调试 iMXRT1011 项目时遇到的问题 我有一个基于 imxRT1011 处理器的简单定制板。我使用的是MCUXpresso IDE v24.12 和 Segger J-Link Ultra+。我对 iMXRT 开发很有经验,J-Link 在我的另一个项目中运行良好。 一切开始都很顺利,但不知何时,我失去了调试项目的能力。如果我使用串行启动加载器(通过安全配置工具)安装代码,则代码可以正常运行,但是如果我从调试器中刷新它,它就无法运行。 它似乎在 main() 之前的某个地方崩溃了。有时,我可以在ResetISR()中设置一个断点并步进。在这种情况下,如果我保持单步运行,一切正常,但如果我让它运行,它就会崩溃。有时会直接进入 0xdeadbeee,调试器无能为力。 可想而知,这非常令人沮丧。如有任何建议,我们将不胜感激。 i.MX RT101x Re: Problems debugging iMXRT1011 project 今天早上我又发现了一些奇怪的行为。 我在调用SystemInitHook()之前设置了一个断点。你可以在附图中看到该函数的反汇编过程。 在调用之前,SP 位于 0x20207ff8,这在我们的意料之中。对 SystemInitHook() 的调用是 bl 0x6001220c 如果我用 C 语言进入函数,调试器会在 0x60012210 处停止,SP 仍然是0x20207ff8。函数返回时,SP 也是 0x20207ff8,符合预期。 如果改用指令步进模式进入函数,则会执行 0x6001220c 处的推送指令,将 SP 降至 0x20207ff4。因此,当函数退出和后续代码崩溃时,SP 是错误的。 你能想出造成这种行为差异的原因吗?SystemInitHook() 正确吗?有推力却没有弹力? Re: Problems debugging iMXRT1011 project 如果我用高效密码学标准(SEC)刷新应用程序,它可以正常运行。如果我连接J-Link Commander,就可以成功停止和起飞。 在 IDE 中,我今天可以在ResetISR() 函数处设置断点。如果我单步执行 SystemInit() 函数,程序会崩溃。如果我单步进入 SystemInit() 函数,执行完该函数后再单步执行 SystemInitHook() 函数,程序也会崩溃。如果我执行同样的操作,直接单步执行 SystemInitHook() 函数,程序就不会崩溃。这就是我所说的,程序行为取决于调试器是单步执行还是单步执行。 堆栈崩溃时的示例:   线程 #1 57005(暂停:信号:SIGTRAP:跟踪/断点陷阱) _vfprintf_r() 在 0x600134a4 0x0 所以看起来它好像跳到了 0x0,但只有在代码自由运行时才会这样,在调试器中单步执行时不会这样。0x0 处没有代码 - ITC 未使用。 重复一遍,这是在 main() 之前,远在调用任何 RTOS 或类似系统之前。它在初始启动代码中崩溃了。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers 谢谢您的澄清! 你刚才提到了这个问题: 有时会直接进入 0xdeadbeee,调试器无能为力。 如果我理解得很清楚这个 deadbee 问题只会出现在调试器上,如果你启动最新的软件,没有调试器,它能正常工作对吗? 如果使用 Segger 的 J-Link 指令器调试最新程序,抛开集成开发环境不谈,您会发现任何问题吗?我指的是连接调试器后使用 go 和 halt 操作。 您能分享一下最新 SW 版本的变化吗? 在监测程序计数器的同时进行分步调试,并堆放 SRAM。我不知道您使用的是否是 RTOS。 检查是否有跳转到无效地址的情况,例如从闪存跳转到 SRAM,反之亦然。 致以最崇高的敬意 迪亚戈 Re: Problems debugging iMXRT1011 project > 您的意思是,如果您提交回项目的前一阶段,调试是否会开始更好地工作? 是的。但是,在恢复到旧版本之后,我必须使用安全配置工具刷新主板一次,然后调试才会变得可靠。从那以后,我就可以像往常一样从 IDE 闪存了。 如果我回到最新的代码,我可以成功调试一次,但随后的尝试都失败了。 >将项目导入其他工作区或电脑后,是否还会出现此问题? 我在没有安装过的新机器上安装了 IDE v25.6,复制了项目,版本并尝试调试,结果是一样的。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers 感谢您的耐心等待和提供更多信息! 你的意思是,如果将代码提交回项目的先前阶段,调试功能是否会运行得更好? 我想知道如何在我这边复制这个问题。在其他工作区或电脑上导入项目时,会重复出现这个问题吗? 一切顺利 迪亚戈 Re: Problems debugging iMXRT1011 project 这是一块非常简单的板,我用来测试一些外围设备。它基本上由 MCU、一个用于 XIP 的 QSPI 闪存、一些 SPI 和 I2C 外围设备以及一个 USB 端口组成。 也许我没有说清楚,在项目达到一定规模之前,项目在调试器下一直运行正常。几天来,我一直在愉快地工作,直到调试器突然开始失灵。 集成开发环境本身在我的另一个项目中继续正常运行,所以我并不担心集成开发环境本身。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers 谢谢您的澄清,是的,我指的是 FCB 文件。 如果问题出在当前的应用程序设置上呢? 我想区分问题出在闪存设置、应用程序设置还是集成开发环境上。 如果您尝试运行 hello world 演示,结果会怎样?使用已在使用的相同 FCB。 能否提供更多有关项目的详细信息? 致以最崇高的敬意 迪亚戈 Re: Problems debugging iMXRT1011 project 我正在使用附件中的文件配置闪光灯。它们是从 SDK 示例中复制的,我检查过它们与我工作项目中的文件完全相同。 两块板上的闪存芯片相同,即华邦 W25Q64JVXGIQ。 这些文件是否定义了您所指的"FCB" ? Re: Problems debugging iMXRT1011 project 您好@expertsleepers 感谢您的联系! 或许是你IDE端的FCB的问题。你看过那份文件了吗?让我解释一下。 使用 SEC 工具时,SEC 工具不会写入图像,而是写入 " 极简主义的 " FCB。使用集成开发环境时,映像包含 FCB(如果我没记错的话是 qspi_config)。是否检查过 FCB/qspi_config 与您的映像匹配? 致以最崇高的敬意 迪亚戈 Re: Problems debugging iMXRT1011 project 为了排除我的自定义板出现问题,我获得了 MIMXRT1010 EVK。EVK 板上的行为是一样的。 Re: Problems debugging iMXRT1011 project 您好@expertsleepers, 我知道问题是在您修改代码后出现的。为了更好地支持您,能否请您分享一下与原始项目相比,您所做的具体修改? 特别是,我对与启动过程相关的任何更改感兴趣,例如: 更新 FCB。 调整内存区域。 是否在 XIP 和非 XIP 模式之间切换。 BR Habib Re: Problems debugging iMXRT1011 project 我没有更换 FCB,一直使用 XIP。 我确实更改了内存区域。我在 ResetISR() 中这样做 #define IOMUXC_GPR_GPR16 (*(unsigned int*)0x400AC040) #define IOMUXC_GPR_GPR17 (*(unsigned int*)0x400AC044) void ResetISR(void) { // 禁用中断 __asm volatile ("cpsid i"); __asm volatile ("MSR MSP,%0": :"r" (&_vStackTop) : ); // 重新配置柔性电路 IOMUXC_GPR_GPR17 = 0xE9; IOMUXC_GPR_GPR16 = IOMUXC_GPR_GPR16 | 0x4; Re: Problems debugging iMXRT1011 project 你好,@expertsleepers、 能否请您检查一下这个应用程序说明是否能帮助您解决问题? BR Habib Re: Problems debugging iMXRT1011 project 在我的项目中,两个预处理器符号都设置为 1。 xip_external_flash=1 xip_boot_header_enable=1 Re: Problems debugging iMXRT1011 project 你好,@expertsleepers、 在调试程序之前,能否使用串行下载器配置通过 MCUXpresso 执行一次大规模擦除? 这样做是为了验证已刷新的应用程序没有干扰调试器与 MCU 之间的任何通信。 BR Habib Re: Problems debugging iMXRT1011 project 您好@expertsleepers, 问题可能是在执行过程中对 FlexRAM 配置进行了操作,这可能会导致意外错误。因此,要正确使用 FlexRAM,我强烈建议查看本应用说明,其中介绍了如何在 i.MX RT 中使用 FlexRAM。 另一方面,也有可能是你在其他项目中没有使用 FlexRAM,而且配置正确,这不会导致任何问题。 最后,我建议您查看这些社区帖子,它们可能会帮助您解决问题: 使用 MCUXpresso IDE 重新定位代码和数据 - NXP Community 调试器连接问题的 RT 板恢复-恩智浦社区 BR Habib Re: Problems debugging iMXRT1011 project 我知道应用程序说明。正如你在我的帖子中看到的那样,我正在按照应用说明的建议,在RESET处理程序开始时更改FlexRAM配置。我的另一个项目也采用了完全相同的方法,一年多来一直运行良好。 Re: Problems debugging iMXRT1011 project 在此期间,我删除了重新分配 FlexRAM 的说明(在我上面的帖子中提到过),从而解除了对自己的封锁。 如果我让 FlexRAM 保持默认分配状态,就可以正常调试。 我重新分配 FlexRAM 的方式有问题吗?我在另一个项目中也是这样做的,而且效果一直很好。 Re: Problems debugging iMXRT1011 project 嗨,@expertsleepers、 如果我们根据我提供给您的应用说明查看 IOMUXC_GPR_GPR17 的配置,我可以看到您的配置如下: 不过,请注意以下几点: 您是否可以尝试其他配置,以更好地满足您的应用要求并符合说明条件? BR Habib Re: Problems debugging iMXRT1011 project 我会试试的。 您能解释一下,为什么 ROM 要求与此相关吗?既然在更换 FlexRAM 时我的应用程序已经在运行,那么在此之后会有哪些 ROM 代码在运行呢? 我能理解,如果更换熔丝中的 FlexRAM,这会影响启动加载程序。但我不是在更换熔丝,而是在软件中更换 FlexRAM。 Re: Problems debugging iMXRT1011 project 你好,@expertsleepers、 您能否尝试将该注释考虑在内,看看是否能解决问题? 另一方面,SDK(25.06 版)提供了一个配置 FlexRAM 的示例,名为 "flex_ram_access",我强烈建议大家分析这个示例,了解其工作原理,以便在代码中复制。 此外,您能否核实第 2.1.1.2 章中提到的要求是否符合我提供给您的应用程序说明中称为 "运行时配置 "的要求? BR Habib
記事全体を表示
如何恢复 HCS12X 中的应用程序? 你好 有没有办法在HCS12X系列芯片的引导加载程序运行期间恢复应用程序? 例子: - 引导加载程序中闪存擦除期间发生意外中断 - 重置后应用程序正常运行 - 假设应用程序已经加载 我似乎无法在 AN4258 中找到代码。 回复:如何在 HCS12X 中恢复应用程序? 最后好像只有双库方法了。 谢谢
記事全体を表示
当前的 FSS 版本"S32N_FSS_FW_R21-11_1.8.1" 是否支持 S32N53? 你好,团队、 客户 HKMC 将从 S32N55 移至 S32N53。 所以我的问题是 当前的 FSS 版本"S32N_FSS_FW_R21-11_1.8.1" 是否支持 S32N53? 如果不是,什么时候会版本支持 S32N53 的 FSS? 顺祝商祺! 谢谢您! HSE_FW 优先级:高 Re: Does current FSS version "S32N_FSS_FW_R21-11_1.8.1" support S32N53? 你好,谭生、 我们计划在本月(7月底)发布的版本中提供支持; 谢谢! 辛杜
記事全体を表示
Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM Hello, At the AN4581 Application Note section 5.7 it is recommended to program the SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses to completely secure the device, but looking at both the IMX8MMRM and IMX8MMSRM, I wasn't able to find the exact location of those fuses (bank, word, bit). Where can I find this information? Thank you! Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM Hi @igorpadykov , I would appreciate if you could send me this information as well. Thanks in advance Dj Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM Hi, Would it be possible for you to send me this information as well? Also is this diifferent between an imx8m nano  and a mini? Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM We also would like to have this information. Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM hi @igorpadykov, I need information about the fuses for the imx8m mini. Could you be so kind to provide it to me? I need to disable the JTAG for security reasons. Best regrads, Julián Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM @igorpadykov could you also send me the info for the JTAG_HEO fuse? Thanks! Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM Can you also share this with me, please? Why isn't this just posted in a public app note, or the reference manual or security reference manual? Security through obscurity is not security. Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM Could you make this email public information? Why is this information not listed in the security reference manual? For the i.MX8M Nano this is listed in the security reference manual. But I cannot know whether the Mini uses the same fuses. Also, AN4581 also lists fuse DIR_BT_DIS to be of interest. But I cannot find any reference of it. Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM We also want to disable JTAG on the imx8m-mini and I couldn't find any info of about it in Reference Manual, Rev. 2, 08/2019 Chapter 6.2 Fusemap. Could you also point me into the right direction. Thank you! Re: Programming SJC_DISABLE, JTAG_SMODE and JTAG_HEO fuses on iMX8MM Hi rodrigo_travess additional info were sent via mail. Best regards igor
記事全体を表示
S32K344 CAN 接收 参考 "Can_Example_S32K344 "示例项目。 CAN_43_FLEXCAN_MAINFUNCTION_MULTIPLE_WRITE "变为 "STD_ON","Can_43_FLEXCAN_MainFunction_Read" "被禁用,因此无法接收 CAN 信号。 Can_43_FLEXCAN_MainFunction_Read_CanMainFunctionRWPeriods_0" 未启用。 我已经安装了 3 个频道,“FLEXCAN_0”、“FLEXCAN_2” 和 “FLEXCAN_5”。         附带的是 "FLEXCAN_0 "的 "Can_43_FLEXCAN "设置屏幕。 Re: S32K344 CAN receive 你好,@toru88、 应该没有问题。传输时,请确认波特率和采样点是否设置正确。您使用的是两块板还是 CAN 分析仪工具? 社区中有一些 CAN 示例,请参考: [RTD600 MCAL & IP] S32K3X4EVB-T172 FlexCAN 示例中断/轮询-恩智浦社区 示例 S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO DMA 测试 S32DS3.5RTD400 - NXP 社区 示例 S32K358 FlexCAN TXRX ISR S32DS35 RTD400/500 - NXP Community 致以最诚挚的问候, Julián Re: S32K344 CAN receive 你好,胡利安 由于无法更改到版本 6.0,我能够通过执行以下定义进行构建。 这个答复有问题吗? #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_0 CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_0 #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_1CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_1 #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_2 CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_2 #defineCAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_CanMainFunctionRWPeriods_3 CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_3 #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_CanMainFunctionRWPeriods_4CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_4 #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_CanMainFunctionRWPeriods_5 CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_5 我正在尝试让它工作,但无法发送/接收 CAN。 我参考 “Can_Example_S32K344” 进行设置。 我认为如果取消选中 "Can Loop Back Mode(可回环模式)",就可以从外部发送/接收 CAN 数据。 CAN 数据接收到 MCU 的终端。 是否有任何在 CAN 总线上发送和接收帧的示例代码? 致以最诚挚的问候, toru88 Re: S32K344 CAN receive 你好,@toru88、 你说得对。我测试了您的项目,没有生成主函数 RW 周期的正确定义。但是,这个问题似乎已在6.0.0版本中修复(我目前正在使用RTD代码包)。您能将 RTD 更新到新版本吗? 如果没有,只需编辑Can_43_FLEXCAN_Cfg.h即可。文件,如下所示。 从这里: /** * @brief Period for cyclic call of Main Function Read/Write */ #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_0 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_1 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_2 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_3 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_4 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_5 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_MULTIPLE_WRITE (STD_ON) #define CAN_43_FLEXCAN_MAINFUNCTION_MULTIPLE_READ (STD_ON) 对此 /** * @brief Period for cyclic call of Main Function Read/Write */ #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_0 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_1 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_2 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_CanMainFunctionRWPeriods_3 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_CanMainFunctionRWPeriods_4 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_WRITE_PERIOD_CanMainFunctionRWPeriods_5 (0.001F) #define CAN_43_FLEXCAN_MAINFUNCTION_MULTIPLE_WRITE (STD_ON) #define CAN_43_FLEXCAN_MAINFUNCTION_MULTIPLE_READ (STD_ON) Re: S32K344 CAN receive 你好,胡利安 我有同样的设置,但结果不同。 无法生成 RWPeriods_0/1/2。 附上设置屏幕截图。 我还附上了正在开发的 S32K 项目。 请检查 "AGV_CTRL.mex"。 用户程序已删除。 S32K Design Studio for S32 Platform 的版本为 "Verison 3.5"。 致以最诚挚的问候, toru88 Re: S32K344 CAN receive 你好,@toru88、 当仅定义了 1 个 RW 周期时,使用单个函数进行轮询: void Can_43_FLEXCAN_MainFunction_Read(void); 另一方面,当定义多个周期时,会针对不同的时间要求定义多个轮询函数: void Can_43_FLEXCAN_MainFunction_Read_CanMainFunctionRWPeriods_0(void); void Can_43_FLEXCAN_MainFunction_Read_CanMainFunctionRWPeriods_1(void); // etc. 但是,您还需要在 CanHardwareObject 容器中正确配置 CAN 实例各自的 RWperiod,否则,在生成代码时,将不会生成 RWPeriods_0/1/2/3: 致以最诚挚的问候, Julián Re: S32K344 CAN receive 你好 Julián_AragónM 感谢您的答复。 感谢您的回复。 CAN_43_FLEXCAN_MAINFUNCTION_MULTIPLE_WRITE "变为 "STD_ON","Can_43_FLEXCAN_MainFunction_Read "从编译目标中删除。 以下定义尚未完成。 - CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_0 - CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_1 - CAN_43_FLEXCAN_MAINFUNCTION_READ_PERIOD_CanMainFunctionRWPeriods_2 由于未设置该定义,因此无法启用以下功能。 因此,在 Main 中调用的代码中会出现编译错误。 -can_43_flexcan_mainfunction_read_canMainFunctionrwperiods_0-can_43_flexcan_mainfunction_read_canMainfunctionrwperiods_1-can_43_flexcan_mainfunctionrwperiods_read_c anMainfunctionrwp 该代码尚未运行,无法版本。 顺祝商祺! toru88 Re: S32K344 CAN receive 你好,@toru88、 您能提供更多信息吗?您是否在 FlexCAN 接收方面遇到问题?您提到""Can_43_FLEXCAN_MainFunction_Read" 已禁用,因此无法接收 CAN。",您的主代码中是否无法读取帧? 如果可能,请分享您的项目(或 main.c文件),这样我就能了解你的日常工作是什么了。 此外,您还可以参考 RTD 中的示例。它们与本培训演示中显示的相同:S32K3xx 通信模块:带有 rtd 和低级驱动程序的 flexcan。 这些项目配置为环回,因此需要启用正常/用户模式并初始化收发器输出引脚(CAN_H& CAN_L)。 还有一些社区帖子提供了一些实例: 示例 S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO DMA 测试 S32DS3.5RTD400 - NXP 社区 已解决:S32K344 EVB 与 MCAL FLEXCAN TJA1153 - NXP Community 致以最诚挚的问候, Julián
記事全体を表示
Transmit and receive Raw packet through Wifi SDK Dear Reader   I am working on NXP RW612 SoC and trying to send and receive a raw wifi packet using NXP Wifi driver between two devices without any handshake. Do you have any idea how I can implement it? The following functions have not been implemented yet, and only their signature is available in the Wifi.h file : int wifi_raw_packet_send(const t_u8 *packet, t_u32 length); int wifi_raw_packet_recv(t_u8 **data, t_u32 *pkt_type); Do I need to set the receiver in monitoring mode and use the following function in the transmitter? int wifi_inject_frame(const enum wlan_bss_type bss_type, const uint8_t *buff, const size_t len) Re: Transmit and receive Raw packet through Wifi SDK I have tested the wifi_test_mode example, and I noticed that it only sends an 802.11 frame with a fixed payload pattern. In my case, I need to send and receive raw 802.11 frames with a custom payload. Can I use the following function for this purpose? int wifi_inject_frame(const enum wlan_bss_type bss_type, const uint8_t *buff, const size_t len); If so, how can I receive the packets on the receiver side? Thank you in advance for your support. Best regards, Re: Transmit and receive Raw packet through Wifi SDK Hi, The wifi_test_mode application demonstrates the CLI support for various RF and regulatory compliance tests. You will find more details on section 4.9.1.7 Transmit standard 802.11 packets (UM11799). Regards, Daniel. Re: Transmit and receive Raw packet through Wifi SDK For more information. I actually need to send and receive data over the 80.11 MAC layer. Re: Transmit and receive Raw packet through Wifi SDK Dear Daniel, Thank you for your reply. I have reviewed the wifi_test_mode SDK example. However, this example still creates a STA and uAP. What I actually need is to transmit and receive data without any handshake. Do you know how I can implement that? Also, I have made significant efforts to use monitor mode, but I haven't been able to start it successfully. Could you please provide a sample code for monitor mode? Thank you in advance for your support. Best regards, Mohsen Re: Transmit and receive Raw packet through Wifi SDK Hi, To send raw Wi-Fi packets you can try wifi_test_mode SDK example. Regards, Daniel.
記事全体を表示
NON XIP via JTAG RT1176 According to this application note: https://www.nxp.com/docs/en/application-note/AN14069.pdf , NON XIP images can only be loaded via MCU Boot Utility via UART and USB.  I was looking to confirm that there is no way to load an XIP Image to flash via MCU Link or Jlink within MCUXpresso IDE?  If MCU Link must be used, I'd like to confirm these are the correct UART pins bellow to route out. I do not see an option for Boot through USB on the datasheet: https://www.nxp.com/docs/en/data-sheet/IMXRT1170AEC.pdf (apologies if I missed it). I've seen a few things online mentioning boot via USB is just connecting USB to the same UART Pins? Thanks, Anteo Re: NON XIP via JTAG RT1176 Hi @AnteoJ , Thanks for your interest in NXP MIMXRT series! Non-XIP images such as those booted from SD card need to be flashed with MCUBootUtility or NXP's official MCUXpresso Secure Provisioning tool. If the image is XIP, it can be programmed to flash by debugger such as JLink/DAP. It's easy to do in MCUXpressoIDE or any other IDE. If you are using RT1170-EVK/EVKB, you will find that there is an MCU-Link on the board, which is an on-board debugger, which is convenient for customers to flash programs and debug directly through the on-board debugger without using an external debugger. Moreover, MCU-Link can be changed to JLink or CMSIS-DAP debugger by programming different firmware. For details, you can check EVK/EVKB hardware schematics. Best regards, Gavin
記事全体を表示
NXP:蓝牙与信道探测天线 这些幻灯片是为马德里卡洛斯三世大学的欧洲天线学校准备的。内容: - 关于NXP和无线控制器 - 关于信道探测和NXP解决方案 - CS天线设计及功能测试 - CS天线阵列与CS定位
記事全体を表示
Installing a Zephyr SDK version The Zephyr SDK is a set of build tools for building Zephyr applications. It includes GCC and CMake, and each Zephyr release is tied to a specific Zephyr SDK version. This version is noted in the SDK_VERSION file in the Zephyr repository. Using the recommended Zephyr SDK version is important—mismatched versions can cause build errors. For example, Zephyr v4.1 specifies Zephyr SDK v0.17.0. If you use Zephyr SDK v0.17.2 (meant for Zephyr v4.2) with Zephyr v4.1, you’ll encounter build errors. If you need to build apps for Zephyr v4.1, install Zephyr SDK v0.17.0. You can install multiple Zephyr SDK versions and switch between them at build time (see instructions below). Full vs. Minimal Install Full Install: Includes all toolchains for every supported SoC architecture. Recommended for beginners but requires more disk space and download time. Minimal Install: Lets you choose only the toolchains you need. Saves space and time. For Minimal install, run the setup.cmd script to select which tools to install.  On NXP boards, select: Register Zephyr SDK CMake package Install host tools aarch64-zephyr-elf (64-bit ARM) arm-zephyr-eabi (32-bit ARM, including NXP MCUs) optional  xtensa-nxp… (Cadence Tensilica DSP cores) Installing Zephyr SDK These steps cover installing the Zephyr SDK using the MCUXpresso Installer, West from CLI, or manual download. Installing with MCUXpresso Installer The MCUXpresso Installer started supporting packs for Zephyr with Zephyr v4.2.  Each pack installs the matching Zephyr SDK version (e.g., v4.2 pack installs SDK v0.17.2).  This option Installs a minimal set of tools for NXP development. The MCUXpresso Installer does not support older Zephyr SDK versions. For v0.17.1 or earlier, use West or manual install. Installing with West CLI Zephyr Project added Zephyr SDK installation to West. For CLI, Activate your Python Virtual Environment, then run: west sdk install --version 0.17.0   If --version is omitted, West uses the version in the SDK_VERSION file of the Zephyr repo. By default, installs the Full package. For minimal, add -i . Installing by Manual Download Download the Zephyr SDK from the https://github.com/zephyrproject-rtos/sdk-ng/releases. Choose Full or Minimal for your host OS. Extract to your user folder (default location for West and MCUXpresso): Windows: C:\Users\ \zephyr-sdk-0.17.0 Ubuntu: /home/ /zephyr-sdk-0.17.0 Selecting Zephyr SDK Version Multiple Zephyr SDK versions can coexist. West uses the latest by default, but you can override it: VS Code: When importing examples, select the Zephyr SDK version in the wizard. CLI: Set the environment variable ZEPHYR_SDK_INSTALL_DIR  before building.  This command sets that variable in Ubuntu: export ZEPHYR_SDK_INSTALL_DIR="/home/ /zephyr-sdk-0.17.0" Or in Windows: set ZEPHYR_SDK_INSTALL_DIR= C:\Users\ \ zephyr-sdk-0.17.0   Return to Zephyr Knowledge Hub    
記事全体を表示
实践研讨会:利用恩智浦汽车智能射频远程控制接口 (RCI) 进行开发 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP 的 RF 产品 Lizard、MantraCS、MantraF 的 RCI 介绍。使用 RCI 固件和配置开发套件 (CDK) 可以轻松实现系统集成和开发。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXP 的 RF 产品 Lizard、MantraCS、MantraF 的 RCI 介绍。使用 RCI 固件和配置开发套件 (CDK) 可以轻松实现系统集成和开发。
記事全体を表示
下一代功能安全架构 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 概述 S32x 下一代安全架构,涵盖 ASIL B 至 ASIL D。有哪些新功能以及我们如何更好地为客户提供全套安全附属品,包括 MCU HW、SW 和 SBC HW。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 概述 S32x 下一代安全架构,涵盖 ASIL B 至 ASIL D。有哪些新功能以及我们如何更好地为客户提供全套安全附属品,包括 MCU HW、SW 和 SBC HW。
記事全体を表示
HMB-N1937 接続デバイス用のAndroidベースのBrillio OSの紹介 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Brilloは、Androidをベースにした軽量OSで、オープンで拡張性があり、安全な小さなフットプリントを備えたコネクテッドデバイス向けです。Brilloは、Androidプラットフォームを接続されているすべてのデバイスに拡張するため、セットアップが簡単で、相互に連携したり、スマートフォンとシームレスに連携したりできます。Googleの通信API「Weave」が付属しており、Brilloデバイスが相互に通信して交換したり、データをクラウドに保存したりするのを簡単に行うことができます。このクラスでは、Brillo と、NXP が Google と協力して Brillo を i.MX 6UltraLite プロセッサやその他のプラットフォームに導入した方法を紹介します。 ビデオプレゼンテーションを見る <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Brilloは、Androidをベースにした軽量OSで、オープンで拡張性があり、安全な小さなフットプリントを備えたコネクテッドデバイス向けです。Brilloは、Androidプラットフォームを接続されているすべてのデバイスに拡張するため、セットアップが簡単で、相互に連携したり、スマートフォンとシームレスに連携したりできます。Googleの通信API「Weave」が付属しており、Brilloデバイスが相互に通信して交換したり、データをクラウドに保存したりするのを簡単に行うことができます。このクラスでは、Brillo と、NXP が Google と協力して Brillo を i.MX 6UltraLite プロセッサやその他のプラットフォームに導入した方法を紹介します。 ビデオプレゼンテーションを見る スマートホーム&ビル
記事全体を表示
New CodeWarrior for MCU V10.7 is available Greetings, CodeWarrior for MCU V10.7 is now available for download from nxp.com at CodeWarrior for Microcontrollers-Eclipse IDE|NXP   Major features Combines all the previous CodeWarrior for MCU V10.6.x downloads into a single download and installer Windows 8 and 10 support Added S12Z and S08 device support Updated P&E and Segger debug libraries Various enhancements and bug fixes See attached release notes for details.   It is available as 'offline' and 'online' version: The offline package contains all architectures supported (ColdFire, ColdFire+, S08, RS08, S12, S12/XGATE, S12Z, DSC, Qorivva, Kinetis), while the online setup executuble contains the common parts, and the selected architectures are downloaded on demand. The setup will install a 30 day temporary professional license which afterwards default to 'special' edition (code size limited) mode. CodeWarrior for MCU V10.7 is compatible with V10.6 and any existing professional V10.6 license can be used with V10.7. It is not necessary to uinstall any previous CodeWarrior version, as V10.7 can be installed side by side with existing CodeArrior versions.     NXP CodeWarrior Team General Re: New CodeWarrior for MCU V10.7 is available hi       Does this software support MPC5748G development? Re: New CodeWarrior for MCU V10.7 is available thank you very much! Re: New CodeWarrior for MCU V10.7 is available Hello, yes, the offline package contains all the architectures shown in your last screenshot. So it supports the S12Z, and *not* the normal S12 you are showing in your previous screenshot: If you want to use S12, you have to use Codewarrior (classic, not Eclipse based) 5.x. And yes, USBDM is not included in that installation, but I think you can add it (refer to the USBDM pages for this). I hope this helps, Erich Re: New CodeWarrior for MCU V10.7 is available Hi Erich Styger,This offline package contains all architectures supported (ColdFire, ColdFire+, S08, RS08, S12, S12/XGATE, S12Z, DSC, Qorivva, Kinetis)? I want to add same S12 derivatives (For example,MC9S12G48).What do I need to do?  I need to use USBDM,but CodeWarrior5.1/5.2 don't support it.
記事全体を表示
Automotive Lighting Control Using FRDM-A-S32K3XX Microcontrollers 1. Overview This module demonstrates how to implement a vehicle lighting control system using analog input acquisition and FlexIO-based LED driving on NXP S32K3 microcontrollers. The application reads analog inputs from the Analog Key Click module (six push-buttons, each generating a distinct voltage level) and converts them into commands that drive a 4x4 RGB LED matrix. Each button press activates a specific lighting function — low beam, high beam, turn signals, brake lights, or hazard lights — while safety interlocks and blinking patterns run continuously in the background, mimicking how a real automotive Body Control Module (BCM) manages vehicle lighting. This example is based on Application Code Hub demonstrations for: Vehicle Lighting Control for Daylight and Hazard Signals on FRDM-A-S32K344 Vehicle Lighting Control for Daylight and Hazard Signals on FRDM-A-S32K312 In this workshop, the Analog Key Click simulates six vehicle lighting controls. When the student presses a button, an analog voltage proportional to the pressed key is read by the MCU through the ADC (with software debouncing), decoded into a specific lighting command, and translated into an RGB pattern generated by the FlexIO peripheral. The 4x4 RGB Click then displays the corresponding automotive lighting behavior in real time — warm white for low beams, cool white for high beams, blinking amber for turn signals and hazards, and red for brake lights. Beyond the technical implementation, the course serves as a foundation for the Eat-Sleep-Code-Repeat learning initiative, encouraging a hands-on approach where students continuously learn, develop, test, and improve automotive embedded applications using real hardware and practical examples. 2. Learning Scope After completing this course, participants should be able to:   Understand a basic vehicle lighting control system and the ideas behind an automotive Body Control Module (BCM). Use the Analog Key Click as a simulated multi-button user interface (six inputs on a single analog line). Acquire analog values (0–3.3 V) using the ADC and understand how multiple buttons share one channel through voltage division. Perform software debouncing and decode which button was pressed based on ADC value ranges. Drive an RGB LED matrix using the FlexIO peripheral, generating precise timing for WS2812-style LEDs. Implement safety interlocks between lighting functions (e.g., high beam requires low beam ON). Implement continuous background patterns such as blinking turn signals and synchronized hazards. Recognize the actuation data flow: analog input → ADC → command decoding → FlexIO LED output. Import, build, flash, and debug an ACH project in S32 Design Studio 3.6.5. Understand why lighting functions are relevant for automotive safety and driver visibility. 3. System Architecture The three elements capture exactly the basic idea of the system in the demo: Input: Analog Key Click (six buttons T1–T6, each generating a distinct analog voltage level) Processing: S32K3 MCU (reads the ADC, decodes the button, applies BCM logic, updates the LED state) Output: 4x4 RGB Click (16-LED matrix driven by FlexIO to display lighting patterns) This matches the classic flow of an embedded body-control system: sensor → processing → actuator. Functional Flow The system operates continuously as follows: The user presses a button on the Analog Key Click (T1–T6) Each button generates a distinct analog voltage on the shared output line The ADC samples the voltage and converts it into a digital value The application decodes which button was pressed (with debouncing) The BCM logic applies interlocks and dependencies (e.g., high beam requires low beam) The FlexIO peripheral drives the RGB Click LEDs with the corresponding color pattern This loop runs continuously to ensure real-time lighting control, with blinking patterns and safety interlocks maintained in the background. Vehicle Lighting Control Application Architecture  4. Key Concepts 4.1 ADC (Analog-to-Digital Converter) The Analog Key Click outputs 0–3.3 V on a single analog line, with each button generating a specific voltage step. The ADC samples this voltage on ADC0_P0 (pin PTD1) at regular intervals and quantizes it into a digital code (a 12-bit ADC produces values between 0 and 4095). Each button corresponds to a specific value range, allowing six digital inputs to be read through a single ADC channel. ADC acquisition is the foundation of automotive sensing — used for switches, buttons, sensors, and many others. 4.2 Analog Multi-Button Decoding Instead of using six separate GPIO pins, the Analog Key Click uses a resistor ladder that produces a different voltage for each button press. The application performs software debouncing (multiple ADC samples must agree before a press is confirmed) and then compares the ADC value against predefined thresholds to identify which button (T1–T6) was pressed. This technique is common in automotive steering-wheel controls, where many buttons share a single analog line to save wiring and pins. 4.3 FlexIO — Driving the RGB Click LEDs FlexIO is a highly flexible peripheral on S32K3 that can emulate serial protocols like WS2812/NeoPixel. The RGB Click uses individually addressable LEDs that require precise timing (~800 kHz with strict pulse widths). FlexIO on PTA13 (FlexIO_D8) generates this waveform in hardware, without loading the CPU. Each of the 16 LEDs receives its color data through a serial stream, allowing independent control of color and brightness per LED. 4.4 RGB LED Mapping and Lighting Zones The 16 LEDs of the RGB Click are logically grouped into automotive lighting zones: LEDs 13, 14 → Low Beam Headlights (warm white) LEDs 8, 9, 10, 11 → High Beam Headlights (cool white) LEDs 0, 12 → Left Turn Signal (blinking amber) LEDs 3, 15 → Right Turn Signal (blinking amber) LEDs 1, 2, 5, 6 → Brake Lights (red) LEDs 0, 3, 12, 15 → Hazard Lights (synchronized blinking amber) 4.5 BCM Safety Interlocks and State Dependencies The application implements safety logic typical of a real Body Control Module: high beam can only be activated when low beam is already ON; turning OFF the low beam automatically disables the high beam; hazard lights synchronize left and right turn signals simultaneously; high beam state is preserved during hazard blinking and restored between cycles. These interlocks illustrate how real automotive lighting logic prevents unsafe combinations and preserves driver intent. 4.6 Data Flow at a Glance Button press → analog voltage on shared line → ADC sample → software debouncing → button decoding → BCM logic (interlocks + dependencies) → FlexIO WS2812 output stream → RGB LED color update. This direct chain from the student's finger to the LEDs is the main educational value of the demo. 5. Hardware and Software Setup Required Hardware Component Image Purpose FRDM-A-S32K312 Alternative MCU platform used to run the lighting application and process user inputs. FRDM-A-S32K344 Alternative MCU platform used to run the lighting application and control connected peripherals. FRDM-K64 Click Shield mikroBUS expansion board used to connect Click modules to the FRDM platform. Analog Key Click Six-button analog module used to simulate the vehicle lighting controls (headlights, indicators, brakes, hazards). 4x4 RGB Click 16-LED RGB matrix used to display the automotive lighting patterns in real time. USB-C / 12 V supply — Provides power and enables programming and debugging of the system through a single USB-C connection. The example applications demonstrate how these peripherals are connected to the MCU pins and used to simulate a complete vehicle lighting control system. Vehicle Lighting Control on FRDM-A-S32K312 Vehicle Lighting Control on FRDM-A-S32K344 Software Environment S32 Design Studio IDE S32K3 Automotive Software Package Application Code Hub project import Vehicle Lighting Control for Daylight and Hazard Signals on FRDM-A-S32K344 Vehicle Lighting Control for Daylight and Hazard Signals on FRDM-A-S32K312 6. Implementation Guide Step Action Sub-steps Expected Result 1 Import the Project Open S32 Design Studio 3.6.5 Select “Import project from Application Code Hub” Search for “Lighting” Select the desired project for your FRDM board Use the GitHub link for automatic configuration Select main branch Import project Project successfully appears in workspace 2 Build the Application Right-click project Select “Update Code and Build Project” Confirm SDK component management Build completes with no errors and generates .elf file 3 Connect Hardware Connect USB-C cable (and 12 V supply for FRDM-A-S32K312) Attach FRDM-K64 Click Shield, Analog Key Click and 4x4 RGB Click Verify wiring on PTA13 (FlexIO) and PTD1 (ADC) Board is powered and detected by IDE 4 Flash and Run Open Debug Configurations Select “debug_flash_pemicro” Start debugging Application runs continuously; LEDs perform startup test sequence 5 Functional Validation Press buttons T1–T6 on the Analog Key Click Observe corresponding LED patterns on the RGB Click Verify safety interlocks (high beam requires low beam) Verify continuous blinking on turn signals and hazards RGB LEDs display the correct automotive lighting patterns for each button 7. Signal Behavior and Control Logic   The following diagram illustrates how each user input on the Analog Key Click is mapped to a specific lighting function and to the individual LEDs of the 4×4 RGB Click matrix. Each button (T1–T6) triggers a unique combination of LEDs, colors, and patterns, reproducing the behavior of a simplified automotive lighting system.    The MCU continuously monitors the analog input from the Analog Key Click and decodes which button is pressed. Based on the detected input, the application activates the corresponding lighting function by driving the assigned LEDs on the 4×4 RGB Click through the FlexIO serial interface. Steady functions (Low Beam, High Beam, Brake) keep the associated LEDs constantly ON, while directional functions (Left Turn, Right Turn, Hazard) toggle the LEDs at approximately 1 Hz to reproduce the blinking behavior of real vehicle indicators. Additional control rules — such as High Beam requiring Low Beam to be active, or Hazard Lights preserving and restoring the High Beam state — reflect the interdependencies found in a real automotive body control module. 8. Troubleshooting Issue Possible Actions Board Not Detected Check USB-C cable and drivers Verify debugger connection Restart IDE No LEDs Lighting Up Verify FlexIO configuration on PTA13 Check 3.3 V and GND wiring on RGB Click Confirm data-line wiring to IN1 Buttons Not Detected Verify ADC0_P0 configuration on PTD1 Check 3.3 V and GND wiring on Analog Key Click Confirm software debouncing thresholds Wrong Button Triggered Recalibrate ADC value ranges for each button Verify power supply stability (3.3 V) Check for noise on the analog line Incorrect LED Colors or Timing Verify FlexIO clock configuration (WS2812 timing) Check LED index → color mapping in code Ensure RGB order (GRB vs. RGB) matches the LED type High Beam Not Activating Ensure low beam (T1) is ON first — BCM interlock Check application logic for beam dependencies 9. Extending the Application The basic implementation can be extended in several ways: Additional Lighting Functions Add fog lights, parking lights, or daytime running lights (DRL) Simulate reverse lights that activate when a specific input is triggered Adaptive Front Lighting Integrate a steering angle input (e.g., POT Click) to swivel the headlights Simulate cornering lights that turn on when indicators are active Ambient Light Sensing Add a light sensor to automatically enable low beams at dusk Implement smooth dimming between day and night modes Brake Light Enhancements Add an emergency brake flashing pattern for hard braking Implement a third brake light (single LED, always ON with brakes) CAN Communication Enable communication with other vehicle ECUs (e.g., BCM master, doors) Receive lighting commands over the vehicle network State Machine Implementation A more advanced approach is to implement a formal state machine covering: Off DRL / Parking Low Beam High Beam Hazard / Fault 10. Safety Context This example reflects key automotive principles: Continuous monitoring of driver input Immediate response to control signals Reliable actuator (LED) control with predictable timing Safety interlocks between lighting functions (high beam requires low beam) In real systems: Redundancy is required for safety-relevant functions (e.g., brake lights, hazards) Fault detection mechanisms are implemented (open lamp, short circuit, overcurrent) Systems must comply with ISO 26262 (functional safety standard) Vehicle lighting is one of the most safety-critical automotive functions because it directly affects driver visibility and vehicle conspicuity. Modern Body Control Modules implement extensive diagnostics, backup lighting strategies, and fail-safe defaults (e.g., hazard lights activated on power-loss recovery). 11. Conclusion This module demonstrates how a simple embedded system can implement complete vehicle lighting control using ADC input and FlexIO output on the S32K3 platform. It shows how: Multiple digital inputs can share a single analog line through resistor-ladder decoding Analog data is acquired, debounced and processed in real time Complex automotive lighting patterns are controlled through FlexIO-driven WS2812 LEDs Safety interlocks and background blinking patterns are managed by BCM-style logic Result on FRDM-A-S32K312 Result on FRDM-A-S32K344 FRDM-A-S32K312FRDM-A-S32K312 FRDM-A-S32K344FRDM-A-S32K344 The course provides a strong foundation for more advanced systems, including adaptive lighting, CAN networking, ambient sensing, and safety-oriented designs typical of automotive body-control modules.
記事全体を表示
UJA1169ATK/F/3 我正在使用连接到 FlexCAN1 上的 S32K146 CPU 的 UJA1169ATK/F/3。UJA1169ATK/F/3 用于部分联网,通过唤醒帧(无 FD!)将整个系统从深度睡眠模式唤醒。 实际上,只要在 CAN 总线上发送有效的帧(有效帧是指与所选过滤掩码兼容的帧),一切都能正常工作。 当发送不需要的帧(即语法正确但未通过 WUP 过滤的非 FD 帧)时,就会出现问题。通常情况下,如果发送了一个这样的帧,那么任何后续的有效帧都不会再唤醒收发器。似乎当出现不需要的帧时,UJA1169ATK/F/3 经常会锁定其正确识别有效帧的能力,从而无法唤醒。 首先我猜测问题可能是总线上的某些东西产生了总线错误,进而导致 UJA1169ATK/F/3 进入 RESET 模式,而没有移动 RX 信号,因此没有通知 CPU。但事实并非如此,因为我使用了 CAN 总线监测器,没有记录到总线错误(请注意,我使用 Windows 应用程序在 CAN 总线上生成消息,并使用另一个应用程序监测总线;这两个应用程序都使用单独的 USB/CAN 变流器)。 您知道问题可能出在哪里吗? Re: UJA1169ATK/F/3 你好,米歇尔, 您描述的行为很可能与 UJA1169A 的内部 PN 错误处理有关。 该设备维护一个内部帧检测错误计数器。如果接收到的帧序列与配置的 PN 滤波器不匹配(或在 PN 评估中被解释为无效),则此计数器可能会溢出并触发 PN 帧检测错误 (PNFDE)。 一旦出现这种情况,SBC 可能会暂时停止正确识别有效的唤醒帧,这可以解释为什么后续的有效帧不再唤醒设备。 我建议检查 PNFDE 状态位并验证 PN 配置(ID/掩码、DLC、数据掩码和数据速率设置)。作为调试步骤,您可以尝试禁用数据字段评估 (PNDM = 0) 以确定问题是否与数据筛选有关。 请告知我观察到的 PNFDE 状态和 PN 配置,以便我能进一步支持您的分析。 BRs,托马斯
記事全体を表示