Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Scrubbing ECC RAM MCU: S32K148 Driver: RTD 3.0.0 OS: Bare metal With the above MCU, is there a way of 'scrubbing' the ECC SRAM? 'Scrubbing' means that if a correctable error is detected, the SRAM cell is updated with the correct value if the user configures some appropriate registers. Some competing products such as TI Hercules have this feature. Re: Scrubbing ECC RAM Thank you very much for the feedback. Re: Scrubbing ECC RAM S32K1 devices do not support a hardware SRAM scrubbing mechanism that would automatically write corrected data back to memory after a correctable ECC event. A software-based implementation is also not feasible, as single-bit SRAM ECC correction events are not reported by the ERM, so the application cannot identify the affected memory location. While the S32K3 family also does not provide automatic SRAM scrubbing, it does report single-bit ECC events, which gives the application visibility into these errors and enables implementation of more advanced fault-handling strategies.
記事全体を表示
Whether USB serial download mode can work or not Hi Sir, In our current project, our product has only “one” “USB-C” port, running USB 2.0 High Speed. Our target application is to use this USB port as USB host role to connect USB stick or solid state drives for local recording. However, our next revision PCB circuitry is to pull up 56K Ohm to VCC_5V0 on both CC pins of USB-C, as shown below. That is, we hardwire fixed the USB port to USB host based on CC configuration definition. There is no separate Jumper / Switch / Type-C Controller(DRP(Dual Role Port) logic IC) circuitry that can switch the CC pin between host and device. Esther_Liu_0-1786180179443.png We would like to know, based on this circuitry, can i.MX8M+ USB Serial Download Mode still work? We understand when i.MX8M+ Boot ROM activates USB Serial Download mode, the port is automatically configured as a USB device(for USB Serial Download mode to work), but that should mean the chip's ROM code only controls the internal USB PHY to be device mode, it cannot override the hardware's external CC resistor states(Type-C Port role). As a result, the PC is entirely unable to enumerate the i.MX 8M Plus via USB(both cannot finish handshaking(Type-C Attach) from USB physical layer point of view), which causes the UUU programming to fail. If the above statement is correct, the USB Serial Download Mode will become inoperable before boot(i.e. will not work at all), resulting in the loss of factory production flashing and system unbricking capabilities. Is our understanding correct? Best regards Re: Whether USB serial download mode can work or not Hi @Esther_Liu  You are right, If you force CC to be a pull-up, it will remain in HOST mode, and UUU will likely malfunction. B.R
記事全体を表示
MIMXRT1170-EVK FreeRTOS Hello Example Issue Hi Team, I imported the evkbmimxrt1170_freertos_hello_cm7 example project from the MCUXpresso SDK into MCUXpresso IDE without making any significant modifications. The project builds successfully without any errors or warnings and downloads to the MIMXRT1170-EVK(MIMXRT1176DVMAA) board successfully. The task created successfully and executes only once and then stops at address 0xDEADBEEE. This behavior occurs every time. LED Toggle Task: To verify whether the problem was related to vTaskSuspend(), I've created another task with a simple LED blinking task. Expected behavior: LED should toggle every 100 ms continuously. Actual behavior: LED toggles only once. After the first execution, debugger again stops at: 0xDEADBEEE Kindly clarify the following queries, What does address 0xDEADBEEE indicate in the MCUXpresso SDK for i.MX RT1170? Why does the task execute only once instead of running periodically? Is there any additional configuration required to work correctly on the MIMXRT1170-EVK? What changes are required to make the task execute periodically as expected? Rosh_0-1786093292545.png Rosh_1-1786093311524.png Rosh_2-1786093339102.png Re: MIMXRT1170-EVK FreeRTOS Hello Example Issue Hello @Rosh, I understand that you are currently using the MIMXRT1170-EVK. Please note that the SDK for the MIMXRT1170-EVK is different from the SDK provided for the MIMXRT1170-EVKB. Could you please download and test with the SDK specifically generated for the RT1170-EVK using the MCUXpresso SDK Builder? Habib_MS_0-1786125239179.png I understand your point. The SDK examples are intended to provide a common use cases for each peripheral functionality. The 0xDEADBEE value is typically associated with a HardFault condition. Could you please run the example without any modifications and let me know the results using the latest available SDK version? BR Habib Re: MIMXRT1170-EVK FreeRTOS Hello Example Issue Hi @Habib_MS  I've downloaded the SDK specifically generated for the RT1170-EVK using the MCUXpresso SDK Builder and tested it. It is working fine now. Thank you for your support.
記事全体を表示
MC9S08QG8 CODE WARRIOR WELL, I WILL HAVE TO SAY GOOD BYE, IF THE DERIVATIVE MC9S08QG8 CAN NOT BE SEEN IN CW V6.3 OR CW 11.1. I HAVE WORKED AT GETTING THIS CODE TO WORK FOR 40 DAYS NOW. U SAID IT WAS OK, BUT I CAN NOT FIND ANY CW V6.3 WINDOWS 11 THAT WILL RUN AND DEBUG IN CW 11.1 OR CD 6.3. IF I AM WRONG , PLEASE LET ME KNOW.  Re: MC9S08QG8 CODE WARRIOR Hello, The MC9S08QG8 device is available in CodeWarrior v11.1 under the section S08>HCS08Q Family>MC9S08QG8 I tested with the following setup: OS: Windows 11 CodeWarrior: 11.1 Device: MC9S08QG8 in board DEMO9S08QG8 Debug Connection: Via the connection in board DEMO9S08QG8 (USB-to-BDM interface) luis_maravilla_1-1786488162478.png Best Regards,
記事全体を表示
演示资料上传错误 电源管理IC的功能安全及相关系统注意事项 | NXP 半导体  这个视频里的资料填写的是视频地址,不是资料地址。
記事全体を表示
Not found on datasheet marking without "J" of LPC804M101JDH20 I need to know temperature range for LPC804M101 (without J), datasheet only shows LPC804M101JDH20 (temperature range -10 to + 105) and I have a piece and no letter J marking.  I attached 2 pictures.  Re: Not found on datasheet marking without "J" of LPC804M101JDH20 The LPC804M101 devices, regardless of the “J” suffix, share the same industrial operating temperature range of –40 °C to +105 °C. The suffix mainly indicates package type rather than a different grade, so your non‑J marked part should still be valid for that full range. For certification or compliance purposes, it’s best to confirm with NXP’s official datasheet or support, but practically you can rely on –40 °C to +105 °C.  
記事全体を表示
CodeWarrior for LA1224 plugin Hello,  I am currently In the middle of evaluating LA1224-RDB and I have some questions regarding the software environment. As I understand I can have a Linux app running on the existing NxP image on LX2160A for evaluation purposes. Furthermore I suppose LA1224 is running baremetal with freertos. I saw that I can have firmware for LA1224 in a Linux directory on the LX2160A. Is this given from NxP? What does it support? I suppose that if I want to develop something further than the given firmware I have to get a codewarrior license and TAP. I have downloaded CW_ARMv8_v2020.06_b200629GA_Win_Setup.exe however the LP1224 is not available. After searching the NxP site I read that I need an extra toolchain on top of CW_ARMv8. What is the full url to download the add on?  I read CodeWarrior for LA1224 and only a partial url is given "com.freescale.armv8.11.5.15.E200.INT.Win.updatesite.230810 1.zip" Any further information on how to work on those processors is welcome. Kind Regards N. Alexopoulos Re: CodeWarrior for LA1224 plugin Please download pack com.freescale.armv8.11.5.15.E200.INT.Win.updatesite.230810 1.zip from the following link. https://support.nxp.com/s/case/500Te00000eF7lOIAS/community-codewarrior-for-la1224-plugin?language=en_US Please prepare a clean installation environment. Please install CW_ARMv8_v2020.06_b200629GA_Win_Offline.exe first. Then open CodeWarrior IDE in a new worksapce path. Then install the service pack com.freescale.armv8.11.5.15.E200.INT.Win.updatesite.230810 1.zip from Help->Install New Software->Add->Archive in CodeWarrior IDE.
記事全体を表示
Fallback mechanism for failed AB_SWAP update Hello, We are developing an application that uses the AB_SWAP mechanism of the HSE firmware on the S32K342 to perform OTA updates. We are currently activating the passive block once the passive region of the flash is entirely written to. We were wondering whether there is a fallback mechanism that we can use to verify/check whether the image we are booting from is corrupted, and if we can fallback to the 'known good' active region that has become the passive region after resetting. This arises from the fact that on some occasions, we overwrite the passive region without issuing a reset and midway through we reset the processor, resulting in a corrupted image in the flash.  Re: Fallback mechanism for failed AB_SWAP update Hey @lukaszadrapa , Thanks for the clarification. We are still trying to understand which type of secure boot strategy to use in our application. Advance Secure boot seems a bit complicated with having to install the SMR and CR. On the other hand, Basic Secure boot seems slightly easier to install but the exact implementation and installation details seem unclear. I was wondering if you could provide some insight into these options. I am referring to the HSE B Reference Manual and was also wondering if there is any additional documentation I should be referring to for this. Regards, Shiv Re: Fallback mechanism for failed AB_SWAP update Hi @Shiv_peak  I answered very similar question a couple of days ago, please take a look at: https://community.nxp.com/t5/S32K/S32K-OTA-Rollback/m-p/2400332/highlight/true#M60125 If you need more details, just let me know. Regards, Lukas Re: Fallback mechanism for failed AB_SWAP update Can you also elaborate on what you mean by 'device goes in recovery mode' if the basic secure boot fails? Does this mean that the core will not be released from reset and there is no fallback or recovery in this case? I ask because we want to have the functionality where if the secure boot fails, we boot another image, possibly in the passive bank. Re: Fallback mechanism for failed AB_SWAP update We provide this application note: https://www.nxp.com/webapp/Download?colCode=AN13465   It’s updated version of Secure Boot application note v0.1.1.0 (AN744511) released in 2021 which can be downloaded from: https://www.nxp.com/products/S32K3 Application note can be found here: Documentation -> Secure Files -> Secure Boot Application note v0.1.1.0 (AN744511) Associated demo project can be downloaded here: Design Resources -> Software -> Secure Files -> SecureBootAppNoteDemo (SW745310) The software was not updated, so use mentioned SW745310 if you are interested. Other examples for secure boot can be found in HSE Demo Examples (recommended): https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples There are examples for all three modes – advanced secure boot, basic secure boot and SHE secure boot. Generally, advanced secure boot mode is recommended. Yes, it is not trivial task to configure the secure boot in this mode. However, it provides the best protection and configurability. The advantage is that you can select any signature scheme you want,  you can cover multiple regions and you can configure different sanctions if the secure boot fails. On other hand, basic secure boot mode always uses only GMAC tag which is calculated using a key derived from ADKP and it can cover one region only. If it fails, the device goes directly to recovery mode. I recommend to study following projects in HSE DemoExamples: S32K344_Advanced_SecureBoot S32K344_Basic_SecureBoot These are configuration projects which are supposed to protect application S32K344_SecureBootBlinky which is linked to those projects. Regards, Lukas Re: Fallback mechanism for failed AB_SWAP update Thanks for the clarity Lukas. I will look into the application note and the HSE demo examples and revert back in case of any queries. Regards, Shiv Re: Fallback mechanism for failed AB_SWAP update Ok that clears things up, thanks! So from what I am understanding: The Basic Secure Boot goes into recovery mode if the image verification fails. This recovery mode can be configured as Secure recovery using the attribute HSE_SECURE_RECOVERY_CONFIG_ATTR_ID. Configuring this mode requires programming the UTEST mode. Configuring this also needs the BOOT_SEQ == 1 in the IVT. The ADKP needs to be configured using HSE_APP_DEBUG_KEY_ATTR_ID in order to compute the GMAC. Couple of follow ups as I wrap my head around this: The Application Note you shared mentioned that configuring the ADKP can only be done in the CUST_DEL lifecycle. How do I verify the lifecycle of my system and is it safe to do so? Is the AppBL same as the IVT in the Basic Secure Boot. Do I need to append the GMAC and Recovery Image address to the IVT? Hoping to get a bit more clarity on these before I start implementation and testing on my boards. Thank you so much for being responsive and clearing my doubts! Regards, Shiv Re: Fallback mechanism for failed AB_SWAP update Take a look at section “2.6.1.3 Recovery Mode” in HSE firmware reference manual rev. 2.7. In short, there are two modes: JTAG based recovery mode – the device just hangs in endless loop in RAM (this piece of code is loaded to RAM by SBAF), so user can connect a debugger and perform some recovery steps. Secure recovery mode – this needs to be enabled by attribute HSE_SECURE_RECOVERY_CONFIG_ATTR_ID. Notice that this is OTP attribute programmed to UTEST memory. This starts recovery image which needs to be verified first. So, it is similar to basic secure boot. If the verification fails, it goes to JTAG recovery mode. The secure recovery mode can be used for recovery/rollback in runtime. But I do not recommend to run this from passive partition. All the code should be executed from active partition. In AB swap mode, you will have a copy of secure recovery image in both partitions anyway. Another option is to put this code to data flash memory if there’s enough space. Re: Fallback mechanism for failed AB_SWAP update See please my comments below. The Basic Secure Boot goes into recovery mode if the image verification fails. Yes. This recovery mode can be configured as Secure recovery using the attribute HSE_SECURE_RECOVERY_CONFIG_ATTR_ID. Yes. Configuring this mode requires programming the UTEST mode. The UTEST is programmed by HSE when calling set attribute service with HSE_SECURE_RECOVERY_CONFIG_ATTR_ID. Common issue – be aware that flash block 0 and UTEST are in the same read partition. You code cannot run from flash block 0 when programming this attribute. Configuring this also needs the BOOT_SEQ == 1 in the IVT. Yes. The ADKP needs to be configured using HSE_APP_DEBUG_KEY_ATTR_ID in order to compute the GMAC. Yes. Couple of follow ups as I wrap my head around this: The Application Note you shared mentioned that configuring the ADKP can only be done in the CUST_DEL lifecycle. How do I verify the lifecycle of my system and is it safe to do so? Yes, you can’t advance the life cycle until ADKP is set. Once the life cycle is advanced, secure debug is enabled, so you need to configure your debugger accordingly to be able to establish the connection. Take a look at this post: https://community.nxp.com/t5/S32K/S32K3-HSE/m-p/2066312/highlight/true#M47070 The life cycle status can be read from register DCMLCC in DCM module. Is the AppBL same as the IVT in the Basic Secure Boot. AppBL and IVT is signed and verified in the same way. IV and GMAC is also appended to the IVT. You can see that in “Table 118. IVT structure” in HSE firmware reference manual. Do I need to append the GMAC and Recovery Image address to the IVT? If you want to verify IVT, IV and GMAC must be added to IVT as mentioned above. If you want to use secure recovery image, pointer to the image and length of the image must be added to IVT. Regards, Lukas Re: Fallback mechanism for failed AB_SWAP update Thanks for the reply Lukas, this clarifies things! I will start implementing the Basic Secure Boot and will be in touch in case of any queries or doubts. Regards, Shiv 
記事全体を表示
Memory error occurs during flashing in TRACE32 _0-1786361688597.png When flashing via TRACE32 scripts, memory cannot be accessed. What could be the root cause? Re: Memory error occurs during flashing in TRACE32 As shown in the attached script, Lauterbach occasionally fails to access RAM. This issue can be resolved by re‑flashing the software via PE. Re: Memory error occurs during flashing in TRACE32 Hello @代码织梦师, Could you share which device you are using? Also verify the flash algorithm path in the .cmm script matches the device derivative.  From the image, I assume you are reading SRAM in S32K3, which does need ECC initialization, can you confirm you, or the startup file is correctly initializing SRAM ECC after POR? Best regards, Julián  Re: Memory error occurs during flashing in TRACE32 Hello @代码织梦师, It could be SRAM ECC initialization, although both the debugger as well as the startup code should initialize the SRAM ECC, if enabled. You can try the init_sram.cmm from demo scripts in T32: Julin_AragnM_0-1786473457854.png Best regards, Julián
記事全体を表示
Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Subject: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Hi, I am trying to configure and program the OTP on the FS2400 using the KITFS24SKTFDMEVM evaluation board. Evaluation board: https://www.nxp.com/design/design-center/development-boards-and-designs/KITFS24SKTFDMEVM However, when I connect the board to the NXP GUI, I am unable to establish communication with the device. The GUI reports the error shown below, and no communication takes place. I have previously used the same NXP GUI with the FS26 evaluation board without any issues, so I believe my PC setup and GUI installation are working correctly. The evaluation board is in its default configuration, and I have not intentionally changed any jumper or switch settings. To verify, the current configuration is as follows: S12 (OTP): OFF J30: Pins 1-2 connected SW4 (WAKE2): ON S19 (WAKE3): ON J33: Open J37: Pins 2-3 connected J36: Pins 2-3 connected J10: Pins 2-3 connected SW9: All switches ON J45: Pins 2-3 connected J26: Pins 5-6 and 9-10 connected SW20: All switches OFF S2: ON (I could not locate this switch in the schematic ) SW18: All switches ON SW1 (Main Power Switch): Position 3 (2-3) I have not programmed the S32K144 MCU on the evaluation board. My understanding is that the board is shipped with the required firmware already programmed. Could someone confirm whether this is correct, or whether the MCU needs to be flashed before the GUI can communicate with the FS2400? Below is the error message displayed by the GUI: Any help would be greatly appreciated. Thank you. FS85&FS84 FSBC+PMIC Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Hello, Thank you for contacting us. Could you please update the firmware according to Section 5, "Installing and Configuring Software and Tools," of the UM12015 KITFS24SKTFDMEVM User Manual? This procedure should resolve the error you are experiencing. If the issue persists after completing the update, could you please provide a picture of your hardware setup? This will help us review the configuration and investigate the problem further. Thanks! Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Hi @ErikaC , Thank you for your response. I checked Section 5, “Installing and Configuring Software and Tools,” of the UM12015 KITFS24SKTFDMEVM User Manual. However, I am unable to find the KITFS2400FRDMEVM_HW_Test_Package_W20.zip file mentioned in the document. Could you please let me know where I can download this .zip file? I need it to update the firmware as described in the manual. I was able to find fs23xx-fw-FS24-v0.86.hex in the NXP GUI. Is this the firmware file that should be used for the update, or is it a different file included in the KITFS2400FRDMEVM_HW_Test_Package_W20.zip? I also checked the link provided in the manual: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=S32DS-IDE-ARM-V2-XI downloaded and installed the executable from there (this was design studio but not the main S31244_Flash File), but I could not find the required .zip package. Could you please provide the download location for KITFS2400FRDMEVM_HW_Test_Package_W20.zip, or let me know where I can find the correct firmware package needed to perform the update? Thank you for your help. Ganesh Bhagwat Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Hi @ErikaC  If fs23xx-fw-FS24-v0.86.hex is the correct firmware file, is there any specific procedure required to directly load/flash this .hex file to the KITFS24SKTFDMEVM, or is there a specific tool/setup that needs to be used? If possible, it would also be greatly appreciated if you could provide the KITFS2400FRDMEVM_HW_Test_Package_W20.zip package or the download location for it, as this would make it much easier to follow the firmware update procedure described in the manual. Thank you for your help. Ganesh Bhagwat Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Hello, I could not find the KITFS2400FRDMEVM_HW_Test_Package_W20.zip folder. It was likely included in an earlier version of NXPGUI. However, that package only contained the fs23xx-fw-FS24-v0.86.hex file, which is the only file required to program the firmware. ErikaC_1-1786381048598.png Please follow all the steps described in the UM12014 KITFS2400FRDMEVM User Manual. The use of a debugger is required, as shown in Figure 17, and you must also install the S32 Design Studio tool. The firmware update procedure cannot be completed successfully without the required debugger connection and software environment described in the user manual. Hope this helps! Re: Unable to Communicate with FS2400 Using KITFS24SKTFDMEVM and NXP GUI Hi @ErikaC , Thanks for this. It worked, and I am now able to communicate with the NXP-GUI. The only issue was that these two settings were not present by default. As you mentioned, after adding them, everything worked. The command added under Executable was: ${cross_prefix}gdb${cross_suffix} Thanks again for your support. Regards, Ganesh Bhagwat
記事全体を表示
mc9s08qg8 drivers device manager: Jungo connectivity WinDriver:      Windows cannot verify the digital signature for the drivers required for this device. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. (Code 52)   pemicrowindvr:    This device is working properly.   These r the drivers i have in jungo!!!   ur input:   In USB Multilink Universal and USB Multilink Universal FX Technical Summary [USBMLUNIVERSALFX] documentation Chapter 6 Driver Installation mention that a copy of the driver installation program may be downloaded from P&E page "Support Center">Downloads. if you need an updated driver.   Best Regards,   What do u mean by this. Is this where i can get my BDM driver for my Wiztronics.com P&E interface board? Re: mc9s08qg8 drivers Hello, From the other post, I was referring that, as you are using P&E USB multilink Universal, the support page could redirect you to download a patch or an upgrade to your driver, I found these resources that could maybe help you if you have an incorrectly driver. In these page, its mentioned some patches for CodeWarrior v10.2 or higher and v6.3, to add support for PE hardware if is not detected by the operating system. PEmicro FAQ ID 211 Another option USB Multilink Resources Install Is a resource package for USB Multilink Universal, for when running older software. Also could you help us share which exact version of USB multilink Universal are you using? I could not guarantee this will work, since it’s a partner page, but it could redirect you in how to look for a driver correction for your issue, hope this information was helpful and let me know if that work for you Best Regards.
記事全体を表示
What Are the Best IPTV Providers in 2026? The way people watch television has changed faster than ever. Cable bills keep rising, viewers want more flexibility, and streaming has become the new normal. That is why many users now ask, What Are the Best IPTV Providers in 2026? They want better channel choices, smoother playback, and access to entertainment without the limits of traditional TV. 🛰️ Explore Best IPTV Providers IPTV stands for Internet Protocol Television. It delivers live TV channels, movies, sports, and on-demand content through an internet connection. Instead of using satellite or cable lines, users stream content directly on Smart TVs, Firestick, Android devices, tablets, and laptops. In 2026, IPTV services continue to grow because they offer convenience, value, and modern viewing features. This guide explains what makes a provider stand out and how to find the best IPTV solution for your needs. What Are the Best IPTV Providers in 2026 Known For? The best IPTV providers in 2026 are not only about having many channels. Quality matters more than quantity. A top provider should deliver stable streams, easy navigation, and strong customer support. Reliable IPTV services invest in better servers to reduce buffering. They also refresh channel lists regularly and maintain smooth access during busy hours. This is especially important for sports fans and live event viewers. Another sign of a strong provider is a user-friendly setup process. Good IPTV platforms make activation simple and compatible with popular apps and streaming devices. Why IPTV Is More Popular in 2026 Many households now prefer streaming because it matches modern lifestyles. Users want entertainment on their schedule, not fixed cable packages. Flexible Viewing on Any Device One major reason IPTV is growing is device freedom. Users can switch between Smart TVs, phones, tablets, and streaming sticks with ease. This creates a seamless entertainment experience. Better Value Than Traditional TV Many people search for affordable IPTV providers because they want more content without paying high monthly cable fees. IPTV often includes global channels, sports, and movies in one package. On-Demand Convenience Viewers no longer want to wait for scheduled broadcasts. IPTV often offers replay options, catch-up TV, and video-on-demand content that fits busy routines. Key Features of the Best IPTV Providers in 2026 Choosing the right service becomes easier when you know what to look for. Stable Streaming Quality The best IPTV providers in 2026 focus on fast servers and high uptime. Smooth playback matters more than long channel lists that do not work properly. Broad Channel Selection Top providers often include entertainment, news, sports, kids content, and international networks. A balanced lineup gives more value to subscribers. HD and 4K Support Many users now expect high-resolution streaming. Premium IPTV services often include HD, Full HD, and 4K options for supported channels. Responsive Customer Support Fast support helps when login issues, setup errors, or app problems happen. Reliable customer service is a major factor when choosing an IPTV provider. How to Choose the Best IPTV Provider for You Every viewer has different priorities. Some want sports coverage, while others focus on movies or family entertainment. If live sports matter most, look for stable event streams and wide sports channel coverage. If you enjoy films and series, choose a provider with a strong VOD library and updated content. Families may prefer multi-device access and children’s channels. Travelers may want worldwide compatibility and flexible login options. Testing before subscribing is also wise. Many users search for IPTV free trial services to check quality before purchasing a long plan. SEO Trends Driving IPTV Searches Search phrases like best IPTV providers in 2026, top IPTV services, premium IPTV plans, and no buffering IPTV are becoming more common. This reflects growing demand for flexible streaming solutions. As internet speeds improve worldwide, IPTV becomes easier to use. Smart TVs and streaming devices are also more affordable, which helps IPTV adoption rise. People want personalized entertainment, and IPTV gives them more control than standard television packages. Mistakes to Avoid When Choosing IPTV Some users choose only the cheapest option. Low prices can be attractive, but poor stream quality and weak support may lead to frustration. Another mistake is ignoring compatibility. Always confirm the provider works on your preferred device. Skipping research can also cause problems. Reading recent reviews and testing a trial can help avoid unreliable services. The Future of IPTV in 2026 IPTV is expected to become smarter and more user-focused. Faster networks, improved apps, and better content libraries will continue to shape the market. Many providers are improving interfaces, search tools, and streaming stability. This means users can expect smoother experiences in the future. As demand rises, competition among IPTV providers may also improve pricing and service quality. Conclusion So, What Are the Best IPTV Providers in 2026? They are the services that combine stable streaming, quality content, easy setup, and strong support. The best option depends on your viewing habits, devices, and budget. When choosing an IPTV provider, focus on performance rather than promises. A service with reliable playback and useful features will always offer better value. If you are ready to upgrade your entertainment experience, explore trusted IPTV providers and enjoy smarter streaming in 2026. Re: What Are the Best IPTV Providers in 2026? Looking for the best way to enjoy premium content without an immediate commitment? In 2026, the most effective way to find a high-quality provider is through a free IPTV trial. Why Start with a Free Test? A free trial allows you to verify several critical factors before subscribing: Stability: Ensure the service offers buffer-free streaming and high uptime (ideally 99% or more). Content Variety: Check for access to over 20,000+ live channels, including premium sports, news, and international networks. Quality: Verify support for HD, Full HD, and 4K streaming. Device Compatibility: Confirm it works on your preferred hardware, such as Amazon Firestick, Smart TVs, Android/iOS devices, or PCs. Top Recommendation for 2026 For a premium experience with a vast selection of channels and reliable performance, we recommend testing GoldCard TV. It is designed to provide a seamless entertainment solution with minimal downtime. 👉 Start your free trial now at: https://omeulink.com/GoldCardTv Re: What Are the Best IPTV Providers in 2026? I’ve tested several IPTV providers over the past few months, and in my experience, HypoTV is one of the best overall for stability, streaming quality, and everyday entertainment. If you’re looking for sports-focused streaming, BekuTV performs really well with smooth live channels and minimal buffering. For adult content and large VOD libraries, PillowIPTV is a strong option. I’ve also seen many users recommend MomIPTV for its reliable international channel selection and multi-device support. Overall, each service has its strengths depending on what type of content you watch most. Re: What Are the Best IPTV Providers in 2026? I’ve tested many IPTV services, and NexusIPTV honestly surprised me with its stability and picture quality. Fast channels, almost no buffering, and a huge selection of sports, movies, and international content in HD/4K. Works perfectly on Firestick, Smart TVs, Android, iPhone, and PC. If you want a reliable IPTV service in 2026, NexusIPTV is definitely worth trying. www.nexusiptv.live  Re: What Are the Best IPTV Providers in 2026? I’ve tested a few services recently mainly for live sports, and UHDSports has honestly been one of the smoother ones so far. What I liked most is that it didn’t feel overloaded or messy. The setup was simple, the channels opened quickly on my device, and the sports streams were stable during peak hours, which is usually where most providers start buffering. I also tested it on a Smart TV and Android device, and both worked fine. The VOD side is decent too, but for me the main reason to use it is live sports. If you’re choosing a provider, I’d still recommend asking for a free trial first and testing it during an actual live match, not just during quiet hours. That’s the real test. Not saying it’s perfect, but from my experience UHDSports is worth checking if your priority is stable live sports and quick support. Re: What Are the Best IPTV Providers in 2026? If you’re tired of hunting for links, switching apps, or dealing with lag during big matches, tvaccess.xyz is the platform built for you. This premium paid service delivers every major sport in the world — all in HD, Full HD, and 4K Ultra Quality with smooth, stable streaming. Watch every sport live in HD/4K tvaccess.xyz Re: What Are the Best IPTV Providers in 2026? I agree that choosing an IPTV provider in 2026 really comes down to reliability, channel selection, and streaming quality. I also like services that make it easy to verify information before making a decision. For unrelated research, I recently found Franklin Property Data useful for checking property related details. It’s always worth comparing options carefully and choosing a service that fits your needs.
記事全体を表示
CAN-FD maximum baud rate on KW47 and MCXW72 The clock tolerance for CAN FD at high baud rates is generally considered to be tight compared to lower baud rates, meaning that the clock frequency needs to be very precise to ensure reliable communication; this is due to the high data rate requiring precise bit timing. CAN generally requires crystal or PLL clock source due to accuracy requirements, on KW45/7 that is limited to 32 MHz crystal (SOSC) since there is no PLL available. However, the FRO192 (FIRC) can be fine trimmed to the SOSC crystal as reference, in a closed loop configuration. When operating in closed loop the FRO192 accuracy is +/-0.25%. The FRO192 when operating in open loop (default) will not be accurate enough for CAN-FD (+/-3%). Closed loop operation is enabled while SCG0→FIRCCSR[FIRCTRUP] = 1 and SCG0→FIRCCSR[FIRCTREN] =1. The auto trim continues as long as those bits are set (for example if change in temperature causes the FRO192clock frequency to drift). Once locked, only the fine trim bits would be updated on subsequent corrections. Refer to code snippet below for correct clock configuration: #include "clock_config.h" #include "fsl_clock.h" const scg_sosc_config_t g_scgSysOscConfig_BOARD_BootClockRUN = { .freq = 32000000U, /* System Oscillator frequency: 32000000Hz */ .monitorMode = kSCG_SysOscMonitorDisable, /* System OSC Clock Monitor is disabled */ .enableMode = kSCG_SoscEnable, /* System OSC Enable */ }; const scg_sys_clk_config_t g_sysClkConfig_BOARD_BootClockRUN = { .divSlow = (uint32_t)kSCG_SysClkDivBy4, /* Slow Clock Divider: divided by 4 */ .divBus = (uint32_t)kSCG_SysClkDivBy1, /* Bus Clock Divider: divided by 1 */ .divCore = (uint32_t)kSCG_SysClkDivBy1, /* Core Clock Divider: divided by 1 */ .src=(uint32_t)kSCG_SysClkSrcFirc, /* Fast IRC is selected as System Clock Source */ }; static const scg_firc_trim_config_t FircTrimConfig_BOARD_BootClockRUN = { .trimMode = kSCG_FircTrimUpdate, /* FIRC trim is enabled and trim value update is enabled */ .trimsrc=kSCG_FircTrimSrcSysOsc, /* Trim source is System OSC */ .trimDiv = 31U, /* Divided by 32 */ .trimCoar = 0U, /* Trim value, see Reference Manual for more information */ .trimFine = 0U, /* Trim value, see Reference Manual for more information */ }; const scg_firc_config_t g_scgFircConfig_BOARD_BootClockRUN = { .enableMode = kSCG_FircEnable, /* Fast IRC is enabled */ .range = kSCG_FircRange96M, /* 96 Mhz FIRC clock selected */ .trimConfig = &FircTrimConfig_BOARD_BootClockRUN, }; /* Unlock FIRC and SOSC control status registers */ CLOCK_UnlockFircControlStatusReg(); CLOCK_UnlockSysOscControlStatusReg(); /* Init FIRC */ CLOCK_CONFIG_FircSafeConfig(&g_scgFircConfig_BOARD_BootClockRUN); /* Set SCG to FIRC mode */ CLOCK_SetRunModeSysClkConfig(&g_sysClkConfig_BOARD_BootClockRUN); /* Wait for clock source switch finished */ do { CLOCK_GetCurSysClkConfig(&curConfig); } while (curConfig.src != g_sysClkConfig_BOARD_BootClockRUN.src); /* Initializes SOSC according to board configuration */ (void)CLOCK_InitSysOsc(&g_scgSysOscConfig_BOARD_BootClockRUN); /* Set the XTAL0 frequency based on board settings */ CLOCK_SetXtal0Freq(g_scgSysOscConfig_BOARD_BootClockRUN.freq); /* For 6 mbps baud rate requires FRO192M as FlexCAN source clock */ CLOCK_SetIpSrc(kCLOCK_Can0, kCLOCK_IpSrcFro192M); CLOCK_SetIpSrcDiv(kCLOCK_Can0, kSCG_SysClkDivBy1); The maximum supported baud rate for KW47 and MCXW72 devices is 6 Mbps. Although higher rates may be achievable on some SoCs, 6 Mbps is the highest baud rate supported by the device clock specifications.  For simplicity, the FlexCAN driver APIs can be used to configure the CAN FD baud rate, as shown in the following code snippet: #include "fsl_flexcan.h" #define EXAMPLE_CAN CAN0 #define USE_CANFD (1) #define RX_MESSAGE_BUFFER_NUM (0) #define TX_MESSAGE_BUFFER_NUM (1) #define BYTES_IN_MB kFLEXCAN_64BperMB /* For 6 Mbps use case. FRO192 must be selected as clock source */ #define EXAMPLE_CAN_CLK_FREQ CLOCK_GetFreq(kCLOCK_ScgFircClk) #define USE_IMPROVED_TIMING_CONFIG (1) flexcan_config_t flexcanConfig; /* Get FlexCAN module default Configuration. */ /* * flexcanConfig.clksrc=kFLEXCAN_ClkSrc0; * flexcanConfig.bitRate = 1000000U; * flexcanConfig.bitRateFD = 2000000U; * flexcanConfig.maxMbNum = 16; * flexcanConfig.enableLoopBack = false; * flexcanConfig.enableSelfWakeup = false; * flexcanConfig.enableIndividMask = false; * flexcanConfig.disableSelfReception = false; * flexcanConfig.enableListenOnlyMode = false; * flexcanConfig.enableDoze = false; */ FLEXCAN_GetDefaultConfig(&flexcanConfig); /* Manually override default CAN FD config to 1 Mbps for nominal rate and 6 Mbps for data rate */ flexcanConfig.bitRate = 1000000U; flexcanConfig.bitRateFD = 6000000U; #if (defined(USE_IMPROVED_TIMING_CONFIG) && USE_IMPROVED_TIMING_CONFIG) flexcan_timing_config_t timing_config; memset(&timing_config, 0, sizeof(flexcan_timing_config_t)); if (FLEXCAN_FDCalculateImprovedTimingValues(EXAMPLE_CAN, flexcanConfig.bitRate, flexcanConfig.bitRateFD, EXAMPLE_CAN_CLK_FREQ, &timing_config)) { /* Update the improved timing configuration*/ memcpy(&(flexcanConfig.timingConfig), &timing_config, sizeof(flexcan_timing_config_t)); } #endif FLEXCAN_FDInit(EXAMPLE_CAN, &flexcanConfig, EXAMPLE_CAN_CLK_FREQ, BYTES_IN_MB, true); Note: The maximum supported CAN baud rate for KW47 and MCXW72 devices is 2 Mbps. While higher rates may be achievable under certain conditions, operation above 2 Mbps is outside the supported specification and is not recommended for applications in the field. 
記事全体を表示
eIQ Neutron NPU Support in Zephyr Zephyr now supports the eIQ Neutron NPU on MCX N and i.MX RT700. This article will describe how to get Zephyr and use the eIQ Neutron NPU libraries and examples.  Some previous experience with eIQ Neutron NPU enablement is assumed, so ensure you're familiar with the eIQ Neutron SDK, converting models for eIQ Neutron NPU, and basic ML concepts by going through the MCX N or i.MX RT700  NPU bare-metal lab guides for VS Code before continuing on below.  Install Software Run the MCUXpresso Installer tool and install three key components: Zephyr Developer Arm GNU Toolchain Zephyr SDK LinkServer anthony_huereca_0-1782845821454.png Install LinkServer and add LinkServer to the PATH Install VS Code and MCUxpresso VS Code plugin Download Zephyr Open VSCode Go to the MCUXpresso for VSCode plugin and click on Import Repository Go to the Remote tab and select the Zephyr repository. Choose it a directory name and location to download the repository to, and then click on Import. anthony_huereca_1-1782845403033.png It will take approximately 30 minutes to download the repository. Near the end of the download there will be several prompts in the terminal asking to accept licenses. Type “y” to accept and hit enter. There will be about 10 of these prompts at the end. Open the MCUXpresso Venv Terminal which has a Python virtual environment with all the paths preconfigured that were installed by MCUXpresso Installer. anthony_huereca_2-1782845420922.png In the terminal that pops up, type “1” to select the default environment. Then navigate to the directory you downloaded Zephyr into Run the following commands to get TensorFlow: west config manifest.project-filter -- +tflite-micro west update Go into the zephyr subdirectory folder cd zephyr Now need to explicitly download the Pull Request (PR) that enables eIQ Neutron. This eventually won’t be necessary when Zephyr 4.5 is released in October, but until then will need to type the following In the command prompt to get it: git remote -v git remote add upstream https://github.com/zephyrproject-rtos/zephyr.git git remote -v   git stash git fetch upstream pull/108834/head:pr-108834 git checkout pr-108834 After this command you should see there’s now a folder at \ \zephyr\samples\boards\nxp\tflm_neutron with example source code. Compile and Run a Zephyr eIQ Neutron NPU example Compile the project with west:  For MCX N: west build -p auto -b frdm_mcxn947/mcxn947/cpu0 samples/boards/nxp/tflm_neutron   For RT700: west build -p auto -b mimxrt700_evk/mimxrt798s/cm33_cpu0 samples/boards/nxp/tflm_neutron Open TeraTerm or other serial terminal program, and connect to the virtual COM port that board enumerated as when you plugged in the USB cable. Use 115200 baud, 1 stop bit, no parity. Flash the resulting code with west flash The serial terminal should show the following: anthony_huereca_3-1782845441830.png Can debug with west debug  Run your own NPU accelerated ML model in Zephyr Make sure you've gone through the MCX N or i.MX RT700  hands-on labs so you're familiar with the enablement. The same steps for converting a model with the Neutron Compiler tool inside eIQ Neutron SDK, updating the eIQ Neutron libraries, modfiying the operator list, and adding a new model are relevant when using Zephyr, but the file locations will be Zephyr specific. Also note that the header file generated by the Neutron Compiler tool will need to be updated to match the header of the model.hpp file.  Also note that the README.rst file in the Zephyr Neutron example mentions using eIQ Toolkit but that information is outdated and been superseded by eIQ Neutron SDK.  eIQ Neutron example is at \zephyr\samples\boards\nxp\tflm_neutron Neutron libraries are at \modules\hal\nxp\zephyr\blobs\neutron\ Model data is at \zephyr\samples\boards\nxp\tflm_neutron\src\models\mcxn\model.hpp Labels file is at \zephyr\samples\boards\nxp\tflm_neutron\src\labels.h kTensorArenaSize variable is set in \zephyr\samples\boards\nxp\tflm_neutron\src\main_functions.cpp (line 40) and is set to 60KB by default OpResolver is set in \zephyr\samples\boards\nxp\tflm_neutron\src\main_functions.cpp (line 65) The model is selected in \zephyr\samples\boards\nxp\tflm_neutron\src\main_functions.cpp (line 11) Additional References: Blog post on west which Zephyr uses. Zephyr on FRDM-MCXN947 Zephyr on i.MX RT700 Zephyr TensorFlow Hands-On Training
記事全体を表示
How to Update eIQ Projects with the Latest eIQ Neutron SDK Libraries eIQ Neutron SDK is a new software package that includes the Neutron Compiler tool and eIQ Neutron libraries to run Neutron converted neural network models on devices that have an eIQ Neutron NPU like MCX N, i.MX RT700, or i.MX95 Previously the Neutron Compiler tool was part of eIQ Toolkit. However going forward, new versions of the Neutron Compiler tool will be released as part of the eIQ Neutron SDK. This change will allow for more frequent updates to provide better performance and additional operator support. The Neutron Compiler tool was previously named the Neutron Converter tool, but the name was changed in August 2026 with the release of eIQ Neutron SDK 3.2.1. The functionality is the same, just the name changed.  MCUXpresso SDK and Linux BSP use Neutron libraries as part of the eIQ examples included in those software releases. However to use the latest Neutron Compiler, an eIQ project will need to be updated to use the latest Neutron software libraries. This post walks through where to place the updated Neutron libraries and header files.  If the version of the Neutron Compiler tool that was used to convert a model does not match the Neutron libraries used by the eIQ project, then during inference you will see the following error(s) printed on the serial terminal and may get incorrect results: Microcode version mismatch Or Internal Neutron NPU driver error 281b in model prepare Or Incompatible Neutron NPU microcode and driver versions The version of the Neutron Compiler tool that was used to convert a model can be found by either viewing the converted model in Netron or by looking at the generated header file:   header.png netron.png Here is a table showing where you can find the matching version of the Neutron Compiler tool for the default Neutron libraries found in different versions of MCUXpresso SDK: MCUXpresso SDK Default Neutron Library Version in MCUXpresso SDK Default Compatible Neutron Compiler/Converter Can Be Found In 24.12 1.2.0+0x6f710a6d eIQ Toolkit 1.17 25.03 1.2.0+0X1b86b19d eIQ Toolkit 1.17 25.06 2.0.2 eIQ Toolkit 1.17 25.09 2.1.3 eIQ Toolkit 1.17 25.12 2.2.2 eIQ Neutron SDK 2.2.2 26.03 3.0.0 eIQ Neutron SDK 3.0.0 26.06 3.1.1 eIQ Neutron SDK 3.1.1 Manually Update SDK Libraries To Use Latest Version eIQ Neutron SDK 3.2.1 It is highly recommend to always use the latest Neutron Compiler tool and to update the libraries in your eIQ project to match the latest Neutron Compiler tool. The libraries can be updated by overwriting the original files. You may wish to make a backup first though as the default eIQ examples in that SDK will use models that were converted to match those original Neutron libraries. The Neutron file structure in eIQ Neutron SDK and MCUXpresso SDK are now the same so that the entire Neutron folder can be overwritten directly.  Updating Neutron Libraries in MCUXpresso SDK 25.12 and later: File Source Directory in eIQ Neutron SDK Target Directory in MCUXpresso SDK libNeutronDriver.a target\imxrt700\ rt700\cm33\ \middleware\eiq\neutron\rt700\cm33\ libNeutronFirmware.a target\imxrt700\ rt700\cm33\ \middleware\eiq\neutron\rt700\cm33\ NeutronDriver.h target\imxrt700\ driver\include\ \middleware\eiq\neutron\driver\include\ NeutronErrors.h target\imxrt700\ common\include\ \middleware\eiq\neutron\common\include\ Note: The target\imxrt700\driver\include\NeutronEnvConfig.h and the libraries in target\imxrt700\cmodel are used by the ExecuTorch inference engine and so are not needed for TFLM eIQ projects.  Note: In MCUXpresso SDK 26.03 there are two sets of Neutron libraries in imported projects. It's the files in the /middleware/eiq folder that need to be updated.  anthony_huereca_0-1776090421844.png Updating Neutron Libraries in MCUXpresso SDK 25.09 or before: File Source Directory in eIQ Neutron SDK Target Directory in MCUXpresso SDK libNeutronDriver.a target\imxrt700\ rt700\cm33\ \middleware\eiq\tensorflow-lite\third_party\neutron\rt700\ libNeutronFirmware.a target\imxrt700\ rt700\cm33\ \middleware\eiq\tensorflow-lite\third_party\neutron\rt700\ NeutronDriver.h target\imxrt700\ driver\include\ \middleware\eiq\tensorflow-lite\third_party\neutron\driver\include\ NeutronErrors.h target\imxrt700\ common\include\ \middleware\eiq\tensorflow-lite\third_party\neutron\common\include\ Updating Neutron Libraries for MCUXpresso SDK 2.16 or before: Replace the entire middleware\eiq directory from MCUXpresso SDK 26.03 into your project, and then the Neutron libraries can be updated per the instructions above. In these older MCUXpresso SDK releases there were additional eIQ changes beyond just the four files above, so the easiest method to update those older projects is just to replace the entire eIQ middleware directory.  Updating Neutron Libraries for i.MX devices: To update the neutron runtime on a target device, upload the files to their designated directories, as follows: File Target Directory NeutronFirmware.elf /lib/firmware libNeutronDriver.so /lib/ libneutron_delegate.so /lib/
記事全体を表示
eIQ Toolkit for MCU - Getting Started Labs The tools previously bundled as part of eIQ Toolkit are now released as standalone packages and eIQ Toolkit will no longer be updated after the eIQ Toolkit v1.17 in Q3 2025. Going forward the tools previously included in eIQ Toolkit can now be found at: eIQ Neutron SDK now contains the latest versions of the Neutron Compiler tool (previously called the Neutron Converter tool before Aug 2026) eIQ Time Series Studio can now be found in a standalone package eIQ Model Creator provides an option for vision based model creation eIQ AI Toolkit will provide model optimization functionality (Coming Soon) Netron provides TFLite model viewing functionality This article will remain up for existing users. --------- eIQ Toolkit enables machine learning development with an intuitive GUI (named eIQ Portal) and development workflow tools, along with command line host tool options as part of the eIQ ML software development environment. Developers can create, optimize, debug and export ML models, as well as import datasets and models, rapidly train and deploy neural network models and ML workloads. The eIQ Portal provides output TensorFlow Lite models that seamlessly feed into eIQ inference engines like TensorFlow Lite and TensorFlow Lite for Microcontrollers. Using a tool called Model Runner, eIQ Toolkit can also generate runtime insights to help optimize neural network architectures on i.MX RT and i.MX devices. These labs go over how to use eIQ Portal. It is recommended to do them in the following order: Data Import Lab Model Runner Lab The labs are written for using a FRDM-MCXN947 and i.MX RT1170-EVK, but other eIQ supported devices can be used as well.  MCX N i.MX RT1050 i.MX RT1060 i.MX RT1064 i.MX RT1160 i.MX RT1170 i.MX RT1180 i.MX RT500 i.MX RT600 For details on the Time Series Studio tool please see the Time Series Studio lab guides. For  i.MX RT
記事全体を表示
eIQ Toolkit for MCU - 入门实验室 eIQ Toolkit 使用直观的GUI(名为eIQ Portal)和开发工作流工具以及命令行主机工具选项(作为eIQ ML软件开发环境一部分)支持机器学习开发。 开发人员可以创建、优化、调试和导出ML模型,以及导入数据集和模型,快速训练并部署神经网络模型和ML工作负载。 eIQ Portal提供可直接集成到eIQ推理引擎(如TensorFlow Lite和TensorFlow Lite for Microcontrollers)的输出TensorFlow Lite模型。使用名为Model Runner的工具,eIQ Toolkit还可以生成运行时洞察,帮助优化i.MX RT和i.MX设备上的神经网络架构。 这些实验将介绍如何使用eIQ Portal。建议按照以下顺序进行: 数据导入实验室 Model Runner实验室 这些实验室为使用FRDM-MCXN947和i.MX RT1170-EVK而编写,但也可以使用其他支持eIQ的设备。 MCX N i.MX RT1050 i.MX RT1060 i.MX RT1064 i.MX RT1160 i.MX RT1170 i.MX RT1180 i.MX RT500 i.MX RT600 有关eIQ Toolkit中包含的Time Series Studio工具的详细信息,请参阅Time Series Studio实验指南。 为了 i.MX RT
記事全体を表示
eIQ Toolkit for MCU - 入門ラボ eIQ Toolkitを使用すると、直感的なGUI(eIQ Portalと呼ばれる)と開発ワークフロー・ツール、およびeIQ MLソフトウェア開発環境の一部としてのコマンド・ライン・ホスト・ツール・オプションを利用して、機械学習の開発を行うことができます。 開発者は、MLモデルの作成、最適化、デバッグ、エクスポートに加え、データセットやモデルをインポートし、ニューラル・ネットワーク・モデルとMLワークロードを迅速にトレーニングして展開できます。 eIQ ポータルは、TensorFlow Lite やマイクロコントローラ用TensorFlow LiteなどのeIQ推論エンジンにシームレスにフィードする出力TensorFlow Liteモデルを提供します。Model Runner というツールを使用することで、eIQ Toolkit は i.MX RT および i.MX デバイス上のニューラルネットワークアーキテクチャを最適化するための実行時インサイトを生成することができます。 これらのラボでは、eIQ Portal の使用方法について説明します。以下の順序で行うことをお勧めします。 データインポートラボ モデルランナーラボ ラボは、FRDM-MCXN947およびi.MX RT1170-EVKを使用することを想定して作成されていますが、他のeIQサポート・デバイスを使用することもできます。 MCX N i.MX RT1050 i.MX RT1060 i.MX RT1064 i.MX RT1160 i.MX RT1170 i.MX RT1180 i.MX RT500 i.MX RT600 eIQ Toolkitに含まれるTime Series Studioツールの詳細については、Time Series Studioラボ・ガイドをご覧ください。 ために i.MX RT
記事全体を表示
Vision AI/ML with i.MX RT700 The i.MX RT700 microcontroller family includes an eIQ Neutron N3-64 NPU for accelerating neural network models. The i.MX RT700 EVK can be combined with a camera and LCD screen to showcase running TinyML vision models on a microcontroller. It's recommended to also go through the basic i.MX RT700 NPU Lab to learn more about eIQ enablement on RT700. The rest of this post will cover using vision models with camera+LCD on i.MX RT700.  i.MX RT700 Camera Hardware Setup: The following hardware is used: i.MX RT700 EVK RK055HDMIPI4MA0 LCD panel Camera Options: USB Camera with USB A to micro-B converter OV7670 parallel camera (with optional wide-angle lens) The USB camera should be attached to the i.MX RT700 EVK on USB OTG port J40. anthony_huereca_0-1777502759149.png The parallel camera interface is available on J53 and uses FlexIO with eDMA to read in the camera data. AN14836 describes the details. Note that the links in that app note for the demo software do not work but the demo code is in the process of being posted on NXP’s Application Code Hub.  When inserting the parallel camera align it to the left most side, as shown in the image below: anthony_huereca_0-1782156759078.png anthony_huereca_0-1782154106527.png Directions for attaching the LCD panel to the J52 connector on the underside of the i.MX RT700 EVK can be found on this Community post.  Note that there are multiple names used for the LCD panel and all these part numbers refer to the exact same panel: RK055HDMIPI4MA0 RK055MHD091 RK055MHD091-CTG RK055MHD091A0-CTG i.MX RT700 Vision ML Examples: There are two vision AI/ML examples for i.MX RT700 available today: Object Detection (part of AN14718) Hand Gesture Recognition Both of these examples use a USB camera.  i.MX RT700 Vision MPP Examples:  The Media Processing Pipeline (MPP) interference examples in i.MX RT700 MCUXpresso SDK 26.06 and later support both parallel and USB camera interfaces. These SDK examples are only available for command line GCC and VS Code MCUXpresso SDK layouts. They are not available for MCUXpresso IDE, IAR, or Keil.  anthony_huereca_0-1782155634010.png A parallel camera is used by default in the RT700 MPP projects. A USB camera can be enabled by adding a USE_USB_CAMERA declaration in the project's CMakeLists.txt file by adding the following macro: mcux_add_macro(     CC "-DUSE_USB_CAMERA"     CX "-DUSE_USB_CAMERA" ) However it's important to note that the camera_usb_final_fr_app_view project is setup to use USB camera by default, but it only works with a very specific HM2131 camera. All other MPP demos can work with most generic USB cameras. 
記事全体を表示
Vision ML with the FRDM-MCXN947 The MCX N microcontroller family includes an eIQ Neutron N1-16 NPU for accelerating neural network models. The FRDM-MCXN947 development board can be combined with a camera and LCD screen to showcase running TinyML vision models on a microcontroller.   MCX N Camera Hardware Setup: The following hardware is used: MCX N FRDM Development Board - FRDM-MCXN947 OV7670 camera (with optional wide-angle lens) NXP LCD-PAR-S035  There are three small modifications needed for the FRDM-MCXN947 board for camera support. Without this modification the camera colors will be incorrect and tinted red.   Change SJ16, SJ26, and SJ27 found on the back of the Rev B board to connect pin 3 (the dashed side) so that it looks like the following:          anthony_huereca_0-1770329042521.png Then connect the camera and LCD to the FRDM-MCXN947: Plug in the OV7670 camera into J11. It should line up with the orange box.         anthony_huereca_1-1770329080269.png                   anthony_huereca_2-1770329086311.png Connect the LCD-PAR-S035 LCD into J12. It should be flush with the bottom so that the top 2 rows of pins are left hanging off the edge. Also note that on some LCD-PAR-S035 boards those top two rows of pins are not installed.          anthony_huereca_3-1770329095085.png It should look like the following when complete           anthony_huereca_4-1770329100729.png Also as the camera and Ethernet pins are shared, if you need to use the Ethernet+Camera at the same time please see this NXP Community post. MCX N Vision ML Examples: The NXP Application Code Hub contains several vision AI/ML examples: Face Detect Face Detect with Zephyr Multiple Person Detection  CIFAR10 Fashion MNIST There are also Multimedia Processing Pipeline (MPP) examples inside the MCX N MCUXpresso SDK that demonstrate more examples of using vision AI/ML on MCX N. These examples are only available for VSCode/GCC in the Repository-Layout SDK package. Note: It is recommended to use MCUXpresso SDK 25.09 for these examples. The MPP issues in the 25.12 and 26.03 MCUXpresso SDK releases should be fixed in the upcoming MCUXpresso SDK 26.06.  anthony_huereca_5-1770329951165.png MCX N ML Vision Lab: The attached eIQ Neutron NPU for MCX N Lab Guide - Face Detect.pdf lab document walks through the steps to download an example Face Detect ML project from the NXP Application Code Hub and use the eIQ Neutron Compiler tool to convert a model. It also describes how to update the eIQ and Neutron software libraries in an older MCUXpresso SDK project to work with the latest eIQ Neutron SDK libraries. It is recommended to go through the general MCX N NPU Lab Guide first and then do the attached Face Detect lab second.  The lab is also included below: 1  Lab Overview This document will demonstrate the acceleration provided by the eIQ Neutron NPU using the Multiple Face Detection demo for the FRDM-MCXN947 found on the NXP App Code Hub. The demo will run with the non-NPU optimized model and then the performance can be compared to the NPU optimized version of that same model. It also demonstrates how the NPU optimized version of the face detect model was generated. This lab is written for MCUXPresso IDE but the same basic steps can be used for VSCode or GCC. This lab will also cover how to update the Neutron NPU libraries in the project, as the original Face Detect example uses an older Neutron library version. It is highly recommended to complete the eIQ Neutron NPU for MCX N Lab Guide before starting this lab. 2  Software and Hardware Installation This section will cover the hardware and software needed for this lab. 2.1 Hardware The following hardware is required for this lab: MCX N FRDM Development Board - FRDM-MCXN947 OV7670 camera (with optional wide-angle lens) NXP LCD-PAR-S035 2.2 NXP Software Installation          Install MCUXpresso IDE v25.6 or later. Download the latest eIQ Neutron SDK Download and unzip the latest MCUXpresso SDK for FRDM-MCXN947 using MCUXpresso SDK builder Search for the FRDM-MCXN947 board anthony_huereca_0-1779252823521.png Then click on Others anthony_huereca_1-1779252835626.png On the SDK builder page, make sure to select the “eIQ” middleware and that the MCUXpresso IDE toolchain is selected. Then click on Build SDK.   anthony_huereca_2-1779252845567.png Then click on the Download button and accept the license agreement to download the zip file. anthony_huereca_3-1779252852536.png 3   Face Detection Example 3.1 Download Face Detect Demo from App Code Hub The code for this lab can be found on the NXP Application Code Hub hosted on Github, and we can use MCUXpresso IDE to directly import the Face Detection example from App Code Hub. Drag-and-drop the FRDM-MCXN947 SDK zip file into the Installed SDKs window, located on a tab at the bottom of the screen named “Installed SDKs”. You will get the following pop-up, so hit OK. anthony_huereca_4-1779252865811.png Once imported, the Installed SDK tab will look something like this:  anthony_huereca_5-1779252872648.png In the Quickstart Panel found in the lower left corner, click on Import from Application Code Hub.. anthony_huereca_6-1779252877943.png In the dialog box that pops up there are many filters available to filter for different devices and types of demos. But since the name of the demo we are interested in is already known, the search box will be faster. Select the AI/ML category and then type in “face detection” and then click on the “Multiple face detection on mcxn947” demo. Make sure you don’t accidently click on the “Multiple Person Detection” demo. anthony_huereca_7-1779252885931.png On the popup that comes up, click on GitHub link at the top. At that point the Next button at the bottom will become clickable so click on that. anthony_huereca_8-1779252891875.png The next screen displays the possible branches. In this case there is only main so just click on the Next button at the bottom to go with the default. anthony_huereca_9-1779252899673.png The next dialog box determines the location on your computer where the code will be downloaded to. You can leave it at the default location if desired or click on Browse to pick your own location. Then click on Next. anthony_huereca_10-1779252906645.png The next screen will download the code and ask about importing the project. Click on Next to go with the default Import existing Eclipse projects option. anthony_huereca_11-1779252913518.png Then finally on the last screen click on Finish to import the project into your MCUXPresso IDE workspace. anthony_huereca_12-1779252920739.png You may get the following warning due to the project being made on an older version of the SDK. Then hit OK to accept the using the newest version. anthony_huereca_13-1779252927267.png  15. It should look like the following when done: anthony_huereca_14-1779252934804.png 3.2 Convert Model The demo is already using a model that was converted to take advantage of the eIQ Neutron NPU. This purpose of this section of the lab is to teach new NXP users how that model was converted. Unzip the eIQ Neutron SDK package in a directory of your choosing.   Optionally add \eIQ_NeutronSDK_ \bin to your executable path so that the neutron-compiler utility can be directly called from the command line. Back in MCUXpresso IDE, find the location of the original non-converted model used for this demo by right clicking on the face_detect.tflite file in source/model/ and going to Utilities->Open directory browser here. anthony_huereca_15-1779252951720.png Copy the directory location as it will be used in the next step anthony_huereca_16-1779252958805.png Open a Windows Command prompt and navigate to the directory where the model was at from the previous step             anthony_huereca_17-1779252967083.png Use the Neutron Compiler to convert the Face Detection model: neutron-compiler --input face_detect.tflite --output face_npu.tflite --target mcxn94x anthony_huereca_18-1779252973705.png 3.3 Update eIQ Neutron Libraries The Face Detect ACH example uses an older version of the eIQ Neutron libraries, and so it needs to be updated to match the Neutron libraries in newest eIQ Neutron SDK since the model was converted with that version of the Neutron Compiler tool. In the frdmmcxn947_multi_face_detection project, right click on the eiq folder and go to Utilities->Open directory browser here anthony_huereca_19-1779252981696.png Overwrite the Neutron files from the eIQ Neutron SDK folder into your project to update the Neutron libraries to the latest version: File Name Source Directory in eIQ Neutron SDK Target Directory in MCUXpresso SDK libNeutronDriver.a target\mcxn94x\board\ eiq\neutron\mcxn\cm33 libNeutronFirmware.a target\mcxn94x\board\ eiq\neutron\mcxn\cm33 NeutronDriver.h target\mcxn94x\driver\include\ eiq\neutron\driver\include NeutronErrors.h target\mcxn94x\common\include\ eiq\neutron\common\include After the new Neutron libraries are copied over, clean the project to ensure the new libraries will be used anthony_huereca_20-1779252988773.png 3.4 Board modifcations There are some hardware modifications to the MCX FRDM board required for this demo since the camera pins are muxed with the Ethernet pins and the Ethernet functionality is the default. The board version can be determined by scanning the QR code on the back of the MCX FRDM board with your phone. Most people will have Rev B boards. anthony_huereca_21-1779252995826.png Rev A: Remove the R157, R158, and R159 resistors from the back of the Rev A board so that it looks like the following: anthony_huereca_22-1779253003945.png Rev B: Change SJ16, SJ26, and SJ27 found on the back of the Rev B board to connect pin 3 (the dashed side) so that it looks like the following: anthony_huereca_23-1779253007749.png 3.5 Connect the camera and LCD Plug in the OV7670 camera into J11. It should line up with the orange box. anthony_huereca_24-1779253014542.png anthony_huereca_25-1779253017946.png Connect the LCD-PAR-S035 LCD into J12. Note that some older LCD-PAR-S035 LCDs may have an extra set of pins soldered on, and in that case the extra 2 rows of pins should be hanging off the edge like in the photo below.             anthony_huereca_26-1779253024933.png It should look like the following when complete anthony_huereca_27-1779253031139.png 3.6 Run Models Now open up model_data.s by double clicking on it, and then modify line 43 to point to the original (non NPU converted) model file named face_detect.tflite. This particular project uses the .tflite file directly. anthony_huereca_28-1779253042408.png Build the project by clicking on the Build icon in the Quickstart Panel anthony_huereca_29-1779253048317.png Then download and run the project by clicking on the Debug icon in the Quickstart Panel anthony_huereca_30-1779253054552.png You should see the demo working with an inference time of 817ms printed on the LCD display. Note: The default camera on the OV7670 is not very wide angle so you have to hold it fairly far back. There are wide-angle lenses that can be purchased to make it easier to demonstrate. Note: After POR there may be some glitching on the camera due to the fact the camera is expecting 2.8V but the board is at 3.3V and the initial HSYNC signal was missed. Press the reset button (SW1) and it should fix any camera issue.  Now let’s use the Neutron optimized model by opening model_data.s again and this time selecting the NPU converted model face_npu.tflite anthony_huereca_31-1779253063971.png Recompile and reprogram the board. You’ll see it is significantly faster with a 22ms inference time, a 37x improvement! 4  Conclusion This lab demonstrated how the eIQ Neutron NPU on MCX N devices can significantly decrease inference time on quantized models and the steps to generate a NPU optimized model using the command line tools. Also explore the other App Code Hub ML examples available online. FRDM-Training MCXN NPU|ML
記事全体を表示