Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
由 MCUxpresso IDE 生成的 Makefile 执行 大家好, 我们使用了 MCUxpresso IDE,导入了 imxrt1170 评估板的示例 SDK,并构建了项目文件。 MCUxpresso IDE 本身已自动生成了 Makefile 文件。所以我的问题是,如何在不使用 MCUxpresso 的情况下,在我的 Windows 系统中执行此 make 文件,例如使用 make all、make clean 和 make 命令来生成二进制文件(MCUxpresso 使用的是 .axf 文件)。 我还附上了 Makefile 文件,供您参考。 Re: Makefile execution generated by MCUxpresso IDE 你好, 我是Windows用户。使用MCUXpresso 的 makefiles 完全取决于%PATH%变量。 我发现从命令行运行“ make ”命令的最简单方法是按住Ctrl键并单击MCUXpresso IDE右下角的项目名称: 这将在您的项目目录中打开一个终端窗口,并将%PATH%正确设置,以便您可以输入“ make clean ”和“ make -j8 all ”以及类似的命令。 当然,您可以关闭 IDE,终端窗口仍会保持打开状态。您还可以检查%PATH%变量。在任何其他终端窗口中设置此路径,您也可以在那里运行 make 命令。 希望你能好好利用它。 此致, 丹尼尔 Re: Makefile execution generated by MCUxpresso IDE Eclipse 中自动生成的 make 文件(托管 make)不具备可移植性。您可以使用 SDK(非 IDE)中的 make 文件,或者更好的选择是使用 CMake 来获得一个可移植的构建系统。我正在使用https://mcuoneclipse.com/2023/04/19/building-a-triumvirate-from-eclipse-cdt-to-cmake-cmd-and-visual-studio-code/中描述的方法,以便同时使用 IDE、make 和 CMake 进行构建。 Re: Makefile execution generated by MCUxpresso IDE 嗨@Jeevan , 我认为你可以参考 gcc 项目在 SDK 中构建它,因为它也使用 makefile,而无需 IDE。 关于gcc版本方法,您可以参考SDK文档: SDK_2_14_0_MIMXRT1170-EVK\docs\MIMXRT1170-EVK MCUXpresso SDK 入门指南.pdf 第六章 使用 Arm ® GCC 运行演示 您还可以参考我的 Ubuntu 版本方法文档: https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT-Linux-SDK-build-based-on-Ubuntu/ta-p/1690185 希望对您有所帮助! 如果您还有任何疑问,请随时告诉我。 顺祝商祺! kerry
記事全体を表示
FreeMaster Over CAN on interrupt fail to compile in polling mode I try to change those 3 mico for enabling polling mode from code generated from  "FreeMaster over CAN" and "s32k3xx_fm_over_can_s32ct"  FMSTR_SHORT_INTR, FMSTR_POLL_DRIVEN, and FMSTR_DEBUG_TX but end with compiling failed, reason is that transfer feature freemaster over can from "s32k3xx_fm_over_can_s32ct"  reply on interrupt, but if motor control case using many irq like least 10khz fast task and bctu and hall , wagtch dog, freemaster received no response from controllewr k312, polling mode is necessary. how to enable those 3 micros and open polling mode for "s32k3xx_fm_over_can_s32ct"  Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Communication modes are mutually exclusive options. That's exactly what the error message means. FreeMASTER Driver routine may require a significative processing time and those 3 settings try to help developers to balance the execution depending on use case as follows: FMSTR_POLL_DRIVEN - FreeMASTER routine is executed entirely in the FMSTR_Poll function - developers decides when it is called but has to make sure that it is invoked at such frequency that allows FreeMASTER to keep up with the communication speed FMSTR_LONG_INTR - FreeMASTER routine is executed entirely in the FMSTR_CanIIsr function - deveopers forces the system to executed it by assigning a higher priority (I assume this one was used as it fits best in case of big number of interrupts) FMSTR_SHORT_INTR - is a mix of the previous two: the communication is happening in the interrupt handler (FMSTR_CanIsr), but the processing - in (FMSTR_Poll) I think what you want to try is the last one (combination of polling + interrupt). Still, while the interrupt may guarantee that the CAN frames will be read, the board may not reply on time if FMSTR_Poll is not invoked frequently enough (due to interrupts with higher priority). As a result - FreeMASTER desktop tool will show timeout errors. The developer has to make sure that the system can allocate sufficient time for FreeMASTER Driver routines in compute intensive applications. Hope it clarifies FreeMASTER's communication modes. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode I did try before using same setting as you: for example,  I changed FMSTR_POLL_DRIVEN as 1 (was 0.as interrupt mode) // Select interrupt or poll-driven serial communication #define FMSTR_LONG_INTR 1 // Complete message processing in interrupt #define FMSTR_SHORT_INTR 0 // Queuing done in interrupt #define FMSTR_POLL_DRIVEN 1/*0 */ 7 error: mainly because of #if (FMSTR_LONG_INTR && (FMSTR_SHORT_INTR || FMSTR_POLL_DRIVEN)) || \ (FMSTR_SHORT_INTR && (FMSTR_LONG_INTR || FMSTR_POLL_DRIVEN)) || \ (FMSTR_POLL_DRIVEN && (FMSTR_LONG_INTR || FMSTR_SHORT_INTR)) || \ !(FMSTR_POLL_DRIVEN || FMSTR_LONG_INTR || FMSTR_SHORT_INTR) /* mismatch in interrupt modes, only one can be selected */ #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN #endif  3 error happen above for compile ../FMsrc/freemaster_private.h:326:2: error: #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 326 | #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN | ^~~~~ ../FMsrc/freemaster_private.h:326:2: error: #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 326 | #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN | ^~~~~ ../FMsrc/freemaster_private.h:326:2: error: #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN 326 | #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN | ^~~~~ one is not enough, but two even all also failed. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Hi @millerhughes, To enable Polling mode you need to update the following macros: #define FMSTR_LONG_INTR 0 #define FMSTR_SHORT_INTR 0 #define FMSTR_POLL_DRIVEN 1 only one out of those 3 should be set to 1, overwise the code won't compile. Regarding FMSTR_DEBUG_TX - this is a debug macro that is meant to verify the TX line. Combined with previous definitions this one: #define FMSTR_DEBUG_TX 1 will instruct FreeMASTER Driver to continuously send a debug frame (note: this helps you inspecting the TX line and you won't be able to connect to the board using FreeMASTER tool while this functionality is enabled). Could you share your compilation error logs ? As far as I know, s32k3xx_fm_over_can_s32ct example is implemented by Model-Based Design Toolbox (MBDT) team. If you develop your application using Simulink, it may require updating block configuration instead of manual code changes. In this case, MBDT developers can provide better assistance for your use case through the dedicated MBDT community. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Hi @millerhughes, I would try to troubleshoot the FMSTR_LONG_INTR mode, considering it is the only mode that works, even if only for a short time. The things I would look into are: Can you inspect the CAN bus with a logic analyzer and check whether the CAN messages are no longer being sent from the board, or if they are being sent but become corrupted? How many variables are you reading on the PC side? The number of variables is directly proportional to the amount of data exchanged between the PC tool and the board. If possible, I would start with a few variables and gradually increase the number to see when it breaks. Is the CAN instance used by any routines other than the FreeMASTER Driver? Did you start with a MATLAB/Simulink model or an S32 Design Studio example application? Depending on the original source, the FreeMASTER CAN driver implementation may differ. If possible, please attach the source files (they should be named freemaster_s32_flexcan.h and freemaster_s32_flexcan.c). Re: FreeMaster Over CAN on interrupt fail to compile in polling mode thanks for clarification, yes, combination of polling + interrupt is my target. restate issue: target k312 fail to send response after freeamster running a while. now feedback is following: interrupt mode: freemaster working, issue shown above, FMSTR_LONG_INTR only polling mode: compile,, freemaster not working ,  FMSTR_POLL_DRIVEN even if remove error message on freemaster_private.h:326:2: mixed: freemaster working, can compile  but traffic issue remain , all three of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN set as 1 and removing error message on freemaster_private.h:326:2: now I justify :Could be my CAN driver issue. which information do you need if your can provide further support? Re: FreeMaster Over CAN on interrupt fail to compile in polling mode 1, I used peakcan view to monitor message flow, yes, CAN messages are no longer being sent from the board when freeamster smoothly working, message flashing very fast; when freeamaster freeze, CAN message sent from S32k312minEVB stopped apparently  but message read from freemaster still visible and slow; 2, totally less 20 variables, but amount is much smaller than demon fm project s32k312_mc_pmsm_2sh_s32ct.pmpx "s32k344_mc_pmsm_2sh_s32ct" 3.CAN instance solely used by freemaster; you are right,  our BSW use RTD ,to implement FM over CAN,  flexcan_43 and flexcan_ipw  layer from DEMON s32k3xx_fm_over_can_s32ct MCAL driver are integrated. but still working with issue above. by the way, due to CAN IP layer limit, our can driver can accept standard msg ID, so freeamster configue setting : send standard, receeive extension. please find atatched 4 files I have, which are close to you. do you need all CAN IP configure files? actually all 43/ipw configure same as demon s32k3xx_fm_over_can_s32ct. You can also directly email me. Re: FreeMaster Over CAN on interrupt fail to compile in polling mode Hi @millerhughes, Unfortunately, I did not find any attachments on the this thread, but I got those files from MBDT and it indeed differs from the our team's implementation. Could you try replacing MBDT implementation with our version (see attachments - those correspond to freemaster_s32k3xx_can.c and freemaster_s32k3xx_can.h). One inconsistency I noticed is the CAN interrupt handler signature: FMSTR_BOOL FMSTR_CanIsr(FMSTR_U16 RxObjectId, FMSTR_U32 RxCanId, FMSTR_U32 RxMsgLength, const FMSTR_U8 * RxMsgData, FMSTR_U16 TxMsgBufId); vs void FMSTR_CanIsr(void); Assuming CAN details (such as buffer IDs) are defined in freemaster_cfg.h we do not need them in the handler. We also use RTD (low hardware layer) and  your configuration should not change.
記事全体を表示
imx8mmini sai1 max sample rates hi     sai1 connect a codecs support sample rates 768khz/32bit. SAI1-RX0 connect codec_DOUT. have no data with 768khz/32bit and L/R channels to read.but SAI1-TXFS/SAI1-TXC could output 768khz/49.152Mhz. read L/R channels with 768khz/16bit and 384khz/32bit is ok.kernel version 6.1.36. thanks. Re: imx8mmini sai1 max sample rates about codecs dts as below: run arecord cmd with "-f S32_LE -r 384000 -c 2 -d 1 test.wav" or "-f S16_LE -r 786000 -c 2 -d 1 test.wav" is ok. but run with "-f S32_LE -r 768000 -c 2 -d 1 test.wav",test.wav is NULL. Re: imx8mmini sai1 max sample rates Hello, Could you please share your device tree configuration? Which CODEC are you using? Best regards. Re: imx8mmini sai1 max sample rates Hello, If you are getting errors related to the sample rate, could be caused by clock source since it is not able to generate the necessary frequency for that sample rate. Sometimes, is needed to use a dedicated clock source such as an external clock to get an specific sample rate. Best regards. Re: imx8mmini sai1 max sample rates when read with 768kHz 32bit x 2 channel,SAI1_TXFS/SAI1_TXC output is ok(768khz/49.152Mhz),The codec data output pin (connect to SAI1_RX0)has data output when checked with an oscilloscope.Is it possible that imx8mmini sdma is not worKing? Re: imx8mmini sai1 max sample rates Hello, Do you get underflow or overflow errors during testing? Best regards. Re: imx8mmini sai1 max sample rates get kernel print errors during testing as below: [ 506.336480] [858] wait_for_avail:1936: asoc-simple-card sound-pcmdev: capture write error (DMA or IRQ trouble?) Re: imx8mmini sai1 max sample rates Hello, Please share your dmesg: dmesg | grep -i -E "xrun|overrun|dma|fifo|sdma|sai" With that error log the issue could be caused by an overrun, please try to increase period and buffer size, for example: arecord -D hw:0,0 -f S32_LE -r 768000 -c 2 --buffer-size=65536 --period-size=8192 -d 5 test.wav Best regards. Re: imx8mmini sai1 max sample rates hi JorgeCas:  thanks for your reply. the same error when  increase period and buffer size. ------------------------------------ root@mx8mm:/tmp# arecord -v -D hw:0,0 -f S16_LE -r 768000 -c 2 -d 1 test.wav Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 768000 Hz, Stereo Hardware PCM card 0 'pcmdev-audio' device 0 subdevice 0 Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 768000 exact rate : 768000 (768000/1) msbits : 16 buffer_size : 131064 period_size : 16383 period_time : 21332 tstamp_mode : NONE tstamp_type : MONOTONIC period_step : 1 avail_min : 16383 period_event : 0 start_threshold : 1 stop_threshold : 131064 silence_threshold: 0 silence_size : 0 boundary : 9222809086901354496 appl_ptr : 0 hw_ptr : 0 root@mx8mm:/tmp# ls test.wav -la -rw-r--r-- 1 root root 3072044 Jul 22 22:09 test.wav root@mx8mm:/tmp# arecord -D hw:0,0 -f S32_LE -r 768000 -c 2 --buffer-size=65536 --period-size=8192 -d 5 test.wav Recording WAVE 'test.wav' : Signed 32 bit Little Endian, Rate 768000 Hz, Stereo arecord: pcm_read:2221: read error: Input/output error root@mx8mm:/tmp# dmesg | grep -i -E "xrun|overrun|dma|fifo|sdma|sai" [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000b8400000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node vdevbuffer@b8400000, compatible id shared-dma-pool [ 0.000000] DMA [mem 0x0000000040000000-0x00000000bfffffff] [ 0.000000] DMA32 empty [ 0.000000] Policy zone: DMA [ 0.043871] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations [ 0.044176] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.044364] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.105243] iommu: DMA domain TLB invalidation policy: strict mode [ 0.195002] imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 [ 0.195018] imx-sdma 302c0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin [ 0.199761] mxs-dma 33000000.dma-controller: initialized [ 1.996379] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA [ 2.786360] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA [ 8.812860] imx-sdma 302c0000.dma-controller: firmware found. [ 8.818748] imx-sdma 30bd0000.dma-controller: firmware found. [ 8.825901] imx-sdma 30bd0000.dma-controller: loaded firmware 4.6 [ 91.326700] [857] soc_hw_sanity_check:775: 30010000.sai-pcmdevice-codec: ASoC: pcmdevice-codec <-> 30010000.sai info: [ 91.326722] [857] soc_hw_sanity_check:777: 30010000.sai-pcmdevice-codec: ASoC: rate mask 0x154c0 [ 91.326728] [857] soc_hw_sanity_check:778: 30010000.sai-pcmdevice-codec: ASoC: ch min 2 max 8 [ 91.326734] [857] soc_hw_sanity_check:780: 30010000.sai-pcmdevice-codec: ASoC: rate min 44100 max 768000 [ 91.342776] [857] fsl_sai_set_bclk:460: fsl-sai 30010000.sai: ratio 2 for freq 24576000Hz based on clock 49152000Hz [ 91.342784] [857] fsl_sai_set_bclk:481: fsl-sai 30010000.sai: best fit: clock id=1, div=2, deviation =0 [ 91.343315] [857] dapm_update_dai_unlocked:2698: fsl-sai 30010000.sai: Update DAI routes for 30010000.sai capture [ 113.965788] [861] soc_hw_sanity_check:775: 30010000.sai-pcmdevice-codec: ASoC: pcmdevice-codec <-> 30010000.sai info: [ 113.965809] [861] soc_hw_sanity_check:777: 30010000.sai-pcmdevice-codec: ASoC: rate mask 0x154c0 [ 113.965816] [861] soc_hw_sanity_check:778: 30010000.sai-pcmdevice-codec: ASoC: ch min 2 max 8 [ 113.965822] [861] soc_hw_sanity_check:780: 30010000.sai-pcmdevice-codec: ASoC: rate min 44100 max 768000 [ 113.977610] [861] fsl_sai_set_bclk:460: fsl-sai 30010000.sai: ratio 1 for freq 49152000Hz based on clock 49152000Hz [ 113.977618] [861] fsl_sai_set_bclk:481: fsl-sai 30010000.sai: best fit: clock id=1, div=1, deviation =0 [ 113.978149] [861] dapm_update_dai_unlocked:2698: fsl-sai 30010000.sai: Update DAI routes for 30010000.sai capture [ 124.127055] [861] wait_for_avail:1936: asoc-simple-card sound-pcmdev: capture write error (DMA or IRQ trouble?) root@mx8mm:/tmp# ls test.wav -la -rw-r--r-- 1 root root 44 Jul 22 22:09 test.wav root@mx8mm:/tmp#
記事全体を表示
S32K312 上的 Fat 文件系统集成(RTD 6.0.0,非AUTOSAR、SPI SD卡驱动程序) 您好, 我已经成功地在 S32K312 EVB 上使用 RTD 6.0.0(非 AUTOSAR Lpspi_Ip 驱动程序)实现了通过 SPI 的 SD 卡驱动程序。 以下功能已实现: SD卡初始化(CMD0、CMD8、ACMD41、CMD58) 单块读取(CMD17) 单块写入(CMD24) 多块读取(CMD18) 多块写入(CMD25) 已通过向 SD 卡写入数据并成功读取数据验证了驱动程序。 现在我想添加对 FAT 文件系统的支持,以便在 PC 上创建、写入和读取文件。 我有几个问题: NXP 是否为使用 RTD 6.0.0(非 AUTOSAR)的 S32K312 提供或支持 FatFs 集成?如果没有,是否有其他 S32K3 设备的示例可供参考? NXP是否有任何中间件软件包可以将FatFs与SD卡集成? 如果没有官方示例,建议的方法是集成 Elm-Chan FatFs 库并实现所需的 diskio.c 函数。使用我现有的SD卡驱动程序进行接口? 是否有任何参考项目、应用笔记或示例库演示了在 S32K3 设备上集成 FAT 文件系统? 我有点困惑,不知道哪种方法更适合产品开发。任何指导或参考资料都将不胜感激。 谢谢! Re: Fat Filesystem Integration on S32K312 (RTD 6.0.0, Non-AUTOSAR, SPI SD Card Driver) 嗨@parvathitp 目前 S32K312 尚不支持 FatFS 文件系统。在 S32K3 系列中,FatFS 集成仅适用于包含 uSDHC 外设的设备,该外设提供微控制器和 SD 卡之间的硬件接口。 对于这些设备,我们提供了一个 SDHC 软件栈,通过 uSDHC 驱动程序简化对 SD 总线的访问,并实现与 FatFS 的集成。 社区帖子“将 FatFs 文件系统移植到 KL26 SPI SD 卡代码”中描述的方法和概念可能对您的实现有所帮助。虽然该示例基于 KL26 设备,但正如标题所示,它描述了如何将 FatFS 文件系统移植到不包含 SDHC/uSDHC 外围设备的设备上,这与您的用例类似。 BR,VaneB
記事全体を表示
Fat Filesystem Integration on S32K312 (RTD 6.0.0, Non-AUTOSAR, SPI SD Card Driver) Hi, I have successfully implemented an SD Card driver over SPI on the S32K312 EVB using RTD 6.0.0 (Non-AUTOSAR Lpspi_Ip driver). The following functionality is already working: SD card initialization (CMD0, CMD8, ACMD41, CMD58) Single block read (CMD17) Single block write (CMD24) Multiple block read (CMD18) Multiple block write (CMD25) The driver has been verified by successfully writing data to the SD card and reading it back. Now I would like to add FAT filesystem support so that files can be created, written, and read on a PC. I have a few questions: Does NXP provide or support FatFs integration for the S32K312 using RTD 6.0.0 (Non-AUTOSAR)? If not, are there any supported examples available for other S32K3 devices that can be used as a reference? Is there any middleware package from NXP for integrating FatFs with an SD card? If there is no official example, is the recommended approach to integrate the Elm-Chan FatFs library and implement the required diskio.c interface using my existing SD card driver? Are there any reference projects, application notes, or example repositories that demonstrate FAT filesystem integration on S32K3 devices? I am a bit confused about which approach is recommended for production development. Any guidance or references would be greatly appreciated. Thank you. Re: Fat Filesystem Integration on S32K312 (RTD 6.0.0, Non-AUTOSAR, SPI SD Card Driver) Hi @parvathitp  There is currently no specific FatFS support for the S32K312. Within the S32K3 family, FatFS integration is available only for devices that include the uSDHC peripheral, which provides the hardware interface between the microcontroller and an SD card. For these devices, an SDHC software stack is provided to simplify access to the SD bus through the uSDHC driver and to enable integration with FatFS. The approach and concepts described in the community thread "Porting FatFs file system to KL26 SPI SD card code" may be a useful reference for your implementation. Although the example is based on the KL26 device, as the title suggests, it describes how to port the FatFS file system to a device that does not include an SDHC/uSDHC peripheral, which is similar to your use case. BR, VaneB
記事全体を表示
Enabling Data Cache Hi,  I'm testing the inference time and performance of TFLite AI Models on the NXP FRDM-MCXN947 MCUs. While I'm getting good performance using the NPU, I'm getting comparably slow inference times when not using it. I have been able to reduce inference time for other MCUs by enabling the Data Cache. I would like to know how to enable D-Cache on the NXP MCUs. Any other performance boost strategies are also welcome. MCXN NPU|ML Re: Enabling Data Cache Enabling data cache can really speed up workflows and reduce repetitive processing. For those looking to plan effectively, the Persona fusion strategy offers a clear way to anticipate outcomes and optimize results. It’s fascinating how combining the right elements can lead to unexpected efficiencies. This approach definitely makes managing complex data much more approachable. Re: Enabling Data Cache Interesting! Have you experimented with compiler optimization flags? Often, bumping up optimization (e.g., -O3) can significantly speed up code when the NPU isn't active. Also, regarding D-Cache, check the SDK documentation for CACHE_Enable or similar functions, specifically for the MCXN947. Remember optimizing often comes down to a balancing act like in Slope Game, optimizing code versus hardware limitations for top performance. Good luck! Re: Enabling Data Cache Hi @ge0rgeth0mas  The CACHE64 module is used to cache FlexSPI accesses. Based on  your need, you just need to enable lpcache. BR Harry Re: Enabling Data Cache It's great to see you exploring TFLite AI Models on the NXP FRDM-MCXN947! Enabling D-Cache can indeed enhance performance significantly. You might also look into optimizing your model size or quantizing your models for better efficiency. Speaking of performance, have you tried integrating it with gaming applications like the Snow Rider 3D game? It could be a fun way to test the capabilities of your setup! Re: Enabling Data Cache Hi Harry,  I was going through the reference manual and SDK drivers as you mentioned: I noticed theres is  * fsl_cach_lpcac.h which contains L1CACHE_EnableCodeCache() and * fsl_cache.h which contains CACHE64_EnableCache(CACHE64_CTRL_Type *base) Could CACHE64 be data cache and LPCAC be Instruction cache? Re: Enabling Data Cache Hi Harry,  Could CACHE64 be data cache and LPCAC be Instruction cache? Re: Enabling Data Cache Hi @ge0rgeth0mas  You can refer to the Chapter 5 in MCX Nx4x Reference Manual. Regarding cache related APIs.  You can refer to the fsl_cache_lpcac.h in MCXN947 SDK. BR Harry Re: Enabling Data Cache That's fascinating work! I've dabbled in similar optimization challenges before. Have you explored different quantization techniques for your TFLite models? Sometimes, even small tweaks there can make a difference when the NPU isn't engaged. Speaking of fast-paced action, it reminds me of playing Basketball Stars! It demands quick reflexes and strategy, just like optimizing AI. You might find it a fun distraction when you need a break from the coding. Re: Enabling Data Cache That's interesting work on the FRDM-MCXN947! It's great you're exploring different performance optimizations. I haven't worked with that specific MCU, but data cache enabling definitely makes a difference in many cases. You might find some helpful insights from communities focused on embedded development, or perhaps even those discussing similar optimization challenges within the context of games like, ironically enough, Suika Game! Sometimes the approaches to efficiency in game development translate unexpectedly well. Good luck with your project! Re: Enabling Data Cache Thanks for sharing this issue. Hardware acceleration gets a lot of attention, but CPU-side optimization is still very important for edge AI applications. Cache configuration, memory alignment, CMSIS-NN optimizations, and compiler flags are definitely areas worth exploring. It’s the same idea as improving skills step by step in games like Drift Boss — small adjustments can lead to much better results over time.
記事全体を表示
构建 Yocto Linux 时出现基础文件错误 构建 Yocto 错误。当我按照 NXP 的 Yocto 指南进行版本时。如何修复此错误? 警告:失败的 setscene 任务的日志文件位于 /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/armv8a-poky-linux/ptest-runner/2.4.5+git/temp/log.do_package_setscene.1680451 警告:场景设置任务(/home/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.bb:do_package_setscene)执行失败,退出代码为“1”——将改为运行实际任务。 错误:base-files-3.0.14-r0 do_package:执行 exec_func_python() 自动生成的 Python 函数时出错: 导致此异常/失败的 Python 调用堆栈跟踪如下: 文件:'exec_func_python() autogenerated',行号:2,函数: 0001: *** 0002:perform_packagecopy(d) 0003: 文件:'/home/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/classes-global/package.bbclass',行号:363,函数:perform_packagecopy 0359: rpath_replace (dvar, d) 0360:} 0361:perform_packagecopy[cleandirs] = "${PKGD} " 0362:perform_packagecopy[dirs] = "${PKGD} " *** 0363: 0364:python populate_packages() { 0365: oe.package.populate_packages(d) 0366:} 0367:populate_packages[dirs] = " ${D} " 文件:'/usr/lib/python3.10/subprocess.py'行号:421,函数:check_output 0417:否则: 0418:空 = b'' 0419: kwargs['input'] = 空 0420: *** 0421: 返回 run(*popenargs, stdout=PIPE, timeout=timeout, check=True, 0422: **kwargs).stdout 0423: 0424: 0425:class CompletedProcess(object): 文件:'/usr/lib/python3.10/subprocess.py'lineno: 526, function: run 0522: # 我们不调用 process.wait()作为。 __exit__它能帮我们做到这一点。 0523:提高 0524: retcode = process.poll() 0525:如果检查并返回代码: *** 0526: 引发 CalledProcessError(retcode, process.args, 0527: output=stdout, stderr=stderr) 0528: 返回 CompletedProcess(process.args, retcode, stdout, stderr) 0529: 0530: 异常:subprocess.CalledProcessError:命令“tar --exclude=./sysroot-only”-cf - -C /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/image -p -S .| tar -xf - -C /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/代码包,软件包' 返回非零退出状态 2。 子进程输出: 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的 bin 路径未知 无法为“bin”分配绝对路径。 tar:./usr/bin:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 tar:./usr/lib:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径游戏 无法为“games”分配绝对路径。 tar:./usr/games:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 tar:./usr/share/dict:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 tar: ./usr/share/man:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 tar:./usr/share/doc:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 焦油:./usr/share/doc/base-files-3.0.14:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 tar:./usr/share/misc:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 tar: ./usr/share/common-licenses:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径共享 无法为“share”分配绝对路径。 tar:./usr/share:无法创建目录:地址错误 tar:./usr/share/info:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的 sbin 路径未知 无法为“sbin”分配绝对路径。 tar:./usr/sbin:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的源路径未知 无法为“src”分配绝对路径。 tar:./usr/src:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径包含 无法为“include”分配绝对路径。 tar:./usr/include:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径 tmp 无法为“tmp”分配绝对路径。 tar:./var/tmp:无法创建指向“volatile/tmp”的符号链接:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的基本路径未知,路径为本地路径 无法为“local”分配绝对路径。 tar:./var/local:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 tar:./var/lib:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径库 无法为“lib”分配绝对路径。 tar:./var/lib:无法创建目录:地址错误 tar:./var/lib/misc:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基路径,路径易失性 无法为“volatile”分配绝对路径。 tar:./var/volatile:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基路径,路径易失性 无法为“volatile”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基路径,路径易失性 无法为“volatile”分配绝对路径。 tar:./var/volatile:无法创建目录:地址错误 tar:./var/volatile/tmp:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基路径,路径易失性 无法为“volatile”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基路径,路径易失性 无法为“volatile”分配绝对路径。 tar:./var/volatile:无法创建目录:地址错误 tar:./var/volatile/log:无法创建目录:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径日志 无法为“log”分配绝对路径。 tar:./var/log:无法创建指向“volatile/log”的符号链接:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的基本路径未知,路径锁定 无法为“lock”分配绝对路径。 tar:./var/lock:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径假脱机 无法为“spool”分配绝对路径。 tar:./var/spool:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径备份 无法为“备份”分配绝对路径。 tar:./var/backups:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径运行 无法为“run”分配绝对路径。 tar:./var/run:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径为 nsswitch.conf 无法为“nsswitch.conf”分配绝对路径。 tar:./etc/nsswitch.conf:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径 hosts 无法为“hosts”分配绝对路径。 tar:./etc/hosts:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径问题.net 无法为“issue.net”分配绝对路径。 tar:./etc/issue.net:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径配置文件 无法为“profile”分配绝对路径。 tar:./etc/profile:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径默认值 无法为“default”分配绝对路径。 tar:./etc/default:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的基本路径未知,路径问题 无法为“issue”分配绝对路径。 tar:./etc/issue:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径骨架 无法为“skel”分配绝对路径。 tar:./etc/skel:无法创建目录:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径骨架 无法为“skel”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径骨架 无法为“skel”分配绝对路径。 tar:./etc/skel:无法创建目录:地址错误 tar:./etc/skel/.profile:无法打开:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径骨架 无法为“skel”分配绝对路径。 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径骨架 无法为“skel”分配绝对路径。 tar:./etc/skel:无法创建目录:地址错误 tar:./etc/skel/.bashrc:无法打开:没有该文件或目录 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径 mtab 无法为“mtab”分配绝对路径。 tar:./etc/mtab:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的基本路径未知,路径主机名 无法为“hostname”分配绝对路径。 tar:./etc/hostname:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径 fstab 无法为“fstab”分配绝对路径。 tar:./etc/fstab:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基本路径,路径 shell 无法为“shells”分配绝对路径。 tar:./etc/shells:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 文件描述符 4 的未知基本路径,路径 host.conf 无法为“host.conf”分配绝对路径。 tar:./etc/host.conf:无法打开:地址错误 获取到未知目录的 *at() 系统调用,文件描述符为 4 fd 4 的未知基础路径,路径 motd 无法为“motd”分配绝对路径。 tar:./etc/motd:无法打开:地址错误 tar:由于之前的错误,退出状态为失败。 错误:故障日志文件存储在:/home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/temp/log.do_package.1734591 错误:任务 (/home/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/recipes-core/base-files/base-files_3.0.14.bb:do_package) 执行失败,退出代码为“1” Re: base-files error when build the yocto linux 谢谢你。它已激活 Re: base-files error when build the yocto linux 在你的 Ubuntu 电脑上,运行命令“sudo apt install tar=1.34+dfsg-1build3”
記事全体を表示
启用数据缓存 你好、 我正在测试 TFLite AI 模型在恩智浦 FRDM-MCXN947 MCU 上的推理时间和性能。虽然我使用 NPU 时性能不错,但不使用 NPU 时推理速度却相当慢。通过启用数据缓存,我能够缩短其他 MCU 的推理时间。我想知道如何在恩智浦微控制器上启用数据缓存。我们也欢迎任何其他性能提升策略。 MCX N NPU|ML Re: Enabling Data Cache 启用数据缓存可以真正加快工作流程,减少重复处理。对于那些希望进行有效规划的人来说,Persona 融合战略为预测结果和优化结果提供了一种明确的方法。将正确的元素结合在一起,能带来意想不到的效率,这真是令人着迷。这种方法无疑让复杂数据的管理变得更加简单易行。 Re: Enabling Data Cache 有意思您使用过编译器优化标志吗?通常,当 NPU 处于非活动状态时,加强优化(例如 -O3)可以显著加快代码速度。另外,关于数据缓存,请查看 SDK 文档中有关 Cache_enable 或类似函数,特别是适用于 MCXN947 的函数。请记住,优化通常归结为一种平衡行动,就像在 Slope Game 中一样,优化代码与硬件限制以获得最佳性能。祝你好运 Re: Enabling Data Cache 你好@ge0rgeth0mas CACHE64 模块用于缓存 FlexSPI 访问。 根据您的需要,只需启用 lpcache 即可。 BR 哈利 Re: Enabling Data Cache 很高兴看到您在恩智浦 FRDM-MCXN947 上探索 TFLite AI 模型!启用 数据缓存 确实可以显著提高性能。您还可以优化模型大小或量化模型,以提高效率。说到性能,你有没有尝试过将其与 Snow Rider 3D 游戏等游戏应用程序内置?这可能是测试设置能力的一种有趣方式! Re: Enabling Data Cache 你好 Harry,正如你所提到的, 我正在浏览参考手册和 SDK 驱动程序: 我注意到有 * fsl_cach_lpcac.h其中包含L1CACHE_EnableCodeCache() 和 * fsl_cache.h其中包含CACHE64_EnableCache(CACHE64_CTRL_Type *base) CACHE64 可能是数据高速缓存,LPCAC 可能是指令高速缓存? Re: Enabling Data Cache 嗨,哈里、 CACHE64 可能是数据高速缓存,LPCAC 可能是指令高速缓存? Re: Enabling Data Cache 你好@ge0rgeth0mas 您可以参阅 MCX Nx4x 参考手册中的第 5 章。 关于缓存相关的应用程序接口。 您可以参考 MCXN947 SDK 中的 fsl_cache_lpcac.h。 BR 哈利 Re: Enabling Data Cache 这是一项令人着迷的工作!我以前也参与过类似的优化挑战。您是否为 TFLite 模型探索过不同的量化技术?有时,即使是很小的调整,也会在 NPU 未启动时产生不同的效果。说到快节奏的动作,它让我想起了玩 篮球明星!它要求快速反应和策略,就像优化人工智能一样。当你需要从编码工作中解脱出来时,你可能会发现这是一种有趣的分心方式。 Re: Enabling Data Cache FRDM-MCXN947 的工作很有意思!你正在探索不同的性能优化方法,这很好。我没有使用过这种特定的 MCU,但在很多情况下,启用数据缓存肯定会带来不同。您可能会从专注于嵌入式开发的社区中找到一些有用的见解,甚至可能会从那些讨论类似游戏优化挑战的社区中找到一些有用的见解、 绥卡游戏!有时候,提高游戏开发效率的方法可以出人意料地得到很好的转化。祝你的项目好运! Re: Enabling Data Cache 感谢您分享这个问题。硬件加速虽然备受关注,但对于边缘人工智能应用而言,CPU 端优化仍然非常重要。缓存配置、内存对齐、CMSIS-NN 优化和编译器标志绝对是值得探索的领域。这与在《漂移老大》等游戏中逐步提高技能的理念相同——随着时间的推移,微小的调整可以带来更好的结果。
記事全体を表示
如何为我们使用的 i.mx RT1062 路由器获取唯一的以太网 MAC 地址? 你好, 我们使用MIMXRT1062DVL6B,并通过以太网实现我们的产品。 首先,我们使用 `fsl_silicon_id.c` 中的 ` SILICONID_ConvertToMacAddr`为我们的产品实现 MAC 地址,以便使用 NXP 的 OUI 和硅 ID 为每个设备获取唯一的 MAC 地址。 但是,我们通过` SILICONID_ConvertToMacAddr`获取的 MAC 地址并不唯一,它们都相同。 我有个问题。 在调用 `SILICONID_ConvertToMacAddr` 之前,我们需要做哪些设置? 或者,`SILICONID_ConvertToMacAddr` 无法通过 NXP 设备获取唯一的 MAC 地址? 我们在 IMXRT1060RM.pdf 的 Rev. 4, 01/2026 中找不到答案。 您能给我们答案吗? 谢谢。 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? 嗨,阿布纳 感谢您的支持! 我们了解到,我们可以使用通过SILICONID_ConvertToMacAddr 函数获取的 MAC 地址作为我们产品的 MAC 地址。但我明白 SILICONID_ConvertToMacAddr 只是一个示例,我们不能将其用于我们的大规模产品。我们必须使用我们 OUI 下的 MAC 地址。 顺祝商祺! 茂 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? 嗨@shigeru-tsujita 感谢您发现这种情况。我们使用 SILICONID_ConvertToMacAddr 函数来减少 NXP MCUX SDK 示例中的 MAC 地址冲突,以用于我们的测试环境。我们在同一交换机上连接不同 SoC 的以太网接口。对于同一系列 SoC 的情况,我们可能无法涵盖。 但我不太明白的是,为什么你们要用这种方式生成产品 MAC 地址。首先,您的 OUI 应该使用您公司的 OUI。那么,我认为贵公司应该对唯一标识符有一个内部特殊定义。 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? 你好,梅。 我理解 SILICONID_ConvertToMacAddr 使用固定的 NXP OUI 和三个字节的硅 ID(它是 OCOTP->CFG0/1 的一部分)来生成 MAC 地址。 我观察了我们目标产品的 OCOTP->CFG0/1。 这些数值如下: - 一个 MIMXRT1062 - OCOTP->CFG0: (uint32_t)0x615c'faa4 - OCOTP->CFG1: (uint32_t)0x2a1e'61d7 - 其他 MIMXRT1062 - OCOTP->CFG0: (uint32_t)0x615c'faa4 - OCOTP->CFG1: (uint32_t)0x4922'61d7 因为 OCOTP->CFG0 的低三个字节在 SILICONID_ConvertToMacAddr 中用作 MAC 地址,所以它们的 MAC 地址相似。 因此,我们很多产品的 MAC 地址都很相似。(现在我们有几十个原型机,虽然我们不会检查所有的 MAC 地址,但我们还没有找到与 54:27:8D:A4:FA:5C 不同的 MAC 地址。) 谢谢。 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? 嗨@shigeru-tsujita , 非常感谢您对我们产品的关注以及对我们社区的使用。 假设 SDK 的 silicon_id 元器件已正确集成,则在调用 MIMXRT1062 的 SILICONID_ConvertToMacAddr() 之前无需进行其他设置。 请注意,SILICONID_ConvertToMacAddr() 不使用完整的 64 位硅 ID 来生成 MAC 地址。它使用固定的 NXP OUI 作为前 3 个字节,而最后 3 个字节仅使用来自硅 ID 的 3 个字节。 根据SDK代码: 请您读取几个设备的 64 位硅唯一 ID,并检查 ID 值是否读取正确?另外,请比较 siliconId[0]、siliconId[1] 和 siliconId[2],因为这些是用于生成 MAC 地址的字节。 如果这三个字节在各个设备上都相同,则生成的 MAC 地址也将相同。 顺祝商祺! 5月 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? 这里的难点在于,由 OCOTP->CFG1 和 OCOTP->CFG0 形成的 64 位数据在芯片之间总是唯一的,但值之间可能只有几个比特的差异。所以,你必须找到一种方法将它们组合在一起,而不会丢失任何信息。我通过对 OCOTP->CFG1 和 OCOTP->CFG0 进行 CRC32 校验,然后使用该 32 位结果构建 MAC 地址,效果相当不错。 要实际生成 MAC 地址,您可以使用“本地管理”的 MAC 地址,其中包含两个常量字节和 32 位 CRC,或者使用您组织的 OUI 作为前三个字节,然后从 CRC 值中获取另外三个字节。
記事全体を表示
mc9s08qg8 code warrior (Classic IDE) v6.3 windows 11 I downloaded the file, but it will not install, the installer says my OS is wrong. I am using Windows 11 ? Re: mc9s08qg8 code warrior (Classic IDE) v6.3 windows 11 Hello, To use CodeWarrior in windows 11 please update to v11.1, I look for the MC9S08QG8 device and is available in this version. You can download from this link: CodeWarrior® for MCUs (Eclipse IDE)        11.1 Best Regards, Luis
記事全体を表示
SAF85xx HSE Update SMR Hi NXP,  Do we need to update SMR  when just only Signature bytes change due to code content change but code size, start address ,  key, pointer to signature ... are not changed ? Re: SAF85xx HSE Update SMR Hello, The SMR (Secure Memory Region) entry contains the metadata HSE uses to verify your application image. Even if: the size stays the same the start address stays the same the key handle stays the same the signature pointer stays the same …any modification to the code content produces a different signature, and HSE must verify the new signature. Because of this, the SMR entry that holds the signature must be rewritten with the updated signature bytes. The SMR entry is part of the authenticated boot chain; HSE cannot validate the updated binary unless its corresponding SMR entry reflects the new signature. FYI: Aptiv has direct NXP FAE, so feel free to get in touch with him for details. Best regards, Peter Re: SAF85xx HSE Update SMR Thank you for your response Re: SAF85xx HSE Update SMR Hi, How about in the case I flash new application + new signature (map with new application). in the case " code size, start address , key, pointer to signature" not change, do we need to re install SMR
記事全体を表示
データキャッシュを有効にする こんにちは、 NXP FRDM-MCXN947 MCU で TFLite AI モデルの推論時間とパフォーマンスをテストしています。NPU を使用するとパフォーマンスは良好になりますが、使用しない場合は推論時間が同程度遅くなります。データ キャッシュを有効にすることで、他の MCU の推論時間を短縮できました。NXP MCU で D キャッシュを有効にする方法を知りたいです。その他のパフォーマンス向上戦略も歓迎します。 MCX N NPU|ML Re: Enabling Data Cache データ キャッシュを有効にすると、ワークフローが大幅に高速化され、反復的なプロセッシングが削減されます。効果的な計画を立てたいと考えている人にとって、ペルソナ融合戦略は、結果を予測し、結果を最適化する明確な方法を提供します。適切な要素を組み合わせると、予想外の効率がCANにつながるというのは興味深いことです。このアプローチにより、複雑なデータの管理がはるかに容易になります。 Re: Enabling Data Cache 面白い!コンパイラの最適化フラグを試しましたか?多くの場合、最適化を強化すると (例: -O3)、NPU がアクティブでないときにコードの速度が大幅に向上することがあります。また、D-Cache に関しては、MCXN947 に特有の CACHE_Enable または同様の関数について SDKs ドキュメントを確認してください。最適化は、多くの場合、 Slope Gameのように、最高のパフォーマンスを得るためにコードを最適化し、ハードウェアの制限とのバランスを取る作業になることに注意してください。幸運を! Re: Enabling Data Cache こんにちは@ge0rgeth0mas CACHE64 モジュールは、FlexSPI アクセスをキャッシュするために使用されます。 必要に応じて、lpcache を有効にするだけです。 BR ハリー Re: Enabling Data Cache NXP FRDM-MCXN947 で TFLite AI モデルを探索していただいているようで、とてもうれしく思います。D-Cache を有効にすると、パフォーマンスが大幅に向上します。効率性を高めるために、モデルのサイズを最適化したり、モデルを量子化したりすることも検討してください。パフォーマンスといえば、 Snow Rider 3Dゲームなどのゲーム アプリケーションとの統合を試したことがありますか?これは、セットアップの機能をテストする楽しい方法になるかもしれません。 Re: Enabling Data Cache こんにちは、ハリー。 あなたがおっしゃったように、リファレンス・マニュアルとドライバを確認していました。 気づいたのですが * fsl_cach_lpcac.hL1CACHE_EnableCodeCache()を含む そして * fsl_cache.hCACHE64_EnableCache(CACHE64_CTRL_Type *base)が含まれています CACHE64はデータ キャッシュ、LPCAC は命令キャッシュでしょうか? Re: Enabling Data Cache こんにちは、ハリー。 CACHE64はデータ キャッシュ、LPCAC は命令キャッシュでしょうか? Re: Enabling Data Cache こんにちは@ge0rgeth0mas MCX Nx4x リファレンス・マニュアルの第 5 章を参照してください。 キャッシュ関連のAPIについて。 MCXN947 SDK の fsl_cache_lpcac.h を参照できます。 BR ハリー Re: Enabling Data Cache とても魅力的な仕事ですね!私は以前にも同様の最適化の課題に取り組んだことがあります。TFLite モデルに対してさまざまな量子化手法を試しましたか?場合によっては、NPU が作動していない場合でも、小さな調整で違いが生じることがあります。テンポの速いアクションといえば、 「バスケットボール スターズ」をプレイしたことを思い出します。AIの最適化と同様に、素早い反射神経と戦略が求められます。コーディングから休憩したいときに、楽しい気晴らしになるかもしれません。 Re: Enabling Data Cache FRDM-MCXN947に関する興味深い研究ですね!様々なパフォーマンス最適化を模索されているのは素晴らしいですね。私はその特定のMCUを使ったことはありませんが、データキャッシュを有効にすると、多くの場合、確実に効果があります。組み込み開発に特化したコミュニティや、皮肉にもSuika Game !のようなゲームの文脈で同様の最適化の課題について議論しているコミュニティから、役立つ洞察が得られるかもしれません。ゲーム開発における効率化のアプローチが、思いがけず他の分野にもうまく応用できる場合がある。プロジェクトの成功をお祈りしています! Re: Enabling Data Cache この問題を共有していただきありがとうございます。ハードウェアアクセラレーションは多くの注目を集めていますが、エッジAIアプリケーションにおいてCPU側の最適化は依然として非常に重要です。キャッシュ構成、メモリ配置、CMSIS-NN最適化、コンパイラフラグなどは、間違いなく検討する価値のある分野です。これは 『ドリフトボス 』のようなゲームでスキルを段階的に向上させるのと同じ考え方で、小さな調整が時間をかけてより良い結果をもたらします。
記事全体を表示
Is i.MX 9 "there yet"? I started a project in a few years ago and NXP's i.MX 9 line of MPUs were beginning to be released but they were largely unobtainable so I went with a beefy i.MX 8. At this stage, it's way more power than I need and I'd like to move to a much smaller MPU. I was planning on getting the smallest i.MX 8 but the i.MX91 is the smallest cpu they have. I was wondering if I would be better off with the 91 instead of a more mature 8. Thermals are my primary concern so I would assume new is always better, but I just don't know if they are "there yet" since they are still fairly new. A more apples to apples port moving to an 8 could also be a motivator.
記事全体を表示
base-files error when build the yocto linux Build the yocto error. When i build and follow to guide of nxp by yocto. How to fix the error? WARNING: Logfile for failed setscene task is /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/armv8a-poky-linux/ptest-runner/2.4.5+git/temp/log.do_package_setscene.1680451 WARNING: Setscene task (/home/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.5.bb:do_package_setscene) failed with exit code '1' - real task will be run instead ERROR: base-files-3.0.14-r0 do_package: Error executing a python function in exec_func_python() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_func_python() autogenerated', lineno: 2, function: 0001: *** 0002:perform_packagecopy(d) 0003: File: '/home/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/classes-global/package.bbclass', lineno: 363, function: perform_packagecopy 0359: rpath_replace (dvar, d) 0360:} 0361:perform_packagecopy[cleandirs] = "${PKGD}" 0362:perform_packagecopy[dirs] = "${PKGD}" *** 0363: 0364:python populate_packages () { 0365: oe.package.populate_packages(d) 0366:} 0367:populate_packages[dirs] = "${D}" File: '/usr/lib/python3.10/subprocess.py', lineno: 421, function: check_output 0417: else: 0418: empty = b'' 0419: kwargs['input'] = empty 0420: *** 0421: return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, 0422: **kwargs).stdout 0423: 0424: 0425:class CompletedProcess(object): File: '/usr/lib/python3.10/subprocess.py', lineno: 526, function: run 0522: # We don't call process.wait() as .__exit__ does that for us. 0523: raise 0524: retcode = process.poll() 0525: if check and retcode: *** 0526: raise CalledProcessError(retcode, process.args, 0527: output=stdout, stderr=stderr) 0528: return CompletedProcess(process.args, retcode, stdout, stderr) 0529: 0530: Exception: subprocess.CalledProcessError: Command 'tar --exclude=./sysroot-only -cf - -C /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/image -p -S . | tar -xf - -C /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/package' returned non-zero exit status 2. Subprocess output: got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path bin couldn't allocate absolute path for 'bin'. tar: ./usr/bin: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path lib couldn't allocate absolute path for 'lib'. tar: ./usr/lib: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path games couldn't allocate absolute path for 'games'. tar: ./usr/games: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/dict: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/man: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/doc: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/doc/base-files-3.0.14: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/misc: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/common-licenses: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path share couldn't allocate absolute path for 'share'. tar: ./usr/share: Cannot mkdir: Bad address tar: ./usr/share/info: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path sbin couldn't allocate absolute path for 'sbin'. tar: ./usr/sbin: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path src couldn't allocate absolute path for 'src'. tar: ./usr/src: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path include couldn't allocate absolute path for 'include'. tar: ./usr/include: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path tmp couldn't allocate absolute path for 'tmp'. tar: ./var/tmp: Cannot create symlink to ‘volatile/tmp’: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path local couldn't allocate absolute path for 'local'. tar: ./var/local: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path lib couldn't allocate absolute path for 'lib'. tar: ./var/lib: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path lib couldn't allocate absolute path for 'lib'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path lib couldn't allocate absolute path for 'lib'. tar: ./var/lib: Cannot mkdir: Bad address tar: ./var/lib/misc: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path volatile couldn't allocate absolute path for 'volatile'. tar: ./var/volatile: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path volatile couldn't allocate absolute path for 'volatile'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path volatile couldn't allocate absolute path for 'volatile'. tar: ./var/volatile: Cannot mkdir: Bad address tar: ./var/volatile/tmp: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path volatile couldn't allocate absolute path for 'volatile'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path volatile couldn't allocate absolute path for 'volatile'. tar: ./var/volatile: Cannot mkdir: Bad address tar: ./var/volatile/log: Cannot mkdir: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path log couldn't allocate absolute path for 'log'. tar: ./var/log: Cannot create symlink to ‘volatile/log’: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path lock couldn't allocate absolute path for 'lock'. tar: ./var/lock: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path spool couldn't allocate absolute path for 'spool'. tar: ./var/spool: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path backups couldn't allocate absolute path for 'backups'. tar: ./var/backups: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path run couldn't allocate absolute path for 'run'. tar: ./var/run: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path nsswitch.conf couldn't allocate absolute path for 'nsswitch.conf'. tar: ./etc/nsswitch.conf: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path hosts couldn't allocate absolute path for 'hosts'. tar: ./etc/hosts: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path issue.net couldn't allocate absolute path for 'issue.net'. tar: ./etc/issue.net: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path profile couldn't allocate absolute path for 'profile'. tar: ./etc/profile: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path default couldn't allocate absolute path for 'default'. tar: ./etc/default: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path issue couldn't allocate absolute path for 'issue'. tar: ./etc/issue: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path skel couldn't allocate absolute path for 'skel'. tar: ./etc/skel: Cannot mkdir: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path skel couldn't allocate absolute path for 'skel'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path skel couldn't allocate absolute path for 'skel'. tar: ./etc/skel: Cannot mkdir: Bad address tar: ./etc/skel/.profile: Cannot open: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path skel couldn't allocate absolute path for 'skel'. got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path skel couldn't allocate absolute path for 'skel'. tar: ./etc/skel: Cannot mkdir: Bad address tar: ./etc/skel/.bashrc: Cannot open: No such file or directory got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path mtab couldn't allocate absolute path for 'mtab'. tar: ./etc/mtab: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path hostname couldn't allocate absolute path for 'hostname'. tar: ./etc/hostname: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path fstab couldn't allocate absolute path for 'fstab'. tar: ./etc/fstab: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path shells couldn't allocate absolute path for 'shells'. tar: ./etc/shells: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path host.conf couldn't allocate absolute path for 'host.conf'. tar: ./etc/host.conf: Cannot open: Bad address got *at() syscall for unknown directory, fd 4 unknown base path for fd 4, path motd couldn't allocate absolute path for 'motd'. tar: ./etc/motd: Cannot open: Bad address tar: Exiting with failure status due to previous errors ERROR: Logfile of failure stored in: /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/temp/log.do_package.1734591 ERROR: Task (/home/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/recipes-core/base-files/base-files_3.0.14.bb:do_package) failed with exit code '1' Re: base-files error when build the yocto linux Thanks u. It actived Re: base-files error when build the yocto linux On your ubuntu PC, run the command "sudo apt install tar=1.34+dfsg-1build3"
記事全体を表示
How can I get unique ethernet MAC address all over the i.mx RT1062 we use? Hi,  We use MIMXRT1062DVL6B and realize our product with ethernet. First, we implement the MAC address for our product using `SILICONID_ConvertToMacAddr` on `fsl_silicon_id.c` to get unique MAC address per device with NXP's OUI and silicon ID. But the MAC address we got via `SILICONID_ConvertToMacAddr` was not unique, and they were all identical. So, I have a question. Do we have any setting before calling `SILICONID_ConvertToMacAddr`? Or, `SILICONID_ConvertToMacAddr` does not work to get unique MAC address over the NXP device? We couldn't find answer in IMXRT1060RM.pdf of Rev. 4, 01/2026. Could you give us the answer? thank you. Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? Hi, Abner Thank you for your supporting,  We understood that we can use MAC address got via SILICONID_ConvertToMacAddr for our product. But I understand SILICONID_ConvertToMacAddr is just an example and we can't use it for our mass product. And we have to use the MAC address under our OUI. Best regards. Shigeru Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? Hi @shigeru-tsujita  Thanks to find this situation. SILICONID_ConvertToMacAddr is used for NXP MCUX SDK example to reduce MAC address conflict in our test environment. We connect to different Socs' eth in same switch. For this same series Soc situation, we may not cover. But what I'm confused is why you use this way to generate your product MAC address. First of all, your OUI should use your company's one. Then the unique ID I think your company should have a internal special definition. Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? Hi, May. I understand SILICONID_ConvertToMacAddr make MAC address using fixed NXP OUI and three bytes of silicon ID(it's part of OCOTP->CFG0/1). I observed the OCOTP->CFG0/1 of our target product. Those values are following: - one MIMXRT1062   - OCOTP->CFG0: (uint32_t)0x615c'faa4   - OCOTP->CFG1: (uint32_t)0x2a1e'61d7 - other MIMXRT1062   - OCOTP->CFG0: (uint32_t)0x615c'faa4   - OCOTP->CFG1: (uint32_t)0x4922'61d7 Because lower three bytes of OCOTP->CFG0 is used for MAC address in SILICONID_ConvertToMacAddr, they have similar MAC address. So, many of our product have similar MAC address. (Now we have handreds of prototype and we don't check all MAC address, but we couldn't find differnt MAC address with 54:27:8D:A4:FA:5C yet.) thank you. Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? Hi @shigeru-tsujita, Thank you so much for your interest in our products and for using our community. Assuming the SDK silicon_id component is correctly integrated, no additional setting is required before calling SILICONID_ConvertToMacAddr() for MIMXRT1062. Please note that SILICONID_ConvertToMacAddr() does not use the full 64-bit silicon ID to generate the MAC address. It uses a fixed NXP OUI for the first 3 bytes and only 3 bytes from the silicon ID for the last 3 bytes. According to the SDK code: Could you please read the 64-bit silicon unique ID from several devices and check whether the ID values are read correctly? Please also compare siliconId[0] , siliconId[1] , and siliconId[2] , as these are the bytes used to generate the MAC address. If these three bytes are identical across devices, the generated MAC addresses will also be identical. Best Regards May Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? The difficult part here is that the 64-bit data formed by OCOTP->CFG1 and OCOTP->CFG0 will always be unique from chip to chip, but there may only be a few bits' difference between the values. So, you have to find a way to combine them together in a way that doesn't lose any information. I have had pretty good luck with doing this by taking a CRC32 of OCOTP->CFG1 and OCOTP->CFG0, then using that 32-bit result to build the MAC address. To actually generate the MAC, you could use a "locally administered" MAC address with two constant bytes then the 32-bit CRC, or use your organization's OUI for the first three bytes, then take the other three bytes from the CRC value. 
記事全体を表示
i.MX95 EVKベースボード設計に関する疑問 これはIMX95ボードに12Vの電源入力がどのように取り込まれるかの回路図です。この設計には少し疑問があります... 1. なぜ20Aのヒューズが2本並列に接続されているのか、40Aの定格電流で行われているのか、それは良い方法なのか? 2. Q2が「オン」のとき、Q2のゲートはGNDに接続されますが、Q2を「オフ」にする際はゲートは浮遊状態のままになります。これは信頼できるのでしょうか?ゲートピンはソース電圧までプルアップすべきでしょうか? Re: Doubt regarding i.MX95 EVK base board design 40Aのヒューズを使わないのはなぜですか?サイズ制限のためですか? Re: Doubt regarding i.MX95 EVK base board design Q1。突入電流が20Aを超えるため、20A定格のヒューズを2枚(小型サイズ1206)で使用し、コスト効率の高い電流定格を提供するのが良い方法です。 Q2.Q2がオフのとき、そのゲートピンは浮かんだままではなく、100Khmsの抵抗(R197)でソースピンと同じ電源レールに引き上げられ、完全にオフにできます。 Re: Doubt regarding i.MX95 EVK base board design もし40A定格の小型ヒューズを調達できれば、20Aの20Aヒューズをそれに交換できるでしょう。ヒューズ保護が不要な場合は、ヒューズもショートさせることができます。
記事全体を表示
私たちが使っている i.mx RT1062全体でイーサネットMACアドレスを一意に取得するにはどうすればいいですか? こんにちは、 私たちは イーサネットでMIMXRT1062DVL6Bし、製品を実現させてください。 まず、製品のMACアドレスを「SILICONID_ConvertToMacAddr」で実装します。「fsl_silicon_id.c」上で、NXPのOUIとシリコンIDを持つデバイスごとのユニークなMACアドレスを取得するために。 でもMACアドレスは SILICONID_ConvertToMacAddrは唯一無二ではなく、すべて同一だった。 質問があります。 「SILICONID_ConvertToMacAddr」と呼ぶ前に何か設定はありますか? それとも、「SILICONID_ConvertToMacAddr」はNXPデバイス上で一意のMACアドレスを取得するために機能しませんか? 2026年1月4号のIMXRT1060RM.pdfでは答えが見つかりませんでした。 答えを教えていただけますか? ありがとうございます。 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? やあ、アブナー ご支援ありがとうございます。 MACアドレスを使えることは理解しましたSILICONID_ConvertToMacAddr製品に。しかし、SILICONID_ConvertToMacAddrはあくまで例であり、大量生産には使えないと理解しています。そして、OUIのMACアドレスを使わなければなりません。 よろしくお願いいたします。 茂 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? こんにちは、@shigeru辻田  この状況を見つけてくれてありがとうございます。SILICONID_ConvertToMacAddrはNXP MCUX SDKの例として、テスト環境でのMACアドレスの競合を減らすために使われています。同じスイッチで異なるSocsのETHに接続しています。同じシリーズのSocの状況については、ここでは触れないかもしれません。 しかし、なぜこの方法で製品のMACアドレスを生成するのかが混乱しています。まず第一に、あなたのOUIは会社のものを使うべきです。そして、ユニークIDについては、会社内に特別な定義があるはずです。 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? こんにちは、メイ。 SILICONID_ConvertToMacAddrは、固定のNXP OUIと3バイトのシリコンID(OCOTP->CFG0/1の一部)を使用してMACアドレスを生成すると理解しています。 ターゲット製品のOCOTP->CFG0/1を観察しました。 それらの値は以下のとおりです。 - MIMXRT1062 1個 - OCOTP->CFG0: (uint32_t)0x615c'faa4 - OCOTP->CFG1: (uint32_t)0x2a1e'61d7 - その他のMIMXRT1062 - OCOTP->CFG0: (uint32_t)0x615c'faa4 - OCOTP->CFG1: (uint32_t)0x4922'61d7 OCOTP->CFG0 の下位 3 バイトが SILICONID_ConvertToMacAddr の MAC アドレスに使用されるため、両者の MAC アドレスは類似しています。 SO、多くの製品は似たMACアドレスを持っています。(現在、数百個のプロトタイプを保有しており、すべてのMACアドレスをチェックしているわけではありませんが、54:27:8D:A4:FA:5Cとは異なるMACアドレスはまだ見つかっていません。) ありがとう。 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? こんにちは@shigeru-tsujitaさん 私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。 SDK silicon_idコンポーネントが正しく統合されていると仮定すれば、MIMXRT1062のためにSILICONID_ConvertToMacAddr()を呼び出す前に追加の設定は必要ありません。 SILICONID_ConvertToMacAddr() は、MAC アドレスを生成する際に、完全な 64 ビットのシリコン ID を使用しないことにご注意ください。最初の3バイトには固定のNXP OUIを使用し、最後の3バイトにはシリコンIDから3バイトのみを使用します。 SDKコードによると: 複数のデバイスから64ビットシリコンのユニークIDを読み取り、ID値が正しく読み取られているか確認してもらえますか?また、siliconId[0]、siliconId[1]、siliconId[2]も比較してください。これらはMACアドレスを生成するために使用されるバイトです。 これらの3バイトがデバイス間で同一であれば、生成されるMACアドレスも同一になります。 よろしくお願いいたします。 5月 Re: How can I get unique ethernet MAC address all over the i.mx RT1062 we use? ここで難しいのは、OCOTP->CFG1とOCOTP->CFG0によって形成される64ビットデータはチップごとに常に一意であるにもかかわらず、値の違いはわずか数ビットしかない場合があることです。だからこそ、情報を失わないようにそれらを組み合わせる方法を見つけなければなりません。私は、OCOTP->CFG1とOCOTP->CFG0のCRC32を取得し、その32ビットの結果を使用してMACアドレスを構築することで、かなりうまくいっています。 実際にMACを生成するには、「ローカル管理」MACアドレス(定数2バイトの後に32ビットCRC)を使うか、組織のOUIを最初の3バイトに使い、残りの3バイトをCRCの値から取る方法もあります。
記事全体を表示
Yocto Linuxをビルドする際のbase-filesエラー Build the Yoctoエラー。私が作ったときは、YoctoのNXPガイドに従っています。エラーを修正するにはどうすればよいですか? 警告:失敗したセットシーンタスクのログファイルは /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/armv8a-poky-Linux/ptest-runner/2.4.5+git/temp/log.do_package_setscene.1680451 です。 警告:セットシーンタスク(/home/vmc/Desktop/imx-Yocto-bsp/sources/poky/meta/recipes-サポート/ptest-runner/ptest-runner_2.4.5.bb:do_package_setscene)が終了コード「1」で失敗しました。代わりに実際のタスクが実行されます エラー:base-files-3.0.14-r0 do_package:exec_func_python()でPython関数を実行する際にエラーが発生します。 この例外/失敗を引き起こしたPython呼び出しのスタックトレースは以下の通りです: ファイル: 'exec_func_python() autogenerated', lineno: 2, function: 0001: 0002:perform_packagecopy(d) 0003: ファイル: '/ホーム/vmc/Desktop/imx-Yocto-bsp/sources/poky/meta/classes-global/package.bbclass', lineno: 363, function: perform_packagecopy 0359: rpath_replace (dvar, d) 0360:} 0361:perform_packagecopy[cleandirs] = "${PKGD}" 0362:perform_packagecopy[指揮] = "${PKGD}" *** 0363: 0364:Python populate_パッケージs () { 0365: oe.package.populate_パッケージs(d) 0366:} 0367:populate_packages[dirs] = " ${D} " ファイル: '/usr/lib/python3.10/subprocess.py'、行番号: 421、関数: check_output 0417: それ以外の場合: 0418: 空 = b'' 0419: kwargs['input'] = 空 0420: *** 0421: return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, 0422: **kwargs).stdout 0423: 0424: 0425:class CompletedProcess(object): ファイル: '/usr/lib/python3.10/subprocess.py'、行番号: 526、関数: 実行 0522: # process.wait() は呼び出しませんとして。 __exit__それは私たちのためにやってくれる。 0523: 上げる 0524: retcode = process.poll() 0525: チェックして戻りコードを取得する場合: *** 0526: raise CalledProcessError(retcode, process.args, 0527: 出力=標準出力、標準エラー=標準エラー) 0528: return CompletedProcess(process.args, retcode, stdout, stderr) 0529: 0530: 例外: subprocess.CalledProcessError: コマンド 'tar --exclude=./sysroot-only'-cf - -C /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/image -p -S .|tar -xf - -C /home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/package' は終了ステータス2を返しました。 サブプロセスの出力: 不明なディレクトリ、fd 4 に対して *at() システムコールが呼び出されました fd 4 の不明なベースパス、パス bin 'bin' の絶対パスを割り当てられませんでした。 tar: ./usr/bin:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスライブラリ 「リベラル」に絶対的な道を割り当てることができませんでした。 tar: ./usr/lib:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、Path Games 『ゲーム』に絶対的な道を割り当てることができませんでした。 tar: ./usr/games:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス TAR: ./USR/Share/DICT:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス タール:./USR/シェア/男:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス tar: ./usr/share/doc:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス tar: ./usr/share/doc/base-files-3.0.14:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス TAR: ./USR/Share/MISC:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス TAR: ./USR/share/common-licenses:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パス共有 「シェア」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/share:Cannot mkdir: 悪いアドレス tar: ./usr/share/info:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスSBIN 「sbin」に絶対的な経路を割り当てることができませんでした。 tar: ./usr/sbin:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスSRC 「SRC」に絶対的な経路を割り当てることができませんでした。 tar: ./usr/src:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基線経路、経路には以下が含まれます 「インクルーク」の絶対的な経路を割り当てることができませんでした。 tar: ./usr/include:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底経路、経路TMP 「TMP」の絶対経路を割り当てられませんでした。 tar: ./var/tmp:「volatile/tmp」へのシンプレリックリンクを作成できません:アドレスが悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスローカル 「ローカル」に絶対的な経路を割り当てることができませんでした。 tar: ./var/local:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスライブラリ 「リベラル」に絶対的な道を割り当てることができませんでした。 tar: ./var/lib:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスライブラリ 「リベラル」に絶対的な道を割り当てることができませんでした。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底パス、パスライブラリ 「リベラル」に絶対的な道を割り当てることができませんでした。 tar: ./var/lib:Cannot mkdir: 悪いアドレス tar: ./var/lib/misc:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスボラタイル 「不安定」に絶対的な経路を割り当てることができなかった。 tar: ./var/volatile:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスボラタイル 「不安定」に絶対的な経路を割り当てることができなかった。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスボラタイル 「不安定」に絶対的な経路を割り当てることができなかった。 tar: ./var/volatile:Cannot mkdir: 悪いアドレス TAR:./VAR/Volatile/TMP:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスボラタイル 「不安定」に絶対的な経路を割り当てることができなかった。 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスボラタイル 「不安定」に絶対的な経路を割り当てることができなかった。 tar: ./var/volatile:Cannot mkdir: 悪いアドレス タール:./VAR/揮発性/ログ:Cannot mkdir:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基線経路、経路記録 「log」に絶対パスを割り当てることができませんでした。 tar: ./var/log:'volatile/log'へのシンモリンクを作成できません:アドレスが悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスロック 「ロック」の絶対経路を割り当てることができませんでした。 tar: ./var/lock:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底経路、経路スプール 「スプール」の絶対経路を割り当てられませんでした。 tar: ./var/spool:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基地経路、経路バックアップ 「バックアップ」に絶対的な経路を割り当てることができませんでした。 tar: ./var/backups:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基地経路、経路走行 「走る」ための絶対的な経路を割り当てられなかった。 tar: ./var/run:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスNSswitch.conf 'nsswitch.conf' の絶対パスを割り当てられませんでした。 tar: ./etc/nsswitch.conf:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスホスト 「ホスト」に絶対的な経路を割り当てることができませんでした。 tar: ./etc/hosts:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基地経路、経路 issue.net 'issue.net' の絶対パスを割り当てられませんでした。 tar: ./etc/issue.net:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基線パス、パスプロファイル 「プロファイル」の絶対パスを割り当てられませんでした。 tar: ./etc/profile:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスデフォルト 「デフォルト」の絶対パスを割り当てられませんでした。 tar: ./etc/default:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスの問題 「問題」の絶対的な経路を割り当てることができませんでした。 tar: ./etc/issue:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パススケル 「スケル」に絶対的な経路を割り当てることができませんでした。 tar: ./etc/skel:Cannot mkdir: 悪いアドレス 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パススケル 「スケル」に絶対的な経路を割り当てることができませんでした。 不明なディレクトリ、fd 4 に対して *at() システムコールが呼び出されました fd 4 の不明なベースパス、パススケルトン 'skel' の絶対パスを割り当てられませんでした。 tar: ./etc/skel:Cannot mkdir: 悪いアドレス tar: ./etc/skel/.profile:開けられない:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パススケル 「スケル」に絶対的な経路を割り当てることができませんでした。 不明なディレクトリ、fd 4 に対して *at() システムコールが呼び出されました fd 4 の不明なベースパス、パススケルトン 'skel' の絶対パスを割り当てられませんでした。 tar: ./etc/skel:Cannot mkdir: 悪いアドレス tar: ./etc/skel/.bashrc:開けられない:そのようなファイルやディレクトリは存在しません 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスMTAB 「MTAB」の絶対経路を割り当てることができませんでした。 tar: ./etc/mtab:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスホスト名 「ホスト名」に絶対パスを割り当てられませんでした。 tar: ./etc/hostname:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスFSTAB 「FSTAB」の絶対パスを割り当てることができませんでした。 tar: ./etc/fstab:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基底経路、パスシェル 「砲弾」に絶対経路を割り当てることができませんでした。 tar: ./etc/shells:開けられない:住所が悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知のベースパス、パスhost.conf 'host.conf' の絶対パスを割り当てられませんでした。 tar: ./etc/host.conf: 開けられない: アドレスが悪い 未知ディレクトリの*at() syscallを取得、fd 4 FD 4の未知の基道、パスMODT 『MODD』の絶対的な経路を割り当てることができませんでした。 tar: ./etc/motd:開けられない:住所が悪い tar:過去のエラーにより故障状態で退出 エラー:失敗ログファイルは以下のフォルダに保存されています:/home/vmc/Desktop/imx-yocto-bsp/build-wayland/tmp/work/imx8mqevk-poky-linux/base-files/3.0.14/temp/log.do_package.1734591 エラー:タスク(/ホーム/vmc/Desktop/imx-yocto-bsp/sources/poky/meta/recipes-core/base-files/base-files_3.0.14.bb:do_package)が終了コード「1」で失敗しました Re: base-files error when build the yocto linux ありがとう。起動しました Re: base-files error when build the yocto linux Ubuntu PCで、「sudo apt install tar=1.34+dfsg-1build3」コマンドを実行してください。
記事全体を表示
对 i.MX95 EVK 底板设计存在疑问 这是imx95板12V电源输入的原理图,我对这个设计有一些疑问…… 1. 为什么两个 20A 的熔丝要并联?是为了达到 40A 的额定电流吗?这样做是好的做法吗? 2. 当 Q2 处于“开”状态时,Q2 的栅极连接到 GND;但当 Q2 处于“关”状态时,栅极处于浮空状态。这样做可靠吗?是否应该将栅极引脚上拉至源极电压? Re: Doubt regarding i.MX95 EVK base board design 为什么不使用40A的熔丝?是因为尺寸限制吗? Re: Doubt regarding i.MX95 EVK base board design Q1. 由于浪涌电流大于 20A,因此使用 2 个额定电流为 20A 的小尺寸(1206)熔丝来提供更高的电流额定值是一种经济有效的好做法。 Q2.当 Q2 关闭时,其栅极引脚不会浮空,而是通过 100K 欧姆电阻 (R197) 上拉至与其源极引脚相同的电源轨,以便将其完全关闭。 Re: Doubt regarding i.MX95 EVK base board design 如果能找到额定电流为 40A 的小尺寸熔丝,就可以用它替换掉原来的 2 个 20A 熔丝。如果不需要熔丝保护,也可以将熔丝短路。
記事全体を表示
Doubt regarding i.MX95 EVK base board design This is the schematic of how 12v power input is taken into the imx95 board, i have some doubts regarding this design... 1. why are 2 fuses of 20A connected in parallel, is it done for 40A current rating, is it a good practice to do so? 2. When Q2 is "on" the gate of Q2 is connected to GND, but for turning "off" Q2, the gate is just left in floating state, Is it reliable to do so? should the gate pin be pulled up to source voltage? Re: Doubt regarding i.MX95 EVK base board design why not use a 40A fuse, is it bcos of size constrains Re: Doubt regarding i.MX95 EVK base board design Q1. Since the inrush current is higher than 20A, it is a good practice to use 2 pcs of fuses with 20A rating in small size (1206) to provide higher current rating cost-effectively. Q2. When Q2 is off, its Gate pin is not left floating, but pulled up to the same power rail as its Source pin with 100KOhms resistor (R197) so that it can be turned off completely. Re: Doubt regarding i.MX95 EVK base board design If 40A rating small size fuse could be be sourced, the  2pcs 20A fuses could be replaced with it. If fuse protection is not necessary, the fuses can be shorted as well.
記事全体を表示