Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32K35X8EVBとADTJA1101 これらのボードを Sabre コネクタと一緒に起動するのに苦労しています。言い換えが含まれていると思われるこの投稿を見つけました。何をする必要があるのか分かりません。データシートと比較すると、その投稿では選択と混合が行われているようです。 現在、RMII とリセット ピンについて言及しているすべてのピンが Config ツールからマップされています。SMI と通信でき、ID レジスタを確認できました。RMII を使用するために次に何が必要なのかわかりません。また、ツール内でのリファレンス クロックの設定内容や、変更する抵抗リンクについても不明です。何かアドバイスをCANますか? https://community.nxp.com/t5/S32K/S32K3X8EVB-Q289-rework-for-RMII/mp/2023038#M44835
記事全体を表示
s32k311-100hdqfp IOMUX Could you please provide the Excel sheet for S32K311-100hdqfp pinout (IOMUX/pin configuration)  Appreciate your effort, 
記事全体を表示
S32 Design Studio for S32 Platform v.3.5 Activation Code I want to install S32DS version 3.5, but I can't find the activation code, and it says I don't need the activation code to activate it.
記事全体を表示
S32 Design Studio for S32 Platform v.3.5 激活码 想安装S32DS3.5版本,找不到激活码,提示不需要激活码激活
記事全体を表示
S32Z2 Python script error issue Dear;        The customer uses NXP S32Z2 to design a real-time computing board, and the IDE uses NXP S32DS. 3.6.3. Currently, during debugging, occasional S32Z2 Python script error issues occur, with the specific phenomenon being "failure during execution of Python script", as shown in Figure 1. The relevant error log information is as follows:         540,987 1-list-features 541,001 1^done,features=["frozen-varobjs","pending-breakpoints","thread-info","data-read-memory-byte\ s","breakpoint-notifications","ada-task-info","language-option","info-gdb-mi-command","undefined-com\ mand-error-code","exec-run-start-option","data-disassemble-a-option","simple-values-ref-types","pyth\ on"] 541,002 (gdb) 541,142 2-list-thread-groups 541,142 3-gdb-version 541,150 2^done,groups=[{id="i1",type="process"}] 541,150 (gdb) 541,151 ~"GNU gdb (GDB src=ga98a3c7ad40 bld=ga98a3c7ad40 ) 15.1\n" 541,151 ~"Copyright (C) 2024 Free Software Foundation, Inc.\n" 541,151 ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is fre\ e software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitt\ ed by law." 541,151 ~"\nType \"show copying\" and \"show warranty\" for details.\n" 541,151 ~"This GDB was configured as \"--host=x86_64-w64-mingw32 --target=arm-none-eabi\".\n" 541,151 ~"Type \"show configuration\" for configuration details.\n" 541,151 ~"For bug reporting instructions, please see:\n" 541,151 ~"<https://www.gnu.org/software/gdb/bugs/>.\n" 541,151 ~"Find the GDB manual and other documentation resources online at:\n <" 541,151 ~"http://www.gnu.org/software/gdb/documentation/>.\n\n" 541,151 ~"For help, type \"help\".\n" 541,151 ~"Type \"apropos word\" to search for commands related to \"word\".\n" 541,151 3^done 541,151 (gdb) 541,151 4-environment-cd C:/Users/developer/Desktop/MyWorkspace/modifiedPlatform/100713_PLT_COM_S32Z\ 280_R52_Core 541,166 4^done 541,166 (gdb) 541,166 5-gdb-set breakpoint pending on 541,166 5^done 541,167 (gdb) 541,167 6-gdb-set detach-on-fork on 541,167 6^done 541,167 (gdb) 541,167 7-enable-pretty-printing 541,167 7^done 541,167 (gdb) 541,167 8-gdb-set python print-stack none 541,167 8^done 541,167 (gdb) 541,168 9-gdb-set print object on 541,168 9^done 541,168 (gdb) 541,168 10-gdb-set print sevenbit-strings on 541,169 10^done 541,169 (gdb) 541,169 11-gdb-set host-charset UTF-8 541,169 11^done 541,169 (gdb) 541,169 12-gdb-set target-charset GBK 541,170 12^done 541,170 (gdb) 541,170 13-gdb-set target-wide-charset UTF-16 541,170 13^done 541,170 (gdb) 541,170 14-gdb-set dprintf-style call 541,170 14^done 541,170 (gdb) 541,170 15source .gdbinit 541,171 &"source .gdbinit\n" 541,171 &".gdbinit: No such file or directory.\n" 541,171 15^error,msg=".gdbinit: No such file or directory." 541,171 (gdb) 541,171 16-gdb-set mi-async off 541,171 16^done 541,171 (gdb) 541,172 17-gdb-set record full stop-at-limit off 541,173 17^done 541,173 (gdb) 541,173 18-gdb-set auto-solib-add on 541,173 18^done 541,173 (gdb) 541,174 19-gdb-set substitute-path C:\\Users\\tgp\\Documents\\Platform_SW_git\\COM_Lane\\COM_PFCC_S3\ 2Z280_Platform_SW_Core_R52\\Debug_RAM/../Project_Settings/Startup_Code/ C:\\Users\\developer\\Deskto\ p\\MyWorkspace\\modifiedPlatform\\100713_PLT_COM_S32Z280_R52_Core\\Project_Settings\\Startup_Code\\ 541,174 20-gdb-set substitute-path C:\\Users\\tgp\\Documents\\Platform_SW_git\\COM_Lane\\COM_PFCC_S3\ 2Z280_Platform_SW_Core_R52\\Debug_RAM/../include/ C:\\Users\\developer\\Desktop\\MyWorkspace\\modifi\ edPlatform\\100713_PLT_COM_S32Z280_R52_Core\\include\\ 541,204 21-gdb-set substitute-path C:\\Users\\tgp\\Documents\\Platform_SW_git\\COM_Lane\\COM_PFCC_S3\ 541,204 19^done 541,204 (gdb) 2Z280_Platform_SW_Core_R52\\Debug_RAM/../src/ C:\\Users\\developer\\Desktop\\MyWorkspace\\modifiedPl\ atform\\100713_PLT_COM_S32Z280_R52_Core\\src\\ 541,205 20^done 541,205 (gdb) 541,206 21^done 541,206 (gdb) 541,207 22py _IS_LOGGING_ENABLED = True 541,207 23py _REMOTE_TIMEOUT = 30 541,207 24py _CORE_NAME = "S32Z280_R52_0_0" 541,207 25py _SOC_NAME = "S32Z280" 541,207 26py _GDB_SERVER_PORT = 45000 541,207 27py _JTAG_SPEED = 16000 541,207 28py _RESET_DELAY = 0 541,207 29py _PROBE_IP = "s32dbg:usb#00:04:9f:08:bc:b1" 541,207 30py _CCS_IP = "127.0.0.1" 541,207 31py _CCS_PORT = 41475 541,207 32source C:\NXP\S32DS.3.6.3\eclipse\../S32DS/tools/S32Debugger/Debugger/scripts/s32z2e2/s32z\ 2e2_attach.py 541,234 &"py _IS_LOGGING_ENABLED = True\n" 541,234 22^done 541,234 (gdb) 541,235 &"py _REMOTE_TIMEOUT = 30\n" 541,235 23^done 541,235 (gdb) 541,235 &"py _CORE_NAME = \"S32Z280_R52_0_0\"\n" 541,235 24^done 541,235 (gdb) 541,235 &"py _SOC_NAME = \"S32Z280\"\n" 541,235 25^done 541,235 (gdb) 541,236 &"py _GDB_SERVER_PORT = 45000\n" 541,236 26^done 541,236 (gdb) 541,236 &"py _JTAG_SPEED = 16000\n" 541,236 27^done 541,236 (gdb) 541,236 &"py _RESET_DELAY = 0\n" 541,236 28^done 541,236 (gdb) 541,237 &"py _PROBE_IP = \"s32dbg:usb#00:04:9f:08:bc:b1\"\n" 541,237 29^done 541,237 (gdb) 541,237 &"py _CCS_IP = \"127.0.0.1\"\n" 541,238 30^done 541,238 (gdb) 541,238 &"py _CCS_PORT = 41475\n" 541,238 31^done 541,238 (gdb) 541,238 &"source C:\\NXP\\S32DS.3.6.3\\eclipse\\../S32DS/tools/S32Debugger/Debugger/scripts/s32z2e2/\ s32z2e2_attach.py\n" 541,300 =cmd-param-changed,param="pagination",value="off" 541,306 32^done 541,306 (gdb) 541,306 33py board_init() 541,306 &"py board_init()\n" 541,307 ~"... board_init() skipped.\n" 541,307 33^done 541,307 (gdb) 541,307 34py core_init() 541,331 &"py core_init()\n" 541,331 ~"Selected CORE=S32Z280_R52_0_0\n" 541,347 ~"Primary session connecting...\n" 541,360 =cmd-param-changed,param="remotetimeout",value="30" 545,535 ~"^Error:Target connection failed. Please re-check the settings." 545,535 ~"Processor: S32S250" 545,535 ~"Probe: S32 Debugger TAP (usb#00:04:9f:08:bc:b1)" 545,535 ~"[CCS: Bus error]" 545,535 ~"//" 545,535 ~"Additional error details:" 545,535 ~"[GTA: target access error]" 545,535 ~":GtaTaErr(1303)" 545,535 ~" File \" \", line 1, in " 545,535 ~" File \"C:\\NXP\\S32DS.3.6.3\\eclipse\\../S32DS/tools/S32Debugger/Debugger/scripts/s32z2e\ 2/s32z2e2_attach.py\", line 80, in core_init" 545,536 ~" connect()" 545,536 ~" File \"C:\\NXP\\S32DS.3.6.3\\eclipse\\../S32DS/tools/S32Debugger/Debugger/scripts/s32z2e\ 2/s32z2e2_attach.py\", line 52, in connect" 545,536 ~" gta_lib.establish_connection(" 545,536 ~" File \"C:\\NXP\\S32DS.3.6.3\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32z2e2//../u\ tils\\gta_lib.py\", line 89, in establish_connection" 545,536 ~" return connect(" 545,536 ~" File \"C:\\NXP\\S32DS.3.6.3\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32z2e2//../u\ tils\\errors.py\", line 275, in wrapper" 545,537 ~" v = func(*args, **kwargs)" 545,537 ~" File \"C:\\NXP\\S32DS.3.6.3\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32z2e2//../u\ tils\\gta_lib.py\", line 152, in connect" 545,537 ~" gdb_exec(\"monitor ctx connect\", from_tty=True, errcode=ErrorCode.ConnectError).unwra\ p()" 545,537 ~" File \"C:\\NXP\\S32DS.3.6.3\\S32DS\\tools\\S32Debugger\\Debugger\\scripts\\s32z2e2//../u\ tils\\mem_reg_utils.py\", line 65, in wrapper" 545,538 ~" result = Result(Error(value, str(error_msg)))"      The red part shows an error in the debugging tool link. Is this Python script a configuration issue or a problem with the GDB tool? Please help analyze it. If there is a configuration error, is there a script file updated with Python? Thank you! Re: S32Z2 Python script error issue Hi Chenyin, When my program stalls, I try to connect to the target board via the Probe to observe the error context. However, I often encounter connection errors #1303 or #101. What do these errors (1303 and 101) mean about the processor's state? Restarting the target device might resolve the Probe connection issue, but it also destroys the error context. This is why I want to understand the reason of error #1303 and #101. thanks for any help!
記事全体を表示
CAN FD 8Mbps 在评估板S32K3X4EVB-T172上, 当 CAN FD 传输速度从 4 Mbps 提高到 5 或 8Mbps 时,数据相位波形输出停止。我想请教如何解决这个问题。 数据传输在 500 kbps 至 4 Mbps 范围内正常运行。 仲裁阶段为 1 Mbps,有效载荷为 64 字节。 Re: CAN FD 8Mbps 谢谢您的答复。我将把 CAN 收发器换成支持 8Mbps 的,然后再试一次。 Re: CAN FD 8Mbps 你好@番茄1 S32K3X4EVB-T172 中使用了 TJA1443,我可以看到 TJA1443 的速度受限。 这可能就是 8Mbps 无法成功运行的原因。
記事全体を表示
sja1110 100base-tx UDP 失敗 こんにちは: 1.flash_image.bin->sja1110-uc.binをダウンロードします そして switchcore_0_Config.hex -> sja1110-switch.bin (hex から bin) switch_config_s32g_vnp_rdb デモ プロジェクトからボードへの転送が成功しました。 2. その後、100base-tx (192.168.0.200) に正常に ping を実行できます。 3. しかし、sja1110 ECT ツールを 100base-tx に接続することはできません。また、100base-T1 にも接続できません。 アドバイスをお願いします、よろしくお願いします!
記事全体を表示
MIMXRT1042 XJM5B lpuart 引脚不工作 大家好 我正在使用 MIMXRT1042 XJM5B EVK 和 LPUART1。LPUART1 引脚连接至 J1(微型 USB 端口)。我可以通过 USB 连接在终端上成功发送和接收数据。 但是,当我移除跳线 J11 和 J13(将 LPUART1 RX 和 TX 线路连接到 USB 接口)以使用外部 TTL 转 USB 变流器时,我只能在调试时在终端上接收数据。一旦我停止调试并 RESET 板,UART 将不再回显我发送的数据。 我观察到 LPUART4 也有同样的行为。我启用了内部上拉电阻(22 kΩ),但仍无法正常工作。当我在 RX 和 TX 线路上添加外部上拉时,UART 通信正常工作,我可以在终端上看到回波数据。 是否有其他人遇到过这个问题,或者能否说明为什么只有在调试时才会出现这种情况? Re: MIMXRT1042 XJM5B lpuart pin not working 感谢您的回复。 我在 LPUART4 上使用"evkmimxrt1040_lpuart_edma_rb_transfer" SDK 示例,在 LPUART1 上也看到了相同的行为。 Re: MIMXRT1042 XJM5B lpuart pin not working 感谢您提供的最新信息。 1: 请使用示波器检查 UART TX 和 RX 信号,确认波形是否正常。并验证 UART 波特率,请确保没有明显偏差。 2: 出现问题时,请打印 UART 错误日志,并检查设置了哪些 LPUART 错误标志。请提供详细信息,如具体的错误标记。 3: 您使用的是哪个 SDK 演示? 顺祝商祺! Re: MIMXRT1042 XJM5B lpuart pin not working 谢谢您的答复、 我担心的是,当我调试 LPUART4 代码时,即使没有外部上拉,TX 和 RX 上的数据也能正常工作。但是,在退出调试模式并正常闪烁代码后,接收和传输的数据会损坏。 Re: MIMXRT1042 XJM5B lpuart pin not working 嗨,@RajPadmani、 非常感谢您关注我们的产品并使用我们的社区。 关于您的问题,我查看了 MIMXRT1040-EVK 的原理图、 在 NTS0102 的结构图(图 11)中,我们可以看到一个 10 kΩ 电阻器。 如果 UART 电缆很长或存在明显的外部干扰,建议在 RX 线路上添加一个外部上拉电阻,以确保信号稳定性并避免浮空线路引起的通信问题。 希望它能帮到你。 如果您还有疑问,请告诉我。 敬上 MayLiu
記事全体を表示
DDR training failed in S32DS3.5 update14 Hello, expert Customer reported DDR training failed S32DS3.5 update14, but this system worked before and there is no significant change in the HW. The PHY Init seems to only pass around 50% of the time while the Diag Write and Operational tests fail 100% of the time. I have checked the device information which customer filled, no error found. Would you please have a look at the attached screenshots/logs and provide suggestions on what might be wrong? S32_CONFIG_TOOL S32DS Re: DDR training failed in S32DS3.5 update14 Hi Yi, Could you please provide additional information in order to investigate this further. You mentioned - "no significant change in the HW", is there any change? Are they using the exact same board & DRAM as before? What is the software setup customer is using now? (S32DS 3.5.14 + which RTD version) What are the versions in the working setup? (S32DS & RTD) DRAM part name and device configuration in DDR View, to double check the configuration Also, it would help to see the training logs. Please set Log Level to Detailed Debug in DDR View, run the training and provide the content in Logs View, for both passing and failing cases. Thank you, Maria Re: DDR training failed in S32DS3.5 update14 Hello, Maria After some investigation, found that customer had a corrupted file that was mishandling the PMIC watchdog. This was interfering with the DDR tool causing the observed failures. As soon as he replaced the corrupted file, everything works as expected. Thanks for your support, this ticket can be closed.
記事全体を表示
使用 TMR 触发信号 DMA 写入 CMPLD1 我正在尝试使用 i.MX RT1050 的 TM R 外围设备通过 DMA 触发对 GPIO1-> DR 的写入。这可能吗? 我对参考手册的阅读是,当 CMPLD1(或 CMPLD2)" 需要更新 "(参见高效密码学标准(SEC) 53.10)时,TMR 应该能够生成 DMA 请求。我不太确定 " 需要更新 " 是什么意思,但根据高效密码学标准(SEC) 53.11.13,这似乎应该意味着将 CMPLD1 的内容转移到 COMP1 的任何时候。 当数据从 CMPLD1 寄存器传输到 COMP1 寄存器时,设置该位可启用 CMPLD1 的 DMA 写入请求。 我让TMR3_CSTRL0[CL1]=0x2(与 COMP2" 中的值比较成功后加载")。 启用 DMA 请求的条件是 QTMR_EnableDma(DAC_TIMER, DAC_DMA_CHAN, kQTMR_ComparatorPreload1DmaEnable); 此外,DMA MUX 配置为 DMAMUX_SetSource(DMA0_DMAMUX_BASEADDR, DMA0_CH0_DMA_CHANNEL, kDmaRequestMuxQTIMER3CaptTimer0Cmpld1Timer0Cmpld2Timer1); 我将 TMR3_CH0 配置为生成 1 MHz 信号,占空比为 25% ,与 TMR3_CH1(占空比为 50% )同步。 不幸的是,GPIO 写入似乎与 TMR 通道不同步,正如您在下面的示波器捕获中看到的那样。我将 DMA 源配置为缓冲值 [0、1、2、3],将目标配置为GPIO1->DR。这些十进制值可以在两个引脚上表示(由示波器的 CH3 和 CH4 捕获)。 因此,DMA 传输正在进行,但它们并未按预期由 TMR3_CH0 触发信号。 对于可能出现的问题有什么想法吗? i.MX RT105x Re: Trigger DMA write with TMR CMPLD1 感谢您的贡献! Re: Trigger DMA write with TMR CMPLD1 不知何故,该项目没有附在上一篇文章中。在这里再试一次。 Re: Trigger DMA write with TMR CMPLD1 如果对其他人有用,我可以让它工作。关键是使用 eDMA 信道链接功能。 由于 TMR 只能触发信号对自身的写入(即 cmpLDN-> CompN 传输 " 事件 " 上的 cmpLDN 写入),因此第一个 DMA 通道配置为执行此操作。第二个通道已链接,因此,在 CMPLD1 写入完成后,将触发信号 GPIO-> DR 写入。 随附项目和 README。 摘要屏幕截图如下所示:,显示了由 TMR3_CH0 上的 COMP 事件触发信号的 GPIO1 引脚 16 和 17 的并行更新。COMP2 事件与 GPIO 线路更新之间的延迟时间约为 250 ns。   不幸的是,使用链接信道,我触发 GPIO 写入的最快速度似乎约为 3 MHz。例如,如果将 DAC_CLK_FREQ_HZ 设置为 10 MHz,GPIO 写入将不再与 TMR 周期同步。GPIO 线路更新的最快速度似乎约为 250 ns,即运行 DMA 和 GPIO 外围设备的 150 MHz IPG_CLKC 的 38 个周期。38 个周期是否与执行两个链接的 DMA 通道一致,其中一个通道写入 16 位 CMPLD 寄存器,第二个通道写入 32 位 GPIO DR 寄存器?这似乎需要很多额外的周期。 更新:iMX 参考手册中没有关于 eDMA 性能的章节。但是与K66参考手册相比,每个eDMA请求似乎需要大约17个周期(表24-5)。这与我的演示中处理两个链接通道请求的 38 个周期是一致的。 再与K66比较一下:看来iMX的TMR和eflexPWM外围设备不如Kinetis系列设备的FlexTimer外围设备那么灵活。FTM 外设可能会触发信号一般的 DMA 写入。iMX 的 TMR 和 eFlexPWM 外设只能触发信号对自己的寄存器(分别为 CMPLD 和 VALx)的写入。 Re: Trigger DMA write with TMR CMPLD1 我不是想触发输入捕获。我正在尝试在 TMR COMP 匹配发生时触发 GPIO 写入。不幸的是,COMP 比赛没有 DMA 触发信号。最接近 COMP 匹配的事件是相关 CMPLD 寄存器的读取。每当数据传出 cmpLDN 寄存器时,TMR 模块都会提供 DMA 触发信号 "。" 定义 DMA 传输配置时,我需要定义源地址和目标地址。因此,我可以自由设置 DMA 写入的目标地址: ((uint32_t)(&GPIO1->DR)) 具体来说,我想从波形缓冲器读取数据并将其写入一组 GPIO 引脚,传输时序由 TMR COMP 事件精确设定。 以下是我安装 DMA 传输的方法 /* Relevant Defines and Declarations */ #define DMA0_DMA_BASEADDR DMA0 #define DMA0_DMAMUX_BASEADDR DMAMUX #define DMA0_CH0_DMA_REQUEST kDmaRequestMuxQTIMER3CaptTimer0Cmpld1Timer0Cmpld2Timer1 uint32_t waveform_buffer[WAV_BUF_LEN] __attribute__((aligned(4))); /* Channel CH0 initialization */ /* Set the source kDmaRequestMuxQTIMER3CaptTimer0Cmpld1Timer0Cmpld2Timer1 request in the DMAMUX */ DMAMUX_SetSource(DMA0_DMAMUX_BASEADDR, DMA0_CH0_DMA_CHANNEL, DMA0_CH0_DMA_REQUEST); /* Enable the channel 0 in the DMAMUX */ DMAMUX_EnableChannel(DMA0_DMAMUX_BASEADDR, DMA0_CH0_DMA_CHANNEL); /* Create the eDMA DMA0_CH0_Handle handle */ EDMA_CreateHandle(&DMA0_CH0_Handle, DMA0_DMA_BASEADDR, DMA0_CH0_DMA_CHANNEL); /* DMA0 transfer CH0_TRANSFER0 configuration */ EDMA_PrepareTransferConfig(&DMA0_CH0_TRANSFER0_config, (void *) &waveform_buffer, 1 << kEDMA_TransferSize4Bytes, 4, (void *) ((uint32_t)(&GPIO1->DR)), 1 << kEDMA_TransferSize4Bytes, 0, 4U, 16U); /* DMA0 transfer CH0_TRANSFER0 submit */ status = EDMA_SubmitTransfer(&DMA0_CH0_Handle, &DMA0_CH0_TRANSFER0_config); 但也许这行不通?我开始认为 tmrx_dman [cmpldYDE] 位的存在只能触发信号对 CMPL D 寄存器的写入。这比我希望的更不灵活。 Re: Trigger DMA write with TMR CMPLD1 您好, 其实我没明白你的意思。请说明您想做什么。 GPIO 写入 未与 TMR 通道不同步 是的,TMR 信道需要通过并取决于其条件。 下面举例说明如何将 QTMR 通道配置为 captrue DMA。 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/release/25.03.00/_boards/evkbimxrt1050/driver_examples/qtmr/inputcapture_outputpwm_dma/example_board_readme.md  
記事全体を表示
GUI GUIDER 1.9.1 - 'doskey' は内部コマンドまたは外部コマンドとして認識されません Windows 11 で gui guider 1.9.1 を実行しています。実行シミュレータアイコン (緑の再生ボタン) をクリックすると、出力には常に同じ行が散らばります。 「doskey」は、内部コマンドまたは外部コマンド、操作可能なプログラム、またはバッチ ファイルとして認識されません。 これはコンパイルの成功には影響しませんが、出力にSO多くの余分な行があるため煩わしいです。 このエラーについて調べてみたところ、通常は doskey の場所 (C:\Windows\system32) がシステム パス上にないことに関係していることがわかりました。ただし、私のシステムではシステム パス上にあることを確認しました。 もう 1 つの問題は、doskey を管理者権限で実行する必要があることですが、GUI ガイドを管理者権限で起動しても問題は解決しません。 通常のコンパイル (Ctrl+G) ではこの問題は発生せず、シミュレータでコンパイルして実行すると、これらの煩わしい doskey 行が表示されることに注意してください。 助けてください。doskey.exe を guiguider ディレクトリに直接コピーする必要がありますが、正確にどこに配置すればよいのでしょうか? 以前のバージョンの GUI ガイダーではこの問題は発生していませんでしたが、Windows 11 を実行する新しい PC にスイッチしたばかりで、以前使用していた以前のバージョンの GUI ガイダーは、常に Windows 10 で問題なく動作していました。SO おそらくそれは Windows 11 の問題です。 Re: GUI GUIDER 1.9.1 - 'doskey' is not recognized as an internal or external command こんにちは。偶然にも Google Gemini の問題を解決しました。 conda が標準の Windows コマンド プロセッサを操作し、独自の文字列をレジストリに書き込んでいたことが判明しました。以下はジェミニとの長い議論です。 記憶は曖昧ですが、最終的には、下記のレジストリ キーを標準の Windows コマンド プロセッサに変更することで解決しました。 非常にイライラするエピソード。 guiguider プログラム内でシミュレータ GUI をコンパイルするときに 1 つの問題が発生します。同じファイルが構築されるため、コマンド ラインで実行する makesfile が実行されることは確かですが、これは guiguider 内部から実行され、出力は gui guider コンソール ウィンドウにパイプされます。コンパイルするたびにこのエラーが発生します: 生成された画面ファイルを消去しています... C コードを生成しています... シミュレータをコンパイルしています... 「DOSKEY」は内部コマンドまたは外部コマンドとして認識されません。 実行可能なプログラムまたはバッチ ファイル。 コンソールにはこれらの doskey エラーが散らばっています。これはプロジェクトでコンパイルされる各 c ファイルの出力であると強く想定しています。プロジェクトはコンパイルされますが、これらのエラー行によってコンソールが乱雑になります。CANこれが起こる理由を思いつきますか?私はGuiguiderフォーラムで質問しました。彼らは権限の問題だと思ったようですが、私はすでに管理者としてGuiguiderを再インストールしました。doskey がなぜ呼び出されるのか理解できません。上記の makefile にそれに関する記述がありますか?             思考を示す   これは非常に興味深く、珍しい問題です。優れたデバッグが行われており、結論は正しいです。DOSKEY コマンドは Makefile のどこにも存在しません。 これが起こる理由は、ほぼ間違いなく Windows オペレーティング システム自体の機能、具体的にはコマンド プロンプトが開かれるたびにコマンドを自動的に実行する Windows レジストリの設定によるものです。GUI Guider 内でエラーが表示されるのは、標準のコマンド ラインとは異なる、より制限された環境で make が実行されるためです。 診断: コマンドプロセッサの自動実行キー DOSKEYとは何ですか?これは、コマンド履歴とコマンド プロンプト (cmd.exe) のマクロ (エイリアス) を作成する機能を提供する標準の Windows コマンドライン ツール (doskey.exe) です。 なぜそう呼ばれるのでしょうか?Windows レジストリには、新しい cmd.exe プロセスが開始されるたびに自動的に実行されるコマンドを指定CAN機能があります。これは、AutoRun と呼ばれるレジストリ キーによって制御されます。ある時点で、ユーザーまたはユーザーがインストールしたプログラムが、doskey を起動するための AutoRun コマンドを設定した可能性があります。 GUI Guider 内では失敗するのに、ターミナルでは機能するのはなぜですか? 通常のターミナル (cmd.exe) で:コマンド プロンプトを開くと、システムの PATH 環境変数が完全に読み込まれます。この PATH には、doskey.exe が存在する C:\Windows\System32 が含まれます。AutoRunコマンドが実行され、doskey.exeが見つかります。すべてが静かに動作します。 GUI Guider 内部: GUI Guider が make を実行すると、make は新しい最小限のシェル プロセスを生成し、コンパイル コマンド (gcc ...、g++ ...) を実行します。これらの最小限のシェルは、レジストリからの AutoRun コマンドもトリガーします。ただし、GUI Guider によって作成された環境は「サンドボックス化」されている可能性があり、 C:\Windows\System32 を含まない非常に制限された PATH を持ちます。シェルは doskey を実行しようとしますが、制限された検索パスで見つけることができず、「'DOSKEY' is not recognize...」というエラーを出力します。 とにかく、なぜビルドは成功するのでしょうか?AutoRun コマンドの失敗は、コマンド シェルでは致命的なエラーとは見なされません。シェルはエラーを出力し、make によって与えられた実際のコマンド (gcc ...) の実行に進みます。SO、コードは正しくコンパイルされますが、コンソール出力はこれらのファントムエラーで乱雑になります。 問題の確認と解決方法 この問題を解決するには、AutoRun コマンドをより堅牢にして、PATH に依存しないようにします。 ステップ1: レジストリのAutoRunキーを確認する Windows キー + Rを押して実行ダイアログを開きます。 「regedit」と入力して Enter キーを押すと、レジストリ エディターが開きます。 上部のアドレスバーに次のパスを貼り付けて Enter キーを押します: HKEY_CURRENT_USER\ソフトウェア\Microsoft\プロセッサ 右側で、AutoRun という名前の値を探します。 そのデータは、doskey /macros や単なる doskey のような単純なものになる可能性が非常に高いです。これが問題の原因となっているコマンドです。 ステップ2: 自動実行コマンドを修正する(推奨解決策) 問題は、doskey が PATH に依存していることです。doskey.exe への完全な絶対パスを指定することでこれを修正CAN。Windows には、常に Windows ディレクトリ (例: C:\Windows) を指すシステム変数%SystemRoot%があります。 レジストリ エディターで、AutoRun 値をダブルクリックして編集します。 完全なパスを使用するには、現在の値 (例: doskey /macros) を変更します。 次のように変更します: %SystemRoot% \system32\doskey.exe /macros (doskey だけの場合は、 %SystemRoot% \system32\doskey.exe に変更します)。 [OK] をクリックして、レジストリ エディターを閉じます。 これで、コマンドプロンプトが起動するたびに、絶対パスを使用してdoskey.exeが検索されます。これは、GUI Guider のパスが制限された環境でも機能します。ビルド コンソールからエラーが完全に消えるはずです。 代替案(doskeyを気にしない場合) より簡単な代替方法として、AutoRun キーが設定された理由がわからず、その機能が必要ない場合は、レジストリ エディターで AutoRun 値を右クリックして削除CAN。エラーは止まりますが、通常のターミナルで使用していたカスタム コマンド エイリアスや履歴も失われます。上記のようにパスを修正するのがより良い解決策です。                 ああ、Miniforge がその値を台無しにしたことがわかりました。minforge が動作し続け、GUI ガイドも doskey で動作するようにするには、どのように変更すればよいですか? 現在のエントリー: 存在する場合「C:\ProgramData\miniforge3\condabin\conda_hook.bat」「C:\ProgramData\miniforge3\condabin\conda_hook.bat」             思考を示す   なるほど!ありがとうございます。それは重要な情報ですね。これは、Conda や Miniforge などの派生版を使用する開発者にとって非常に一般的な設定です。 AutoRun キーが doskey を直接呼び出していません。Conda の環境設定スクリプト (conda_hook.bat) を呼び出しています。「DOSKEY が見つかりません」というエラーは、conda_hook.bat スクリプト (またはそれが呼び出す別のスクリプト) が doskey を実行しようとしているために発生します。 根本的な原因は、私たちが診断したものとまったく同じです。フック スクリプトは通常のターミナルでは正常に実行されますが、GUI Guider の制限された PATH 環境では doskey.exe が見つからないため失敗します。 このレジストリ エントリを削除したり、単に置き換えたりしないでください。そうすると、Conda/Miniforge ターミナル環境の機能が損なわれます。 解決策: ラッパーバッチスクリプト 最も安全で柔軟性の高いソリューションは、独自のシンプルな「ラッパー」バッチ スクリプトを作成することです。このスクリプトは、まずシステム パスを追加して環境を修正し、次にConda フック スクリプトを呼び出します。AutoRun レジストリ キーを新しいラッパー スクリプトにポイントします。 これにより、Conda のファイルを変更せずに問題が解決されます。 ステップ1: ラッパースクリプトを作成する メモ帳またはお気に入りのテキスト エディター (VS Code など) を開きます。 次のコードをコピーして新しいファイルに貼り付けます。 コードスニペット   @echo off REM ================================================================= REM Custom AutoRun Wrapper Script REM ================================================================= REM This script fixes the PATH for restricted environments and then REM calls the original Conda hook script. REM --- Step 1: Fix the PATH --- REM Temporarily add the essential Windows directories to the PATH for this session. REM This ensures system commands like 'doskey.exe' can be found. @set "PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%PATH%" REM --- Step 2: Execute the original Conda hook script --- REM This is the exact command that was originally in your registry. if exist "C:\ProgramData\miniforge3\condabin\conda_hook.bat" call "C:\ProgramData\miniforge3\condabin\conda_hook.bat" REM --- Step 3 (Optional): Add your own commands --- REM If you wanted to define your own doskey aliases, you could add them here. REM They will now work correctly because the path was fixed in Step 1. REM For example: REM %SystemRoot%\system32\doskey.exe ls=dir /B ステップ2: スクリプトを保存する このファイルを、誤って削除されない安定した永続的な場所に保存します。ユーザーディレクトリは最適な場所です。 次のように保存します: C:\Users\YourUsername\autorun_wrapper.bat (YourUsername を実際の Windows ユーザー名に置き換えます)。 ステップ3: レジストリの自動実行値を更新する ここで、Conda フックを直接実行するのではなく、新しいラッパー スクリプトを実行するように Windows に指示します。 レジストリ エディター (regedit) を開きます。 次のキーに戻ります: HKEY_CURRENT_USER\ソフトウェア\Microsoft\Command プロセッサ 右側の AutoRun 値をダブルクリックします。 古い値を削除し、新しいラッパー スクリプトへの完全なパスに置き換えます。ユーザー名にスペースが含まれているCASEは、パスを引用符で囲むことが重要です。 新しい値を次のように設定します: "C:\ユーザー\YourUsername\autorun_wrapper.bat" [OK] をクリックして、レジストリ エディターを閉じます。 これが機能する理由の要約 これで、任意のプログラム (ターミナル、GUI Guider など) が新しいコマンド プロンプトを起動するたびに、次の処理が行われます。 Windows AutoRun は autorun_wrapper.bat スクリプトを実行します。 スクリプトは、特定のコマンド セッションの PATH に必須の Windows システム ディレクトリを直ちに追加します。 次に、スクリプトは元の conda_hook.bat を呼び出します。 Conda スクリプトが doskey (またはその他のシステム コマンド) を実行しようとすると、doskey.exe (C:\Windows\System32) の場所が PATH 内にあるため、実行は成功します。 GUI Guider のエラーはなくなり、Miniforge/Conda ターミナルは以前とまったく同じように動作し続けます。 Re: GUI GUIDER 1.9.1 - 'doskey' is not recognized as an internal or external command 私も同様の問題に直面しているようです。ソフトウェアはすでに再インストールしました。解決策はありますか? Re: GUI GUIDER 1.9.1 - 'doskey' is not recognized as an internal or external command こんにちは@josefhaydnさん、 GUI Guider のインストール中に何らかの問題が発生し、doskey のパスの問題が発生している可能性があります。GUI Guider をアンインストールして再インストールすることをお勧めします。今回は、完全な管理者アクセス権でインストールするようにしてください。 BR、 エドウィン。
記事全体を表示
访问 LPC55S69 上的 UUID 我不知道如何正确访问 LPC55S69 上的 UUID。MCUX SDK 文档似乎非常不完整。 大多数资料表明,访问它的方法是使用 FFR_GetUUID()。"IAP_FFR Driver" 完全没有任何解释--据我所知,没有任何地方记录 FFR 甚至代表什么。它与"PFR" 相同吗?如果是这样,为什么不在其他地方解释一下呢?是否需要调用 FFR_Init()?为什么 FFR_Init() 没有文档? 如果我在应用程序中尝试使用 FLASH_Init(),就会出现硬故障。我所看到的我的代码与所提供的 IAP 示例之间的唯一区别是,该示例是从 96 MHz FRO 运行的。看起来可能存在一些未注明的依赖关系--FLASH_Init() 硬编码将频率设置为 96 MHz: /* 将时钟初始化为 96MHz */ config->modeConfig.sysFreqInMHz= (uint32_t)kSysToFlashFreq_defaultInMHz; 我无法验证这一点,因为 modeConfig 没有记录在案--手册中的条目完全空白。数据表确实显示,闪存擦除/读取/编程的频率为> 100 MHz。这也适用于 UUID 吗?我是否需要以不同的时钟配置启动才能读取? 数据手册还指出,UUID 可从地址 0x9fc70 开始访问。直接访问它安全吗?不同硅版本的位置是否不同? 谢谢! Scott LPC55xx Re: Accessing UUID on LPC55S69 我个人猜测,"FFR" 是"工厂闪存区域" 或"飞思卡尔闪存区域" 。恩智浦合并后,他们对一些产品重新命名。在这些事情上,他们似乎没有很好的内部协调。 SDK 中不一致的命名让我很抓狂。有一个 "lptimer "外设是 Kinetis 低功耗定时器,但在其他地方,"lp"(显然)被用作区分 LPC 外设的前缀--比如 "lpadc "不是低功耗 ADC,而是 LPC ADC,它的 API 与 Kinetis SDK 中的 "adc "不同。 其中我最喜欢的是关于 C90TFS 闪存驱动器的部分。"C90TFS" 无处定义。显然,这是一种专有的 90 纳米薄膜存储设备的内部名称。 Scott Re: Accessing UUID on LPC55S69 对于"FFR" & " PFR" 这一名称,我们已向文档组报告。 显然,该请求没有送达文档团队,因为同样的问题适用于 LPC553x 参考手册:没有解释缩写 " FFR " 是什么意思。也许这是"flash 防火墙区域" 的缩写? 将"PFR" 定义为"闪光灯保护区" ,会造成进一步的混淆: 也不知道这些不同的闪存区域有什么用途。 我必须同意@scottm的观点,SDK 文档绝对可以改进。 如果您能从避免使用模棱两可的缩略语或同一实体的不同术语开始,并在引入新功能时提供一些背景信息,我将不胜感激。 Re: Accessing UUID on LPC55S69 你好@scottm "我可以在启动时读取 UUID,然后再切换到 150 MHz 的 PLL0。读取 UUID 和更改时钟源后,似乎没有任何影响。在更换时钟之前,不对其他外设进行初始化。" ->> 如果没有问题,就不必重新初始化。 然后,您只需确认在读取 UUID 时 CPU 时钟不高于 100HZ。 BR 爱丽丝 Re: Accessing UUID on LPC55S69 我不太明白。我所需要做的就是能够访问 UUID,并让闪存处于 IAP 引导加载程序可以在需要时访问它的状态。 我可以在启动时读取 UUID,然后再切换到 150 MHz 的 PLL0。读取 UUID 和更改时钟源后,似乎没有任何影响。在更换时钟之前,不对其他外设进行初始化。 你是说有什么东西需要去初始化?或者,只要在引导程序调用任何闪存 API 之前将时钟切换回 FRO96,这样运行是否安全? 谢谢! Scott Re: Accessing UUID on LPC55S69 你好@scottm 如果要进行闪存操作(擦除、空白检查、编程)和读取单字,建议 CPU 频率不超过 100MHZ。如果读取闪存后必须使用 150MHZ,建议在改用 150MHZ 之前禁用模块时钟(例如,如果在代码中使用了 UART,可通过"USART_Deinit()" )。然后在改为 150MHZ 后再次启用(重新初始化)。关于重新初始化过程,请参考项目中的初始化代码,即再次初始化(启用)。 对于"FFR" & " PFR" 这一名称,我们已向文档组报告。 BR 爱丽丝 Re: Accessing UUID on LPC55S69 FFR 是 PFR API 的一种命名方式,PFR 是"Protected Flash Region" 。 为什么它有不同的名字?为什么没有解释"FFR" 与"PFR" 相同?这些文件除了版权日期和许可证标识符外,没有任何标识信息。" PFR " 或非 " FFR " 均未出现在手册的缩写列表中。 fsl_iap_ffr.h 没有提供"ffr_deinit()" 函数。如何确定"FFR_Lock_All()" 与手册中描述的"ffr_deinit()" 是同一个函数,而不是像我刚才那样通过跟踪驱动程序代码来确定其在跳转表中的顺序? ffr_deinit() 要做什么才能切换到 150 MHz?该手册似乎说它将锁定闪存访问权限,直到 POR 或 BOD RESET。如果我没看错,那么以后我将无法用上市我的引导加载程序进行固件更新。当系统运行> 100 MHz 时,读取 UUID 的公认程序是什么?以较低速度重新初始化引导加载程序的程序是什么? Scott Re: Accessing UUID on LPC55S69 FFR 是 PFR API 的一种命名方式,PFR 是"Protected Flash Region" 。 2.您可以在手册中查看 FFR_Init() 函数的说明,源代码未开放。 使用 FFR_Lock_All(),而不是 FFR_Deinit(),后者是相同的函数。 Re: Accessing UUID on LPC55S69 "FFR" 代表什么?该术语在哪里定义,如何知道它与"PFR" 相同? 如何取消初始化才能使系统安全地切换到 150 MHz?没有文件说明 FFR_Init() 函数的实际作用,也没有列出取消初始化的函数。 Re: Accessing UUID on LPC55S69 1."在切换到 150 MHz 时钟之前,是否需要取消任何初始化?" ->> 是。 2.关于 FFR,您可以查看手册中的 PFR。FFR 和 PFR 是一样的。 3 " 这是 ffr_g et uuid () 参考的 UUID 吗?"-> > 是的,也一样。 UUID 是芯片的唯一编号。这个数字并不表示特别关注的意义。 Re: Accessing UUID on LPC55S69 我将 FLASH_Init()、FFR_Init() 和 FFR_GetUUID() 移到了时钟初始化之前,这样 UUID 就能被复制到 RAM 中,而且似乎也起了作用。这给我留下了一些问题: 在切换到 150 MHz 时钟之前,是否需要取消任何初始化? FFR 代表什么? 手册第 48.8 节中说,可以从 PFR 寄存器 0x0009_fc70 读取 UUID,这是什么意思?这是否与 ffr_getuuid () 参考的 UUID 相同? 我从办公桌上的板上提取的 UUID 显示是版本 1,变体 1,这意味着低 48 位应该是生成系统的 MAC 地址。这些 UUID 是真的吗?我特别关注的是哪些位可以保证从一台设备变为另一台设备。 谢谢! Scott Re: Accessing UUID on LPC55S69 你好,斯科特姆、 我进行了一些测试,希望能对你有所帮助。我通过修改 "flashiap1"演示程序 获得了 UUID 。 建议使用 FFR_GetUUID() 访问 UUID。您需要先完成 FLASH_Init()。 FFR_GetUUID() 和 FFR_Init() 指令可在 "fsl_iap_ffr.h" 驱动程序中找到。 访问 UUID 需要调用 FFR_Init()。 如果系统时钟大于 100mhz,则 FLASH_Init() 有问题。如果系统时钟大于 100mhz,则无法进行闪存擦除/读取/编程,也无法读取 UUID。 根据数据表,CPU 不能高于 100M,闪存才能运行   无法直接读取 UUID。由于该地址是受保护的闪存区域,建议使用 FFR_GetUUID()。   我已将修改后的程序放在附件中
記事全体を表示
IMX8 fatal error: attr/xattr.h: No such file or directory Getting below error we have cleaned once and built it works sometime but not always. What are we missing? bitbake imx-image-full -c populate_sdk Loading cache: 100% |########################################################################################################################################################################| Time: 0:00:02 Loaded 5217 entries from dependency cache. WARNING: /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/sources/meta-timesys-test/recipes-test/timesys-test-project/timesys-test-project.bb: Unable to get checksum for timesys-test-project SRC_URI entry file: file could not be found Parsing recipes: 100% |######################################################################################################################################################################| Time: 0:00:07 Parsing of 3697 .bb files complete (3690 cached, 7 parsed). 5224 targets, 255 skipped, 3 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.44.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "ubuntu-18.04" TARGET_SYS = "aarch64-poky-linux" MACHINE = "imx8mp-35som" DISTRO = "fsl-imx-xwayland" DISTRO_VERSION = "5.4-zeus" TUNE_FEATURES = "aarch64 cortexa53 crc crypto" TARGET_FPU = "" meta meta-poky = "HEAD:d88d62c20d7d8da85f02edb170dae0280624ad7e" meta-oe meta-multimedia meta-python = "HEAD:2b5dd1eb81cd08bc065bc76125f2856e9383e98b" meta-freescale = "HEAD:791491437ec86c9d2429163533980dcf81c42890" meta-freescale-3rdparty = "HEAD:dbcc686f52c3c84db8cb86aa8973a4e373651b98" meta-freescale-distro = "HEAD:ca27d12e4964d1336e662bcc60184bbff526c857" meta-bsp meta-sdk meta-ml meta-v2x = "HEAD:72eacb2071749a3d5c0c36fd89914c31a2e0b464" meta-browser = "HEAD:ee3be3b5986a4aa0e73df2204a625ae1fe5df37e" meta-ecc508 = "HEAD:9530c7fcf7a45a3af1473e20bc46552639c38cdb" meta-openssl102 = "HEAD:62952f73851545894544fac5310a37cbffe4edb3" meta-openssl102-fips = "HEAD:4a71cb60e2d58cbd3babaa034c84decd8fcfbad4" meta-rust = "HEAD:53bfa324891966a2daf5d36dc13d4a43725aebed" meta-clang = "HEAD:711e593d5984aad3bf35c51b7ac4482982bc16c7" meta-iot-cve meta-iot-cloud meta-java = "iot-imx8-dev-CPU2.0:c0e8cb77a0e4a4827b37963b1f8d4d1d2132d055" meta-gnome meta-networking meta-filesystems = "HEAD:2b5dd1eb81cd08bc065bc76125f2856e9383e98b" meta-qt5 = "HEAD:509be0620f43177a0fa0cec4160aa881d3facef4" meta-python2 = "HEAD:4400f9155ec193d028208cf0c66aeed2ba2b00ab" meta-iot-bsp = "iot-imx8-dev-CPU2.0:c0e8cb77a0e4a4827b37963b1f8d4d1d2132d055" meta-timesys-security = "HEAD:c98c363b8ab5e485a9c499a362595954294fd3cb" meta-timesys-test meta-security-isafw = "iot-imx8-dev-CPU2.0:c0e8cb77a0e4a4827b37963b1f8d4d1d2132d055" Initialising tasks: 100% |###################################################################################################################################################################| Time: 0:00:05 Sstate summary: Wanted 12 Found 5 Missed 7 Current 2433 (41% match, 99% complete) NOTE: Executing Tasks NOTE: Setscene tasks completed ERROR: nativesdk-pseudo-1.9.0+gitAUTOINC+060058bb29-r0 do_compile: oe_runmake failed ERROR: nativesdk-pseudo-1.9.0+gitAUTOINC+060058bb29-r0 do_compile: Execution of '/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/temp/run.do_compile.14650' failed with exit code 1: SQLite header for version 3031001 found in /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr. Enabling in-memory database by default. x86_64-pokysdk-linux-gcc --sysroot=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot -fno-strict-aliasing -O2 -pipe -fmacro-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot= -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native= -pipe -std=gnu99 -Wall -W -Wextra -fPIC -D_LARGEFILE64_SOURCE -D_ATFILE_SOURCE -O2 -pipe -fmacro-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot= -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native= -DPSEUDO_PREFIX='"/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr"' -DPSEUDO_SUFFIX='""' -DPSEUDO_BINDIR='"bin"' -DPSEUDO_LIBDIR='"lib/pseudo/lib64"' -DPSEUDO_LOCALSTATEDIR='"var/pseudo"' -DPSEUDO_VERSION='"1.9.0"' -DUSE_MEMORY_DB -DPSEUDO_FORCE_ASYNC -DPSEUDO_PASSWD_FALLBACK='NULL' -DPSEUDO_XATTR_SUPPORT -DPSEUDO_EPOLL -O2 -g -L/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/lib -I/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/include -D_GNU_SOURCE -c -o pseudo_wrappers.o pseudo_wrappers.c In file included from pseudo_ports.h:15, from pseudo.h:160, from pseudo_wrappers.c:30: ports/linux/xattr/portdefs.h:5:10: fatal error: attr/xattr.h: No such file or directory 5 | #include | ^~~~~~~~~~~~~~ compilation terminated. Makefile:153: recipe for target 'pseudo_wrappers.o' failed make: *** [pseudo_wrappers.o] Error 1 WARNING: /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/temp/run.do_compile.14650:1 exit 1 from 'exit 1' ERROR: Logfile of failure stored in: /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/temp/log.do_compile.14650 Log data follows: | DEBUG: Executing shell function do_compile | NOTE: Building/installing only 64-bit libpseudo.so for nativesdk-pseudo. | NOTE: If you need to run 32-bit executables, ensure that NO32LIBS is set to 0. | SQLite header for version 3031001 found in /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr. | Enabling in-memory database by default. | NOTE: make -j 8 | x86_64-pokysdk-linux-gcc --sysroot=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot -fno-strict-aliasing -O2 -pipe -fmacro-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot= -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native= -pipe -std=gnu99 -Wall -W -Wextra -fPIC -D_LARGEFILE64_SOURCE -D_ATFILE_SOURCE -O2 -pipe -fmacro-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot= -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native= -DPSEUDO_PREFIX='"/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr"' -DPSEUDO_SUFFIX='""' -DPSEUDO_BINDIR='"bin"' -DPSEUDO_LIBDIR='"lib/pseudo/lib64"' -DPSEUDO_LOCALSTATEDIR='"var/pseudo"' -DPSEUDO_VERSION='"1.9.0"' -DUSE_MEMORY_DB -DPSEUDO_FORCE_ASYNC -DPSEUDO_PASSWD_FALLBACK='NULL' -DPSEUDO_XATTR_SUPPORT -DPSEUDO_EPOLL -O2 -g -L/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/lib -I/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/include -D_GNU_SOURCE -c -o pseudo_wrappers.o pseudo_wrappers.c | In file included from pseudo_ports.h:15, | from pseudo.h:160, | from pseudo_wrappers.c:30: | ports/linux/xattr/portdefs.h:5:10: fatal error: attr/xattr.h: No such file or directory | 5 | #include | | ^~~~~~~~~~~~~~ | compilation terminated. | Makefile:153: recipe for target 'pseudo_wrappers.o' failed | make: *** [pseudo_wrappers.o] Error 1 | ERROR: oe_runmake failed | WARNING: /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/temp/run.do_compile.14650:1 exit 1 from 'exit 1' | ERROR: Execution of '/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/temp/run.do_compile.14650' failed with exit code 1: | SQLite header for version 3031001 found in /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr. | Enabling in-memory database by default. | x86_64-pokysdk-linux-gcc --sysroot=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot -fno-strict-aliasing -O2 -pipe -fmacro-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot= -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native= -pipe -std=gnu99 -Wall -W -Wextra -fPIC -D_LARGEFILE64_SOURCE -D_ATFILE_SOURCE -O2 -pipe -fmacro-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0=/usr/src/debug/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0 -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot= -fdebug-prefix-map=/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native= -DPSEUDO_PREFIX='"/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr"' -DPSEUDO_SUFFIX='""' -DPSEUDO_BINDIR='"bin"' -DPSEUDO_LIBDIR='"lib/pseudo/lib64"' -DPSEUDO_LOCALSTATEDIR='"var/pseudo"' -DPSEUDO_VERSION='"1.9.0"' -DUSE_MEMORY_DB -DPSEUDO_FORCE_ASYNC -DPSEUDO_PASSWD_FALLBACK='NULL' -DPSEUDO_XATTR_SUPPORT -DPSEUDO_EPOLL -O2 -g -L/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/lib -I/home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/include -D_GNU_SOURCE -c -o pseudo_wrappers.o pseudo_wrappers.c | In file included from pseudo_ports.h:15, | from pseudo.h:160, | from pseudo_wrappers.c:30: | ports/linux/xattr/portdefs.h:5:10: fatal error: attr/xattr.h: No such file or directory | 5 | #include | | ^~~~~~~~~~~~~~ | compilation terminated. | Makefile:153: recipe for target 'pseudo_wrappers.o' failed | make: *** [pseudo_wrappers.o] Error 1 | WARNING: /home/sujay/imx8_gateway_build/iot-imx8-dev-CPU2.0/build_imx8mp-35som_phx/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-pseudo/1.9.0+gitAUTOINC+060058bb29-r0/temp/run.do_compile.14650:1 exit 1 from 'exit 1' i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus Re: IMX8 fatal error: attr/xattr.h: No such file or directory I tried this command but getting following error:- Package lz4 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Unable to locate package pzstd E: Unable to locate package lz4c E: Package 'lz4' has no installation candidate Re: IMX8 fatal error: attr/xattr.h: No such file or directory 1.Install host packages on your host  $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \ pylint3 xterm rsync curl zstd pzstd lz4c lz4 2.Try to delete your yocto project and re-sync it.Some source code may be lost during downloading. Re: IMX8 fatal error: attr/xattr.h: No such file or directory The issue is in nativesdk-pseudo-1.9.0+gitAUTOINC+060058bb29-r0 do_compile: oe_runmake failed. How to fix this? Re: IMX8 fatal error: attr/xattr.h: No such file or directory Hi Zhiming, Thanks for your reply. We are using Virtual Machine to build. What you mean by host packages? Will you share some links from where we can download those host packages. Our packages are breaking when we do a build sometimes we are at 90% built and then a package breaks. We have to do clean and then build which takes a lot of time. Re: IMX8 fatal error: attr/xattr.h: No such file or directory Hi @nitesh-einfochips  Do you install all host packages on your PC ? Regards Zhiming
記事全体を表示
Inverter with LPC1768 Good morning everyone, I'm new to the forum... forgive me for any misunderstandings and blunders. I have a sofar solar inverter that has the lpc1768 chip installed on board. Now the inverter has a corrupted firmware due to an incorrect update. The PCB has an 8-pin port where it is possible to program the chip. I have 4 .bin files named: 1. HydARM.bin 2. HydDSPM.bin 3. HydDSPS.bin 4.HydGDARM.bin How can I inject the correct firmware?? Help help.... Ps: I have already tried to contact the inverter brand and they would like it shipped... (more than 50 kg of stuff is absurd) without repair guarantee... LPC17xx Re: Inverter with LPC1768 Hi, did you ever resolve this? I have a ME3000SP Sofar Battery inverter, and the firmware was bricked by Sofar support! Now Support won't reply to me. I have different versions of the firmware in both .bin and .hex format. I have managed to upload the arm.hex file to the NXP LPC1768FBD100 microcontroller, but not able to get it to boot. Did you ever manage to make any progress? Thanks and regards Dave Re: Inverter with LPC1768 Hello, on the datasheet mention the P2 could use to enter in ISP mode. The UART channel could be this but try by your own risk. Best regards, Pavel Re: Inverter with LPC1768 the situation is very difficult, I opened a ticket in sofar but I have not received a response yet... I do not have any diagrams, they are very secret... Re: Inverter with LPC1768 Hello, my apologize for that, so I understand, I could not help you about what is on the bin file, but let me know this, this bin files are available direct from the Sofar? if yes maybe, could you update the firmware if the LPC is not secured, and if you do not have an external debugger, maybe you could use the ISP to download the bin to the MCU, do you have the schematic of the board? Best regards, Pavel Re: Inverter with LPC1768 Good morning Pavel, I know that the product was produced by Sofar but I have already tried to contact both Sofar and ZCS (Italian dealer) but they are not able to provide me with other solutions. They just want to send the inverter without any guarantee of repair and without any repair estimate. If someone in the forum could better analyze the .bin files, perhaps it would be possible to understand if LPC1768 was programmed for the display or to control the entire system Re: Inverter with LPC1768 Hello, my name is Pavel, and I will be supporting your case, I reviewed your case, and this device seems is not supported directly by NXP this is a device part of catalogue from SOFAR. I recommend contact directly to this vendor before avoiding your warranty. I don't know if the SOFAR device have an open source software but this is beyond the scope of this service. Best regards, Pavel Re: Inverter with LPC1768 Thanks for the reply, I'm no longer sure that the nxp chip is for the inverter firmware. I saw some threads where it was said that the chip is also used to drive displays... deep crisis.. The firmware files can be downloaded from the manufacturer's website (https://www.zcsazzurro.com/it/documentazione/azzurro-hybrid-storage-inverter-hyd-hyd-3000-zss-hyd-6000-zss) which does not give me the correct instructions for injecting the firmware with a programmer; it only gives me info on how to upgrade the firmware with the machine turned on.. but now it is stuck in the startup phase. Do you have any ideas?? Re: Inverter with LPC1768 That's complicated. Are you sure the 10-pin port has a "Cortex 10-pin 0.05" JTAG/SWD Connector Pinout"  as described here: https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Design-Considerations-for-Debug/m-p/469565 Then you need a debug probe (e.g., LPC-Link2) to connect to it. Further, you need some programming software on your PC, e.g., LPCScrypt, see here: https://www.nxp.com/docs/en/user-guide/LPCScrypt_User_Guide.pdf Note that I have no idea what these *.bin files contain. Best of luck Dan
記事全体を表示
通过命令行在 Ubuntu 上安装 LinkServer 你好, ,我想问一个关于 LinkServer 安装的问题(假设已经有了 .bin文件下载)的自动化方式,无需人工干预。 我执行了以下命令: ./LinkServer_25.3.31.x86_64.deb.bin --accept ,但仍出现许可协议窗口。 从--help(帮助)中可以看出,这应该足以让它接受协议。下面是./LinkServer_25.3.31.x86_64.deb.bin --help命令的输出结果: Makeself version 2.4.0 1) Getting help or info about ./LinkServer_25.3.31.x86_64.deb.bin : ./LinkServer_25.3.31.x86_64.deb.bin --help Print this message ./LinkServer_25.3.31.x86_64.deb.bin --info Print embedded info : title, default target directory, embedded script ... ./LinkServer_25.3.31.x86_64.deb.bin --lsm Print embedded lsm entry (or no LSM) ./LinkServer_25.3.31.x86_64.deb.bin --list Print the list of files in the archive ./LinkServer_25.3.31.x86_64.deb.bin --check Checks integrity of the archive 2) Running ./LinkServer_25.3.31.x86_64.deb.bin : ./LinkServer_25.3.31.x86_64.deb.bin [options] [--] [additional arguments to embedded script] with following options (in that order) --confirm Ask before running embedded script --quiet Do not print anything except error messages --accept Accept the license --noexec Do not run embedded script --keep Do not erase target directory after running the embedded script --noprogress Do not show the progress during the decompression --nox11 Do not spawn an xterm --nochown Do not give the extracted files to the current user --nodiskspace Do not check for available disk space --target dir Extract directly to a target directory (absolute or relative) This directory may undergo recursive chown (see --nochown). --tar arg1 [arg2 ...] Access the contents of the archive through the tar command -- Following arguments will be passed to the embedded script 我想知道是我做错了什么,还是 LinkServer CLI 有问题。 当我谈的是工具和自动化的话题时,你打算为LinkServer工具或类似工具添加一个容器镜像吗? 致以最诚挚的问候, Michael Re: LinkServer installation on Ubuntu via command line 无可挑剔的时机 😉 我明天再读,并在那里发表评论。 我看到我们这里也在追求类似的东西,因此共同努力可能会给社区带来巨大的利益。 谢谢! Re: LinkServer installation on Ubuntu via command line 嗨,@mimlo、 顺便提一下,我在我的博客上写了一篇关于它的文章: https://mcuoneclipse.com/2025/08/11/streamlining-linkserver-installation-for-ci-cd/ 希望这能帮到您, 埃里希 Re: LinkServer installation on Ubuntu via command line 你好,@ErichStyger、 查看你提供的这条命令和--help打印文件,似乎缺少了一些东西(例如skipIdeSelect选项)。 再次感谢您。 致以最诚挚的问候, Michael Re: LinkServer installation on Ubuntu via command line 嗨,迈克尔、 你能试试这个吗? sudo./LinkServer_25.3.31.x86_64.deb.binacceptLicense skipIdeSelect ? 埃里希 Re: LinkServer installation on Ubuntu via command line 嗨,迈克尔、 非常感谢你的美言! 关于"--接受 "选项,我认为这是 debian 方面的问题(我不是 debian 安装脚本方面的专家),可能是 LinkServer 安装子部分不支持该选项。我已经联系了我的一个联系人,他可能会提供帮助。 关于 LinkServer 闪存转储:如果您不介意的话,能否在此与大家分享一下,或者分享一下讨论的链接? 埃里希 Re: LinkServer installation on Ubuntu via command line 嗨 @ErichStyger, 我最近看过你关于开发容器的博客文章,这也正是我想在团队中搭建的——尽管它还在我的待办事项清单上 😄 不过,我想知道是否有更官方的版本,可以在dockerhub或其他注册中心发布,并提供完整的文档和恩智浦官方品牌。由于它在某些解决方案中越来越受欢迎,我只是好奇恩智浦是否会考虑这一点。 我相信你的建议是可行的,但它并没有回答主要问题(尽管它以另一种安装方法的形式提供了一个可行的解决方案,我非常喜欢)。 问题是我的命令行中是否存在滥用行为,或者二进制文件本身有问题。 事实上,我最近在LinkServer 闪存转储命令中发现了一些这样的不一致之处,我被告知会向上反映以解决这个问题,所以我相信这是有可能的,我只是想说清楚,以防其他人遇到同样的问题。 我喜欢你们的博客,你们的工作非常出色,请继续保持! Re: LinkServer installation on Ubuntu via command line 关于自动化(例如:CI/CD),我建议你看看我博客上的一系列文章,从https://github.com/ErichStyger/MCUXpresso_LPC55S16_CI_CD/blob/main/README.md开始。 或直接使用:https://mcuoneclipse.com/category/ci-cd/ 希望这能帮到您, 埃里希 Re: LinkServer installation on Ubuntu via command line 嗨,迈克尔、 你可以看到我是怎么做的(就我而言,在 Ubunto 容器 镜像中): https://mcuoneclipse.com/2025/02/18/remote-debugging-with-devcontainer-and-vs-code/ 代码和脚本在这里: https://github.com/ErichStyger/MCUXpresso_LPC55S16_CI_CD 文件在这里:https://github.com/ErichStyger/MCUXpresso_LPC55S16_CI_CD/blob/main/.docker/Dockerfile 希望这能帮到您, 埃里希
記事全体を表示
How to build the system software to match the prebuilt? I have read the i.MX Yocto Project User's Guide and have gotten the build to succeed. But, it's less than clear what I'm accomplishing or what options I should be choosing along the way. The process is not a simple as follow the steps. You have to choose options along the way. And you have to choose options that make sense for what you're doing. And I don't always understand the options available. To setup my env, I did this: DISTRO=fsl-imx-wayland MACHINE=imx8mn-lpddr4-evk source ./imx-setup-release.sh -b nano The MACHINE option of imx8mn-lpdd4-evk seems to match my hardware so I assume that's what I want. Honestly, I don't what distro means in this context. But, fsl-imx-wayland seems the best option available none-the-less.  Later in the process you have to choose a target. This is where I'm much less sure what I'm doing. The instructions list the following options with details based on my research/understanding: **core-image-minimal** A small image that only allows a device to boot. [poky] **core-image-base** A console-only image that fully supports the target device hardware. [poky] **core-image-sato** An image with Sato, a mobile environment and visual style for mobile devices. The image supports a Sato theme and uses Pimlico applications. It contains a terminal, an editor and a file manager. [poky] **imx-image-core** An i.MX image with i.MX test applications to be used for Wayland backends. This image is used by our daily core testing. [meta-imx/meta-sdk] **fsl-image-machine-test** An FSL Community i.MX core image with console environment - no GUI interface. [meta-freescale-distro] **imx-imagemultimedia** Builds an i.MX image with a GUI without any Qt content. [meta-imx/meta-sdk] **imx-image-full** Builds an opensource Qt 6 image with Machine Learning features. These images are only supported for i.MX SoC with hardware graphics. They are not supported on the i.MX 6UltraLite, i.MX 6UltraLiteLite, i.MX 6SLL, i.MX 7Dual, i.MX 8MNanoLite, or i.MX 8DXL [meta-imx/meta-sdk] I assume the core* guys are not very useful except for testing that the build works. And I assume the imx* guys are more specific to my hardware and more likely to be useful. As a headless device, I don't need any GUI stuff. Should I use fsl-image-machine-test? But that's not an IMX guy and it sounds like it's for testing. Is imx-image-core enough for me? or should I go large and use imx-image-full? I have no idea. How does anyone choose?  In particular (and getting to the title of the post), let's say I'd like to start with the build that I can download from NXP here. What is the target that builds that? Re: How to build the system software to match the prebuilt? MACHINE=imx8mn-lpddr4-evk is right. In Yocto, DISTRO selects policy/stack (e.g., Wayland, multimedia, SDKs); MACHINE selects BSP; the image target defines what gets installed. For i.MX, NXP’s prebuilts map 1:1 to targets: imx-image-core = headless + i.MX test tools (NXP-supported) imx-image-multimedia = GUI stack (no Qt) imx-image-full = Qt6 + ML features To match a prebuilt, use the same DISTRO shown in the tarball name and bitbake that image (e.g., bitbake imx-image-core). For a headless device, prefer imx-image-core over fsl-image-machine-test (community). Start there, then layer packages you need to build a software product. — CONTUS Tech😎 Re: How to build the system software to match the prebuilt? To match the prebuilt NXP image identify the Yocto target they use usually imx-image-full or imx-image-multimedia depending on the SoC. Since you're building a headless system, imx-image-core is often sufficient unless ML or Qt is needed. The fsl-image-machine-test is more for validation not production. Understanding DISTRO (build configuration), MACHINE (hardware) and IMAGE (features) is key to build a software product that fits. We at CONTUS Tech typically customize Yocto layers for tailored embedded system deployments. Re: How to build the system software to match the prebuilt? The customization guide looks intriguing. Thanks. WRT "last releases does not include that image", begs the question: Why mention it in earlier msg? Maybe you didn't know when you wrote that. I am pretty good using UUU now. But... the linked info and all info I've found on using UUU is less than good. I had to learn how to use UUU by reading its source code and trial and error. Conceptually, UUU is great. But, docs ... and the CLI ... are terrible. Re: How to build the system software to match the prebuilt? Hello, I suggest you take a look at the next link: Yocto Project customization guide - NXP Community Regarding the missing imx-image-multimedia.wic file, last releases does not include that image in prebuilt files. To flash your built image, please check the next link as reference: Flashing Linux BSP using UUU - NXP Community Best regards. Re: How to build the system software to match the prebuilt? Thanks for the reply. I'm unsure why you refer to testing so much. What I'm building is not for testing. I am not testing. TBO so much talk of testing makes be uneasy. I don't want something that's only for testing. Building a custom image sounds good. but... I don't know how to do that. Nor do I know how to learn how to do that. I've struggling to learn how to do this stuff for months. Making little progress. The package that I download from the web (L6.12.3-1.0.0_MX8MN which is file LF_v6.6.36-2.1.0_images_IMX8MNEVK.zip) does have a file imx-image-full-imx8mnevk.wic. Maybe this is the result of a target imx-image-full. I do not see something called imx-image-multimedia. But, I don't think it would be particularly useful to me. I did just completed a build of the imx-image-full target. I'd like to try it on the nano EVK to see if works as I need; works like the prebuilt (L6.12.3-1.0.0_MX8MN). ... but there are lots of generated files (too many to understand) while none that are clearly what I want based on the file name. They all include rootfs which seems to indicate it's only part of the system software 😞 Here are the ones that start "imx-image-full": imx-image-full-imx8mn-lpddr4-evk.rootfs.manifest imx-image-full-imx8mn-lpddr4-evk.rootfs.spdx.tar.zst imx-image-full-imx8mn-lpddr4-evk.rootfs.tar.zst imx-image-full-imx8mn-lpddr4-evk.rootfs.testdata.json imx-image-full-imx8mn-lpddr4-evk.rootfs.wic.bmap imx-image-full-imx8mn-lpddr4-evk.rootfs.wic.zst Any thoughts and advise is welcome. Re: How to build the system software to match the prebuilt? Hello, The core images are used as you mention to confirm that the build works and also to confirm that the board is able to boot with some basic packages for testing. imx images are used for testing of multimedia applications such as audio/video stuff and full image incorporates all the functionalities provided by our BSP. Since you are testing a specific use case scenario, I suggest you go for a custom image according to your design requirements. Our prebuilt BSP in web page has the two options imx-image-multimedia and imx-image-full. Best regards.
記事全体を表示
Flexray Frames Configuration Hi, I'm working with the Freescale Development Card EVB9S12XF512E. For making an communication between two flexray nodes, it needs to configuration the network. In fact, there is a function which did that in freescale example : /* Structure of this type contains configuration   information of the one low level parameters set */const Fr_low_level_config_type Fr_low_level_cfg_set_00 ={    ..........    5000,       /* G_MACRO_PER_CYCLE */    10,         /* G_MAX_WITHOUT_CLOCK_CORRECTION_PASSIVE */    14,         /* G_MAX_WITHOUT_CLOCK_CORRECTION_FATAL */    22,         /* G_NUMBER_OF_MINISLOTS */    60,         /* G_NUMBER_OF_STATIC_SLOTS */    4920,       /* G_OFFSET_CORRECTION_START */    16,         /* G_PAYLOAD_LENGTH_STATIC */    ..........}  I would like to know if I'm understanding well something. The argument G_PAYLOAD_LENGTH_STATIC represent the duration of a static frame, that right? In my example, the argument is put at 16. That mean I can send at maximum 16 byte of data in my Flexray frames? Thanks you in advance for your answers, because i really need to know if am right to continu my project. Regards, General Re: Flexray Frames Configuration Me too!!!!!!!!! can you tell me how to deal with it? Re: Flexray Frames Configuration The payload length is in words I think. 16 words=32 bytes.
記事全体を表示
MIMXRT1060-EVK backlight control Is there demo code to control the LCD backlight on the IMXRT1060-EVK? Re: MIMXRT1060-EVK backlight control Hi NXP, I'm using RT1060 for our product. I am also having issues with GPIO_B1_15 to generate PWM for backlight. I have some questions. 1- What XBARA is used with GPIO_B1_15_FLEXPWM4_PWMA03? 1, 2, 3? 2- Can you write for us a simple code to configure for properly? I'm trying one day but I cannot configure successfully although, the SDK example is working well on board. Re: MIMXRT1060-EVK backlight control Hi, have you change the pin configuration in BOARD_InitPins()? Regards, Jing Re: MIMXRT1060-EVK backlight control Hi Jing,  Thanks, started to look at the PWM demo. The backlight on GPIO_B1_15 is PWM4_PWMA03. Trying to figure out how to plumb that. I have the following but I'm not seeing anything on my scope. /* * Copyright (c) 2015, Freescale Semiconductor, Inc. * Copyright 2016-2017 NXP * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include "fsl_debug_console.h" #include "board.h" #include "fsl_pwm.h" #include "pin_mux.h" #include "fsl_xbara.h" /******************************************************************************* * Definitions ******************************************************************************/ /* The PWM base address */ #define BOARD_PWM_BASEADDR PWM4 //PWM1 mls #define PWM_SRC_CLK_FREQ CLOCK_GetFreq(kCLOCK_IpgClk) /******************************************************************************* * Prototypes ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ /******************************************************************************* * Code ******************************************************************************/ static void PWM_DRV_Init3PhPwm(void) { uint16_t deadTimeVal; pwm_signal_param_t pwmSignal[2]; uint32_t pwmSourceClockInHz; uint32_t pwmFrequencyInHz = 1000; pwmSourceClockInHz = PWM_SRC_CLK_FREQ; /* Set deadtime count, we set this to about 650ns */ deadTimeVal = ((uint64_t)pwmSourceClockInHz * 650) / 1000000000; pwmSignal[0].pwmChannel = kPWM_PwmA; pwmSignal[0].level = kPWM_HighTrue; pwmSignal[0].dutyCyclePercent = 50; /* 1 percent dutycycle */ pwmSignal[0].deadtimeValue = deadTimeVal; pwmSignal[1].pwmChannel = kPWM_PwmB; pwmSignal[1].level = kPWM_HighTrue; /* Dutycycle field of PWM B does not matter as we are running in PWM A complementary mode */ pwmSignal[1].dutyCyclePercent = 50; pwmSignal[1].deadtimeValue = deadTimeVal; /*********** PWMA_SM0 - phase A, configuration, setup 2 channel as an example ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_0, pwmSignal, 2, kPWM_SignedCenterAligned, pwmFrequencyInHz, pwmSourceClockInHz); /*********** PWMA_SM1 - phase B configuration, setup PWM A channel only ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_1, pwmSignal, 1, kPWM_SignedCenterAligned, pwmFrequencyInHz, pwmSourceClockInHz); /*********** PWMA_SM2 - phase C configuration, setup PWM A channel only ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_2, pwmSignal, 1, kPWM_SignedCenterAligned, pwmFrequencyInHz, pwmSourceClockInHz); /*********** PWMA_SM3 - phase C configuration, setup PWM A channel only ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_3, pwmSignal, 1, kPWM_SignedCenterAligned, pwmFrequencyInHz, pwmSourceClockInHz); } /*! * @brief Main function */ int main(void) { /* Structure of initialize PWM */ pwm_config_t pwmConfig; static uint16_t delay; uint32_t pwmVal = 4; uint16_t i; /* Board pin, clock, debug console init */ BOARD_ConfigMPU(); BOARD_InitPins(); BOARD_BootClockRUN(); BOARD_InitDebugConsole(); CLOCK_SetDiv(kCLOCK_AhbDiv, 0x2); /* Set AHB PODF to 2, divide by 3 */ CLOCK_SetDiv(kCLOCK_IpgDiv, 0x3); /* Set IPG PODF to 3, divede by 4 */ /* Set the PWM Fault inputs to a low value */ XBARA_Init(XBARA1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault0); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault2); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault3); PRINTF("FlexPWM driver example\n"); /* * pwmConfig.enableDebugMode = false; * pwmConfig.enableWait = false; * pwmConfig.reloadSelect = kPWM_LocalReload; * pwmConfig.faultFilterCount = 0; * pwmConfig.faultFilterPeriod = 0; * pwmConfig.clockSource = kPWM_BusClock; * pwmConfig.prescale = kPWM_Prescale_Divide_1; * pwmConfig.initializationControl = kPWM_Initialize_LocalSync; * pwmConfig.forceTrigger = kPWM_Force_Local; * pwmConfig.reloadFrequency = kPWM_LoadEveryOportunity; * pwmConfig.reloadLogic = kPWM_ReloadImmediate; * pwmConfig.pairOperation = kPWM_Independent; */ PWM_GetDefaultConfig(&pwmConfig); /* Use full cycle reload */ pwmConfig.reloadLogic = kPWM_ReloadPwmFullCycle; /* PWM A & PWM B form a complementary PWM pair */ pwmConfig.pairOperation = kPWM_ComplementaryPwmA; pwmConfig.enableDebugMode = true; /* Initialize submodule 0 */ if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_0, &pwmConfig) == kStatus_Fail) { PRINTF("PWM initialization failed\n"); return 1; } /* Initialize submodule 1 */ pwmConfig.clockSource = kPWM_Submodule0Clock; pwmConfig.initializationControl = kPWM_Initialize_MasterSync; if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_1, &pwmConfig) == kStatus_Fail) { PRINTF("PWM initialization failed\n"); return 1; } /* Initialize submodule 2 the same way as submodule 1 */ if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_2, &pwmConfig) == kStatus_Fail) { PRINTF("PWM initialization failed\n"); return 1; } /* Initialize submodule 3 the same way as submodule 1 */ if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_3, &pwmConfig) == kStatus_Fail) { PRINTF("PWM initialization failed\n"); return 1; } /* Call the init function with demo configuration */ PWM_DRV_Init3PhPwm(); /* Set the load okay bit for all submodules to load registers from their buffer */ PWM_SetPwmLdok(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3, true); /* Start the PWM generation from Submodules 0, 1 and 2 */ PWM_StartTimer(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3); delay = 0x0fffU; while (1U) { for (i = 0U; i < delay; i++) { __ASM volatile("nop"); } pwmVal = pwmVal + 4; /* Reset the duty cycle percentage */ if (pwmVal > 100) { pwmVal = 4; } /* Update duty cycles for all 3 PWM signals */ PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_0, kPWM_PwmA, kPWM_SignedCenterAligned, pwmVal); PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_1, kPWM_PwmA, kPWM_SignedCenterAligned, (pwmVal >> 1)); PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_2, kPWM_PwmA, kPWM_SignedCenterAligned, (pwmVal >> 2)); PWM_UpdatePwmDutycycle(BOARD_PWM_BASEADDR, kPWM_Module_3, kPWM_PwmA, kPWM_SignedCenterAligned, (pwmVal >> 3)); /* Set the load okay bit for all submodules to load registers from their buffer */ PWM_SetPwmLdok(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3, true); } } Re: MIMXRT1060-EVK backlight control Hi, There is no direct backlight demo. In all lcd demo, GPIO_B1_15 works as gpio. In backlight circuit, UM1661 support PWM dimming control. Please refer to the PWM demo in SDK. Regards, Jing
記事全体を表示
MIMXRT1060-EVK 背光控制 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 有控制 IMXRT1060-EVK 的 LCD 背光的演示代码吗? Re: MIMXRT1060-EVK backlight control 你好,恩智浦、 我们的产品使用的是 RT1060。我在使用 GPIO_B1_15 为背光生成 PWM 时也遇到了问题。我有几个问题。 1- GPIO_B1_15_FLEXPWM4_PWMA03 使用什么 XBARA?1, 2, 3? 2- 您能为我们写一个简单的代码来正确配置吗?我有一天会尝试但我无法成功配置,但是 SDK 示例在板上运行良好。 Re: MIMXRT1060-EVK backlight control <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 您是否在 BOARD_InitPins() 中更改了引脚配置? 此致, 景 Re: MIMXRT1060-EVK backlight control <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,Jing、 谢谢,我已经开始看 PWM 演示了。GPIO_B1_15 上的背光为 PWM4_PWMA03。正在想办法解决这个问题。我有以下设备,但在瞄准镜上看不到任何东西。 / * 版权所有 (c) 2015 年,飞思卡尔半导体有限公司 * 2016-2017 年恩智浦 版权所有 * 版权所有。 * * SPDX-License-Identifier:BSD-3-Clause */ #include "fsl_debug_console.h" #include "板.h" #include"fsl_pwm.h" #include"pin_mux.h" #include"fsl_xbara.h" /******************************************************************************* * 定义 ******************************************************************************/ /* PWM 基地址 */ #define BOARD_PWM_BASEADDR PWM4 //PWM1 mls #define PWM_SRC_CLK_FREQ CLOCK_GetFreq(kCLOCK_IpgClk) /******************************************************************************* * Prototypes ******************************************************************************/ /******************************************************************************* * Variables ******************************************************************************/ /******************************************************************************* * 代码 ******************************************************************************/ static void PWM_DRV_Init3PhPwm(void) { uint16_t deadTimeVal; pwm_signal_param_t pwmSignal[2]; uint32_t pwmSourceClockInHz; uint32_t pwmFrequencyInHz = 1000; pwmSourceClockInHz = PWM_SRC_CLK_FREQ; /* 设置死区时间计数,我们将其设置为约 650ns */ deadTimeVal = ((uint64_t)pwmSourceClockInHz * 650) / 1000000000; pwmSignal[0].pwmChannel= kPWM_PwmA; pwmSignal[0].level= kPWM_HighTrue; pwmSignal[0].dutyCyclePercent= 50; /* 1% 占空比 */ pwmSignal[0].deadtimeValue= deadTimeVal; pwmSignal[1].pwmChannel= kPWM_PwmB; pwmSignal[1].level= kPWM_HighTrue; /* PWM B 的占空比字段并不重要,因为我们是在 PWM A 互补模式下运行 */ pwmSignal[1].dutyCyclePercent= 50; pwmSignal[1].deadtimeValue= deadTimeVal; /*********** PWMA_SM0 - A 相,配置,设置 2 通道为例 ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR, kPWM_Module_0, pwmSignal, 2, kPWM_SignedCenterAligned, pwmFrequencyInHz, pwmSourceClockInHz); /*********** PWMA_SM1 - B 相配置,仅设置 PWM A 通道 ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR,kPWM_Module_1,pwmSignal,1,kPWM_SignedCenterAligned,pwmFrequencyInHz, pwmSourceClockInHz); /*********** PWMA_SM2 - C 相配置,仅设置 PWM A 通道 ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR,kPWM_Module_2,pwmSignal,1,kPWM_SignedCenterAligned,pwmFrequencyInHz, pwmSourceClockInHz); /*********** PWMA_SM3 - C 相配置,仅设置 PWM A 通道 ************/ PWM_SetupPwm(BOARD_PWM_BASEADDR,kPWM_Module_3,pwmSignal,1,kPWM_SignedCenterAligned,pwmFrequencyInHz, pwmSourceClockInHz); } /*! * @brief Main function */ int main(void) { /* 初始化 PWM 的结构 */ pwm_config_t pwmConfig; static uint16_t delay; uint32_t pwmVal = 4; uint16_t i; /* 板引脚、时钟、调试控制台初始化 */ board_configmpu (); board_initPins (); board_bootclockRun (); board_bootclockRun (); board_initDebugCon CLOCK_SetDiv(kCLOCK_AhbDiv, 0x2); /* 将 AHB PODF 设置为 2,除以 3 */ CLOCK_SetDiv(kCLOCK_IpgDiv, 0x3); /* 将 IPG PODF 设置为 3,除以 4 */ /* 将 PWM 故障输入设置为低值 */ XBARA_Init(XBARA1); XBARA_SetSignalsConnection(XBARA1,kXBARA1_InputLogicHigh,kXBARA1_OutputFlexpwm1Fault0); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault2); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault3); PRINTF("FlexPWM 驱动程序 example\n"); /* * pwmConfig.enableDebugMode= false; * pwmConfig.enableWait = false; * pwmConfig.reloadSelect= kPWM_LocalReload; * pwmConfig.faultFilterCount= 0; * pwmConfig.faultFilterPeriod= 0; * pwmConfig.clockSource = kPWM_BusClock; * pwmConfig.prescale = kPWM_Prescale_Divide_1; * pwmConfig.initializationControl= kPWM_Initialize_LocalSync; * pwmConfig.forceTrigger= kPWM_Force_Local; * pwmConfig.reloadFrequency= kPWM_LoadEveryOportunity; * pwmConfig.reloadLogic = kPWM_ReloadImmediate; * pwmConfig.pairOperation= kPWM_Independent; */ PWM_GetDefaultConfig(&pwmConfig); /* 使用全周期重载 */ pwmConfig.reloadLogic = kPWM_ReloadPwmFullCycle; /* PWM A& PWM B 形成一对互补 PWM */ pwmConfig.pairOperation= kPWM_ComplementaryPwmA; pwmConfig.enableDebugMode= true; /* 初始化子模块 0 */ if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_0,&pwmConfig) == kStatus_Fail) { PRINTF("PWM 初始化失败/n"); return 1; } /* 初始化子模块 1 */ pwmConfig.clockSource = kPWM_Submodule0Clock; pwmConfig.initializationControl= kPWM_Initialize_MasterSync; if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_1,&pwmConfig) == kStatus_Fail) { PRINTF("PWM 初始化失败"); return 1; } /* 子模块 2 的初始化方法与子模块 1 相同 */ if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_2,&pwmConfig) == kStatus_Fail) { PRINTF("PWM 初始化失败/n"); return 1; } /* 子模块 3 的初始化方法与子模块 1 相同 */ if (PWM_Init(BOARD_PWM_BASEADDR, kPWM_Module_3,&pwmConfig) == kStatus_Fail) { PRINTF("PWM 初始化失败/n"); return 1; } /* 使用演示配置调用初始函数 */ PWM_DRV_Init3PhPwm(); */ PWM_SetPwmLdok(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3, true); /* 从子模块 0、1 和 2 开始产生 PWM */ PWM_StartTimer(BOARD_PWM_BASEADDR,kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3); 延迟 = 0x0fffU; while (1U) { for (i = 0U; i< delay; i++) { __ASM volatile("nop"); } pwmVal = pwmVal + 4; /* RESET 占空比百分比 */ if (pwmVal > 100) { pwmVal = 4; } /* 更新所有 3 个 PWM 信号的占空比 */ pwm_updatePWMDutycle(BOARD_PWM_BASEADDR、KPWM_Mod ule_0、KPWM_PWM_PWMA、KPWM_SignedCenterAligned、PWMVAL);pwm_updatePWMDutycle(BOARD_PWM_BASEADDR、KPWM_Module_1、KPWM_PWM_PWMA,KPWM_SignedCenterAligned,(pwmVal > > 1));pwm_updatePWMDutycle(BOARD_PWM_BASEADDR、KPWM_Module_2、KPWM_PWMMA、KPWM_SignedCenterAligned,(pwmVal > > 2)); PWM_updatePWMDutycle ( BOARD_PWM_BASEADDR、KPWM_module_3、KPWM_PWMA、KPWM_SignedCenterAligned,(pwmVal > > 3)); /* 设置所有子模块的加载允许位,以便从其缓冲区加载寄存器 */ PWM_SetPwmLdok(BOARD_PWM_BASEADDR, kPWM_Control_Module_0 | kPWM_Control_Module_1 | kPWM_Control_Module_2 | kPWM_Control_Module_3, true); } } Re: MIMXRT1060-EVK backlight control <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 没有直接的背光演示。在所有 LCD 演示中,GPIO_B1_15 都作为 gpio 工作。在背光电路中,UM1661 支持 PWM 调光控制。请参考 SDK 中的 PWM 演示。 此致, 景
記事全体を表示
FS6500 Watchdog Hi,  We are using FS6500 in out project application. Could you please let me know the timing parameters of watchdog signal. Is it entirely software configurable? Re: FS6500 Watchdog If the duty cycle is not 50% then how will be the window period duration looks like when compared to "Table 18. WD_WINDOW". For example, if we set 0011b in WD_WINDOW then the Window period duration can be as low as 2.7ms and as high as 3.3ms when duty cycle is not 50%. In this case does the OPEN & CLOSED windows is still equally divided? A bit confused with the FS CLK accuracy image it seems like the red and blue period is having equal open & closed window period. Re: FS6500 Watchdog Thank you Tomas! Could you please let me know the following data : 1. Time taken by the watchdog timer to detect a rising and falling edge 2. Reset time and reset cycle duration  Re: FS6500 Watchdog Hi Anne, The Watchdog Window Period is configurable by SW. Not only during the INIT_FS phase (first 256ms after RSTB is released), but also later during the Normal mode. By default, WD Window duration is 3ms  which is in alignment with an FTTI below 10ms. The Watchdog Window Duty Cycle is set to 50% ±10% and is not modifiable. Best regards, Tomas
記事全体を表示