Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
From Figma to GUI Guider: Accelerating Embedded GUI Development Bridging design and engineering to move embedded GUI projects from concept to implementation faster 1. Why a Smoother Path from Design to Embedded GUI Matters In embedded GUI projects, the interface design is often completed in Figma, while the engineering implementation still needs to be rebuilt in GUI Guider by creating widget hierarchies, configuring resources, and validating the final result. For projects with many screens or frequent design iterations, this process can be repetitive and may introduce gaps between the design intent and the implemented interface. Figma to GUI Guider offers a structured workflow that helps convert Figma designs into GUI Guider project assets. It maps Figma layers and components to LVGL widgets, generates GUI Guider project JSON, and exports a project package that can be imported into GUI Guider. The converted result provides a practical engineering starting point, while developers can continue editing, simulating, and validating the project in GUI Guider. Positioning This plugin is designed to shorten the initial conversion path from design handoff to engineering implementation. Figma designs should be treated as implementation references, rather than a complete guarantee of embedded runtime behavior. Actual projects still need to be adapted and validated against the resource constraints and rendering capabilities of the target platform. 2. How the Plugin Connects Design and Engineering Capability Description Read the Figma design tree Displays the Figma Design Tree in the plugin panel, helping developers review the node hierarchy of the design. Configure LVGL type mapping Sets the appropriate LVGL widget type for each design node and controls whether the node is included in conversion. Generate GUI Guider project JSON After conversion, previews the generated GUI Guider project JSON in the output area. Export the project package Exports a zip package via Download, including the converted project files and related image resources. Import into GUI Guider After extracting the exported package, import the .guiguider file in GUI Guider through Import Project and continue development. 3. Quick Start: Running the Plugin in Figma The Figma to GUI Guider plugin is available on Figma Community and can be launched directly from the Figma desktop app or browser version, without manually downloading a plugin package. The current release supports Windows. Open the Figma desktop app or browser version and sign in to your Figma account. Go to the Figma to GUI Guider plugin page, or search for the plugin name in Figma Community. On the plugin page, click Open in… to run it directly, or save it to your account for future use. Open the target design file and launch the plugin from the Plugins menu. You can also right-click on the canvas and run it from the Plugins menu. 4. Understanding the Plugin Interface After the plugin is launched, it appears as a panel inside the Figma workspace. For first-time users, we recommend becoming familiar with the key areas of the interface before configuring mappings and running the conversion. Figma Design Tree: Shows the layer and component hierarchy of the current design file. Each node can be configured with an LVGL type and conversion status. Design Node: Displays the node name and Figma type, and uses the LVGL Type Selector to define the widget type after conversion. Refresh / Convert: Refresh reloads the current Figma file structure, while Convert generates the output based on the current mapping configuration. About: Provides plugin information, version details, support contacts, and reference links. GUI Guider Project JSON: Shows the generated project JSON after conversion, making it easy to quickly review the structure. Clear / Copy / Download: Clears the output, copies the JSON, or exports the project zip package and image resources. 5. Recommended Workflow: Review Mapping Before Generating the Project When the plugin is opened for the first time, it generates an initial mapping based on the Figma nodes. Instead of converting immediately, reviewing and adjusting the node mappings first usually produces a project structure that better matches engineering expectations. 1 Review the automatic mapping Browse the design tree and confirm that text, buttons, images, and other nodes are assigned appropriate LVGL widget types. 2 Adjust widget types If the automatic mapping does not meet expectations, update the node type through the Type Selector. Mapping settings are saved in the Figma project. 3 Control the conversion scope Use Disable in Conversion for nodes that should not be included in the output. Disabled nodes will not appear in the generated JSON, while their child hierarchy is preserved. 4 Run Convert After configuration is complete, click Convert to generate the GUI Guider project JSON and review the result in the output area. 6. Generate the Project and Import It into GUI Guider After conversion is complete, first review the structure in the GUI Guider Project JSON area. If the node type, hierarchy, or disabled status does not match expectations, return to the design tree, adjust the mapping, and run Convert again. Once the result is confirmed, click Download to export the zip package. The exported package includes the converted project files and related image resources. Extract the zip file, open GUI Guider, select Import Project on the home page, and choose the .guiguider file from the extracted folder to complete the import. If the design uses custom fonts, copy the font files to the resources/font folder in the project directory. After import, developers can continue editing the interface in GUI Guider and validate the project using the JS simulator, the C simulator, or the target platform. 7. Use Cases and Best Practices This plugin is especially useful for teams that already have Figma designs and want to quickly create a GUI Guider project starting point. It can support projects with clear page structures, frequent design iterations, or a need to reduce repetitive communication between design handoff and embedded GUI development. Keep the design structure close to the widget hierarchy: The closer the Figma layer structure is to the parent-child relationship of LVGL widgets, the easier the converted result is to understand and maintain. Treat the converted result as an engineering starting point: The plugin helps reduce initial setup work, but resources, fonts, rendering capabilities, and runtime behavior still need to be validated on the embedded platform. Keep the import environment clean if import fails: If the project cannot be imported successfully into GUI Guider, remove the previously imported design project and retry from a clean state. 8. Summary: Bringing Design into the Engineering Workflow Faster The Figma to GUI Guider plugin provides a more direct connection between Figma designs and GUI Guider projects. Through design tree parsing, LVGL type mapping, node-level conversion control, JSON preview, and project package export, developers can bring existing design assets into the GUI Guider workflow faster, then continue with engineering edits, simulation, and target-platform validation. For teams that already use Figma for interface design, this plugin helps reduce repetitive interface-building work and enables smoother collaboration between design handoff and embedded GUI development. Search for Figma to GUI Guider in Figma Community to try the plugin, then use GUI Guider to continue editing, simulation, and target-platform validation. We welcome your questions, suggestions, and practical feedback as we continue improving the workflow from design to embedded GUI implementation.
View full article
Using the I8 Image Format within GUI Guider Reducing image resource usage in embedded GUI applications When developing embedded GUIs, many projects encounter a familiar challenge: image resources begin consuming a significant amount of Flash before the interface becomes complex. Icons, buttons, status indicators, logos, and other assets may seem small individually, but their cumulative footprint can reduce the space available for future features. I8 (Indexed 8-bit) is an effective option for reducing image storage while preserving acceptable visual quality. This guide explains the fundamentals of I8, its suitable use cases, and practical recommendations for using it in GUI Guider projects. 1. Why Use the I8 Image Format? In MCU-based projects, image resources often occupy a large portion of Flash. For assets with a limited number of colors, such as icons, status images, logos, and industrial HMI elements, I8 can reduce storage usage while preserving the essential visual appearance. I8 stores an image using a pixel-index and color-palette mechanism. Each pixel stores a one-byte index, which maps to an actual color in the palette. This makes I8 especially suitable for UI assets with concentrated color sets, clear boundaries, and highly graphical content. Storage Comparison of Common Image Formats Image Format Typical Storage per Pixel Suitable Use Cases RGB888 3 bytes Images with rich colors and high color-fidelity requirements RGB565 2 bytes Common MCU displays balancing visual quality and resource usage ARGB8888 4 bytes Images requiring an alpha channel and high-quality rendering I8 1 byte + palette Icons, logos, and HMI elements with a limited color set 2. What Is an I8 Image? I8 stands for Indexed 8-bit. Instead of storing complete color information in every pixel, an I8 image stores an 8-bit index that points to a color in a palette. Because an 8-bit value represents up to 256 indices, an I8 image supports a maximum of 256 colors. This format is well suited to UI assets with limited colors, sharp boundaries, and graphic-style content. Key Advantages Smaller image files and lower Flash consumption. Lightweight resource loading for memory-constrained MCUs. Well suited to icons, industrial HMI elements, status images, and logos. More flexible UI resource management when combined with the LVGL 9.4 image display mechanism. Limitations Supports no more than 256 colors. Not suitable for photographs, video frames, product renderings, or other color-rich assets. Images with excessive colors may show banding, color distortion, or unnatural transitions after conversion. 3. Recommended Workflow in GUI Guider Step 1: Prepare the Image Resources Prefer PNG assets with a limited number of colors. Before importing an image, check whether it contains excessive gradients or photographic content. Step 2: Import Images into GUI Guider Add the image resources through Resource Manager and select an appropriate color format based on the display requirements of the project. Step 3: Select the I8 Color Format Convert suitable resources to I8 and preview the visual result in GUI Guider. Step 4: Validate in the Simulator Use GUI Guider Simulator to check color rendering, transparent regions, edge transitions, and the overall appearance of the page. Step 5: Generate Code and Validate on the Target After confirming that the result meets the requirements, generate the code and verify the application on the target development board. 4. Resource Usage Comparison: I8 vs. RGB565 The following theoretical estimates illustrate the resource usage of different formats. Actual size depends on image content, palette size, compression, and project configuration. Test Resource Image Format Theoretical Data Size 128 × 128 icon RGB565 Approximately 32 KB 128 × 128 icon ARGB8888 Approximately 64 KB 128 × 128 icon I8 Approximately 16 KB + palette From a resource-budget perspective, I8 reduces image storage when the color count can be controlled. The cumulative savings become more significant in HMI projects that contain many icons and status images. 5. Important Considerations When Using I8 1. Prefer Images with Fewer Than 256 Colors The core limitation of I8 is the palette size, so images with fewer colors are the best candidates. 2. Always Check the Visual Result After Conversion Even when an image contains relatively few colors, verify the result both in GUI Guider Simulator and on the target hardware. 3. Pay Attention to Transparency and Edge Transitions For images with transparent or anti-aliased edges, check for jagged borders, artifacts, or unnatural colors after conversion. 4. Do Not Convert Every Image Blindly I8 is an optimization technique, not the default choice for every asset. Complex backgrounds and photographic resources should continue to use a more appropriate color format. 6. Project Practice Recommendations In the GUI Guider Air Conditioner and Agriculture Control templates, selected images use I8 to save storage space and enable deployment on the FRDM-MCXN236 development board. Set suitable icons and status images to the I8 format. Compare the visual quality and resource size before and after conversion. After code generation, confirm that generated resources use the expected image format. Validate visual quality, refresh performance, and memory usage on the target platform. Example 1: Air Conditioner The Air Conditioner application template contains many animations and small icons. The comparison below shows ARGB8888 and I8 results. While maintaining image quality, I8 saves approximately 950 KB, allowing the application to run on the FRDM-MCXN236 development board. Figure 1. Air Conditioner comparison: I8 (left) and ARGB8888 (right). Example 2: Agriculture Control In the Agriculture Control application template, using I8 saves approximately 16.5 KB of storage. Figure 2. Agriculture Control comparison: I8 (left) and ARGB8888 (right). Conclusion For small and medium-sized HMI projects on platforms such as MCX and i.MX RT, I8 is a practical method for optimizing image resources. It is particularly useful when a project contains many icons, status indicators, menu graphics, and decorative elements. Applied selectively and validated carefully, I8 can release more Flash space while maintaining an appropriate visual experience.
View full article
SW32K14-MCAL421-RTMC-1.0.1ダウンロードへのアクセス許可の要請 NXPサポートチームの皆さん、こんにちは。 SW32K14-MCAL421-RTMC-1.0.1のダウンロードアクセスをお願いしたいです。 現在、NXPソフトウェアライセンスページの「前回」タブが グレーアウト しており、このバージョンにアクセスできません。 私のアカウントのユーザー名はChefanqfです。 このバージョンは、 S32K14x MCAL 4.2をベースにした既存のプロジェクトとの互換性のために必要です。 このソフトウェアの権利を私のアカウントで有効にするのを手伝ってもらえますか? ご支援ありがとうございます! よろしくお願いいたします。 Re: Request to enable access for SW32K14-MCAL421-RTMC-1.0.1 download こんにちは@812311483 この問い合わせの内容は「SW32K14-MCAL421-RTMC-1.0.1ダウンロードへのアクセス許可を要請」と同一です。 このアカウントがソフトウェアを必要としているのか、それとも以前のアカウント「Chefanqf」が必要だったのか、明確にしていただけますか? よろしくお願いいたします ロビン
View full article
EPIT Read/Write Access Causes Crash on i.MX6SX with Kernel 6.6 Hi Team, Our platform is based on the i.MX6SX processor and uses a custom kernel driver that communicates with a user-space application for data exchange. This implementation has been stable and functioning as expected on Linux Kernel 4.14. After migrating to Linux Kernel 6.6, we started encountering system resets when the driver attempts to access the EPIT registers. The issue is observed during both register read and write operations, and appears to be directly related to EPIT register access handling in the newer kernel version. The following code provides a high-level overview of the EPIT initialization, register mapping, and register access flow. The epit2_irq_disable() function is one of the functions involved in accessing the EPIT registers. We have observed that the system resets when execution reaches this function and attempts to read from or write to the EPIT registers.   char *epitnode_user; // epit node path in imx6sx.dtsi   char *epitnode_voip; // epit node path in imx6sx.dtsi   struct device_node *np_user; struct device_node *np_voip;   unsigned int epitIrq_user; unsigned int epitIrq_voip;   void __iomem *epit_base_user; void __iomem *epit_base_voip;   static int __init notifier_init_module(void) { .. ..   /* enable the epit */ epitnode_user = "/soc/bus@2000000/epit@20d0000"; epitnode_voip = "/soc/bus@2000000/epit@20d4000";   np_user = of_find_node_by_path(epitnode_user); np_voip = of_find_node_by_path(epitnode_voip);   if( np_user == NULL || np_voip == NULL )     {     printk(KERN_ERR "can't make link with dtsi!\n"); return -1;     }     epitIrq_user = irq_of_parse_and_map(np_user, 0); epitIrq_voip = irq_of_parse_and_map(np_voip, 0);   if( epitIrq_user == NULL || epitIrq_voip == NULL )     {     printk(KERN_ERR "can't get irq!\n"); return -1;     } else { printk("epitIrq_user: %d epitIrq_voip: %d\n",epitIrq_user, epitIrq_voip); }   epit_base_user = of_iomap(np_user, 0); epit_base_voip = of_iomap(np_voip, 0); if( epit_base_user == NULL || epit_base_voip == NULL )     {     printk(KERN_ERR "can't get base address!\n"); return -1;     } else { printk("epit_base_user: %lx epit_base_voip:%lx",epit_base_user, epit_base_voip); }       printk("%s %s initialized\n",NFNMODULE_NAME, NFNMODULE_VERSION);   return 0; ... ...   return 0;   } void epit2_irq_disable( void ) { unsigned long val; val = __raw_readl(epit_base_voip + EPITCR); val &= ~EPITCR_OCIEN; __raw_writel(val, epit_base_voip + EPITCR);   } i.MX51 i.MX6 All i.MX6Dual Linux Re: EPIT Read/Write Access Causes Crash on i.MX6SX with Kernel 6.6 Hi @syedrizwan  Please check the EPIT clock gate register: CCGR1[CG6] or CCGR1[CG7]. Need to confirm the module clock is not gating. Best Regards, Zhiming
View full article
是否可以在不使用 MCAL 的情况下实现 S32K1 LIN 协议栈? 这种情况有可能实现吗? 我们使用的是 S32K116 控制器,它只有 128KB 的闪存。 由于添加了用于基本系统功能的外围驱动程序,内存空间已经不足。 现在的问题是:是否可以在不使用 MCAL 外设驱动程序的情况下添加 LIN 协议栈? 这样我就可以改用 IP 驱动程序来减少内存使用量。 初步实验表明,我无法在 linstack_config 中间件中选择 Lpuart_Lin IP 驱动程序。我是否遗漏了什么设置,导致我无法选择它? Re: Is it possible to implement the S32K1 LIN Stack without MCAL? 嗨@daniel_meier 你可以看看这篇文章。 https://community.nxp.com/t5/S32-SDK/LIN-Middleware-stack-configuration-issue/td-p/1739186https://community.nxp.com/t5/S32K/How-to-config-Lin-module-as-slave-node-base-MCAL-driver-in-S32K/td-p/1077781 在 RTD 驱动程序中,LIN 协议栈取决于 MCAL 层的配置。 如果您的项目并非严格要求使用 RTD 驱动程序,您可以尝试使用 S32K1 SDK。 https://www.nxp.com/pages/s32-software-development-kit-for-s32k1:S32SDK-ARMK1
View full article
为什么MC34VR500V3ES输出错误的电压值 您好, 我的板上使用 MC34VR500V3ES 为 LS1021A 提供电源。首次通电时,输出的电压值错误,如下表所示。MC34VR500V3ES 的 Vin 为 3.3V,正确,并检查 EN 引脚是否也为 3.3V。我将这部分原理图与LS1021A-IOT的设计进行了比较,除了LS1021A-IOT使用的是MC34VR500V1ES之外,它们几乎完全相同。MC34VR500V3ES 的默认设备启动配置在数据手册第15页有说明。所以,在首次上电时,它会按照顺序输出所有默认电压,而无需通过 IIC 进行编程,对吗?但实际情况并非如此,请问您能否提供一些调试建议? 提前感谢! 顺祝商祺! 杰森 电源解决方案 Re: Why does MC34VR500V3ES output wrong voltage value Hi, sun: 好的,我去找找电子负载。还有一个地方,就是有2路LDO(LDO1和LDO3路)是没有用到,所以是没连接负载,这两路电压输出也不正常 多谢! Best regards! Jason Re: Why does MC34VR500V3ES output wrong voltage value Hi  您先加负载测试下真实的输出看看结果是什么样的?加100-200mA就好了一路路逐个加过去测试 Re: Why does MC34VR500V3ES output wrong voltage value Hi, sun: 既然V3是工厂预编程版本且输出电压和时序遵循手册第15页6.1.1的默认配置,那么设计起来其实是非常简单的,主要是VIN的供给和EN管脚的使能,况且所有的输出(包括SW和LDO)的反馈和环路电路都在片内集成了。现在是几乎8路电源输出都不对,特别是LDO也不对,这非常的奇怪。我测试了每路电源的阻抗,除了SW1输出的1.2V阻抗是92欧姆,其他8路都非常大,这也是正常的 原理图如下所示,几乎和官方demo板 LS1021A-IOT原理图这部分设计一致 多谢! Best regards! Jason   Re: Why does MC34VR500V3ES output wrong voltage value Hi Jason_in_job 您这个是V3的版本上电默认就是V3的输出,假如电压不对的话: 1:每一路加100mA的负载试试 2:PCB layout有很大的问题这个概率不大。 3:假如第一个建议不行的话可以看看原理图 BR
View full article
SDK_DelayAtLeastUs is inaccurate by 30% in IMXRT1186 M7 core Hi All, I am playing with FRDM-IMXRT1186 board where MCU has dual core M33 and M7. #iMXRT1186 I found that SDK_DelayAtLeastUs function is not that accurate. I expect the delay to be 0.5 sec(500,000 us) but the actual time is about 0.6 sec.  CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; DWT->CYCCNT = 0; DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; uint32_t t0 = DWT->CYCCNT; SDK_DelayAtLeastUs(500000U, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); LED_TOGGLE(); cycles = DWT->CYCCNT - t0; In SDK_DelayAtLeastUs, count = count / 3U * 2U can be count = count / 2U to get more accurate result. But I am not sure if this modification makes sense. #elif (__CORTEX_M == 7) /* Divide value may be different in various environment to ensure delay is precise. * Every loop count includes three instructions, due to Cortex-M7 sometimes executes * two instructions in one period, through test here set divide 1.5. Other M cores use * divide 4. By the way, divide 1.5 or 4 could let the count lose precision, but it does * not matter because other instructions outside while loop is enough to fill the time. */ count = count / 3U * 2U; Thank you. Re: SDK_DelayAtLeastUs is inaccurate by 30% in IMXRT1186 M7 core Dear @ewlee , The change to count = count / 2U may improve the result in your current test environment, but we would not recommend using it as a general fix. SDK_DelayAtLeastUs() is intended to provide a loop-based “at least” delay, and its accuracy may be affected by the runtime environment.  If an accurate 500 ms interval is required, we recommend using a hardware timer, such as a General Purpose Timer (GPT), for more precise timing. Best Regards, Shelly
View full article
PN5190 NFC读取器库 v07.13.00:如果命令没有收到中断请求 (IRQ),则发现循环将无限期挂起。 软件包: NXP NFC读取器库 v07.13.00 (NfcrdlibEx1_DiscoveryLoop, PN5190, Linux OSAL)。版本说明 RN00009。 运行发现循环示例时,phacDiscLoop_Run(POLL) 有时永远不会返回。该进程持续运行。这种情况会在没有刷卡的情况下发生,而且没有固定的周期。 phhalHw_Pn5190_WaitIrq() 会等待除 EXCHANGE_RF_DATA 之外的每条指令,并等待 PHOSAL_MAX_DELAY。在这种情况下,命令是 READ_REGISTER (0x04),并且 IRQ 引脚从未变为高电平,因此 phOsal_EventPend() 不会返回。中止路径 phhalHw_Pn5190_Wait_IrqAbortHandling() 的等待方式相同。 这种无限等待是故意的吗?应用程序应该如何在不重启电源的情况下恢复 PN5190? 我添加了许多来自演示示例的日志,并将 WaitIrq 的超时时间从无限缩短到 10 秒。 关于如何处理这件事,大家有什么建议吗? 附件是示例程序的日志。
View full article
Is it possible to implement the S32K1 LIN Stack without MCAL? Is this possible? We're using the S32K116 controller, which only comes with 128KB of flash memory. Memory space is already running low with the peripheral drivers added for basic system functionality. Now the question: Is it possible to add the LIN Stack without using MCAL Periphery drivers? This way I could switch to using IP drivers to reduce memory usage. First experiments showed that I cannot choose the Lpuart_Lin IP driver in the linstack_config middleware. Is there a setting I'm missing that enables me to choose it? Re: Is it possible to implement the S32K1 LIN Stack without MCAL? Hi@daniel_meier you can take a look at this post. https://community.nxp.com/t5/S32-SDK/LIN-Middleware-stack-configuration-issue/td-p/1739186https://community.nxp.com/t5/S32K/How-to-config-Lin-module-as-slave-node-base-MCAL-driver-in-S32K/td-p/1077781 In the RTD driver, the LIN stack depends on the configuration of the MCAL layer. If your project does not strictly require the use of RTD drivers, you might to try the S32K1 SDK. https://www.nxp.com/pages/s32-software-development-kit-for-s32k1:S32SDK-ARMK1
View full article
IMXRT1186 M7コアではSDK_DelayAtLeastUsの精度が30%低下する。 こんにちは、皆さん。 私はFRDM-IMXRT1186ボードでプレイしており、MCUにはデュアルコアのM33とM7があります。#iMXRT1186 SDK_DelayAtLeastUs関数はそれほど正確ではないことがわかりました。遅延時間は0.5秒(50万マイクロ秒)と予想していたが、実際の遅延時間は約0.6秒だった。 CoreDebug-> DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; DWT-> CYCCNT = 0; DWT-> CTRL |= DWT_CTRL_CYCCNTENA_Msk; uint32_t t0 = DWT-> CYCCNT ; SDK_DelayAtLeastUs (500000U, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); LED_TOGGLE(); サイクル数 = DWT-> CYCCNT - t0; SDK_DelayAtLeastUsでは、count = count / 3U * 2U を count = count / 2U にしてより正確な結果を得ることができます。 しかし、この変更が理にかなっているかどうかは確信が持てません。 #elif (__CORTEX_M == 7) /* 遅延を正確にするために、さまざまな環境で除算値が異なる場合があります。 * すべてのループカウントには3つの命令が含まれています。これはCortex-M7が時折実行されるためです。 * 1周期に2つの命令、テストを通してここで1.5を割ります。他のMコアは * 4を割る。ちなみに、1.5や4を割るとカウントの精度が落ちる可能性があるが、そうなる * 問題ありません。なぜなら、while loop 外の他の命令で時間を埋めるのに十分だからです。 */ count = count / 3U * 2U; よろしくお願いします。 Re: SDK_DelayAtLeastUs is inaccurate by 30% in IMXRT1186 M7 core @ewlee様、 count = count / 2U に変更することで、現在のテスト環境では結果が改善される可能性がありますが、一般的な修正方法として使用することはお勧めしません。 SDK_DelayAtLeastUs() は、ループベースの「最小」遅延時間を提供するように設計されており、その精度は実行環境によって影響を受ける可能性があります。 正確な500ミリ秒間隔が必要な場合は、汎用タイマー(GPT)などのハードウェアタイマーを使用して、より精密なタイミング制御を行うことをお勧めします。 よろしくお願いいたします。 シェリー
View full article
MCALなしでS32K1 LINスタックを実装することは可能でしょうか? これは可能ですか? S32K116コントローラを使っていますが、フラッシュメモリは128KBしか搭載されていません。 基本的なシステム機能のために周辺機器ドライバが追加されたため、メモリ容量はすでに不足しています。 さて質問です:MCAL周辺ドライバを使わずにLINスタックを追加することは可能でしょうか? こうすればIPドライバを使ってメモリ使用を減らせることができました。 最初の実験では、linstack_configミドルウェアでLpuart_Lin IPドライバを選べないことがわかりました。それを選択できる設定を見落としているのでしょうか? Re: Is it possible to implement the S32K1 LIN Stack without MCAL? こんにちは、@ daniel_meier この投稿をご覧いただけます。 https://community.nxp.com/t5/S32-SDK/LIN-Middleware-stack-configuration-issue/td-p/1739186https://community.nxp.com/t5/S32K/How-to-config-Lin-module-as-slave-node-base-MCAL-driver-in-S32K/td-p/1077781 RTDドライバでは、LINスタックはMCAL層の構成に依存します。 もしプロジェクトでRTDドライバの使用が厳密に必要でなければ、S32K1 SDKsを試してみるのも良いでしょう。 https://www.nxp.com/pages/s32-software-development-kit-for-s32k1:S32SDK-ARMK1
View full article
iMX8Mp_FALCON_MODE_RDC_FAILED 你好 环境详情: 板: i.MX8M Plus EVK(i.MX8MP EVK) 内核版本: 6.12.49 Yocto 环境:基于 Yocto 的 NXP 电路板支持包。 启动模式:猎鹰模式 我在 i.MX8MP 中启用了 Falcon 模式,但出现错误: 找不到节点!错误代码:-11!=> 我发现这个问题是由于 RDC 节点结构不完整引起的。 我们需要RDC节点吗?否则我们可以采用这个方案。 以下是我的启动日志: U-Boot SPL 2025.04-g4ddbad60eff3-dirty(2025年11月19日 07:56:58 +0000) DDRINFO:启动动态随机存取存储器\(DRAM\)初始化 DDRINFO:动态随机存取存储器\(DRAM\) 速率 4000MTS DDRINFO:DDRPHY 校准完成 DDRINFO:ddrmix 配置完成 SEC0:RNG 实例化 正常启动 尝试从 MMC2 启动 找不到节点!错误代码:-11! 找不到节点!错误代码:-11! 注意:请勿将 JR0 释放给 NS,因为它可能被 HAB 使用。 注意:BL31:v2.12.0(版本):lf-6.12.49-2.2.0-dirty 通知:BL31:版本时间:2025年10月17日 10:13:07 p104p104p104 NXP i.MX 版本 发行版。 6.12-walnascar imx8mpevk ttymxc1   imx8mpevk 登录:root root@imx8mpevk:~# i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: iMX8Mp_FALCON_MODE_RDC_FAILED 嗨@Sanjiv_Mns “imx8m,mcu_rdc”用于生成 RDC 配置,以分配 M7 独有的资源。如果不需要此功能,可以删除对board_handle_rdc_config的引用。如果需要,可以将mcu_rdc添加到 dts 中。 此致, 志明
View full article
PN5190 NFCリーダライブラリ v07.13.00:コマンドにIRQがなければディスカバリーループが永久にハングします パッケージ:NXP NFCリーダライブラリ v07.13.00(NfcrdlibEx1_DiscoveryLoop、PN5190、Linux OSAL)。リリースノートRN00009。 ディスカバリ ループの例を実行すると、phacDiscLoop_Run(POLL) が返されないことがあります。プロセスは継続されます。カードが提示されていない場合でも発生し、決まった周期で発生するわけでもありません。 phhalHw_Pn5190_WaitIrq() は、EXCHANGE_RF_DATA を除くすべての命令に対して PHOSAL_MAX_DELAY で待機します。このCASEでは、コマンドはREAD_REGISTER(0x04)で、IRQピンはハイにならなかったため、phOsal_EventPend()は戻りません。中止パスである phhalHw_Pn5190_Wait_IrqAbortHandling() も同様に待機します。 この無限待ち時間は意図的なものなのでしょうか?また、電源サイクルなしでアプリケーションがPN5190をどうやって復旧すればよいのでしょうか? デモ例から多くのログを追加し、WaitIrqのタイムアウトを無制限から10秒に短縮しました。 この件について、どのように対処すべきか何かご提案はありますか? サンプルプログラムのログを添付します。
View full article
MC34VR500V3ESが誤った電圧値を出力するのはなぜですか? こんにちは、 私の基板では、LS1021Aの電源供給にMC34VR500V3ESを使用しています。初回電源投入時に、以下に示すような誤った電圧値が出力されました。MC34VR500V3ESのVinは正しく3.3Vです。ENピンも3.3Vであることを確認してください。この回路図の部分をLS1021 A-I OT dee sig nと比較すると、LS1021A IOTの使用MC34VR500V1ES以外はほぼ同じです。MC34VR500V3ESのデフォルトのデバイス起動設定はデータシートのページ15に記載されています。つまり、最初の電源を入れる際は、IICでプログラムしなくてもシーケンス通りのデフォルト電圧を出力するということですね?しかし出力は出ません。デバッグの提案をいただけませんか? よろしくお願いいたします! よろしくお願いいたします。 ジェイソン 電源ソリューション Re: Why does MC34VR500V3ES output wrong voltage value こんにちは、太陽さん。 わかりました、電子負荷を探してみます。もう一つ問題があります。2つのLDO(LDO1とLDO3)が使用されていないため、負荷に接続されておらず、これらの2つのラインからの電圧出力が異常です。 ありがとう! よろしくお願いします! ジェイソン Re: Why does MC34VR500V3ES output wrong voltage value こんにちは まず、負荷をかけて実際の出力をテストし、結果を確認してください。100~200mA程度の電流を流し、一度に1つの経路ずつテストしてください。 Re: Why does MC34VR500V3ES output wrong voltage value こんにちは、太陽さん。 V3は工場出荷時にプログラム済みのバージョンであり、出力電圧とタイミングはマニュアルの15ページ、セクション6.1.1のデフォルト構成に従うため、設計は実際には非常にシンプルです。主にVINを供給し、ENピンを有効にするだけです。さらに、すべての出力フィードバックおよびループ回路(SWとLDOを含む)はチップ上に統合されています。現在、8つの電源出力のほぼすべてが間違っており、特にLDOは、非常に奇妙です。各電源出力のインピーダンスをテストしました。インピーダンスが92オームであるSW1の1.2V出力を除いて、他の8つは非常に高く、正常です。 回路図を以下に示します。この設計部分は、公式デモボードLS1021A-IOTの回路図とほぼ同じです。 ありがとう! よろしくお願いします! ジェイソン   Re: Why does MC34VR500V3ES output wrong voltage value こんにちは、 Jason_in_jobさん お使いのシステムはバージョンV3で、電源投入時にデフォルトでV3出力になります。電圧が正しくない場合は、以下の点にご注意ください。 1. 各チャンネルに100mAの負荷を追加してみてください。 2:基板レイアウトに重大な問題が発生する可能性は高くありません。 3:最初の提案がうまくいかない場合は、回路図を確認してください。 BR
View full article
请求启用 SW32K14-MCAL421-RTMC-1.0.1 下载权限 您好,NXP支持团队, 我想申请下载SW32K14-MCAL421-RTMC-1.0.1 。 目前,我的 NXP 软件许可页面中的“上一版本”选项卡显示为灰色,我无法访问此版本。 我的账号用户名是Chefanqf 。 为了与基于S32K14x MCAL 4.2的现有项目兼容,需要此版本。 请问您能否帮我激活我账户下这款软件的使用权限? 非常感谢您的支持! 顺祝商祺! Re: Request to enable access for SW32K14-MCAL421-RTMC-1.0.1 download 你好@812311483 本次查询的内容与请求“请求启用SW32K14-MCAL421-RTMC-1.0.1下载权限”完全相同。 请问是这个账户需要安装该软件,还是之前的账户“Chefanqf”需要安装该软件? 此致敬礼, Robin
View full article
i.MX6SXでカーネル6.6を搭載した場合、EPIT読み書きアクセスがクラッシュを引き起こす チームの皆さん、こんにちは。 私たちのプラットフォームはi.MX6SXプロセッサをベースにしており、ユーザー空間アプリケーションと通信するカスタムカーネルドライバを使ってデータ交換を行います。この実装はLinux Kernel 4.14で安定し、期待通りに動作しています。 Linux Kernel 6.6に移行した後、ドライバがEPITレジスタにアクセスしようとする際にシステムリセットが発生し始めました。この問題はレジスタの読み書き操作の両方で観察されており、新しいカーネルバージョンのEPITレジスタアクセス処理に直接関係しているようです。 以下のコードは、EPITの初期化、レジスタマッピング、レジスタアクセスフローの概要を示しています。epit2_irq_disable()関数はEPITレジスタにアクセスする際に関わる機能の一つです。実行がこの関数に到達し、EPITレジスタへの読み書きを試みると、システムがリセットされることが確認されました。   char *epitnode_user; // imx6sx.dtsi にノード パスを出力します   char *epitnode_voip; // imx6sx.dtsi にノード パスを出力します   struct device_node *np_user; struct device_node *np_voip;   unsigned int epitIrq_user; unsigned int epitIrq_voip;   void __iomem *epit_base_user; void __iomem *epit_base_voip;   static int __init notifier_init_module(void) { .. ..   /* エピットを有効にする */ epitnode_user = "/soc/bus@2000000/epit@20d0000"; epitnode_voip = "/soc/bus@2000000/epit@20d4000";   np_user = of_find_node_by_path(epitnode_user); np_voip = of_find_node_by_path(epitnode_voip);   if( np_user == NULL || np_voip == NULL )     { Printk(KERN_ERR「DTSIとは繋がれない!\n」)); -1を返す。    }     epitIrq_user = irq_of_parse_and_map(np_user, 0); epitIrq_voip = irq_of_parse_and_map(np_voip, 0);   if( epitIrq_user == NULL || epitIrq_voip == NULL )     { Printk(KERN_ERR「Irq!\n」を取れない); -1を返す。    } そうでない場合、 { printk("epitIrq_user: %depitIrq_voip: %d\n",epitIrq_user,epitIrq_voip); }   epit_base_user = of_iomap(np_user, 0); epit_base_voip = of_iomap(np_voip, 0); if( epit_base_user == NULL || epit_base_voip == NULL )     { printk(KERN_ERR「基地住所が取得できない!\n」)); -1を返す。    } そうでない場合、 { printk("epit_base_user: %lx epit_base_voip:%lx", epit_base_user, epit_base_voip); }   printk("%s %s が初期化されました\n", NFNMODULE_NAME, NFNMODULE_VERSION);   0を返す。 ... ...   0を返す。   } void epit2_irq_disable( void ) { 符号なしロング値; val = __raw_readl(epit_base_voip + EPITCR); val &= ~EPITCR_OCIEN; __raw_writel(val, epit_base_voip + EPITCR);   } i.MX51 i.MX6 全て i.MX6Dual Linux Re: EPIT Read/Write Access Causes Crash on i.MX6SX with Kernel 6.6 こんにちは、 @syedrizwan さん。 EPITクロックゲートレジスタCCGR1[CG6]またはCCGR1[CG7]を確認してください。モジュールクロックがゲーティングしていないことを確認する必要があります。 よろしくお願いします、 志明
View full article
Request to enable access for SW32K14-MCAL421-RTMC-1.0.1 download Hi NXP Support Team, I would like to request download access for SW32K14-MCAL421-RTMC-1.0.1. Currently, the “Previous” tab in my NXP Software Licensing page appears greyed out and I cannot access this version. My account username is Chefanqf. This version is needed for compatibility with an existing project based on S32K14x MCAL 4.2. Could you please help enable the entitlement for this software under my account? Thank you very much for your support! Best regards, Re: Request to enable access for SW32K14-MCAL421-RTMC-1.0.1 download Hi @812311483  The content of this inquiry is identical to the request: "Request to enable access for SW32K14-MCAL421-RTMC-1.0.1 download" Could you please clarify whether it is this account that requires the software, or if it was the previous account—"Chefanqf"—that needed it? Best Regards, Robin
View full article
Why does MC34VR500V3ES output wrong voltage value Hi, a MC34VR500V3ES is used to source LS1021A on my board. During the first power on,  it output wrong voltage value like below list shown. The Vin of MC34VR500V3ES is 3.3V correctly, and check the EN pin is 3.3V too. I compare this part of schematic to  LS1021A-IOT design, and they are the same almost besides LS1021A-IOT use MC34VR500V1ES. The default device start-up configuration for MC34VR500V3ES is indicated in the page.15 of datasheet. So, during the first power on, it will output all default voltage according to the sequence without programming through IIC, right? but it won't, could you please give me some suggestion to debug it? Thanks in advance! Best regards Jason Power solution Re: Why does MC34VR500V3ES output wrong voltage value Hi, sun: Okay, I'll go find the electronic load. There's another issue: two LDOs (LDO1 and LDO3) are not being used, so they're not connected to a load, and the voltage output from these two lines is abnormal. Thank you! Best regards! Jason Re: Why does MC34VR500V3ES output wrong voltage value Hi First, please apply a load to test the actual output and see what the results are. Just add 100-200mA, testing one path at a time. Re: Why does MC34VR500V3ES output wrong voltage value Hi, sun: Since V3 is a factory pre-programmed version and its output voltage and timing follow the default configuration on page 15, section 6.1.1 of the manual, the design is actually very simple. It mainly involves supplying VIN and enabling the EN pin. Furthermore, all output feedback and loop circuits (including SW and LDO) are integrated on-chip. Currently, almost all eight power outputs are incorrect, especially the LDOs, which is very strange. I tested the impedance of each power output; except for the 1.2V output of SW1, which has an impedance of 92 ohms, the other eight are very high, which is normal. The schematic diagram is shown below, and this part of the design is almost identical to the schematic diagram of the official demo board LS1021A-IOT. Thank you! Best regards! Jason   Re: Why does MC34VR500V3ES output wrong voltage value Hi Jason_in_job Your system is version V3, which defaults to V3 output upon power-up. If the voltage is incorrect: 1. Try adding a 100mA load to each channel. 2: The probability of a major problem with the PCB layout is not high. 3: If the first suggestion doesn't work, you can take a look at the schematic diagram. BR
View full article
在 IMXRT1186 M7 内核中,SDK_DelayAtLeastUs 的精度存在 30% 的误差。 大家好, 我正在使用 FRDM-IMXRT1186 板,其 MCU 具有双核 M33 和 M7。#iMXRT1186 我发现 SDK_DelayAtLeastUs 函数的精度不太高。我预计延迟时间为0.5秒(50万微秒),但实际时间约为0.6秒。 CoreDebug-> DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; DWT-> CYCCNT = 0; DWT-> CTRL |= DWT_CTRL_CYCCNTENA_Msk; uint32_t t0 = DWT-> CYCCNT ; SDK_DelayAtLeastUs (500000U, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); LED_TOGGLE(); 循环 = DWT-> CYCCNT - t0; 在 SDK_DelayAtLeastUs 中,count = count / 3U * 2U 可以改为 count = count / 2U 以获得更准确的结果。 但我不太确定这样的修改是否合理。 #elif (__CORTEX_M == 7) /* 为确保延迟精确,在各种环境下除法值可能不同。 * 由于 Cortex-M7 有时会执行指令,因此每次循环计数都包含三条指令。 * 一周期内两条指令,通过测试此处设置除以 1.5。其他 M 核心使用 * 除以 4。顺便说一下,除以 1.5 或 4 可能会导致计数精度降低,但实际上并非如此。 * 没关系,因为 while 循环之外的其他指令足以填满时间。 */ 计数 = 计数 / 3U * 2U; 谢谢! Re: SDK_DelayAtLeastUs is inaccurate by 30% in IMXRT1186 M7 core 亲爱的@ewlee , 将 count = count / 2U 改为 count 可能会改善您当前测试环境中的结果,但我们不建议将其作为通用解决方案。 SDK_DelayAtLeastUs() 函数旨在提供基于循环的“至少”延迟,其精度可能会受到运行时环境的影响。 如果需要精确的 500 毫秒间隔,我们建议使用硬件定时器,例如通用定时器 (GPT),以获得更精确的计时。 顺祝商祺! 雪莉
View full article
PN5190 NFC Reader Library v07.13.00: discovery loop hangs forever if a command gets no IRQ Package: NXP NFC Reader Library v07.13.00 (NfcrdlibEx1_DiscoveryLoop, PN5190, Linux OSAL). Release note RN00009. Running the discovery-loop example, phacDiscLoop_Run(POLL) sometimes never returns. The process stays up. It happens with no card present, and not on a fixed cycle. phhalHw_Pn5190_WaitIrq() waits with PHOSAL_MAX_DELAY for every instruction except EXCHANGE_RF_DATA. In this case the command was READ_REGISTER (0x04) and the IRQ pin never went high, so phOsal_EventPend() does not return. The abort path, phhalHw_Pn5190_Wait_IrqAbortHandling(), waits the same way. Is that infinite wait intentional, and how should the application recover the PN5190 without a power cycle? I added many logs from the demo examples, and also reduce the timeout of WaitIrq from infinite to 10s. Any suggestion on how should we handle this? Attached is the logs from the sample program.
View full article