Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
LPC1768+SSP0+GPDMAに問題あり SSP0 で DMACR を開いて BUF にデータを送信した後、DMACR がゼロにリセットされ、SSP0DR は変化し続けますが、BUF データは変更されないのはなぜでしょうか。割り込み中に DMACR を再度開こうとしましたが、BUF データにはまだ変化がありませんでした。 コード構成は次のとおりです。 #定義 SPI_RX_LEN 5386 外部U8 SPIRXBUF[SPI_RX_LEN]; void DMAInit_SPI_RX(U8 *destAddr, U32 len) { U32 パート1 = (長さ > 4095) ?4095 : 長さ; U32 パート2 = (長さ > 4095) ?(len - 4095) : 0;// 拆分传输(单道最大4095字节)   LPC_SC->PCONP |= (1 << 29); // 使用GPDMA時間钟 LPC_GPDMA->DMACConfig |= (1 << 0);//GPDMA を使用する LPC_GPDMA->DMACIntTCClear |= 0x01; // 清除道0传输完了标志 LPC_GPDMA->DMACIntErrClr |= 0x01; // 清除道0错误标志   // 链表项1:传输part1字节 lli[0].srcAddr= (U32)&LPC_SSP0->DR; // ソース:SPI0データ寄存器 lli[0].宛先アドレス= (U32)destAddr; // 目的:缓冲区開始 lli[0].コントロール= (part1 & 0x0FFF) // 传输大小(字节数) | (0x00 << 12) // 源突発大小 | (0x00 << 15) // 目的発行大小 | (0x00 << 18) //ソースデータ宽度 | (0x00 << 21) //目的データ宽度 | (0x00 << 26) //源地址不变(外设寄存器) | (0x01 << 27) //目的地址自增 | (1U << 31); // 使用中断   // 链表项2:传输part2字节(若必要) (パート2 > 0)の場合 { lli[0].nextLLI = (U32)&lli[1]; // 指向链表项2 lli[1].srcAddr= (U32)&LPC_SSP0->DR; lli[1].destAddr= (U32)(destAddr +part1); // 缓冲区偏移 lli[1].コントロール= (part2 & 0x0FFF) // 传输大小(字节数) | (0x00 << 12) // 源突発大小 | (0x00 << 15) // 目的発行大小 | (0x00 << 18) //ソースデータ宽度 | (0x00 << 21) //目的データ宽度 | (0x00 << 26) //源地址不变(外设寄存器) | (0x01 << 27) //目的地址自增 | (1U << 31); // 使用中断 lli[1].nextLLI= 0; // 结束链表 } そうでない場合、 { lli[0].nextLLI = 0; }   // 配置DMA通道0 LPC_GPDMACH0->DMACCConfig = 0; LPC_GPDMACH0->DMACCLLI = (U32)&lli[0]; // 链表開始地址 LPC_GPDMACH0->DMACCSrcAddr = lli[0].srcAddr;// ソース地址(SPI0 DR) LPC_GPDMACH0->DMACCDestAddr = lli[0].destAddr;// 目的地址 LPC_GPDMACH0->DMACCコントロール = lli[0].control;// 制御文字 LPC_GPDMACH0->DMACCConfig = (0x01 << 15) //中断错误 | (0x01 << 14) //終端计数中断 | (0x02 << 11) // 传输種類:外设到内存 | (0x00 << 6) //目的外设:保存器 | (0x01 << 1) // ソース外设:SSP0 RX(参考手册) | (0x01 << 0); // 道使い能   GPDMAEnabe(); }     void DMA_IRQHandler(void) { if(LPC_GPDMA->DMACIntTCStat & 0x01) // 通道0転送完了 { LPC_GPDMA->DMACIntTCClear = 0x01; // 清除标志 //SSPSlave_Init(); // RUN_LAMP_GLITTER; // LPC_SSP0->DMACR |= (1 << 0); // LPC_GPDMACH0->DMACCConfig |= (0x01 << 0); LPC_GPDMA->DMACConfig |= (1 << 0);//GPDMA を使用する 時間++; } if(LPC_GPDMA->DMACIntErrStat & 0x01) // 通道0错误 { LPC_GPDMA->DMACIntErrClr = 0x01; // 清除标志 } } void SSPSlave_Init(void) { LPC_SC->PCONP |= (1 << 21); /* 打开SSP電源 */ /************************************************************************ * 初期化SSPの通信方式、データ長は8bit、フレーム形式はSPI、SCKは低能率に設定されています。 * データは SCK の 2 番目の時間にサンプリングされ、ビットレートが設定されます。 **********************************************************************/ LPC_SSP0->CR0 = (0x00 << 😎 | /* SCR 設定 SPI ビット速度 */ (0x01 << 7) | /* CPHA 時間钟输出相位 */ (0x00 << 6) | /* CPOL 時間钟出力性 */ (0x00 << 4) | /* FRF 帧格式 00=SPI,01=SSI, */ /* 10=マイクロワイヤー,11=保留 */ (0x07 << 0); /* DSS データ長度,0000-0010= 保持 */ /* 0011=4 位、0111=8 位、1111=16 位*/ LPC_SSP0->CPSR = 2; /* 時間钟分周波数寄存器*/   LPC_SSP0->CR1 = (0x00 << 3) | /* SOD 从机输出禁能,0=允许 */ (0x01 << 2) | /* MS 主从选择,1=从机 */ (0x01 << 1) | /* SSE SSP 使用能,1=使用能 */ (0x00 << 0); /* LBM 回写モード */   sysTimeDlay(5); LPC_SSP0->DMACR |= (1 << 0);   } LPC17xx Re: LPC1768+SSP0+GPDMA some problem こんにちは@Lee_Lee DMA は「空の SSP FIFO を読み取っている」と思いますが、アクセス幅が正しくないため、データがメモリに正しく書き込まれていません。 現在何を設定していますか (0x00<<18)//ソースデータ宽度 (0x00<<21)//目的データ宽度 しかし、LPC では次のようになります。 SSPのDRレジスタは16ビットのレジスタである。 8 ビット SPI モードを使用している場合でも、SSP0->DR への DMA アクセスは 16 ビット アクセスである必要があります。 DMAは実際にはメモリにデータを正しく書き込んでいない その結果、BUF は変更されません。 SO、ソースと des の幅を 16 に変更してみると CAN と思います。 BR ハリー
記事全体を表示
[ABUSE] Post By: @JohnKlug / Board: imx-processors / Reported by: ytuosk ytuosk has reported the post Could not invoke dnf for external kernel module in Yocto kirkstone posted by @JohnKlug for the following reasons: Reason: Harassment Details: http://polden.info/story/pharmacy-online-14"> https://www.jobwebby.ilovemarkso.com/33/pharmacy-online"> https://ruckup.org/caregivers-forum/topic/6379"> https://backend.dawahnigeria.com/audit/304767"> https://carros-usados.us/pharmacy-online-14"> https://mail.globalrealtor.co.in/node/4216"> https://direct.needshub.com/node/28221"> https://mail.globalrealtor.co.in/node/4216"> https://ufa-help.ru/content/pharmacy-online-10"> http://www.go4go.net/go/node/155292"> http://polden.info/story/pharmacy-online-14"> https://darkmetalmush.net/history/pharmacy-online-17"> https://obzorpoker.info/forum/pharmacy-online-10"> https://www.intimuscare.com/pharmacy-online-3"> http://www.alsongs.com.hk/node/15608"> https://mail.globalrealtor.co.in/node/4216"> https://darkmetalmush.net/history/pharmacy-online-17"> http://www.sccu.chula.ac.th/node/928"> https://slp.millingtonpubliclibrary.org/content/pharmacy-online-12"> http://kalyterizoi.gr/initiative/pharmacy-online-0"> http://ysrp.bnl.bm/review/pharmacy-online-13"> https://masters.adminskiracing.com/node/413289"> https://www.heilpraktikerausbildung24.de/node/124365"> https://obzorpoker.info/forum/pharmacy-online-10"> https://masters.adminskiracing.com/node/413289"> https://gglabs.us/node/5700"> https://neweddingday.com/your-couple-name-2367"> https://golemobuchino.com/content/2469/pharmacy-online"> https://lotteryobzor.com/forum/pharmacy-online-12"> http://old.jeunescathos.org/fr/content/pharmacy-online-59"> https://mnbride.com/your-couple-name-2372"> https://rahuldolas.com/forum/dummy-basic-course/topic/719/pharmacy-online"> https://wibride.com/your-couple-name-2375"> https://californiaweddingday.com/your-couple-name-2331"> http://onlyforsalebyowner.com/for-sale-by-owner-homes/dc/68"> http://polden.info/story/pharmacy-online-14"> https://www.intimus.pt/pharmacy-online-15"> https://openreviewhub.org/review/review-8412"> https://primfootball.com/pharmacy-online-10"> https://ruckup.org/caregivers-forum/topic/6379"> Post link: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 Post author: @JohnKlug | Email Author Reported by: ytuosk | Email Reporter The reported post has 2 replies.
記事全体を表示
How to use a GPIO(libgpiod) with gpioget/gpioset, on i.MX8Q as an example difference between gpioget and "cat /sys/class/gpio" in GPIO control: gpioget : This is a command-line utility provided by the  libgpiod  library. It is designed to interact with GPIO lines through the modern Linux GPIO character device interface ( /dev/gpiochipN ). /sys/class/gpio : This refers to the legacy sysfs interface for GPIO control in Linux. While widely used in the past, this interface has been officially deprecated in favor of the  libgpiod  character device interface since Linux kernel version 6.0 and later. Below is an example of libgpiod tested on i.MX8Q-MEK, L6.12.3 BSP. Device tree settings: We use GPIO1-05 and GPIO1-06 in this example. can put GPIO pinctrls in a specific group like “gpio_test”, or under certain driver like “gpio-keys” gpio_test: gpio-test { pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_gpio_test_default>; pinctrl-1 = <&pinctrl_gpio_test_sleep>; status = "okay"; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&pinctrl_gpio_example_default>; pinctrl-1 = <&pinctrl_gpio_example_sleep>; key_wakeup2{ label = "wakeup_key"; gpios = <&lsio_gpio2 1 GPIO_ACTIVE_LOW>; linux,code = ; wakeup-source; }; pinctrl_gpio_test_default: gpiotestgrp_default { fsl,pins = < IMX8QM_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07 0x06000061 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x06000041 IMX8QM_MIPI_CSI1_I2C0_SCL_LSIO_GPIO2_IO00 0x06000021 IMX8QM_LVDS0_I2C0_SCL_LSIO_GPIO1_IO06 0x06000021 >; }; pinctrl_gpio_test_sleep: gpiotestgrp_sleep { fsl,pins = < IMX8QM_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07 0x07800061 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x07800041 IMX8QM_MIPI_CSI1_I2C0_SCL_LSIO_GPIO2_IO00 0x07800021 IMX8QM_LVDS0_I2C0_SCL_LSIO_GPIO1_IO06 0x07800021 >; }; pinctrl_gpio_example_default: gpioexamplegrp_default { fsl,pins = < IMX8QM_LVDS0_GPIO01_LSIO_GPIO1_IO05 0x06000021 IMX8QM_MIPI_CSI1_I2C0_SDA_LSIO_GPIO2_IO01 0x06000021 >; }; pinctrl_gpio_example_sleep: gpioexamplegrp_sleep { fsl,pins = < IMX8QM_LVDS0_GPIO01_LSIO_GPIO1_IO05 0x07800021 IMX8QM_MIPI_CSI1_I2C0_SDA_LSIO_GPIO2_IO01 0x07800021 >; }; Kernel commands to test GPIO function: gpiodetect and gpioinfo command: root@imx8qmmek:~# gpiodetect gpiochip0 [5d080000.gpio] (32 lines) gpiochip1 [5d090000.gpio] (32 lines) gpiochip2 [5d0a0000.gpio] (32 lines) gpiochip3 [5d0b0000.gpio] (32 lines) gpiochip4 [5d0c0000.gpio] (32 lines) gpiochip5 [5d0d0000.gpio] (32 lines) gpiochip6 [5d0e0000.gpio] (32 lines) gpiochip7 [5d0f0000.gpio] (32 lines) root@imx8qmmek:~# gpioinfo -c 1 gpiochip1 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed input line 3: unnamed input line 4: unnamed input line 5: unnamed input line 6: unnamed output line 7: unnamed output line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=regulator-pcie line 14: unnamed input line 15: unnamed input line 16: unnamed input line 17: unnamed input line 18: unnamed input line 19: unnamed input line 20: unnamed input line 21: unnamed input line 22: unnamed input line 23: unnamed input line 24: unnamed input line 25: unnamed input line 26: unnamed input line 27: unnamed input line 28: unnamed input line 29: unnamed input line 30: unnamed input line 31: unnamed input use cat /sys/kernel/debug/gpio to show current GPIO settings before GPIO1-05 and GPIO1-06 are set: root@imx8qmmek:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/5d080000.gpio, 5d080000.gpio: gpio-526 ( |scl ) out lo gpio-527 ( |sda ) in lo gpiochip1: GPIOs 544-575, parent: platform/5d090000.gpio, 5d090000.gpio: gpio-557 ( |regulator-pcie ) out hi gpiochip2: GPIOs 576-607, parent: platform/5d0a0000.gpio, 5d0a0000.gpio: gpio-577 ( |wakeup_key ) in hi ACTIVE LOW gpiochip3: GPIOs 608-639, parent: platform/5d0b0000.gpio, 5d0b0000.gpio: gpio-618 ( |spi1 CS0 ) out hi ACTIVE LOW gpiochip4: GPIOs 640-671, parent: platform/5d0c0000.gpio, 5d0c0000.gpio: gpio-641 ( |enable ) out hi ACTIVE LOW gpio-643 ( |regulator-usbotg1-vb) out lo gpio-647 ( |usdhc2-vmmc ) out hi gpio-667 ( |enable ) out lo ACTIVE LOW gpio-668 ( |host-wake ) in hi ACTIVE LOW gpio-669 ( |PCIe reset ) out hi ACTIVE LOW gpiochip5: GPIOs 672-703, parent: platform/5d0d0000.gpio, 5d0d0000.gpio: gpio-673 ( |mux ) out hi gpio-693 ( |wp ) in lo gpio-694 ( |cd ) in lo ACTIVE LOW gpiochip6: GPIOs 704-735, parent: platform/5d0e0000.gpio, 5d0e0000.gpio: gpiochip7: GPIOs 736-767, parent: platform/5d0f0000.gpio, 5d0f0000.gpio: use gpioset command to set GPIO output, can also change GPIO direction(input → output) #set gpiochip1-5 and 1-6 root@imx8qmmek:~# gpioset -c gpiochip1 6=1 & [1] 700 root@imx8qmmek:~# gpioset -c gpiochip1 5=1 & [2] 702 check the changes from the commands above with cat /sys/kernel/debug/gpio and gpioinfo -c 1 : root@imx8qmmek:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/5d080000.gpio, 5d080000.gpio: gpio-526 ( |scl ) out lo gpio-527 ( |sda ) in lo gpiochip1: GPIOs 544-575, parent: platform/5d090000.gpio, 5d090000.gpio: gpio-549 ( |gpioset ) out hi gpio-550 ( |gpioset ) out hi gpio-557 ( |regulator-pcie ) out hi gpiochip2: GPIOs 576-607, parent: platform/5d0a0000.gpio, 5d0a0000.gpio: gpio-577 ( |wakeup_key ) in hi ACTIVE LOW gpiochip3: GPIOs 608-639, parent: platform/5d0b0000.gpio, 5d0b0000.gpio: gpio-618 ( |spi1 CS0 ) out hi ACTIVE LOW gpiochip4: GPIOs 640-671, parent: platform/5d0c0000.gpio, 5d0c0000.gpio: gpio-641 ( |enable ) out hi ACTIVE LOW gpio-643 ( |regulator-usbotg1-vb) out lo gpio-647 ( |usdhc2-vmmc ) out hi gpio-667 ( |enable ) out lo ACTIVE LOW gpio-668 ( |host-wake ) in hi ACTIVE LOW gpio-669 ( |PCIe reset ) out hi ACTIVE LOW gpiochip5: GPIOs 672-703, parent: platform/5d0d0000.gpio, 5d0d0000.gpio: gpio-673 ( |mux ) out hi gpio-693 ( |wp ) in lo gpio-694 ( |cd ) in lo ACTIVE LOW gpiochip6: GPIOs 704-735, parent: platform/5d0e0000.gpio, 5d0e0000.gpio: gpiochip7: GPIOs 736-767, parent: platform/5d0f0000.gpio, 5d0f0000.gpio: root@imx8qmmek:~# gpioinfo -c 1 gpiochip1 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed input line 3: unnamed input line 4: unnamed input line 5: unnamed output consumer=gpioset line 6: unnamed output consumer=gpioset line 7: unnamed output line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=regulator-pcie   How to enable legacy GPIO SYSFS(default disabled on L6 kernel and above) refer to the comment of this commit: https://github.com/nxp-imx/linux-imx/commit/3b4feb21158f873269ff3fbe2fe8d23a88d64b24 commit 3b4feb21158f873269ff3fbe2fe8d23a88d64b24 Author: Linus Walleij Date: Tue Nov 10 15:27:24 2020 +0100 gpio: sysfs: Enforce character device If users select sysfs support they get the character device as well so that end-users cannot complain that they "only have sysfs on my system". They should have the character device at all times. If someone is in so dire need of stripping out the character device while still enabling the sysfs ABI they can very well patch the kernel. Also only show this obsolete option to expert users. Signed-off-by: Linus Walleij Link: <> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 5d4de5cd6759..4dd566f7ea39 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -59,8 +59,9 @@ config DEBUG_GPIO that are most common when setting up new platforms or boards. config GPIO_SYSFS - bool "/sys/class/gpio/... (sysfs interface)" + bool "/sys/class/gpio/... (sysfs interface)" if EXPERT depends on SYSFS + select GPIO_CDEV # We need to encourage the new ABI help Say Y here to add the legacy sysfs interface for GPIOs. To enable GPIO_SYSFS, from the patch. The best way is CONFIG_EXPERT = y, then enable CONFIG_GPIO_SYSFS=Y. not need to revert the patch. SYSFS, as legacy interface for GPIO control in Linux. While widely used in the past, this interface has been officially deprecated in favor of the libgpiod character device interface since Linux kernel version 6.0 and later. i.MX Processors
記事全体を表示
[RTD600 IP] S32K312-EVB Lpuart 中断回显 这个简单的示例演示了如何在S32K312EVB-Q172和S32K312MINI-EVB上使用LPUART模块配置和处理UART中断。它设置UART回调函数,并以单字节模式启动接收。每接收一个字节,缓冲区都会使用  Lpuart_Uart_Ip_SetRxBuffer() 进行更新;如果检测到换行符( '\n' ),则将设置接收标志以通知主循环。 当发生  LPUART_UART_IP_EVENT_END_TRANSFER  事件时,将通过  Lpuart_Uart_Ip_AsyncReceive() 重新启用接收。 注意:只执行基本的事件处理操作;仅确认其他UART事件,但不会进行处理。 此示例使用 LPUART实例6,通过USB端口(EVB上的J40和MINI EVB上的J9)实现串行通信。 ------------------------------------------------------------------------------ *测试硬件:S32K312EVB-Q172和S32K312MINI-EVB *MCU:S32K312 *IDE:S32DS3.6.2 *RTD版本:6.0.0 *调试器:PE Micro *目标:internal_FLASH  ------------------------------------------------------------------------------ 运行示例: 1. 在PC上为串行设备打开串行终端,并设置以下参数:   波特率为115200 无校验  停止位为1 无流量控制  如果您使用TeraTerm,请确保发送设置配置为 LF(换行) ,以便在按下回车键时正确发送换行符。 2. 构建并运行示例。 测试结果:   NXP 提供的任何支持、信息和技术(“材料”)均按“现状”提供,不附带任何明示或暗示的保证,且 NXP 在适用法律允许的最大范围内,否认与材料相关的所有直接或间接责任和损害。NXP 对任何与应用或产品设计相关的协助不承担任何责任。材料仅可用于与 NXP 产品相关联。NXP 可以不受限制地使用您对材料提供的任何反馈。
記事全体を表示
SMI-N2000 固态射频电源相对于真空管的优势 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 自 20 世纪 20 年代初以来,微波能量的来源传统上一直是真空管和磁控管。尽管固态射频发电技术已经取得了许多进步,但当今的一些高功率射频应用仍然依赖真空管技术。本课程将介绍固态的技术优势,包括动态范围控制、光谱纯度、制造规模经济和产品寿命。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 自 20 世纪 20 年代初以来,微波能量的来源传统上一直是真空管和磁控管。尽管固态射频发电技术已经取得了许多进步,但当今的一些高功率射频应用仍然依赖真空管技术。本课程将介绍固态的技术优势,包括动态范围控制、光谱纯度、制造规模经济和产品寿命。 智能机械和工业自动化 回复:SMI-N2000 固态射频电源相对于真空管的优势 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我看到了射频介电加热的应用。并想制作一个像RFEM24-250一样的用于加热的仪器。ISM频段为40MHz,晶体管采用MRFE6VP6300H或MRFE6VP5150N。 我想找到参考设计
記事全体を表示
AUT-N1791 动手实践研讨会:使用 CNN 和其他分类算法识别交通标志 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该练习旨在进行实践,包括使用视觉处理器在各种图片上运行 CNN 来识别交通信号(停止、转弯、让行等)。首先,我们将介绍机器学习中所使用的算法的基本概念。课程结束后,我们将使用视觉处理器运行 CNN 来识别交通标志和无交通标志。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该练习旨在进行实践,包括使用视觉处理器在各种图片上运行 CNN 来识别交通信号(停止、转弯、让行等)。首先,我们将介绍机器学习中所使用的算法的基本概念。课程结束后,我们将使用视觉处理器运行 CNN 来识别交通标志和无交通标志。 安全互联汽车和自动化汽车
記事全体を表示
FTF-INS-F1277 Automotive integrated circuits are requiring high temperature and high voltage application environments. High temperature and high voltage impose severe constraints on the design of IC interconnect and the materials used in the assembly and packaging processes. The use of fine gauge copper wire bonding has been growing very rapidly in consumer, portable, and industrial electronics. Freescale has made significant inroads in introducing and accelerating the adoption of fine gauge copper wire in the high reliability automotive space. The molding compounds were studied and reformulated to accommodate high voltage up to 65V. This presentation will discuss key learnings in copper wire bonding process and molding compound formulation development, and present an exciting update on Freescale strategy on gold to copper wire conversion. Automotive integrated circuits are requiring high temperature and high voltage application environments. High temperature and high voltage impose severe constraints on the design of IC interconnect and the materials used in the assembly and packaging processes. The use of fine gauge copper wire bonding has been growing very rapidly in consumer, portable, and industrial electronics. Freescale has made significant inroads in introducing and accelerating the adoption of fine gauge copper wire in the high reliability automotive space. The molding compounds were studied and reformulated to accommodate high voltage up to 65V. This presentation will discuss key learnings in copper wire bonding process and molding compound formulation development, and present an exciting update on Freescale strategy on gold to copper wire conversion.
記事全体を表示
wxWidgets based distributed information and control systems There developed the controller uses i.MX53 + Linux. Has developed a solution for building distributed information and control systems. Prototmpy been in operation for over a year. Examples: - Control Electromagnetic stirring (mixer) http://ontecom.com/en/catalog/ems / Rusal, Krasnoyarsk. - Moniroring and management of pumping stations. - Monitoring and control of climate control systems. You can create a smart home systems and iot. There is experience with PLC (Power Line Communication) Qualcomm/Atheros. In my spare time I develop a budget solution for PLC (Power Line Communication) control / monitoring components smart home. Based on the standard IEC 61131-3 developed software - distributed information management system. The solution is cross-platform. In a single system may be computers of different architectures and various operating systems. Such signals are synchronized controller ARM / Linux, and x86 server (Win, Linux, VMS, ...) Uses wxWidgets. Articles on this subject is, but in Russian.
記事全体を表示
RW610 / RW612 Knowledge Hub The RW61x series is a highly integrated, low-power tri-radio wireless MCU with an integrated MCU and Wi-Fi® 6 + Bluetooth® Low Energy (LE) 5.4 / 802.15.4 radios designed for a broad array of applications, including connected smart home devices, enterprise and industrial automation, smart accessories and smart energy. The RW61x series MCU subsystem includes a 260 MHz Arm® Cortex®-M33 core with Trustzone™-M, 1.2 MB on-chip SRAM and a high-bandwidth Quad SPI interface with an on-the-fly decryption engine for securely accessing off-chip XIP flash. The RW61x series includes a full-featured 1x1 dual-band (2.4 GHz/5 GHz) 20 MHz Wi-Fi 6 (802.11ax) subsystem bringing higher throughput, better network efficiency, lower latency and improved range over previous generation Wi-Fi standards. The Bluetooth LE radio supports 2 Mbit/s high-speed data rate, long range and extended advertising.  The on-chip 802.15.4 radio can support the latest Thread mesh networking protocol. In addition, the RW612 can support Matter over Wi-Fi or Matter over Thread offering a common, interoperable application layer across ecosystems and products. NXP RW61x Block DiagramNXP RW61x Block Diagram Documents RW610 Datasheet: RW610 Datasheet RW612 Datasheet: RW612 Datasheet RW61x User Manual: UM11865: RW61x User Manual RW61x Register Manual: RM00278: RX16x Registers   Certifications FRDM-RW612 Radio Equipment Directive Declaration of Conformity  User Guide Getting Started with FRDM-RW612 Quick Start Guide - FRDM-RW612 UG10185: RW612 Matter-Zigbee Bridge User Guide UG10178: Matter Demo Using NXP Chip Tool App for FRDM-RW612 and FRDM-MCXW71  UG10612: NXP Wi-Fi and Bluetooth Feature Debug for FRDM-RW612 UG10182: NXP 802.15.4 Demo Applications for FRDM-RW612 UG10160: Getting Started with Wireless on FRDM-RW612 Board Running RTOS  UG10171: NXP Wi-Fi and Bluetooth Demo Applications for FRDM-RW61X   RW61x Modules Azurewave: RW612 - AW-CU570 is a highly integrated, low-power tri-radio Wireless RW612 MCU with an integrated MCU and Wi-Fi 6 + Bluetooth Low Energy (LE) 5.2 / 802.15.4 radios designed for a broad array of applications. RW610 - AW-CU598 is a highly integrated, low-power tri-radio Wireless RW610 MCU with an integrated MCU and Wi-Fi 6 + Bluetooth Low Energy (LE) 5.3 radios designed for a broad array of applications U-blox: RW612 - IRIS-W10 Series are small, stand-alone, dual-band Wi-Fi and Bluetooth Low Energy wireless microcontroller unit (MCU) modules. The modules are ideal for users looking to add advanced wireless connectivity to their end products. RW610 - IRIS-W16 Series are small, stand-alone, dual-band Wi-Fi and Bluetooth Low Energy wireless modules, with everything needed for integration into end-products. The modules are ideal for users looking to add advanced wireless connectivity to their end products.  Murata: RW612 - LBES0ZZ2FR-580 Murata’s Type 2FR is a small and very high-performance module based on NXP RW612 combo chipset, supporting IEEE 802.11a/b/g/n/ac/ax + Bluetooth LE 5.4 / IEEE 802.15.4. RW610 - LBES0ZZ2FP-580 Type 2FR/2FP is a family of small and highly integrated multi-radio modules with built-in high-performance MCU with advanced security features for connected smart devices in smart homes, enterprise and industrial automation, smart accessories, and smart energy. It supports the latest Matter smart home connectivity protocol. California Eastern Laboratories (CEL): RW612 - CMP4612 is a fully integrated Dual-Band, Tri-mode (Wi-Fi 6, BT5.4, 802.15.4) radio, that includes a host MCU, Flash, RAM, peripherals, and numerous interfaces (SDIO, UART, USB, Ethernet. SPI, I2C) to support both HOSTLESS (RTOS) and HOSTED (NCP mode) architectures. CEL's solution includes either an on-board antenna or connector.   Evaluation boards  FRDM-RW612 FRDM-RW612 is a compact and scalable development board for rapid prototyping of the RW61x series of Wi-Fi 6 + Bluetooth Low Energy + 802.15.4 tri-radio wireless MCUs. It offers easy access to the MCU’s I/O's and peripherals, integrated open-standard serial interfaces, external flash memory and on-board MCU-Link debugger. FRDM-RW612 Getting Started Getting Started with FRDM-RW612 FRDM-RW612 User Manual: UM12160: FRDM-RW612 Board User Manual Current Measurement configuration: Remove the 0-ohms resistor R103 Solder a couple of pins in JP5. When trying to measure the RW61x current consumption, connect your current meter using the pins in JP5. When using the FRDM board in normal operation, connect a jumper to the pins in JP5.   u-blox   USB-IRIS-W1 The USB-IRIS-W1 development platform is built on the dual-band Wi-Fi 6 and Bluetooth LE module IRIS-W1, based on the NXP RW610/612 chip. The board is designed with a USB interface to simplify evaluation and prototyping directly from a PC. In addition to the IRIS-W1 module with integrated antenna, it also integrates four buttons, an RGB LED, and a USB/UART converter, to further support an easy evaluation. u-blox   EVK-IRIS-W1 The EVK-IRIS-W1 evaluation kit provides stand-alone use of the IRIS-W1 module series featuring the NXP RW610/612 chipset. Azurewave    AW-CU570-EVB Evaluation board for AW-CU570 module includes wireless MCU with Integrated Tri-radio Wi-Fi 6 + Bluetooth Low Energy 5.3 /802.15.4. Murata   2FR EVK Evaluation kit for Murata Type 2FR module (Murata part number LBES0ZZ2FR) includes 3 radios: Wi-Fi, BLE and 802.15.4. It is based on NXP’s RW612 chip. California Eastern Laboratories (CEL) CMP4612-2-EVB The CMP4612 Evaluation Board (CMP4612-2-EVB), based on the NXP RW612 chipset, features dual-band Wi-Fi 6, BLE 5.4 and 802.15.4 radios. The CMP4612 Evaluation Board includes an onboard Ethernet port and PHY hardware as well as an Arduino header, MCULink SWD, and USB ports. This board is designed to facilitate a seamless and efficient evaluation process for customers wanting a certified module for their end product.   Application Notes RM00287: Wi-Fi Driver API for SDK 2.16.100     The radio driver source code provides APIs to send and receive packets over the radio interfaces by communicating with the firmware images. This manual provides the reference documentation for the Wi-Fi driver and Wi-Fi Connection Manager.  UM12133: NXP NCP Application Guide for RW612 with MCU Host - User manual     This user manual describes: • The NXP NCP application for RW612 with MCU host platform i.MX RT1060 as example. • The hardware connections for one of the four supported interfaces to enable NCP mode on the NXP RW612 BGA V4 board (UART, USB, SDIO, or SPI). • The method to build and run the NCP applications on both the NCP host (i.MX RT1060) and the NCP device (RW612). The applications apply to Wi-Fi, Bluetooth Low Energy and OpenThread (OT)    UM12095:  NXP NCP Application Guide for RW612 with MPU Host - User manual      This user manual describes: • The NXP NCP application for RW612 with MPU host platform i.MX 8M Mini as example. • The hardware connections for one of the four supported interfaces to enable NCP mode on the NXP RW612 BGA V4 board (UART, USB, SDIO, or SPI). • The method to build and run the NCP applications on both the NCP host (i.MX 8M Mini) and the NCP device (RW612). The applications apply to Wi-Fi, Bluetooth Low Energy and OpenThread (OT).  AN14439: Migration Guide from FRDM-RW612 Board to Third-Party Module board This Application note provides an overview of what it means to migrate the application to a different board with different flash and pSRAM AN14111: Target Wake Time (TWT) on RW16x This application note describes the target wake time feature and provides examples for RW61X AN13006: Compliance and Certification Considerations This application note provides guidance and tips on how to test products on NXP Wi-Fi devices for regulatory compliance. AN13049: Wi-Fi/Bluetooth/802.15.4 M.2 Key E Pinout Definition This Application note defines M.2 usage for both NXP Wi-Fi/Bluetooth and Tri-Radio M.2 module design AN14489 – Wi-Fi Firmware Automatic Recovery on RW61x Describes Wi-Fi automatic recovery feature as well as how to enable and verify it on RW61x SDK. AN14464 - Low Power Checklist RW61x Family This document provides an overview on how to use the low power consumption features of the RW61x. AN14476 - NXP Dual PAN Feature and Performance Results This document provides a comprehensive exploration of the Dual Personal Area Network (Dual-PAN) feature on NXP Wireless Connectivity products implementing IEEE 802.15.4 low-rate wireless protocol area network standard. Security: AN14544 – EdgeLock 2GO Services for MPU and MCU This application note introduces various methods that the EdgeLock 2GO service can be used with MCU and MPU devices and the features available for each method. AN13813 – Secure Boot on RW61x Describes how to generate and run the secure boot (signed image) on RW61x. AN13814 – Debug Authentication on RW61x Describes the steps for debug authentication using the secure provisioning SDK tool.   Community Support If you have questions regarding RW61x series, please leave your comments in our Wireless MCU Community! here    Training FRDM-RW612 Training Wi-Fi 6 Tri-Radio in a secure i.MX RT MCU RW61x Series Training - NXP Community   Equipment Wireless Equipment: This article provides the links to the wireless equipment to help you accelerate your project development Development Tools  SDK builder The MCUXpresso SDK brings open-source drivers, middleware, and reference example application to speed your software development. NXP MCUXpresso MCUXpresso IDE offers advanced editing, compiling and debugging features with the addition of MCU-Specific debugging and supports connections with all general-purpose Arm Cortex-M.  VSCode MCUXpresso for Visual Studio Code (VS Code) provides an optimized embedded developer experience for code editing and development. Zephyr RTOS  The Zephyr OS is based on a small-footprint kernel designed for use on resource-constrained and embedded systems: from simple embedded environmental sensors and LED wearables to sophisticated embedded controllers, smart watches, and IoT wireless applications. NXP Application Code Hub Application Code Hub (ACH) repository enables engineers to easily find microcontroller software examples, code snippets, application software packs and demos developed by our in-house experts. This space provides a quick, easy and consistent way to find microcontroller applications. NXP SPSDK Is a unified, reliable, and easy to use Python SDK library working across the NXP MCU portfolio providing a strong foundation from quick customer prototyping up to production deployment. NXP SEC Tool The MCUXpresso Secure Provisioning Tool us a GUI-based application provided to simplify generation and provisioning of bootable executables on NCP MCU devices. NXP OTAP Tool Is an application that helps the user to perform an over the air firmware update of an NXP development board. SDK Examples for Wireless MCUs The wireless examples feature many common connectivity configurations.   Useful Links Bluetooth Interested in Bluetooth technology? Bluetooth® Low Energy Primer – Essential reading for understanding BLE fundamentals. Bluetooth® Specifications – Full list of standards, protocols, and technical documents. Bluetooth Feature Overview Bluetooth_5.0_Feature_Overview  Bluetooth_5.1_Feature_Overview  Bluetooth_5.2_Feature_Overview Bluetooth_5.3_Feature_Overview Bluetooth_5.4_Feature_Overview Bluetooth_6_Feature_Overview   FRDM-Training Hands-On Training Product: WiFi RW6XX Protocol: 802.15.4 Protocol: BLE -> connectivity Protocol: Bluetooth Protocol: Matter Protocol: Thread Protocol: Wi-Fi Protocol: Zigbee
記事全体を表示
eIQ Toolkit for MCU - 入门实验室 eIQ Toolkit 使用直观的GUI(名为eIQ Portal)和开发工作流工具以及命令行主机工具选项(作为eIQ ML软件开发环境一部分)支持机器学习开发。 开发人员可以创建、优化、调试和导出ML模型,以及导入数据集和模型,快速训练并部署神经网络模型和ML工作负载。 eIQ Portal提供可直接集成到eIQ推理引擎(如TensorFlow Lite和TensorFlow Lite for Microcontrollers)的输出TensorFlow Lite模型。使用名为Model Runner的工具,eIQ Toolkit还可以生成运行时洞察,帮助优化i.MX RT和i.MX设备上的神经网络架构。 这些实验将介绍如何使用eIQ Portal。建议按照以下顺序进行: 数据导入实验室 Model Runner实验室 这些实验室为使用FRDM-MCXN947和i.MX RT1170-EVK而编写,但也可以使用其他支持eIQ的设备。 MCX N i.MX RT1050 i.MX RT1060 i.MX RT1064 i.MX RT1160 i.MX RT1170 i.MX RT1180 i.MX RT500 i.MX RT600 有关eIQ Toolkit中包含的Time Series Studio工具的详细信息,请参阅Time Series Studio实验指南。 为了 i.MX RT
記事全体を表示
RDBESSK358BMU 以太网配置 我目前正在开发恩智浦的 RDBESSK358BMU,该主板有 S32K358 和 GMAC 连接到 Marvell Alaska 88e1510 收发器,还有一个以太网千兆端口(附有硬件方案)。 我想知道,在这种配置下,我是否可以使用带有 lwip_baremetal 示例的 tcpip 协议栈。 使用 Gmac_Loopback 的示例起作用了,但是 lwip_baremetal_example 在 Gmac_initDMA 上失败了,就像我在其他文章中看到的那样,这是一个时钟参考问题,但我正在使用的主板上有外部时钟,所以我不明白如何使这个示例适应我的硬件。有人能提供帮助吗?谢谢!   Re: RDBESSK358BMU Ethernet configuration 你好@gferretts、 是的,我就是这么发现的。你更快 您可以从 RTD 5.0.0 复制缺失的定义: #define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK (0x80000000U) #define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_SHIFT (31U) #defineDCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_WIDTH (1U) #define DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN(x) (((uint32_t)(((uint32_t)(x)))) << dcm_gpr_dcmrwf1_mac_tx_rmii_clk_lpbck_en_shift)) & dcm_gpr_dcmrwf1_mac_tx_rmii_clk_lpbck_en_mask) ......只是注意到 RTD 的解决方法使用了 |= 关于 Eth_T_InitPhys()--是的,这也是正确的模式--这个例程值得深入检查。 顺祝商祺! 帕维尔 Re: RDBESSK358BMU Ethernet configuration 非常感谢@PavelL!我注意到 GMAC 速度仍为 100 米,因此将其设置为 1G,以匹配 125MHz 时钟,现在它可以在端口 7 上正常 ping 和 TCP echo! 我还注释了"Eth_T_InitPhys();" ,因为我的 PHY 不在 PHY 列表中,它是通过频带配置的。     Re: RDBESSK358BMU Ethernet configuration 你好@PavelL,感谢您的回复。我在使用 lwip 时仍然遇到问题,我也有 s32k3x8evb-q289 但我没有 TJA 子板所以我需要在 S32K358BMU 上测试以太网。 我使用的是"TCPIP STACK 1.0.3 版 RTD3.0.0D2306", 我附上我的 .mex我尝试复制你显示的内容(时钟配置、GMAC 外设和引脚排列)的配置文件和 " 设备.c "用引脚上的 ETH_RESET。 因为我的 RTD 没有环回定义,所以我也尝试手动复制您的 RTD 回转: void device_init(void) { uint16 pitPeriod; /* 为 DCM 模块中的 EMAC 设置 RMII 配置 */ //ip_dcm_gpr->dcmrwf1 = (ip_dcm_gpr->dcmrwf1& ~dcm_gpr_dcmrwf1_emac_conf_sel_mask) | dcm_gpr_dcmrwf1_emac_conf_sel(1u); /* 手动 RTD 转换 */ IP_DCM_GPR->DCMRWF1 = 0x80000040; IP_DCM_GPR->DCMRWF3 = 0x2000; ....}   在这种配置下,示例能够在不超时的情况下实现 Gmac_Ip_InitDMA,并到达主环路,但从我的电脑上 ping 192.168.0.200 结果却是无法连接主机和 ping 超时。 我用示波器验证了 RXC 的存在(当 Phy 协商 100Mbps 时为 25MHz 或 1Gbps 时为 125MHz),因此有一些流量来自 ETH 端口。同时在 TXC 上我现在也能看见 125MHz 但是 TXD0,1 从未被触发。 我希望你们能找到问题所在。   Re: RDBESSK358BMU Ethernet configuration 你好@gferretts、 对于延迟回复,我深表歉意。 遗憾的是,我没有 RD-BESSK358BMU,因此无法为您改编 lwip 示例。总之,我为 S32K358EVB-Q289 和 RGMII 100Mbps 修改了 lwip 示例,没有出现任何问题。让我分享一下我在采用过程中使用的基本步骤(请注意,某些细节可能与 S32K3 RTD / TCPIP 版本有关): 配置工具 - 引脚 采用引脚来适应板的接线 将回转速率设置为最快设置(如适用 应为 RGMII 输出 TX_CLK 配置工具 - 时钟 GMAC 时钟应该是这样的(注意 GMAC 1Gbps:25MHz -> 125MHz;50MHz -> 250MHz)。 配置工具 - GMAC 驱动程序 ETH_MAC_LAYE_TYPE_XGMII, REDUCED, 设置正确的速度 ETH_MAC_LAYER_SPEED_xxx 源代码-设备.c 在 device_init() 的第一行添加 RTD 解决方法 /* 设置 DCM 模块中 GMAC0 的 RGMII 模式配置 */ IP_DCM_GPR->DCMRWF1 |= DCM_GPR_DCMRWF1_MAC_CONF_SEL(0x01) | DCM_GPR_DCMRWF1_MAC_TX_RMII_CLK_LPBCK_EN_MASK; /* 设置 RGMII RX_CLK 直接从 DCM 模块中 GMAC 的 RX_CLK 引脚到达 */ IP_DCM_GPR->DCMRWF3 |= DCM_GPR_DCMRWF3_MAC_RX_CLK_MUX_BYPASS(0x01); 源代码 - test.c 或者,注释掉在一段时间后关闭 TCP/IP 协议栈的部分 这部分比较简单。 从原理图上看,您需要定义 GPIO PTC1 以向 PHY 提供有效的 RESET 脉冲信号,并等待一段时间再初始化 GMAC。PHY 通常在非托管模式下独立工作,只是通过引脚绑扎进行配置。有时,PHY 需要通过 SMI 进行管理。 您使用的是哪个版本的 S32K3 RTD 和哪个版本的 TCP/IP 协议栈? 顺祝商祺! 帕维尔
記事全体を表示
RT685: SDK 25.12 没有 HASHCRYPT 加速功能 你好 我们最近更新到了 SDK 25.12,发现我们的 TLS 解密率降低了一半。 mbedTLS v3.x 不再使用fsl_hashcrypt硬件加速功能。 下面是使用以前的 SDK 25.09 调用mbedtls_ssl_read 的调用堆栈。可以看到,最终使用了HASHCRYPT_AES_EncryptEcb。 hashcrypt_aes_one_block_aligned() at fsl_hashcrypt.c:437 hashcrypt_aes_one_block() at fsl_hashcrypt.c:581 HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,284 mbedtls_internal_aes_encrypt() at aes_alt.c:1,959 mbedtls_aes_crypt_ecb() at aes_alt.c:1,323 aes_crypt_ecb_wrap() at cipher_wrap.c:114 mbedtls_cipher_update() at cipher.c:521 mbedtls_gcm_update() at gcm.c:358 mbedtls_gcm_crypt_and_tag() at gcm.c:456 mbedtls_gcm_auth_decrypt() at gcm.c:491 mbedtls_cipher_aead_decrypt() at cipher.c:1,407 mbedtls_cipher_auth_decrypt_ext() at cipher.c:1,613 mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,242 ssl_prepare_record_content() at ssl_msg.c:3,667 ssl_get_next_record() at ssl_msg.c:4,551 mbedtls_ssl_read_record() at ssl_msg.c:3,817 mbedtls_ssl_read() at ssl_msg.c:5,237 <...more frames...> 下面是定义了MBEDTLS_USE_PSA_CRYPTO的 SDK 25.12 的调用堆栈。在该版本中,mbedtls_internal_aes_encrypt全部是 C 代码,没有硬件加速。 mbedtls_internal_aes_encrypt() at aes.c:894 mbedtls_aes_crypt_ecb() at aes.c:1,062 aes_crypt_ecb_wrap() at cipher_wrap.c:166 mbedtls_cipher_update() at cipher.c:611 gcm_mask() at gcm.c:546 mbedtls_gcm_update() at gcm.c:641 mbedtls_gcm_crypt_and_tag() at gcm.c:726 mbedtls_gcm_auth_decrypt() at gcm.c:753 mbedtls_psa_aead_decrypt() at psa_crypto_aead.c:270 psa_driver_wrapper_aead_decrypt() at psa_crypto_driver_wrappers.h:4,114 psa_aead_decrypt() at psa_crypto.c:5,023 mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,625 ssl_prepare_record_content() at ssl_msg.c:4,093 ssl_get_next_record() at ssl_msg.c:5,068 mbedtls_ssl_read_record() at ssl_msg.c:4,323 mbedtls_ssl_read() at ssl_msg.c:5,983 <...more frames...> 下面是 SDK 25.12 的调用堆栈,其中没有mbedtls_use_psa_crypto定义的调用堆栈。在这个版本中, mbdtls_internal_aes_encrypt全部是 C 代码,没有硬件加速,也不涉及 PSA。 mbedtls_internal_aes_encrypt() at aes.c:899 mbedtls_aes_crypt_ecb() at aes.c:1,062 aes_crypt_ecb_wrap() at cipher_wrap.c:166 mbedtls_cipher_update() at cipher.c:611 gcm_mask() at gcm.c:546 mbedtls_gcm_update() at gcm.c:628 mbedtls_gcm_crypt_and_tag() at gcm.c:726 mbedtls_gcm_auth_decrypt() at gcm.c:753 mbedtls_cipher_aead_decrypt() at cipher.c:1,528 mbedtls_cipher_auth_decrypt_ext() at cipher.c:1,674 mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,639 ssl_prepare_record_content() at ssl_msg.c:4,093 ssl_get_next_record() at ssl_msg.c:5,068 mbedtls_ssl_read_record() at ssl_msg.c:4,323 mbedtls_ssl_read() at ssl_msg.c:5,983 <...more frames...> 是否有计划在 mbedTLS 中恢复 RT685 HASHCRYPT 硬件加速?某些 PSA Crypto 驱动程序似乎未被执行。 谢谢! Re: RT685: SDK 25.12 no HASHCRYPT acceleration 嗨,埃德温、 我在 EVK 上重现了这个问题。我修改了两个样本,在其中添加了一个迭代 200 次的循环 mbedtls_gcm_self_test 并使用 RTC 时钟为整个执行过程计时。 evkmimxrt685_mbedtls_selftest_cm33 执行测试的时间为 1087ms 使用此调用栈: HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,260 mbedtls_internal_aes_encrypt() at aes_alt.c:1,959 mbedtls_aes_crypt_ecb() at aes_alt.c:1,323 aes_crypt_ecb_wrap() at cipher_wrap.c:114 mbedtls_cipher_update() at cipher.c:521 mbedtls_gcm_starts() at gcm.c:294 mbedtls_gcm_crypt_and_tag() at gcm.c:452 mbedtls_gcm_self_test() at gcm.c:826 evkmimxrt685_mbedtls3x_psatest_cm33 执行测试的时间为 8990ms 使用此调用栈: mbedtls_internal_aes_encrypt() at aes.c:896 mbedtls_aes_crypt_ecb() at aes.c:1,062 aes_crypt_ecb_wrap() at cipher_wrap.c:166 mbedtls_cipher_update() at cipher.c:611 mbedtls_gcm_starts() at gcm.c:441 mbedtls_gcm_crypt_and_tag() at gcm.c:718 mbedtls_gcm_self_test() at gcm.c:1,075   evkmimxrt685_mbedtls3x_psatest_cm33 来自 SDK 25.12 的 mbedtls_psa_accel_key_type_aes 定义的测试执行时间为 8744ms 使用此 callstack: HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,255 hashcrypt_cipher_encrypt() at mcux_psa_hashcrypt_common_cipher.c:187 psa_driver_wrapper_cipher_encrypt() at psa_crypto_driver_wrappers.h:2,353 psa_cipher_encrypt() at psa_crypto.c:4,766 mbedtls_block_cipher_encrypt() at block_cipher.c:177 mbedtls_gcm_starts() at gcm.c:439 mbedtls_gcm_crypt_and_tag() at gcm.c:718 mbedtls_gcm_self_test() at gcm.c:1,075 对示例的修改要点如下: BOARD_InitHardware(); test_rtc_init(); psa_crypto_init(); uint64_t ms_start = test_rtc_get_msecs(); for (int i = 0; i < 200; ++i) { PRINTF("test iteration %d\r\n", i+1); mbedtls_gcm_self_test(0); } uint64_t ms_end = test_rtc_get_msecs(); PRINTF("test time = %ums\r\n", (unsigned)(ms_end - ms_start)); ... 其中test_rtc_get_msecs使用亚秒精度返回当前 RTC 时间。 正如您所看到的,使用新的 SDK 加密 GCM/AES 的速度慢了约 8 倍。 如果您需要,我可以附上修改后的示例。 问候, Amilcar Re: RT685: SDK 25.12 no HASHCRYPT acceleration 嗨,埃德温, 我们已经阅读了迁移指南。不过,我们看不出不带 PSA 的 mbedTLS 2.x 或 mbedTLS 3.x 如何在此版本的 SDK 中进行硬件加速。由于 aes_alt.c 已被删除,而 HASHCRYPT 功能仅由 PSA 驱动程序支持。 我们的应用程序在使用 SDK 25.12 时一切正常,我们当然希望在连接时使用 TLS 1.3,但现在的情况会让我们的性能大打折扣。 我们将继续调查此事。我将修改其中一个示例,看看能否重现性能损失。 问候, Amilcar Re: RT685: SDK 25.12 no HASHCRYPT acceleration 你好,@hrc-amilcar、 感谢您耐心解答这个问题。我刚刚收到内部团队的回复,请参见下文。 从调用堆栈中我可以看到,您使用的是传统的 mbedtls_xxx 加密 API。事实上,它并没有加速。MbedTLS3.x推出了新的加密应用程序接口,它就是 PSA。mbedtls/docs/psa-transition.md at v3.6.5 - Mbed-TLS/mbedtls - GitHub而且它还被加速了。 MbedTLS4.x 进一步删除了传统加密 API。 我检查了 RT600 SDK 中的 psa_crypto_examples,通过定义PSA_CRYPTO_DRIVER_HASHCRYPT,HASHCRYPT硬件加速在默认情况下是启用的,这使得加密驱动程序封装器可以将加密计算卸载到硬件上。另一方面,MbedTLS3.x+ 更为复杂,也更符合 PSA API 规范,因此可能会出现某些用例性能较低的情况。对于 TLS,我认为非对称加密技术(CASPER 硬件 IP)会成为性能瓶颈,因为该 IP 只能支持少量加速,而且与 PSA API 不兼容,后者希望硬件 IP 实现整个算法。我们已尽全力至少加速了部分 ECC 操作(签名、验证),但其他操作(如 ECDHE 密钥交换过程中的密钥生成)可能会更糟。 现在,如果您能使用 PSA API 进行性能测量,并确认 PSA_CRYPTO_DRIVER_HASHCRYPT 已定义且调用栈使用了它,那将是一件好事。仅供参考:Hashcrypt本身没有提供AES-GCM加速,因此最好对AES-密码块链接(CBC)或AES-CTR进行基准测试,以查看硬件IP的实际收益。 BR, Edwin. Re: RT685: SDK 25.12 no HASHCRYPT acceleration 你好,@hrc-amilcar、 从mbedTLS 2.x(不含 PSA)迁移到 mbedTLS 3.x(含 PSA)必然会导致性能下降: " PSA 驱动程序接口仅部分实现。因此,编写驱动程序的交付内容以及将驱动程序与 Mbed TLS 集成的方法将根据所加速的操作而有所不同。"(https://mcuxpresso.nxp.com/mcuxsdk/latest/html/middleware/mbedtls3x/docs/psa-driver-example-and-guide.html) 目前,我所能推荐的最好方法是遵循如何正确从 2.x 迁移到 3.x 的指南:从 Mbed TLS 2.x 迁移到 Mbed TLS 3.0 - MCUXpresso SDK 文档 以及正确过渡到 PSA API 的指南:过渡到 PSA API - MCUXpresso SDK 文档 不便之处,敬请原谅。 BR, Edwin. Re: RT685: SDK 25.12 no HASHCRYPT acceleration 我在 mbedTLS 配置文件中定义了 MBEDTLS_PSA_ACCEL_KEY_TYPE_AES,现在它正在调用 ASHCRY PT,但是我们的 mbedtls_ssl_read 读取速度现在更慢了。我想知道是否还有其他缺失的定义,或者PSA层增加了额外的开销。   通过 TLS 插口从 WiFi 下载 4KB 数据包的速率: SDK 25.09:205KB/秒(没有 PSA 和 ksdk 端口文件的 mbedTLS 2.x) SDK 25.12:138KB/秒(不带 MBEDTLS_PSA_ACCEL_KEY_TYPE_AES) SDK 25.12:125KB/秒(使用 MBEDTLS_PSA_ACCEL_KEY_TYPE_AES 时) 下面是使用 MBEDTLS_PSA_ACCEL_KEY_TYPE_AES 的新调用栈: HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,255 hashcrypt_cipher_encrypt() at mcux_psa_hashcrypt_common_cipher.c:203 psa_driver_wrapper_cipher_encrypt() at psa_crypto_driver_wrappers.h:2,353 psa_cipher_encrypt() at psa_crypto.c:4,766 mbedtls_block_cipher_encrypt() at block_cipher.c:177 gcm_mask() at gcm.c:543 mbedtls_gcm_update() at gcm.c:628 mbedtls_gcm_crypt_and_tag() at gcm.c:726 mbedtls_gcm_auth_decrypt() at gcm.c:753 mbedtls_psa_aead_decrypt() at psa_crypto_aead.c:270 psa_driver_wrapper_aead_decrypt() at psa_crypto_driver_wrappers.h:4,114 psa_aead_decrypt() at psa_crypto.c:5,023 mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,625 ssl_prepare_record_content() at ssl_msg.c:4,093 ssl_get_next_record() at ssl_msg.c:5,068 mbedtls_ssl_read_record() at ssl_msg.c:4,323 mbedtls_ssl_read() at ssl_msg.c:5,983 <...more frames...> Re: RT685: SDK 25.12 no HASHCRYPT acceleration 你好,@hrc-amilcar、 更新 SDK 后,您是否做了任何更改?您在使用 SDK 示例代码时也看到了这种行为吗?你使用的是独立组网 \\(SA\\) IDE 还是 VS Code 扩展? BR, Edwin. Re: RT685: SDK 25.12 no HASHCRYPT acceleration 你好,@EdwinHz、 我们使用的是 MCUXpresso 集成开发环境。 更新 SDK 后无额外更改: 当我们更新 SDK 时,我们会重新运行 " SDK 管理 "-> " 刷新 SDK 元器件 " 来获取新的和更新的文件。 然后,我们比较 .cproject配置为已启用类似功能的样本之一(例如evkmimxrt685_wifi_wpa_supplicant_cm33) psa_crypto_driver_casper=1 psa_crypto_driver_hashcrypt=1 config_wpa_supp_crypto_mbedtls_psa=1 等等 我们使用默认的mcux_mbedtls_config.h作为主要的 mbedTLS 配置头文件,并使用与evkmimxrt685_wifi_wpa_supplicant_cm33示例中的wpa_supp_mbedtls_config .h几乎相同的用户配置文件。 我将尝试使用 mbedtls3x_examples,看看它们的表现如何。也许我们漏掉了一些定义。 我在浏览代码时注意到,也许需要定义MBEDTLS_BLOCK_CIPHER_C,以便加速 gcm 操作。 看起来头文件mbedtls3x/include/mbedtls/config_adjust_legacy_crypto.h对此负有责任,但由于某些原因最终没有定义该宏。 Re: RT685: SDK 25.12 no HASHCRYPT acceleration 为了他人的利益... 看来 来自 mbedTLS 3.x 的 mbedtls_xor 一次循环遍历 4 字节的数据,并调用 mbed tls_get_unaligned_uint32 和 mbedtls_put_unalign ed_uint32, 它们都使用 memcp y 来处理单个 uint32。 我认识到 MbedTLS 的作者正试图通过一次计算 异或 4 字节块(使用余数循环)来提高性能,但是对 memcpy 的完整调用实际上使代码变慢。 在对反汇编进行一些调查后,我发现我们的项目在编译时使用了 -fno-builtin,导致编译器无法内联小的 memcpys。 移除该选项后,HASHCRYPT 硬件不用于 AES-GCM 操作所造成的性能损失基本得以恢复。因此,我发布的示例执行时间从 8600 毫秒缩短到 2100 毫秒。还没有达到 mbedTLS 2.x + ksdk alt(1087ms)的水平。但修复后的性能已经足够好了。 -阿米尔卡
記事全体を表示
带有 S32K5xx RTD 的时钟 IP 发出的 S32DS 警告 0.8.0 使用 S32K5xx RTD 时 0.8.0编译时,我收到了来自时钟 IP 模块的许多警告。 有办法纠正它们吗? 这些警告是否可以忽略? 有计划把它们修好吗? Re: S32DS Warnings from Clock IP with S32K5xx RTD 0.8.0 你好@DirkEtzler、 谢谢您的提问。如前所述,S32K5 系列目前是 NPI(新产品推出)设备。因此,所有支持请求必须直接通过指定的恩智浦 FAE 处理。 或者,请通过以下网址创建支持票据: https://support.nxp.com/s/?language=en_US 系统会自动将您的请求转给相应的 FAE 团队,以便提供进一步帮助。 感谢您的理解。 顺祝商祺! 帕维尔
記事全体を表示
RDMMA845X issues with Win 7 Pro. As a retired electronics man (but total newbie with PC + dev. boards) I hope this isn't too much of a stupid question. I have bought the above board. It works great on a Win 8.1 PC, but not on the Win 7 Pro PC - which is a shame because that's the one in my hobby lab! Win 7 finds the USB device and the Demo Screen correctly identifies the chip in use, etc. But hitting any of the 'lit' buttons just generates an Exception Handler window and I can go no further than that. I don't know what Ex Handler means so am at a loss! Wisdom greatfully accepted. Tks. John Accelerometers Re: RDMMA845X issues with Win 7 Pro. As an addition to my original post I should say that the exception window calls this an "unhandled exception". After some internet research I updated the .net framework to the latest ver (4.6.2) in case that was the cause. But it is not! Tks. J 
記事全体を表示
使用MCUXpresso IDE构建和烧写应用 下面的步骤将指导您使用 MCUXpresso IDE 的 Cortex-M33 应用程序完成 hello_world 演示应用程序。MCUXpresso IDE 安装和 MCXN 系列的 SDK 可在本入门指南的 Get Software 部分找到。 在左下角找到快速启动面板。   然后点击导入 SDK 示例。 单击您正在使用的板选择可以在该板上运行的示例,然后单击 “下一步”。 使用箭头按钮展开 demo_apps 类别,然后单击 hello_world 旁边的复选框选择该项目。要使用 UART 进行打印(而不是默认的半托管),请在项目选项下选择 UART 作为 SDK 调试控制台复选框。然后点击完成 选择项目并通过单击上面提供的快捷方式中的 “生成图标” 或单击 “快速入门面板” 中的 “版本” 来版本项目 该项目应在控制台中不出现任何错误或警告的情况下构建 使用连接到 “MCU-LINK” 端口的 C 型 USB 线将板连接到计算机 。有关说明,请查看板的用户手册。 单击上方的 “调试” 图标或单击 “快速入门面板” 中的 “调试”,将应用程序下载到您的板上 选择 MCU-Link CMSIS-DAP 调试探针 打开串行终端,查看应用程序的输出。选择 "终端 "窗口并按下 "新终端 "图标 选择 "串行终端",然后将 UART 设置为 115200 波特率、8 位数据大小、无奇偶校验和 1 停止位。按确定 按 "运行 "图标运行应用程序。查看打印在终端上的输出结果
記事全体を表示
[RTD600 IP] S32K3X4EVB-T172 GPIOウェイクアップ このサンプル プロジェクトでは、WKPU + SIUL2 (GPIO) の基本機能を使用および構成する方法をユーザーに示します。 ------------------------------------------------------------------------------ * テストハードウェア: S32K3X4EVB-T172 (SCH-53148 REV B2) * MCU: S32K344 * IDE: S32DS v3.5 および S32DS v3.6.x * SDKリリース: RTD 6.0.0 * デバッガ: PE Micro * ターゲット: internal_FLASH ------------------------------------------------------------------------------ このサンプル ルーチンは、GPIO 割り込みウェイクアップ用に WKPU ユニットを構成します。これは最も単純な WKPU の例です。ピン PTB19 (WKPU42) はウェイクアップ用に構成されています。 ルーチンはSW5が押されるのを待機し、緑色の LED をオフにして、次の処理を実行する Wkpu_EnterStandby() 関数に入ります。 コアクロックを FIRC に切り替えます。 WKPU インスタンスを初期化します。 WKPU42 (PTB19) を設定します。 スタンバイ(または高速スタンバイ)状態になります。 SW6を押すと、MCU が起動してリセットし、 SW5が再度押されるかどうかをポーリングします。 この例は現状のまま提供されており、保証やサポートはありません。
記事全体を表示
S32K3 FLEXIO data exception I am using S32K314 RTD400 SAI0 (host) and FLEXIO analog I2S (slave) communication, SAI only use d0, MUX_DISABLE, word width of 16, found that the data received by the slave is the host's data cycle to move one bit left to get the data, such as sending 0x8002, in the code inside the slave get the data is 0x5, change a lot of configuration is useless, finally check the Enable User Mode Support in the figure below, the data is normal. For example, if you send 0x8002, the data received by the slave in the code is 0x5. After changing a lot of configurations, the data is normal after checking Enable User Mode Support in the following figure. The SAI configuration is as follows Re: S32K3 FLEXIO数据异常 Hi@Jason22 I checked the compilation results, this option you check or uncheck does not affect the results of the run at all. According to the project you provided, the compilation I got with Enable User Mode Support checked and unchecked is exactly the same, which means it doesn't cause the problem you described. Re: S32K3 FLEXIO数据异常 Compile no problem, there is no "Mcal.h" file, if so, clear the project, compile again and there will be no problem (I do not know if this is the IDE version of the problem, S32DS 3.6 does not seem to have this error). If it's not this error, can you tell me what's wrong with the compilation? Re: S32K3 FLEXIO数据异常 Hi@Jason22 Sorry, I read it wrong, it's not the IDE version, it's that I read Enable User Mode Support as Enable Flexio Common Support Can you double check the project you provided, I can't get it to compile successfully. Re: S32K3 FLEXIO数据异常 没有勾选“Enable User Mode Support”,配置还是有效 不勾选"Enable Flexio Common Support",配置才无效,我使用的是S32DS 3.5.14,这和S32DS版本有关嘛 Re: S32K3 FLEXIO数据异常 Hi@Jason22 你不勾选“Enable User Mode Support”下面的配置不是不生效了嘛 Re: S32K3 FLEXIO数据异常 Hi@Jason22 Logic analyzer yourself to test if the data you're sending out is correct or not Re: S32K3 FLEXIO数据异常 I also compared it and found the same thing, re-ran the program and found that after checking the box, the data looped left again, but the first time I checked the box, the data did go normal, and repeated the run a few times and it was normal, so I don't know what factors are causing this. Then I would like to ask, is it my configuration or the code has a problem, why the data received by the slave is just the result of the data sent by the host cyclic left shift? Thanks for your help. Data sent by the host Data received from the slave
記事全体を表示
iMX95 上の Panthor ドライバ こんにちは、皆さん 私は、iMX95 でグラフィック スタックがどのように動作するかを学習しようとしており、オープン ソースの DRM ドライバー (Panthor) を使用して、スタック全体 (OpenGL から下位のドライバー アクションまで) を理解できるようにしたいと考えています。 Mesa3D + OpenSource ドライバーは Arm スタックとしてより理解しやすいため、DRM ドライバーを使用する Linux カーネルを作成したいと考えています。 DTS の GPU ノードを Panthor ドライバと互換性があるように変更し、menuconfig でオプションを強制しました (Arm ドライバのオプションは無効にしています)。 起動時に、panthor_devfreq.c:panthor_devfreq_init の "devm_pm_opp_set_regulators" が呼び出されるまで、panthor は正常にロードされます。 このボードでこのドライバをすでに使用したことがある人はいますか、または何を変更する必要があるかご存知の方はいらっしゃいますか? ありがとうございます。 Re: Panthor driver on iMX95 こんにちは、 残念ながら、i.MX95 はまだ試作段階であるため、確定的な実装パスを提供するための検証済みのリファレンスや公式にサポートされている構成はまだありません。 Re: Panthor driver on iMX95 こんにちは、 devm_pm_opp_set_regulators の障害は、i.MX95 が GPU の電圧と電源状態を直接の個別レギュレータではなく SCMI (システム制御および管理インターフェイス) を介して管理し、Panthor ドライバが従来のレギュレータ ストリングで DVFS を管理することを期待するために発生します。これを修正するには、デバイス ツリーの GPU ノードに、SCMI ベースのレギュレータを指す mali-supply プロパティ (例: mali-supply = <&scmi_perf_gpc>;) が含まれていることを確認するか、より迅速なテストのために、DTS で「ダミー」の固定レギュレータを定義し、それを GPU にリンクして、ドライバの初期化チェックを満たす必要があります。電力管理を考慮せずに、より低いドライバーアクションだけを実現したい場合は、panthor_devfreq.c の devm_pm_opp_set_regulators 呼び出しをコメントアウトします。ただし、ドライバは最終的にはMali CSFファームウェア(mali_csffw.bin)を必要とすることに注意してください。G310 ハードウェアを初期化するには、rootfs に存在している必要があります。
記事全体を表示
Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Running MCUXpresso IDE V25.6.136 + evkmimxrt685 board with SDK_25_12_00. When debug starts all debug tool (resume ..) are greyed out and cannot run the project.  Works fine with older SDK_25_03_00 but same problem with SDK_25_06_00 and SDK_25_09_00.  How can i restore the debug tools Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Hello Carlos, Posting the screenshot> It happens on all the examples including hello world. It always stops at the first line of the "void ResetISR(void) function i.e. at the line __asm volatile ("cpsid i") (line No 381) in the startup_mimxrt685s.c file in the startup directory. It never get to the main() to start the run.  I am trying to run the evkmimxrt685_dsp_mu_polling_cm33. This example works fine in the 25.03 version. All versions after than (06,09,12) have this problem. Is there some change I should make in the IDE for SDK versions after 24.03 ?.   Thanks  bobvr Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Hello Carlos, It happens on all the examples including hello world. It always stops at the first line of the "void ResetISR(void) function i.e. at the line __asm volatile ("cpsid i") (line No 381) in the startup_mimxrt685s.c file in the startup directory. I am trying to run the evkmimxrt685_dsp_mu_polling_cm33. This example works fine in the 25.03 version. All versions after than (06,09,12) have this problem. Is there some change I should make in the IDE for SDK versions after 24.03 ?. I do have a screenshot but how do i post it. Thanks @bobvr Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Hi @bobvr  Could you please share which OS your compute has? Linux, Windows 10, Windows 11? Could you please review the BOOT_SEL of the EVK to be properly selected? Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Hi @bobvr  Thanks for sharing the details about your setup. Could you please do a mass erase of the flash, and retry to debug it?  To do it please change the link server action at the QuickStart Panel after that return it to Debug using LinkServer probes. Please share a screenshot if you have any error message in the process.  Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 I am running Windows 11 on a Dell Alder Lake desktop. The boot jumper (JP1) is open which is the default according to the manual (MIMXRT685-AUD-EVKUM Rev 3 - 21 July 2023). I presume this is what you meant by "review BOOT_SEL of the EVK". Thanks bobvr Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Carlos, Thanks. Before I do this i wanted to let you know that I have always used the SEGGER J-Link probes and there is "erase flash action using SEGGER J-Link probes" menu option. Should i erase using that or using the link server probes as you mentioned above. Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Carlos,  I tried to do a mass erase with the link server but got an error message - screenshot attached.  Thanks  Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Hello Carlos,  I deleted the Flash using the Segger J-Link Probes (not the link server probes as that firmware was overwritten by the Segger firmware).  I understand I must use the Segger probes to debug both the ARM core and HiFi4 DSP.  I also updated the Segger firmware to the latest version 8.98.  I deleted the debug launch file,  deleted the workspace to generate a new one on bootup and also power cycled the board.  Still the same problem.  It says a debug session is running but I'm not able to debug.  As i said this happens with all versions after 03 (06, 09 and 12).  It stops at the startup_mimxrt685s.c file as before.    In the debugger console I do see a warning  message but this is probably harmless.  "warning: could not convert 'main' from the host encoding (CP1252) to UTF-32. This normally should not happen, please file a bug report. monitor exec SetRestartOnClose=1 Please advise next steps. Thanks bobvr. Re: Debug tools greyed out with latest SDK_25_12_00, work fine with older SDK_25_03_00 Hi @bobvr  Thanks for sharing that you are using. The issue persists if you try to debug with link server? Please share the error message in case you get one. 
記事全体を表示
MIMXRT1180-EVK の EtherCAT デモ こんにちは、 UG10322 UG10322: ICEツールを使用したEtherCATのOOBEガイド | NXP Semiconductorsに記載されているEtherCATデモを試すために、MIMXRT1180-EVK評価ボードを使用しています。 i.MX RT1180 評価キット | NXP Semiconductorsから Ethercat 評価バイナリをダウンロードしました。 私はすべての手順を注意深く実行しました。上記のドキュメントに記載されている構成でバイナリを正常にフラッシュし、ICE ツールを起動できました。 ただし、GUI でネットワーク インターフェースを選択し、Ethercat を有効にしようとすると、「有効にできませんでした」というメッセージが表示されます。インターフェースをスキャンすると、「デバイスが見つかりません」と表示されます 私は Windows ノートPCを使用しており、USB 3-ギガビット イーサネット アダプターを使用して ETH0 と ETH4 にコネクテッドしていますが、それ以外は問題なく動作しています (他の作業にも使用しています)。 この問題を解決するためにご協力いただければ幸いです。 また、この EtherCat Eval バイナリ :goal_nxp_evkmimxrt1180_rtos_flash_boot.bin のソースを教えていただけますか?SDK をチェックしたところ、EtherCat の例がいくつか見つかりましたが、これらの例のいずれかが上記のバイナリに対応しているかどうかはわかりません。 よろしくお願いします。 よろしくお願いします。 PNC Re: EtherCAT demo on MIMXRT1180-EVK こんにちは@pnc お問い合わせいただきありがとうございます UG10332 の最初のリリースですでにいくつかの問題が見つかりました (更新する予定です) 同僚が作成した内部レポートを以下に掲載します。お役に立てれば幸いです。 5 ページのステップ 12 では、RT1180-EVK コンソールは USB_OTG1 ではなく MCU-Link USB である必要があります。また、Note の場合、EEPROM と呼ばれるセクションはないようです。 私の場合、セクション 5.4 のステップ 11 以降では EtherCAT インターフェースのフォント カラーは赤にならず、ステップ 15 以降でのみ赤に変わります。 24 ページの表 1 と表 2 では、表にリストされているマップされたオブジェクトが ICE ツールの実際の表示と一致していません。 私の側では、セクション 5.4 の手順 9 の前に、ホスト PC の IP アドレスを構成する必要があります。そうしないと、内部エラーが報告されます。 さらに問題が発生した場合や、関連する質問がある場合はお知らせください。 ではごきげんよう、 ディエゴ Re: EtherCAT demo on MIMXRT1180-EVK ちなみに、EtherCAST デモには特別なジャンパー設定が必要ですか?上記のドキュメントではこの点については何も言及されていません。 Re: EtherCAT demo on MIMXRT1180-EVK こんにちは、ディエゴ。 ご返信ありがとうございます。しかし、これらの問題はすでに解決済みですので、役に立ちませんでした。 とにかく、私は方針を変えました。つまり、事前にビルドされたイメージを使用する代わりに、AN14155 ユーザーガイド (i.MX RT1180 EtherCAT を BECKOFF TwinCAT3 および SSC ツール Rev. と共に使用) を使用して、SDK から ecat/digital_io の例をビルドして実行しようとしています。1.0) ここでも同じ問題に直面しています。例をビルド、フラッシュ、実行できます (CM33 と CM7 の両方)。digitial_ip.cのメインループにprintfを入れました。実際に実行されていることを確認します。 しかし、AN14155 のセクション 5.1.8 で行き詰まっています。TwinCAT を使用して EtherCAT デバイスのスキャンを実行すると、「I/O デバイスが見つかりません」と表示されます。イーサネット ケーブルを J28 と J32 の両方に接続してみました。 私は次のジャンパー設定を行いました: J63、J73、J72、J65 を 1-2 短絡位置 (デフォルト位置ではない) に移動しました Ecat に他のジャンパー設定や他の HW 設定が必要かどうかはわかりません。これら以外のすべてのジャンパーはデフォルトのポジショニング(箱から出した時の状態)にあります。私が行った他の唯一のジャンパー変更は、Segger プローブ (JP5 を短絡) を使用するためでした。 ちなみに、ICE ツールの実行も試してみました。以前と同じ状況です。 何かご意見があれば教えていただけると幸いです よろしくお願いします。 よろしくお願いします。 PNC Re: EtherCAT demo on MIMXRT1180-EVK EVK ユーザー マニュアル UM12021 を注意深く読み直したところ、ジャンパーを間違えたようです。私が今持っているものは次のとおりです。 J63とJ65:デフォルトで2-3が短絡 J73とJ72: デフォルト以外の1-2ショート ただし、上記の変更を行った後でもまだ動作しません。 また、36 ページのこの行が関連しているかどうかはわかりません。「ECAT 信号と FLEXSPI2 信号間の多重化は、抵抗器の再構成によって実装されます。」デフォルトでは、FLEXSPI2 接続は有効になっています。 これについても何かする必要があるでしょうか?もしSOなら、何ですか? ちなみに、このEVKユーザーマニュアルは本当に読みにくいです。EVK で ECAT を動作させるためにユーザーが行う必要があることを、簡潔かつ明確に 1 か所にまとめておくべきだと思います。散らばった混乱を招く情報の代わりに、シンプルに「EVK で ECAT を有効にするには、これらのジャンパー設定を行ってください...」とだけ書かれています。 Re: EtherCAT demo on MIMXRT1180-EVK こんにちは、ディエゴ。 今朝すべてを再起動すると、デバイスのスキャンが機能し始めました。昨日の夕方にジャンパーに加えた変更が効果を発揮したようです。 しかし、デバイス1をスキャンすると、セクション5.1.9で説明した「ボックス1」が表示されません。SO、スレーブが検出されないようです。Wireshark でも EtherCAT に関連するトラフィックは表示されません。さらにデバッグ中ですが、何かヒントがあれば、ぜひ教えてください。
記事全体を表示