Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
HI-WAVE Hello, I'm looking for a manual for the Hi-wave program. Anything will help thanks Re: HI-WAVE Thanks for the reply Celeste  Re: HI-WAVE Hello @P0zburn , Thanks for your post. Regarding Hi-WAVE, I have found the following link for your reference. https://www.nxp.com/docs/en/user-guide/HIWAVENORMALBDMUG.pdf  https://www.nxp.com/docs/en/user-guide/HIWAVEDBG12MONUG.pdf  https://www.nxp.com/docs/en/application-note/TN263.pdf  I hope it can be helpful to you. BRs, Celeste
查看全文
HI-WAVE 你好 我想找一本高波程序手册。一切都会有帮助,谢谢 Re: HI-WAVE 感谢您的回复,塞莱斯特 Re: HI-WAVE 你好@P0zburn、 谢谢您的帖子。 关于Hi-WAVE,我找到了以下链接供你参考。 https://www.nxp.com/docs/en/user-guide/HIWAVENORMALBDMUG.pdf https://www.nxp.com/docs/en/user-guide/HIWAVEDBG12MONUG.pdf https://www.nxp.com/docs/en/application-note/TN263.pdf 希望能对你有所帮助。 BRs, 西莱斯特
查看全文
TDM IN NIBBLE MODE SUPPORT in place of P1021  We would like to know  any   processor that supports nibble mode for TDM in place of P1021. as this became obsolete. Re: TDM IN NIBBLE MODE SUPPORT in place of P1021 Finding a direct replacement for the obsolete NXP P1021 with explicit "nibble mode for TDM" support is challenging, as this is a very specific, non-standard interface likely achieved through custom configuration of older flexible peripherals. Your best approach is to seek modern embedded processors with **highly configurable serial communication interfaces** or dedicated TDM peripherals. Strong candidates include **NXP Layerscape (LS series)** processors, which are successors to the QorIQ line, or **STMicroelectronics STM32 (H7/F7/MP1 series)**, particularly their flexible Serial Audio Interface (SAI) modules, which can often be configured to emulate diverse TDM data formats, including custom 4-bit transfers. Thoroughly reviewing their documentation for bit-level control and TDM configurability is essential. Re: TDM IN NIBBLE MODE SUPPORT in place of P1021 You could use the LS1043A MPU due both share the same QUICC Engine block used for TDM . Note: The TDM can only work with an external sync and external clock; other options are not supported.
查看全文
IVOR6 异常 所有、 我是 PowerPC 架构的新手,正在研究 MPC5775E。当 ESR.VLEMI = 1 和 ESR.PIL = 1(非法指令)时,我收到 IVOR6 异常,但 SRR0 显示地址为 0x000000002。我真的不明白这是什么意思?请帮帮我。 Re: IVOR6 Exception 问候@latheef @petervlna、 我的 MPC5777C 也遇到了类似的问题。在查找FLEXCAN_IRQHandler(...) 源代码时,我没有找到这一行"flexcan_msgbuff_t recvBuf"。这是已打补丁的内容吗? 此致问候 克里斯托弗 Re: IVOR6 Exception @petervlna我没回答你的问题。在我的帖子中,我错误地提到了序幕。ISR FLEXCAN_IRQHandler(2U)的执行正常,然后尝试从 ISR 返回,以执行尾声。但它无法从 ISR 返回到尾声,而是转到地址 2。 我提到的 4 个汇编代码仅用于从 ISR 返回到尾声。 我找到了问题所在。它使用的是定义在本地的 flexcan_msgbuff_t recvBuf(即堆栈中的函数)。 感谢您抽出宝贵时间! Re: IVOR6 Exception @petervlna该代码由 S32DS 从 MPC5777C 的示例应用程序中自动生成,但正在 MPC5775E 上试用。我没有更改 MPC5777C 自动生成的任何内容。针对 MPC5775E,我需要做什么配置更改吗? 此致敬礼! Re: IVOR6 Exception 你好 所以你不能从 ISR 回到尾声?还是您无法从序章进入 ISR? 执行 FLEXCAN_IRQHandler(2)后,必须执行序幕,但 lr 现在指向地址 0x0000002,并出现 IVOR6 异常。 我有点困惑。IRQ 没有序言或非结语(这样只打断了核心 IvorX) 我试着总结一下: 1.您的 CAN 触发信号中断。 2.调用 IVOR4,执行序幕。 3.在序幕结束时,由于链接地址指向的是地址 0x2,而不是 CAN ISR 头,因此跳转到 CAN ISR 的过程没有执行。对不对? 在我看来,这似乎是中断表定义/链接器文件的问题。 顺祝商祺! Peter Re: IVOR6 Exception @petervlna感谢您的回复。我使用 S32DS 中的专家处理器为 flexCan2 配置了 CAN,但在接收 CAN 报文时出现异常,而且还是在接收了几次之后(未修复)。 我调试了代码,发现当尝试从 void CAN2_BUF0_IRQHandler(void) { FLEXCAN_IRQHandler(2U); } 执行 FLEXCAN_IRQHandler(2)后,必须执行序幕,但 lr 现在指向地址 0x0000002,并出现 IVOR6 异常。 我按照下面的组装说明进行了操作 008177be: se_lwz r0,12(r1) 008177c0: se_mtlr r0 008177c2: se_addi r1,8 008177c4: se_blr lwz 后,R1 的 RAM 地址如下: R1 = 1073751424 (0x40002580) se_lwz r0,12(r1) 将 R0 更新为 2,因为 RAM 值如下所示 然后,se_blr 分支到地址 2。 感谢您的帮助! 谢谢! Re: IVOR6 Exception 你好 这就是您收到 IVOR6 的原因。 7.7.7 Program interrupt (IVOR6) e200z759n3 implements the Program interrupt as defined by PowerISA 2.06. A program interrupt occurs when no higher priority exception exists and one or more of the following exception conditions defined in PowerISA 2.06 occur:  Illegal Instruction exception  Privileged Instruction exception  Trap exception  Unimplemented Operation exception e200z7 will invoke an Illegal Instruction program exception on attempted execution of the following instructions: • Unimplemented instructions • Instruction from the illegal instruction class • mtspr and mfspr instructions with an undefined SPR specified • mtdcr and mfdcr instructions with an undefined DCR specified e200z7 will invoke a Privileged Instruction program exception on attempted execution of the following instructions when MSR[PR]=1 (user mode): • A privileged instruction • mtspr and mfspr instructions that specify a SPRN value with SPRN[5]=1 (even if the SPR is undefined). e200z7 will invoke an Trap exception on execution of the tw and twi instructions if the trap conditions are met and the exception is not also enabled as a Debug interrupt. e200z759n3 will invoke an Illegal instruction program exception on attempted execution of the instructions lswi, lswx, stswi, stswx, mfapidi, mfdcrx, mtdcrx, or on any PowerISA 2.06 floating point instruction when MSR FP=1. All other defined or allocated instructions that are not implemented by e200z7 will cause a illegal instruction program exception. 我认为,要么是执行了不支持的指令(如非法指令),要么是访问了不可用的内存。 SRR0 应设置为例外指令的有效地址。 Save/Restore Register 0 (SRR0). The SRR0 register is used to save machine state on a non-critical interrupt, and contains the address of the instruction at which execution resumes when an rfi or se_rfi instruction is executed at the end of a non-critical class interrupt handler routine. 如果没有,那么只需逐步调试应用程序,找到崩溃的指令,看看它是在正常执行还是在访问某些非法/未授权访问的内存。 顺祝商祺! Peter
查看全文
IVOR6 异常 所有、 我是 PowerPC 架构的新手,正在研究 MPC5775E。当 ESR.VLEMI = 1 和 ESR.PIL = 1(非法指令)时,我收到 IVOR6 异常,但 SRR0 显示地址为 0x000000002。我真的不明白这是什么意思?请帮帮我。 Re: IVOR6 Exception 问候@latheef @petervlna、 我的 MPC5777C 也遇到了类似的问题。在查找FLEXCAN_IRQHandler(...) 源代码时,我没有找到这一行"flexcan_msgbuff_t recvBuf"。这是已打补丁的内容吗? 此致问候 克里斯托弗 Re: IVOR6 Exception @petervlna我没回答你的问题。在我的帖子中,我错误地提到了序幕。ISR FLEXCAN_IRQHandler(2U)的执行正常,然后尝试从 ISR 返回,以执行尾声。但它无法从 ISR 返回到尾声,而是转到地址 2。 我提到的 4 个汇编代码仅用于从 ISR 返回到尾声。 我找到了问题所在。它使用的是定义在本地的 flexcan_msgbuff_t recvBuf(即堆栈中的函数)。 感谢您抽出宝贵时间! Re: IVOR6 Exception @petervlna该代码由 S32DS 从 MPC5777C 的示例应用程序中自动生成,但正在 MPC5775E 上试用。我没有更改 MPC5777C 自动生成的任何内容。针对 MPC5775E,我需要做什么配置更改吗? 此致敬礼! Re: IVOR6 Exception 你好 所以你不能从 ISR 回到尾声?还是您无法从序章进入 ISR? 执行 FLEXCAN_IRQHandler(2)后,必须执行序幕,但 lr 现在指向地址 0x0000002,并出现 IVOR6 异常。 我有点困惑。IRQ 没有序言或非结语(这样只打断了核心 IvorX) 我试着总结一下: 1.您的 CAN 触发信号中断。 2.调用 IVOR4,执行序幕。 3.在序幕结束时,由于链接地址指向的是地址 0x2,而不是 CAN ISR 头,因此跳转到 CAN ISR 的过程没有执行。对不对? 在我看来,这似乎是中断表定义/链接器文件的问题。 顺祝商祺! Peter Re: IVOR6 Exception @petervlna感谢您的回复。我使用 S32DS 中的专家处理器为 flexCan2 配置了 CAN,但在接收 CAN 报文时出现异常,而且还是在接收了几次之后(未修复)。 我调试了代码,发现当尝试从 void CAN2_BUF0_IRQHandler(void) { FLEXCAN_IRQHandler(2U); } 执行 FLEXCAN_IRQHandler(2)后,必须执行序幕,但 lr 现在指向地址 0x0000002,并出现 IVOR6 异常。 我按照下面的组装说明进行了操作 008177be: se_lwz r0,12(r1) 008177c0: se_mtlr r0 008177c2: se_addi r1,8 008177c4: se_blr lwz 后,R1 的 RAM 地址如下: R1 = 1073751424 (0x40002580) se_lwz r0,12(r1) 将 R0 更新为 2,因为 RAM 值如下所示 然后,se_blr 分支到地址 2。 感谢您的帮助! 谢谢! Re: IVOR6 Exception 你好 这就是您收到 IVOR6 的原因。 7.7.7 Program interrupt (IVOR6) e200z759n3 implements the Program interrupt as defined by PowerISA 2.06. A program interrupt occurs when no higher priority exception exists and one or more of the following exception conditions defined in PowerISA 2.06 occur:  Illegal Instruction exception  Privileged Instruction exception  Trap exception  Unimplemented Operation exception e200z7 will invoke an Illegal Instruction program exception on attempted execution of the following instructions: • Unimplemented instructions • Instruction from the illegal instruction class • mtspr and mfspr instructions with an undefined SPR specified • mtdcr and mfdcr instructions with an undefined DCR specified e200z7 will invoke a Privileged Instruction program exception on attempted execution of the following instructions when MSR[PR]=1 (user mode): • A privileged instruction • mtspr and mfspr instructions that specify a SPRN value with SPRN[5]=1 (even if the SPR is undefined). e200z7 will invoke an Trap exception on execution of the tw and twi instructions if the trap conditions are met and the exception is not also enabled as a Debug interrupt. e200z759n3 will invoke an Illegal instruction program exception on attempted execution of the instructions lswi, lswx, stswi, stswx, mfapidi, mfdcrx, mtdcrx, or on any PowerISA 2.06 floating point instruction when MSR FP=1. All other defined or allocated instructions that are not implemented by e200z7 will cause a illegal instruction program exception. 我认为,要么是执行了不支持的指令(如非法指令),要么是访问了不可用的内存。 SRR0 应设置为例外指令的有效地址。 Save/Restore Register 0 (SRR0). The SRR0 register is used to save machine state on a non-critical interrupt, and contains the address of the instruction at which execution resumes when an rfi or se_rfi instruction is executed at the end of a non-critical class interrupt handler routine. 如果没有,那么只需逐步调试应用程序,找到崩溃的指令,看看它是在正常执行还是在访问某些非法/未授权访问的内存。 顺祝商祺! Peter
查看全文
How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Hello. I am trying to change the mac address of wi-fi access point (uap0) on NXP 88W8987. As a condition, accesspoint (uap0) and station (mlan0) are enabled simultaneously. The following is a good method, but it will be reset by rebooting. ifconfig uap0 down ifconfig uap0 hw ether xx:xx:xx:xx:xx:xx ifconfig uap0 up The following doesn't work. Specify the mac_addr parameter when installing the driver. mac_addr=xx:xx:xx:xx:xx:xx or mac_addr=uap0: xx:xx:xx:xx:xx:xx I used this URL as a reference for the driver parameters. Could you please tell me a better way? Thank you. Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Is this also the case for the NXP 88W9098 module? i.e. the h/w programmed mac cannot be changed? In the case of the module we are evaluating (M2-JODY-W377) the default MAC is a u-blox OUI, so if we need to change it we should do so early in bootup? Thanks Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 We can close the discussion. Thank you. Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Dear @masakiyo  Your understanding is correct. Do you have additional questions on that topic, or can we close discussion ? Regards, Olivier Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Sorry for the late reply. I checked the same steps as you on my board. mlan0 Link encap:Ethernet HWaddr 6C:1D:EB:EB:8E:69 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) uap0 Link encap:Ethernet HWaddr 6E:1D:EB:EB:8F:69 inet addr:192.168.8.1 Bcast:192.168.8.255 Mask:255.255.255.0 inet6 addr: fe80::6c1d:ebff:feeb:8f69/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:37 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) The MAC of mlan0 is stored in non-volatile memory and is a fixed value. On the other hand, the uap0's MAC is not. The uap0's MAC is a local address (G/L bit is 1). I tried the following. vi /lib/firmware/nxp/init_cfg.conf # add mac_addr=uap0: 6C:1D:EB:EB:8E:70 modprobe moal cfg80211_wext=0xf wfd_name=p2p max_vir_bss=1 cal_data_cfg=none drv_mode=7 ps_mode=1 auto_ds=1 host_mlme=1 fw_name=nxp/sdiouart8987_combo_v0.bin init_cfg=nxp/init_cfg.conf ifconfig -a mlan0 Link encap:Ethernet HWaddr 6C:1D:EB:EB:8E:69 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) uap0 Link encap:Ethernet HWaddr 6C:1D:EB:EB:8E:70 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) The MAC of uap0 has changed. However, this is not written to non-volatile memory. It is possible to make it permanent by applying init_cfg.conf every time the board boots. I feel that there is no problem if the MAC of uap0 is left as a local address (G/L bit is 1). That's what I understood. thank you very much. Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Dear @masakiyo  Module makers program one MAC address in non volatile memory during module production (this MAC address cannot be updated by the customers). Then the 88W8987 SW derives several MAC addresses, one for each interface. See below traces with an i.MX8+Jody-W2 module (Linux 6.1.36 BSP): root@imx8mqevk:~# modprobe moal cfg80211_wext=0xf wfd_name=p2p max_vir_bss=1 cal_data_cfg=none drv_mode=7 ps_mode=1 auto_ds=1 host_mlme=1 fw_name=nxp/sdiouart8987_combo_v0.bin [ 76.933254] mlan: loading out-of-tree module taints kernel. [ 76.961681] wlan: Loading MWLAN driver [ 76.965822] wlan: Register to Bus Driver... [ 76.970228] vendor=0x02DF device=0x9149 class=0 function=1 [ 76.975806] Attach moal handle ops, card interface type: 0x105 [ 76.981663] rps set to 0 from module param [ 76.985773] No module param cfg file specified [ 76.990235] SDIO: max_segs=128 max_seg_size=65535 [ 76.994963] rx_work=1 cpu_num=4 [ 76.998131] Attach mlan adapter operations.card_type is 0x105. [ 77.004356] wlan: Enable TX SG mode [ 77.007987] wlan: Enable RX SG mode [ 77.014516] Request firmware: nxp/sdiouart8987_combo_v0.bin [ 77.268117] Wlan: FW download over, firmwarelen=617588 downloaded 617588 [ 78.138962] WLAN FW is active [ 78.141944] on_time is 78139617698 [ 78.196858] FW country code WW does not match with US [ 78.202151] fw_cap_info=0x181d7f03, dev_cap_mask=0xffffffff [ 78.207760] max_p2p_conn = 8, max_sta_conn = 8 [ 78.226162] Register NXP 802.11 Adapter mlan0 [ 78.233628] Register NXP 802.11 Adapter uap0 [ 78.242699] Register NXP 802.11 Adapter p2p0 [ 78.247146] wlan: version = SD8987----16.92.21.p99.2-MM6X16408.p2-GPL-(FP92) [ 78.255965] wlan: Register to Bus Driver Done [ 78.260657] wlan: Driver loaded successfully root@imx8mqevk:~# ifconfig -a eth0: flags=4099 mtu 1500 ether 00:04:9f:06:32:d2 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 124 bytes 9760 (9.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 124 bytes 9760 (9.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 mlan0: flags=4098 mtu 1500 ether cc:f9:57:e0:7b:0d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 p2p0: flags=4098 mtu 1500 ether ce:f9:57:e0:7b:0d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 uap0: flags=4098 mtu 1500 ether ce:f9:57:e0:7c:0d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 You can see that we have 3 different MAC addresses: mlan0: ether cc:f9:57:e0:7b:0d p2p0: ether ce:f9:57:e0:7b:0d uap0: ether ce:f9:57:e0:7c:0d Regards, Olivier Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Thank you for your reply. The answer is 1. I am using a JODY-W263-A module including NXP 88w8987. https://www.u-blox.com/en/product/jody-w2-series The mlan0's MAC address is programmed into EEPROM, but uap0's is not. I haven't tried the method using init_cfg.conf, so I'll try it. Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Dear @masakiyo  On my side, these 2 methods are working, but they are not reboot persistent 1/ Using mac_addr driver param (mac_addr=ee:2e:98:f6:ff:4c) 2/ Using init_cfg driver param (init_cfg=init_cfg.conf) root@imx8mmevk:~# cat /lib/firmware/init_cfg.conf --------------------------- # File : init_cfg.conf # MAC address (interface: address) mac_addr=mlan0: 00:50:43:20:12:34 mac_addr=uap0: 00:50:43:20:12:35 The only way to have reboot persistent MAC addresses is to program them in OTP or EEPROM. This is what module makers do. Regards, Olivier Re: How to change mac address of wi-fi access point (uap0) on NXP 88W8987 Dear @masakiyo  Are you using: 1/ a module including NXP 88W8987 chipset (if yes, please provide module vendor/model) ? 2/ or a 88W8987 chipset on custoer board ? Regards, Olivier
查看全文
yocto build issue WSL and ubuntu I I am doing yocto build in WSL environment. However, it is no longer proceeding in nodejs compile. I've been waiting for it to end, but only the build time is being updated. nodejs-18.16.0-r0 do_compile - 1h20m27s (pid 187) i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: yocto build issue WSL and ubuntu Hi @sutton_kim,  Thank you for your reply. I reviewed your error logs, and I identified the following error: collect2: fatal error: ld terminated with signal 9 [Killed] This is an error related to memory space. You can try to increase the SWAP memory to at least 8GB, and the /home space disk. Best regards, Brian. Re: yocto build issue WSL and ubuntu Hi HEXER Was your issue also a nodejs compile issue? Re: yocto build issue WSL and ubuntu I am using wsl2 ubuntu 20.04. i also have struggled in wsl 2 for compiling yocto build. %95 of times, it was related to low RAM issue. Ram usage peaks and gives unrelated errors. Create .wslconfig file in C:\Users\ and add those lines: [wsl2] memory=5GB Dont do anything while compilation, compile tasks seperately and compile easy tasks first. This is my experience. Best regards. Re: yocto build issue WSL and ubuntu Hi prakashram72 My disk has more than 50G and also has more than 4G RAM. my imx8 board  nodejs version is 18.16.0 I already tried bitbake nodejs -c cleanall. but it hasn't been solved.  And I tried various methods as below, but it was not solved. 1. BB_NUMBER_THREADS = "2" PARALLEL_MAKE = "-j 2"add build/conf/local.conf   2. nice -n 19 ionice -c 3 bitbake nodejs   BestRegards   Re: yocto build issue WSL and ubuntu Hi Brian my ubuntu version is 20.4 below is error log  | collect2: fatal error: ld terminated with signal 9 [Killed] | compilation terminated. | make[1]: *** [node.target.mk:218: Release/node] Error 1 | make[1]: *** Waiting for unfinished jobs.... | rm bfc4ab6848d78126dd96ea1cc2909493619e2620.intermediate 001fef872bcdd412983a45d8751148446514e391.intermediate 0ecc6719bf1f9373e09aab7ca8e249bc65708f7b.intermediate 27f057ffd656a5a48c99be9d693d885fa74e6838.intermediate f0a82c14c8271d9ee3baddfc8f0b6dbcd3b7256d.intermediate b3fe029693590b3f84422b3d42e7496dcc1c55c5.intermediate | make: *** [Makefile:134: node] Error 2 | WARNING: /home/sukim/kasan/build.imx8/tmp/work/aarch64-elina-linux/nodejs/18.16.0-r0/temp/run.do_compile.1063:1 exit 1 from 'exit 1' | ERROR: Task (/home/sukim/kasan/meta/project/meta-cx/recipes-devtools/nodejs/nodejs_18.16.0.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 1235 tasks of which 162 didn't need to be rerun and 1 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 3 seconds NOTE: Build completion summary: NOTE: do_populate_sysroot: 29.1% sstate reuse(34 setscene, 83 scratch) NOTE: do_deploy_source_date_epoch: 33.1% sstate reuse(41 setscene, 83 scratch) NOTE: do_package: 0.0% sstate reuse(0 setscene, 39 scratch) NOTE: do_packagedata: 100.0% sstate reuse(39 setscene, 0 scratch) NOTE: do_package_write_rpm: 100.0% sstate reuse(39 setscene, 0 scratch) NOTE: do_populate_lic: 100.0% sstate reuse(1 setscene, 0 scratch) Summary: 1 task failed: /home/sukim/kasan/meta/project/meta-cx/recipes-devtools/nodejs/nodejs_18.16.0.bb:do_compile Summary: There were 45 WARNING messages shown. Summary: There were 2 ERROR messages shown, returning a non-zero exit code. also below run.do_compile log error part -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now -fstack-protector-strong -Wl,-z,relro,-z,now'     AR.host='aarch64-elina-linux-gcc-ar'         builddir_name=./  "$@" }   die() {         bbfatal_log "$*" }   bbfatal_log() {         if [ -p /home/sukim/kasan/build.imx8/tmp/work/aarch64-elina-linux/nodejs/18.16.0-r0/temp/fifo.32044 ] ; then                 printf "%b\0" "bbfatal_log $*" > /home/sukim/kasan/build.imx8/tmp/work/aarch64-elina-linux/nodejs/18.16.0-r0/temp/fifo.32044         else                 echo "ERROR: $*"         fi         exit 1 }   Best Regards Re: yocto build issue WSL and ubuntu Hi @sutton_kim,  Could you please share your error logs produced by Yocto? Also, based on the i.MX Yocto Project User's Guide it is recommended to use Ubuntu environment. "The recommended minimum Ubuntu version is 20.04 or later." Have a great day! Best regards, Brian. Re: yocto build issue WSL and ubuntu Hi @sutton_kim , It seems like you're experiencing a hang during the nodejs compile step of your Yocto build in a Windows Subsystem for Linux (WSL) environment. This can be due to a number of reasons, but a common one is a lack of system resources, particularly memory. Firstly, ensure that your system meets the minimum requirements for a Yocto build. According to the Yocto Project Quick Start guide, you should have at least 50 Gbytes of free disk space and 4 Gbytes of RAM. If you're running other heavy applications concurrently, consider closing them to free up resources. If system resources are not the issue, it's possible that there's a problem with the specific version of nodejs you're trying to compile. You could try switching to a different version to see if the problem persists. Another potential issue could be the WSL environment itself. While WSL has made great strides in compatibility, it's not 100% equivalent to a native Linux environment. If possible, you might want to try your build in a native Linux environment to see if the problem persists. Finally, you could try cleaning your build environment with the command 'bitbake -c cleanall nodejs' and then reattempt the build. For more detailed troubleshooting, you might find the following resources helpful: Yocto build fails on ubuntu 18.04 WSL Yocto Project Build Host Setup Yocto Project Quick Start Regards, Prakash
查看全文
S32K116 EVB2 schematics Hi, I'm not able to find schematics for S32K116EVB2-Q048 I can only find sch for S32K116EVB-Q048. Can someone help me on this? Thanks in advance. Re: S32K116 EVB2 schematics Hello, I also would need this schematic and is there also a Layout available? Best Jonas Re: S32K116 EVB2 schematics Hello, I am unable to find schematics for S32K116-EVB0048. Can someone please share the link here? Thank you. Re: S32K116 EVB2 schematics  Can you share the S32K116 EVB2 schematics ? Re: S32K116 EVB2 schematics Hi@francoisdugue I sent you a private message, please check the attachment. BR!      Jim,
查看全文
Crypto_43_HSE wrong configuration export Hello, I am using Crypto_43_HSE RTD driver v5.0.0. I configured the driver in EB Tresos and then I executed the exporter to generate the .arxml file to import it into an external tool (DaVinci configurator) However, it seems that there's something wrong in the way the generator creates the export file. More specifically, the parameter HseKeyCatalogGroupRef is defined  in the exported ARXML to have upper multiplicity = lower multiplicity = 1, so it means that this parameter must be always filled in. However there are cases in which this cannot happen. For example, when I define the KeyElements SHE Mac Proof and SHE Cipher Proof with KeyElementId=2 and 6 respectively, I do not select the 'Use Hse Key' option because those must not be linked to an HSE key slot , and thus the HseKeyCatalogGroupRef remains empty (and gives me a warning)  So, since there's this case in which the HseKeyCatalogGroupRef can be empty, I think it's wrong for the exporter to generate the parameter with multiplicity = (1,1) essentially forcing that parameter to always be defined. In fact, when I import the configuration through the .arxml file in the DaVinci Configurator, the tool complains about the HseKeyCatalogGroupRef parameter even though it can only be empty for the reasons I explained above. Kind regards, Re: Crypto_43_HSE wrong configuration export Hello, I can tell that the issue seems not to be solved yet. Analyzing, for example, the file Crypto_43_HSE_s32k312_hdqfp100.epd that is bundled with the latest Crypto_43_HSE module, you can see that the parameter has upper multiplicity = lower multiplicity = 1: The DaVinci configurator extracts its definition information from this file, and as I said I am forced to have it configured. Re: Crypto_43_HSE wrong configuration export Hi @strofald  I'm sorry for delayed response. I just received following feedback: "The development team has confirmed that in the latest codebase, the multiplicity for HseKeyCatalogGroupRef is correctly configured to allow it to be optional. This means  multiplicity valid, and allowing the field to be left empty when not applicable. " "In crypto configuration there is no multiplicity added to HseKeyCatalogGroupRef, and tool itself is adding lower and upper multiplicity to one by default." Regards, Lukas Re: Crypto_43_HSE wrong configuration export Hi @strofald  I'm sorry for delayed response. I have asked SW team about this, I will let you know their feedback later. Thanks for patience. Regards, Lukas
查看全文
RT1170: グレースケールまたはRAW画像センサでMIPI-CSIを使用する 皆様、 このフォーラムの別のトピックによると、RT1170 の MIPI-CSI2 ペリフェラルはシリコンのバグのため、グレースケールおよび RAW 画像センサをサポートしていません。これは、コンピューター ビジョン アプリケーションなどで MCU を使用する人にとっては大きな問題であるため、このトピックで可能な回避策や解決策について議論すると良いでしょう。 具体的には、NXP の担当者から以下の質問についてコメントをいただけないでしょうか。 RT1170 でグレースケール/RAW8 センサを動作させるための回避策やハックはありますか?追加のハードウェアやソフトウェアのトリックを使用することでも可能でしょうか? このバグはシリコンのFUTUREリビジョンで修正される予定ですか? もし修正されるなら、更新された RT1170 MCU がいつ利用可能になるか、大まかなスケジュールはありますか? もう一度、この問題がいかに深刻であるかを強調したいと思います。これは単なる「不便」ではなく、MCU がコンピューター ビジョンの多くのアプリケーションで使用できなくなることを意味します。本来であれば、MCU はこれらのアプリケーションに最適であるはずです。NXP さん、この問題を適切な重要性を持って扱ってください。 他にも何かヒントや提案があれば、ぜひ聞かせてください!この問題の解決策が見つからない限り、私が取り組んでいる製品は失敗に終わります。 ベスト、マイケル Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors   こんにちは、Michael-partheiさん、 この「嘘」のトリックはうまくいきましたか? Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors RGB モードは動作していますか? Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors こんにちは@michael_parthei MIPI CSI-2 を使用して RAW8 データをキャプチャできましたか?そうでない場合、回避策は見つかりましたか? よろしくお願いいたします。 Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors 親愛なる@kerryzhou様、 MIPI-CSI2 が 14 ビットの生データをサポートするのを妨げていたビデオ MUX バグが、iMXRT1170 で修正されたかどうか教えていただけますか? 親切なフィードバックをお待ちしております。よろしくお願いいたします。 よろしくお願いいたします。 シャイ Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors こんにちは、nxp! この問題に関する最新情報はありますか? rt1176 を使用しており、14 ビットの生データのサポートが必要です。 カメラはRAW形式のみをサポート 回避策は?新しいシリコンリビジョンで修正されますか? Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors こんにちは、 michael_partheiさん、 どういたしまして。 1.あなたのアイデアについては、CAN使用できると思います。RGB モードを使用して生データを受信し、それを表示してみて、結果が正常かどうかに関係なく、最初にテストして、考えを確認することができます。 2. 8ビットグレースケール/RAWイメージセンサについてですが、申し訳ありませんが、前回はこのタイプの変換センサを使用していませんでした。RT1170には既にCSIインターフェース(パラレルインターフェース)が搭載されており、MIPI_CSI2ではありません。 お役に立てれば幸いです! よろしくお願いいたします。 kerry Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors ケリーさん、助けてくれてありがとう!以下の解決策についてご意見をいただければ幸いです。 解像度について「嘘」をついて、8 ビット RAW カメラ センサを備えた RGB モードで MIPI CSI ペリフェラルを使用することは機能しますか?たとえば、カメラ センサが 640 x 480 で 8 ビットのグレースケール値を持っているとします。MCU 上の MIPI CSI ペリフェラルを、320x480 解像度の RGB565 (つまり、ピクセルあたり 2 バイト) を使用するように構成することはできますか?結局、フレームごとに送信されるデータ量は同じになり (実際には、画像行ごとに同じ量になります)、MIPI CSI ペリフェラルではそのデータの解釈をあまり気にする必要はないと言えます。このアプローチは機能するでしょうか、それとも何か見落としているのでしょうか? RT1170 のカメラパラレルインターフェースは、8 ビットグレースケール/RAW イメージセンサをサポートしていますか?STMIPID02 のような専用の MIPI CSI からパラレルへのコンバーター IC を使用した経験はありますか?このようなブリッジとして機能し、RT1170 で動作することが確認されている他のチップをお勧めいただけますか? ベスト、マイケル Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors こんにちは、 michael_partheiさん 新しい質問を投稿していただきありがとうございます。 今日は、それを社内で再度確認するお手伝いをさせていただきます。 RT1170 はビデオ MUX バグのため、MIPI-CSI2 は生データをサポートできず、現時点では回避策はありません。 お客様が生データ方法を使用したい場合は、 mipi-csi の代わりにパラレル CSI インターフェースを使用できます。 今のところ、RT1170 にはまだ修正計画がありませんが、次の RT バージョンでは修正される可能性があります。 ところで、NXPについて製品を設計するときに、これらの問題に遭遇したことがありますか? はい、そうであれば、NXPについてと製品情報を使用してアカウントを作成し、NXP の内部CASEを作成することをお勧めします。その後、私が内部で報告するのを手伝います。この投稿では、3 番目の部分の電子メールを使用するだけです。 CASE作成プロセス: 1. 以下のサポートサイトを開き、中央の青い「チケットへ移動」をクリックします。 http://www.nxp.com/support/support:SUPPORTHOME 2. 次にログインを求められます。アカウントがない場合は、まずビジネス用メールで登録してください。 3. ログイン後、中央の「新しいCASEを作成」ボタンをクリックして、質問を送信してください。 ご注意ください、NXPについてメールをご利用ください。 よろしくお願いいたします。 kerry Re: RT1170: Using MIPI-CSI with grayscale or raw image sensors マイケル、 私もこの NXP MCU RT1170 に興味があり、AR1335 をこれと一緒に使用できるソリューションがあることを期待しています。 皆さん、希望はありますか?
查看全文
if s32k support openOCD Hello guys, I wanna know if S32K series(such as S32K144 & S32K344) support openOCD. If is supported, where could I find cfg files for these S32K? Re: if s32k support openOCD the s32k144 in my board, maybe you can use "s32k.cfg" ? my openocd version is "Open On-Chip Debugger 0.12.0+dev-snapshot (2025-07-16-14:15)" Re: if s32k support openOCD Hi @rtzeropti  On the OpenOCD website, there is no information about official support of S32K devices.  The OpenOCD community would be the best place to ask for support. B.R. VaneB Re: if s32k support openOCD I have the same question,how to support CMSIS-DAP debuger?
查看全文
1つのArduinoに2つのMPR121センサを搭載 -> シリアル通信 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 2つの(0x5A、0x5B)アドレスを接続しようとしています。 コードとデータシートには、addr ピンを (デフォルト、3.3 V) に接続するだけで通信が可能になると記載されています。 Arduino は他のセンサを認識しますが、一度に 2 つのタッチ センサを読み取ることはできません。i=0 ~ 11 とだけ表示されます i=12~23 を実行するにはどうすればよいですか? コード内で 2 つのセンサを区別するにはどうすればよいでしょうか? mpr121 センサ同士で通信することは可能ですか? 1 つの Arduino に 2 つのセンサを接続する方法を本当に知りたいです。 配線を確認するためにi2cスキャナも試しました 奇妙なことに、シリアル モニターは 1 つのセンサしか表示しません。 これが私のコードです 区別するために最初に何か定義を追加する必要がありますか? または ループを変更する のために{ } できるだけ早く教えてくださいX( ------------------------------------------------------------------------------------------------------------------------------------ #include "SoftwareSerial.h" //#define defaultPatch 15 //악기 초기화 버튼 설정 악기번호 ソフトウェアシリアル mySerial(2, 3); //SW の機能 D3 MIDI 機能、D2 の機能 バイトノート = 0; //MIDI 연주될 ノート(음계) バイトリセットMIDI = 4; // VS1053 リセット バイトledPin = 13; //MIDI 트래픽 표시용 LED #include #include "Adafruit_MPR121.h" #ifndef _BV #define _BV(ビット) (1 << (ビット)) #endif Adafruit_MPR121 キャップ = Adafruit_MPR121(); #MPR121addr 0x5A を定義する #MPR121addr 0x5B を定義する uint16_t 最後にタッチされた = 0; uint16_t currtouched = 0; #include int btn[]={60, 62, 64, 65, 67,69, 71, 72, 74, 76, 77, 79, 81、83、84、86、88、89、91、93、95、96、98、100}; バイト byteData; void セットアップ() { シリアル.begin(9600); mySerial.begin(9600); /* while (!Serial) { // leonardo/micro が高速に起動しないようにするために必要です! 遅延(10); } */ Serial.println("Adafruit MPR121 静電容量式タッチセンサーテスト"); // デフォルトのアドレスは 0x5A です。3.3V に接続されている場合は 0x5B です。 // SDAに接続されている場合は0x5C、SCLに接続されている場合は0x5D if (!cap.begin(0x5A)) { シリアル.println("MPR121-A見つかりません。配線を確認してください。"); (1)の間 } シリアル.println("MPR121-A見つかった!"); // if (!cap.begin(0x5B)) { シリアル.println("MPR121-B見つかりません。配線を確認してください。"); (1)の間 } シリアル.println("MPR121-B見つかった!"); //VS1053をリセットする pinMode(resetMIDI, OUTPUT); digitalWrite(resetMIDI, LOW); 遅延(100); digitalWrite(resetMIDI, HIGH); 遅延(100); } void loop() { currtouched = cap.touched(); (uint8_t i=0; i<12; i++) の場合 { // タッチされたが、以前はタッチされていなかった場合は警告! if ((currenttouched & _BV(i)) && !(lasttouched & _BV(i)) ) { シリアル.print(i);シリアル.println("触れた"); // トーン(0, btn[i],100); noteOn(0, btn[i],100); //tone(ブザーピン、周波数[i]、330); } } (uint8_t i=12; i<24; i++) の場合 { // タッチされたが、以前はタッチされていなかった場合は警告! if ((currenttouched & _BV(i)) && !(lasttouched & _BV(i)) ) { Serial.print(i); Serial.println(" タッチされました"); // トーン(0, btn[i],100); noteOn(0, btn[i],100); //tone(ブザーピン、周波数[i]、330); } } //*************** MIDI ループバック ******************// if(Serial.available()> 0) { byteData = Serial.read(); mySerial.write(バイトデータ); } lasttouched = currtouched; 戻る; } //MIDI ノートオン メッセージを送信します。ピアノの鍵盤を押すように //チャネルの範囲は0~15 void noteOn(バイトチャネル、バイトノート、バイトアタックベロシティ) { talkMIDI( (0x90 | チャネル), ノート, attack_velocity); } //MIDI ノートオフ メッセージを送信します。ピアノの鍵盤を放すように void noteOff(バイトチャネル、バイトノート、バイトリリースベロシティ) { talkMIDI( (0x80 | チャネル), ノート, release_velocity); } //MIDI ノートを再生します。cmd が 127 より大きいか、データ値が 127 より小さいかをチェックしません。 void talkMIDI(バイトコマンド、バイトデータ1、バイトデータ2) { digitalWrite(ledPin, HIGH); mySerial.write(コマンド); mySerial.write(データ1); // 一部のコマンドにはデータ バイトが 1 つしかありません。0xBn未満のすべてのコマンドは2つのデータバイトを持ちます //(ある意味: http://253.ccarh.org/handout/midiprotocol/) if( (コマンド & 0xF0) <= 0xB0) mySerial.write(data2); digitalWrite(ledPin, LOW); } タッチ・センサ Re: 2 mpr121 sensors in one arduino -> serial communication 私は MPR121 を 1 つしか持っていない、SO コードを試すことができませんでしたが、以下のように変更する必要があると思います。 (uint8_t i=0; i<12; i++) の場合 { // タッチされたが、以前はタッチされていなかった場合は警告! if ((currenttouched & _BV(i)) && !(lasttouched & _BV(i)) ) { シリアル.print(i);シリアル.println("触れた"); // トーン(0, btn[i],100); noteOn(0, btn[i],100); //tone(ブザーピン、周波数[i]、330); } } (uint8_t i=0; i<12; i++) の場合 { // タッチされたが、以前はタッチされていなかった場合は警告! if (( currtouched2 & _BV(i)) && !(lasttouched2 & _BV(i)) ) { //センサーがタッチされたら何かする シリアル.print( i+12 );シリアル.println("触れた"); noteOn(0, btn[i],100); } } MPR121 には 12 個の入力があり、_BV(bit) ビット パラメータは常に 0 ~ 12 の範囲である必要があり、 currtouched2を使用して異なる ADDR を選択します。 Lib の 230 行目: https://github.com/adafruit/Adafruit_MPR121/blob/master/Adafruit_MPR121.cpp Re: 2 mpr121 sensors in one arduino -> serial communication 2 つの MPR121 ボードを、アドレス 0x5C と 0x5A で Arduino Uno にコネクテッドしました。ボードは正しく認識されています。ただし、両方のボードを AUTOCONFIG モードに設定する方法と、両方のボード上の各センサの TOUCH および RELEASE しきい値を調整する方法を理解したいと思います。現時点では、これらの設定を行うために .CPP ファイルを使用していますが、0x5a アドレス ボードでのみ機能するようです。ありがとう! Re: 2 mpr121 sensors in one arduino -> serial communication <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ジンさん 4 つの MPR121 センサすべてを同じ I2Cバスに接続できたと聞いてうれしく思います。 現在の質問についてはよく分かりませんが、現在通信しているセンサのアドレスに応じて、ソフトウェアで簡単に実行できると思います。 よろしくお願いいたします。 トーマス Re: 2 mpr121 sensors in one arduino -> serial communication <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ヴァチェルカ氏 SO ありがとうございます!! 接続が可能とのことで安心しました。 ご親切なご返信のおかげで、mpr121センサ4個全てを接続することができました!! 私が直面している最後の問題は、「タッチボタンの数を最大 24 個まで拡張する」ことです。 各タッチセンサは 0 から 11 までの値を返します。 0-11、12-23、24-35、36-47 にするにはどうすればいいですか? ----------------------------------------------------------------------------------------------------------------------------------------------------- #include "SoftwareSerial.h" //#define defaultPatch 15 //악기 초기화 버튼 설정 악기번호 ソフトウェアシリアル mySerial(2, 3); //SW の機能 D3 MIDI 機能、D2 の機能 バイトノート = 0; //MIDI 연주될 ノート(음계) バイトリセットMIDI = 4; // VS1053 リセット バイトledPin = 13; //MIDI 트래픽 표시용 LED #include #include "Adafruit_MPR121.h" #ifndef _BV #define _BV(ビット) (1 << (ビット)) #endif // 1 つの I2Cバス に最大 4 つまで接続できますが、テストには 1 つで十分です。 Adafruit_MPR121 キャップ = Adafruit_MPR121(); Adafruit_MPR121 cap2 = Adafruit_MPR121(); Adafruit_MPR121 cap3 = Adafruit_MPR121(); Adafruit_MPR121 cap4 = Adafruit_MPR121(); // 最後にタッチされたピンを追跡します // SO ボタンが「放された」ことが分かる uint16_t 最後にタッチされた = 0; uint16_t currtouched = 0; uint16_t lasttouched2 = 0; uint16_t currtouched2 = 0; uint16_t lasttouched3 = 0; uint16_t currtouched3 = 0; uint16_t lasttouched4 = 0; uint16_t currtouched4 = 0; int btn[]={21, 23, 24, 26, 28, 29, 31, 33, 35, 36, 38, 40, 41、43、45、47、48、50、52、53、55、57、59、60、 62、64、65、67、69、71、72、74、76、77、79、81、 83、84、86、88、89、91、93、95、96、98、100、101}; バイト byteData; void セットアップ() { シリアル.begin(9600); mySerial.begin(9600); while (!Serial) { // leonardo/micro が高速に起動しないようにするために必要です。 遅延(10); } Serial.println("Adafruit MPR121 静電容量式タッチセンサテスト"); // デフォルトのアドレスは 0x5A です。3.3V に接続されている場合は 0x5B です。 // SDAに接続されている場合は0x5C、SCLに接続されている場合は0x5D if (!cap.begin(0x5A)) { シリアル.println("MPR121-A見つかりません。配線を確認してください。"); (1)の間 } シリアル.println("MPR121-A見つかった!"); // もし(!cap2.begin(0x5B)){ シリアル.println("MPR121-B見つかりません。配線を確認してください。"); (1)の間 } シリアル.println("MPR121-B見つかった!"); // if (!cap3.begin(0x5C)){ シリアル.println("MPR121-C見つかりません。配線を確認してください。"); (1)の間 } シリアル.println("MPR121-C見つかった!"); // もし(!cap4.begin(0x5D)){ シリアル.println("MPR121-D見つかりません。配線を確認してください。"); (1)の間 } シリアル.println("MPR121-D見つかった!"); //VS1053をリセットする pinMode(resetMIDI, OUTPUT); digitalWrite(resetMIDI, LOW); 遅延(100); digitalWrite(resetMIDI, HIGH); 遅延(100); // これはループ内にあるので、ボードをホットプラグできます // ホットプラグインが必要ない場合は、setup() に配置できます。 キャップの開始(0x5A); cap2.begin(0x5B); cap3.begin(0x5C); cap4.begin(0x5D); } void loop() { // 現在タッチされているパッドを取得します currtouched = cap.touched(); currtouched2 = cap2.touched(); currtouched3 = cap3.touched(); currtouched4 = cap4.touched(); (uint8_t i=0; i<48; i++) の場合 { // タッチされたが、以前はタッチされていなかった場合は警告! if ((currenttouched & _BV(i)) && !(lasttouched & _BV(i)) ) { Serial.print(i); Serial.println(" タッチされました"); // トーン(0, btn[i],100); noteOn(0, btn[i],100); //tone(ブザーピン、周波数[i]、330); } //2/////////////////////////////////////////////////// if ((currtouched2 & _BV(i)) && !(lasttouched2 & _BV(i)) ) { //センサがタッチされたら何かする Serial.print(i); Serial.println(" タッチされました"); noteOn(0, btn[i],100); } //3/////////////////////////////////////////////////// if ((currtouched3 & _BV(i)) && !(lasttouched3 & _BV(i)) ) { //センサがタッチされたら何かする Serial.print(i); Serial.println(" タッチされました"); noteOn(0, btn[i],100); } //4/////////////////////////////////////////////////// if ((currtouched4 & _BV(i)) && !(lasttouched4 & _BV(i)) ) { //センサがタッチされたら何かする Serial.print(i); Serial.println(" タッチされました"); noteOn(0, btn[i],100); } } // 状態をリセットする lasttouched = currtouched; 最後にタッチした2 = 現在タッチした2; lasttouched3 = currtouched3; 最後にタッチした4 = 現在タッチした4; 戻る; //*************** MIDI ループバック ******************// if(Serial.available()> 0) { byteData = Serial.read(); mySerial.write(バイトデータ); } } //MIDI ノートオン メッセージを送信します。ピアノの鍵盤を押すように //チャネルの範囲は0~15 void noteOn(バイトチャネル、バイトノート、バイトアタックベロシティ) { talkMIDI( (0x90 | チャネル), ノート, attack_velocity); } //MIDI ノートオフ メッセージを送信します。ピアノの鍵盤を放すように void noteOff(バイトチャネル、バイトノート、バイトリリースベロシティ) { talkMIDI( (0x80 | チャネル), ノート, release_velocity); } //MIDI ノートを再生します。cmd が 127 より大きいか、データ値が 127 より小さいかをチェックしません。 void talkMIDI(バイトコマンド、バイトデータ1、バイトデータ2) { digitalWrite(ledPin, HIGH); mySerial.write(コマンド); mySerial.write(データ1); // 一部のコマンドにはデータ バイトが 1 つしかありません。0xBn未満のすべてのコマンドは2つのデータバイトを持ちます //(ある意味: http://253.ccarh.org/handout/midiprotocol/) if( (コマンド & 0xF0) <= 0xB0) mySerial.write(data2); digitalWrite(ledPin, LOW); }   Re: 2 mpr121 sensors in one arduino -> serial communication <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ジンさん はい、同じ I2Cバス 上の 2 つの MPR121 センサ と通信して、タッチ ボタンの数を最大 24 個まで拡張できます。 実際には、ADDR ピンの接続に応じて、MPR121 に 4 つの I2C アドレスを割り当てCANます。   たとえば、1 つの MPR121 スレーブは、ADDR=VDD の場合に 7 ビットの I2C アドレス 0x5A (書き込みの場合は 0xB4、読み取りの場合は 0xB5 に変換されます) を持ち、もう 1 つの MPR121 スレーブは ADDR=GND の場合に 0x5B (書き込みの場合は 0xB6、読み取りの場合は 0xB7 に変換されます) を持ちます。 お役に立てれば幸いです! よろしくお願いいたします。 トーマス
查看全文
如何在 NTAG424 DNA 中启用 CMAC、UID、COUNTER 和 RAND? 我试图使用最新的 Android SDK 库来设置基于 AES 密钥的动态 URL,但我无法做到。 nxpnfcandroidlib-release-protected.aar 这是我的代码 override fun onNewIntent(intent: Intent) { Log.i("NFC", "Intent action: ${intent.action}") super.onNewIntent(intent) Log.i("MainActivity", "NFC tag discovered") val cardType = libInstance.getCardType(intent) Log.i("MainActivity", "Detected card type: $cardType") if (cardType == CardType.NTAG424DNA) { val ntag424DNA: INTAG424DNA = DESFireFactory.getInstance().getNTAG424DNA(libInstance.customModules) val reader: IReader = ntag424DNA.reader try { if (!reader.isConnected) { reader.connect() } ntag424DNA.isoSelectApplicationByDFName(NTAG424DNA_APP_NAME) Log.i("NFC", "ISO selected app by DF Name ✅") authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) creatingNDEFmessage(ntag424DNA) authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) changeFileSettings(ntag424DNA, 0x01) authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) ntag424DNA.setPICCConfiguration(true) Log.i("MainActivity", "✅ PICC Configuration updated to enable SDM globally.") authenticateTag(ntag424DNA, KEY_AES128_DEFAULT) changeSDMFileSettings(ntag424DNA, 0x01) if (reader.isConnected) { reader.close() } } catch (e: Exception) { e.printStackTrace() } } } private fun creatingNDEFmessage(ntag424DNA: INTAG424DNA) { // 1. Creating URI NDEF message val msg = NdefMessageWrapper( NdefRecordWrapper( NdefRecordWrapper.TNF_ABSOLUTE_URI, "https://domain.com?uid=04BB38D2AA1191&ctr=0001&cmac=3ab665b76b795cb9bf76a17956cc9fb3&rand=422def08-8a1c-49c9-9138-434cde858faa".toByteArray( Charset.forName("US-ASCII") ), ByteArray(0), ByteArray(0) ) ) ntag424DNA.writeNDEF(msg); Log.i("MainActivity", "URI NDEF message written successful ✅") val ndefRead = ntag424DNA.readNDEF() Log.i("MainActivity", "Read URI NDEF message ${CustomModules.getUtility().dumpBytes(ndefRead.toByteArray())}") } private fun changeFileSettings(ntag424DNA: INTAG424DNA, fileNumber: Int) { // 3. Create NTAG 424 DNA file settings for E104 val fileSettings = NTAG424DNAFileSettings( MFPCard.CommunicationMode.Encrypted, // = 0x03 = Full ENC + CMAC (SUN) 0x0E.toByte(), // Read access = key slot 0x00 maybe 0x01 0x0E.toByte(), // Write access = always 0x0E.toByte(), // RW access = always 0x0E.toByte() // Change access = always ) Log.i("MainActivity", "Prepare for saving changes in file $fileNumber") ntag424DNA.changeFileSettings(fileNumber, fileSettings) Log.i("NFC", "🔐 File settings updated $fileNumber") } private fun changeSDMFileSettings(ntag424DNA: INTAG424DNA, fileNumber: Int) { val fileSettings = ntag424DNA.getFileSettings(fileNumber); fileSettings.isSDMEnabled = true; fileSettings.isUIDMirroringEnabled = true; fileSettings.piccDataOffset = intTo2ByteArray(51) fileSettings.sdmMacOffset = intTo2ByteArray(51) fileSettings.sdmMacInputOffset = intTo2ByteArray(51) fileSettings.sdmReadCounterOffset = intTo2ByteArray(51) fileSettings.uidOffset = intTo2ByteArray(51) fileSettings.sdmAccessRights = byteArrayOf(0x00, 0x00) Log.i("MainActivity", "Prepare for saving SDM changes in file $fileNumber") ntag424DNA.changeFileSettings(fileNumber, fileSettings) Log.i("NFC", "🔐 File settings updated: SUN CMAC enabled on $fileNumber") } private fun intTo2ByteArray(value: Int): ByteArray { return byteArrayOf( ((value shr 😎 and 0xFF).toByte(), (value and 0xFF).toByte() ) } 我知道偏移量与 URL 中的位置不匹配,但无论我做了什么更改,都还是会出现这个错误。看起来,由于某些原因,这些设置无法通过这种方法保存。 ntag424DNA.changeFileSettings(fileNumber, fileSettings) 错误信息如下 com.nxp.nfclib.exceptions.UsageException: Invalid Parameters! {Invalid Value for PICC Offset} 代码示例 Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 问题是由于错误的偏移值造成的。看来 ntag 保留了 21 个默认索引。现在,我们正试图更改 128 aes 密钥,但 changekey() 函数不起作用。 @UKCAS Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 嘿, 我正在关注这个话题来安装 JSON 数据,但它对我不起作用。这是我第一次与硬件打交道,因此工作更具挑战性。我使用的是恩智浦 Android 库和这里的示例 Android 应用程序: https://www.nxp.com/design/design-center/software/rfid-developer-resources/taplinx-software-development-kit-sdk:TAPLINX 以下是我在 Sample_Application_Android/src/main/java/com/nxp/sampletaplinx/WriteActivity.java 中的代码 public static byte[] intTo2ByteArray(int value) { return new byte[] { (byte) (value & 0xFF), // LSB (byte) ((value >> 8) & 0xFF), // middle byte (byte) ((value >> 16) & 0xFF) // MSB }; } private void tag424DNACardLogic(INTAG424DNA ntag424DNA) { byte[] KEY_AES128_DEFAULT = new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, }; byte[] NTAG424DNA_APP_NAME = {(byte) 0xD2, (byte) 0x76, 0x00, 0x00, (byte) 0x85, 0x01, 0x01}; byte[] data ={ 0x73, 0x75, 0x73, 0x68, 0x69, 0x6C }; mStringBuilder.append("\n\n"); int timeOut = 2000; try { ntag424DNA.isoSelectApplicationByDFName(NTAG424DNA_APP_NAME); KeyData aesKeyData = new KeyData(); Key keyDefault = new SecretKeySpec(KEY_AES128_DEFAULT, "AES"); aesKeyData.setKey(keyDefault); ntag424DNA.authenticateEV2First(0, aesKeyData, null); mStringBuilder.append(getString(R.string.Authentication_status_true)); mStringBuilder.append("\n\n"); ntag424DNA.setPICCConfiguration(true); String jsonTemplate = "{\"uuid\":\"00000000000000\",\"counter\":\"000000\",\"cmac\":\"0000000000000000\",\"domain1\":" + 1 + ",\"domain2\":" + 1 + "}"; byte[] jsonBytes = jsonTemplate.getBytes("UTF-8"); NTAG424DNAFileSettings fs = new NTAG424DNAFileSettings( CommunicationMode.Plain, // or MAC/ENC depending on your security (byte) 0x0E, // Read access: Key 0 (byte) 0x0E, // Write access: Key 0 (byte) 0x0E, // Read/Write: Key 0 (byte) 0x00 // Change access: Free ); byte[] type = "U".getBytes("US-ASCII"); fs.setSDMEnabled(true); fs.setUIDMirroringEnabled(true); fs.setSDMReadCounterEnabled(true); byte[] bytes = new byte[] { (byte)0xE0, (byte)0x00, (byte)0x00 }; fs.setSdmAccessRights(bytes); byte[] uuidOffset = intTo2ByteArray(8); fs.setUidOffset(uuidOffset); byte[] readCounterOffset = intTo2ByteArray(35); fs.setSdmReadCounterOffset(readCounterOffset); byte[] macOffset = intTo2ByteArray(51); fs.setSdmMacInputOffset(uuidOffset); fs.setSdmMacOffset(macOffset); ntag424DNA.changeFileSettings(FILE_NUMBER, fs); // Create NDEF record NdefRecordWrapper record = new NdefRecordWrapper( NdefRecordWrapper.TNF_WELL_KNOWN, type, new byte[0], // empty ID jsonBytes // payload (your JSON) ); // Wrap record into NDEF message NdefMessageWrapper msg = new NdefMessageWrapper(record); ntag424DNA.writeNDEF(msg); NxpLogUtils.save(); } catch (Exception e) { writeFailedMessage(); mStringBuilder.append(e.getMessage()); Log.i("MainActivity", "URI NDEF message written successful $msg " + e.getMessage() ); showMessage(mStringBuilder.toString(), PRINT); NxpLogUtils.save(); } } 如果有人能帮我解决这个问题,将是莫大的帮助 Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 谢谢您的帮助!你说得对,我的偏移值是错的。这就是我所做的更改,现在我可以保存设置了。 override fun onNewIntent(intent: Intent) { Log.i("NFC", "Intent action: ${intent.action}") super.onNewIntent(intent) Log.i("MainActivity", "NFC tag discovered") val cardType = libInstance.getCardType(intent) Log.i("MainActivity", "Detected card type: $cardType") if (cardType == CardType.NTAG424DNA) { val ntag424DNA: INTAG424DNA = DESFireFactory.getInstance().getNTAG424DNA(libInstance.customModules) val reader: IReader = ntag424DNA.reader try { if (!reader.isConnected) { reader.connect() } ntag424DNA.isoSelectApplicationByDFName(NTAG424DNA_APP_NAME) Log.i("NFC", "ISO selected app by DF Name ✅") authenticateTag(0x00, ntag424DNA, KEY_AES128_DEFAULT) creatingNDEFmessage(ntag424DNA) authenticateTag(0x00, ntag424DNA, KEY_AES128_DEFAULT) changeFileSettings(ntag424DNA, 0x02) if (reader.isConnected) { reader.close() } } catch (e: Exception) { Log.e("MainActivity", e.localizedMessage ?: "No Error Message"); e.printStackTrace() } } } private fun changeFileSettings(ntag424DNA: INTAG424DNA, fileNumber: Int) { // 3. Create NTAG 424 DNA file settings for E104 val fileSettings = NTAG424DNAFileSettings( MFPCard.CommunicationMode.Plain, // = 0x03 = Full ENC + CMAC (SUN) 0x0E.toByte(), // Read access = key slot 0x00 maybe 0x01 0x0E.toByte(), // Write access = always 0x0E.toByte(), // RW access = always 0x00.toByte() // Change access = always ) fileSettings.isSDMEnabled = true fileSettings.isUIDMirroringEnabled = true fileSettings.isSDMReadCounterEnabled = true fileSettings.sdmAccessRights = byteArrayOf(0xfe.toByte(), 0xe1.toByte()) fileSettings.uidOffset = byteArrayOf(0x1A, 0x00, 0x00) fileSettings.sdmReadCounterOffset = byteArrayOf(0x2d, 0x00, 0x00) fileSettings.sdmMacOffset = byteArrayOf(0x39, 0x00, 0x00) fileSettings.sdmMacInputOffset = byteArrayOf(0x39, 0x00, 0x00) Log.i("MainActivity", "Prepare for saving changes in file $fileNumber") ntag424DNA.changeFileSettings(fileNumber, fileSettings) Log.i("MainActivity", "🔐 File settings updated $fileNumber") } private fun creatingNDEFmessage(ntag424DNA: INTAG424DNA) { // 1. Creating URI NDEF message val payload = byteArrayOf(0x04) + "noexample.xxxx?uid=00000000000000&ctr=000000&cmac=0000000000000000".toByteArray() val msg = NdefMessageWrapper( NdefRecordWrapper( NdefRecordWrapper.TNF_WELL_KNOWN, "U".toByteArray(StandardCharsets.US_ASCII), ByteArray(0), payload ) ) ntag424DNA.writeNDEF(msg); Log.i("MainActivity", "URI NDEF message written successful ✅") val ndefRead = ntag424DNA.readNDEF() Log.i("MainActivity", "Read URI NDEF message ${CustomModules.getUtility().dumpBytes(ndefRead.toByteArray())}") } Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 亲爱的洛基2号 请查看 jimmyvhan 提供的文件和数据表。 你们的偏移量重叠了,而数据手册不允许这样做。 考虑您所需的 URL。存放 NFCCounter 的空间太少了,即 3 字节。因此,以下设置适合更正后的 URL。 https://domain.com?uid=04BB38D2AA1191&ctr=000001&cmac=3ab665b76b795cb9bf76a17956cc9fb3&rand=422def08-8a1c-49c9-9138-434cde858faa 您应将这些参数用于 SDM 配置。您还可以决定 CMAC 计算的输入数据。本例以 UIDOffset 为起点。 fileSettings.sdmMacOffset = intTo2ByteArray(53) fileSettings.sdmMacInputOffset = intTo2ByteArray(22) fileSettings.sdmReadCounterOffset = intTo2ByteArray(41) fileSettings.uidOffset = intTo2ByteArray(22) 致以最崇高的敬意 TapLinx 团队 Re: How can i enable CMAC, UID, COUNTER and RAND in NTAG424 DNA? 本文件可能对您有用。 NTAG 424 DNA 和 NTAG 424 DNA TagTamper 功能和提示
查看全文
S32G A53 QNX 上的 PFE 故障     您好,恩智浦专家 我们有一个自定义板要在上面运行 QNX 和 PFE 驱动程序。但我们遇到了以下问题,希望 PFE 专家帮助分析一下。     软件信息: PFE QNX 驱动程序版本:1.8.0 PFE FW 版本: 1.11.0 QNX SDP 版本: 7.1.0 QNX S32G399A 的 电路板支持包 版本:bsp_nxp-s32G-rdb3_br-710_be-710_be-710_svn996606_jbn10   硬件信息: 我们和恩智浦 S32G399ARDB3 EVN 板之间的硬件区别在于,DDR 已更改为 2GB,而且我们已经在 Linux 中对其进行了调整,而且 pfe 以太网驱动程序是正常的。 变化如下:           1。images/s32g399a-rdb.版本 文件中的更改,   2。src\ hardware\ startup\ 板\ s32g\ s32g399a-rdb\ s32g_init_raminfo.c 中的变化文件:     3.其他无关紧要的变化,与 PFE 驱动程序无关。       我的测试命令是: # slog2info -c # slog2info -w& # io-pkt-v6-hc-p tcpip pkt_typed_mem=pfe_ddr-d /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/boot/devnp-boot/boot=/proc/boot/devnp-boot-2.so class_fw=/proc/boot/devnp-boot/boot=/proc/boot/devnp-boot=/   但是,运行后出现了错误信息。日志在此。 -------------------Appendix------------------     注意:在 SCMI 代理 RESET 命令期间发现已启用的时钟列表: 注意:linflex_lin 注意: usdhc_core board_smp_num_cpu: 8 个内核 MMU:16 位 ASID 40 位 PA TCR_EL1=b5183519 ARM GIC-500 r1p1,已检测到 arch v3.0 board_smp_num_cpu: 8 个内核 board_smp_num_cpu: 8 个内核 无 SPI 内部信息。为 32 -> 575 向量添加默认条目,OK cpu0: MPIDR=80000000 cpu0:MIDR=410fd034 Cortex-A53 r0p4 cpu0: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu0:CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu0:L1 缓存 32K linesz=64 set/way=256/2 cpu0:L1 缓存 32K linesz=64 set/way=128/4 cpu0:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_num_cpu: 8 个内核   A53 核心时钟:1000MHz DDR 时钟:800MHz SERDES 时钟:2000MHz LINFLEXD 时钟:125 兆赫 GMAC TS 时钟:48 兆赫 SPI 时钟:48MHz QSPI 时钟:800MHz SDHC 时钟:800MHz   加载 IFS...解压...完成 board_smp_start: cpu_cluster_id:0, cpu_id:1 注意:S32 TF-A:s32_pwr_domain_on:启动内核 1 (0) 跑步 cpu1: MPIDR=80000001 cpu1:MIDR=410fd034 Cortex-A53 r0p4 cpu1: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu1: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu1:L1 高速缓存 32K linesz=64 set/way=256/2 cpu1:L1 缓存 32K linesz=64 set/way=128/4 cpu1:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_start: cpu_cluster_id:0, cpu_id: 2 NOTTCE: S32 T TA: s323pw_pdomrin_on: bootingnup cor 2u 0) 宁 cpu2: MPIDR=80000002 cpu2:MIDR=410fd034 Cortex-A53 r0p4 cpu2: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu2: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu2:L1 缓存 32K linesz=64 set/way=256/2 cpu2:L1 缓存 32K linesz=64 set/way=128/4 cpu2:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_start: cpu_cluster_id:0, cpu_id:3 ngTice:SS32TT-A:: 32_pwr_rodain_on:启动核心 (30n) cpu3: MPIDR=80000003 cpu3:MIDR=410fd034 Cortex-A53 r0p4 cpu3: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu3: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu3:L1 缓存 32K linesz=64 set/way=256/2 cpu3:L1 缓存 32K linesz=64 set/way=128/4 cpu3:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_start: cpu_cluster_id:1, cpu_id:0 注意:S32 TF-A:s32_pwr_domain_on:启动核心 4 (0) 注意:S32 TF-A:s32_pwr_domain_on_finish:CPU 4 正在运行 cpu4: MPIDR=80000100 cpu4:MIDR=410fd034 Cortex-A53 r0p4 cpu4: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu4: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu4:L1 缓存 32K linesz=64 set/way=256/2 cpu4:L1 Dcache 32K linesz=64 set/way=128/4 cpu4:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_start: cpu_cluster_id:1, cpu_id:1 注意:S32 TF-A:s32_pwr_domain_on:启动内核 5 (0) cpu 5 运行 cpu5: MPIDR=80000101 cpu5:MIDR=410fd034 Cortex-A53 r0p4 cpu5: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu5: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu5:L1 高速缓存 32K linesz=64 set/way=256/2 cpu5:L1 缓存 32K linesz=64 set/way=128/4 cpu5:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_start: cpu_cluster_id:1, cpu_id: 2 注意:S32 TF-A:s32_pwr_domain_on:启动内核 6 (0) 宁 cpu6: MPIDR=80000102 cpu6:MIDR=410fd034 Cortex-A53 r0p4 cpu6: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu6: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu6:L1 高速缓存 32K linesz=64 set/way=256/2 cpu6:L1 缓存 32K linesz=64 set/way=128/4 cpu6:L2 统一 1024K linesz=64 set/way=1024/16 board_smp_start: cpu_cluster_id:1, cpu_id:3 注意:S32 TF-A:s32_pwr_domain_on:启动核心 7 (0) 7 运行 cpu7: MPIDR=80000103 cpu7:MIDR=410fd034 Cortex-A53 r0p4 cpu7: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT cpu7: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1 cpu7:L1 高速缓存 32K linesz=64 set/way=256/2 cpu7:L1 缓存 32K linesz=64 set/way=128/4 cpu7:L2 统一 1024K linesz=64 set/way=1024/16   系统页面位于 phys:00000000a0010000 user:ffffff8040315000 kern:ffffff8040311000 在 vffffff8060097300 处开始下一个程序 时钟周期样本: 0 62957977 1 62957977 2 62957978 3 62957977 4 62957977 5 62957977 6 62957977 7 62957977 所有时钟周期偏移在公差范围内 欢迎使用 QNX Neutrino 7.1.0 版在恩智浦 S32G399A RDB 板上!! 启动看门狗... 启动串行驱动程序 ... 启动网络驱动程序 (/dev/socket)... 启动 SPI 驱动程序 (/dev/spi0,1,2,3,4,5)... 启动 I2C 0/1/2/3/4 驱动程序 (/dev/i2c0,1,2,3,4)... 启动 USDHC0 存储卡驱动程序... Path=Starting CAN driver... 0 - imx target=0 lun=0 Direct-Access(0) - SDMMC: AAM20E Rev: 1.0 数量 数量 数量 # slog2info -c   进程 4117 (slog2info) 已退出,状态=0。 ghccu# slog2info -w& [1] 12309 random.4 low 0 -----UNSYNC----- 随机.4 高 0 -----UNSYNC----- Jan 01 00:00:00.022 控制台.3 0 -----ONLINE----- console.3 out 0 -----UNSYNC----- Jan 01 00:00:00.027 随机.4 0 -----ONLINE----- random.4 default 0 -----UNSYNC----- Jan 01 00:00:00.028 random.4..0 0 -----ONLINE----- random.4..0 slog 0 -----UNSYNC----- Jan 01 00:00:00.050 devc_serlinflexd.7 0 -----ONLINE----- devc_serlinflexd.7 slog 0 -----UNSYNC----- Jan 01 00:00:00.055 spi_master.8 0 -----ONLINE----- spi_master.8 normal 0 -----UNSYNC----- Jan 01 00:00:00.059 spi_master.9 0 -----ONLINE----- spi_master.9 normal 0 -----UNSYNC----- Jan 01 00:00:00.063 spi_master.10 0 -----ONLINE----- spi_master.10 normal 0 -----UNSYNC----- Jan 01 00:00:00.067 spi_master.11 0 -----ONLINE----- spi_master.11 normal 0 -----UNSYNC----- Jan 01 00:00:00.088 devb_sdmmc_mx8x.17 0 -----ONLINE----- devb_sdmmc_mx8x.17 slog 0 -----UNSYNC----- Jan 01 00:00:04.268 qconn.20 0 -----ONLINE----- qconn.20 slog 0 -----UNSYNC----- 数量 数量 数量 # io-pkt-v6-hc-p tcpip pkt_typed_mem=pfe_ddr-d /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/boot/devnp-boot/boot=/proc/boot/devnp-boot-2.so class_fw=/proc/boot/devnp-boot/boot=/proc/boot/devnp-boot=/ # Jan 01 00:00:14.060 iopkt.16408 0 -----ONLINE----- Jan 01 00:00:14.060 iopkt.16408 main_buffer* 0 detect_armv8ce_hw:支持 armv8ce! Jan 01 00:00:14.061 iopkt.16408 main_buffer 0 tcpip 启动 Jan 01 00:00:14.062 iopkt.16408 main_buffer 0 smmu 支持已禁用 Jan 01 00:00:14.063 iopkt.16408 main_buffer 0 正在初始化 IPsec... Jan 01 00:00:14.063 iopkt.16408 main_buffer 0 done   Jan 01 00:00:14.064 iopkt.16408 main_buffer 0 IPsec:已初始化的网络安全关联处理。   Jan 01 00:00:14.067 iopkt.16408 main_buffer 0 /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/s32g_pfe_class.fw,util_fw=/proc/boot/s32g_pfe_util.fw,util_fw=/proc/boot/s32g_pfe_util.fw Jan 01 00:00:14.068 io_pkt_v6_hc.16408 0 -----ONLINE----- Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog* 0 INF[src/pfe_drv.c:1346]:版本信息 驱动程序版本: 1.8.0 驱动程序提交哈希值:57b6eefdb35cbff7a43ecfbdca3334760b1d0553 pfe_cfg_multi_instance_support: 0 pfe_cfg_local_if:6 pfe_cfg_master_if:6 pfe_cfg_sc_hif:1 pfe_cfg_hif_ring_length: 256 pfe_cfg_pfe0_promisc: 1 pfe_cfg_pfe1_promisc: 1 pfe_cfg_pfe2_promisc: 1     Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1353]:--- 安全 IRQ 已启用。不允许使用 InterrupAttach() 或 InterrupAttach_r()。   Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:94]:读取 45724 字节   Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:100]:加载的固件文件:/proc/启动/s32g_pfe_class.fw   Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:94]:读取 23352 字节   Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:100]:加载的固件文件:/proc/启动/s32g_pfe_util.fw   Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]:未找到 pfe0/EMAC0 的 MII 模式配置。使用 SGMII。   Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]:未找到 pfe1/EMAC1 的 MII 模式配置。使用 SGMII。   Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]:未找到 pfe2/EMAC2 的 MII 模式配置。使用 SGMII。   Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1467]:发出 PFE 外设 RESET...   Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1468]:PFE RESET 正常。   Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2826]:PFE CBUS p0x46000000 已映射 @ v0x1e2a574000(0x1000000 字节)   Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2831]:硬件版本 0x101   Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_hw_feature.c:95]:硅 S32G3   Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 WRN[hw/s32g/pfe_platform_master.c:2843]:禁用故障停机模式   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2093]:PFE_ERRORS:已创建奇偶校验实例   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2108]:PFE_ERRORS:已创建看门狗实例   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2124]:pfe_errors: 已创建总线错误实例   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2137]:PFE_ERRORS:已创建 FW 故障停止实例   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2150]:PFE_ERRORS:已创建主机故障停止实例   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2163]:PFE_ERRORS:创建的停止实例失败   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2176]:PFE_ERRORS:ECC Err 实例已创建   Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:1097]:BMU1 缓冲区基数: p0xc0000000   Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[src/oal_mm_qnx.c:98]: (DRIVER) event 1 - Driver runtime error: mmap64() failed: 1   Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[src/oal_mm_qnx.c:171]: (DRIVER) event 1 - Driver runtime error:无法获取内存块   Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[hw/s32g/pfe_platform_master.c:1125]:(DRIVER) 事件 1 - 驱动程序运行时出错:无法获取 BMU2 池内存   Jan 01 00:00:14.256 io_pkt_v6_hc.16408 slog 0 ERR[src/pfe_drv.c:1529]:(DRIVER) 事件 1 - 驱动程序运行时出错:无法初始化平台   Jan 01 00:00:14.257 iopkt.16408 main_buffer 0 无法启动 /proc/boot/devnp-pfe-2.so:没有这样的设备   Jan 01 00:00:14.257 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1302]:PFE 输入失败,PFE 驱动程序终止     数量 数量 数量 数量 数量 数量     Re: PFE on S32G A53 QNX ERROR 你好,@桑德尔伍德 我对迟复感到非常抱歉。 不确定问题是否已经解决? 请问您的 uboot 是否设置了环境变量 skip_scmi_reset_agent? 如果没有,请尝试设置如下内容:"setenv skip_scmi_reset_agent '1'" BR 切宁   Re: PFE on S32G A53 QNX ERROR 你好,@桑德尔伍德 感谢您的回复。 1.我建议查看 PFE 驱动程序版本代码包中包含的 " PFE_QNX_DRV_IntegrationManual.pdf ",并确保每个步骤(构建、运行驱动程序)都是正确的。 2.如果 DTB 文件在 Linux 中运行良好,那么 QNX 中的原始文件也应替换为该文件。 你能不能再试一次,并告诉我测试结果。 BR 切宁 Re: PFE on S32G A53 QNX ERROR 你好,@桑德尔伍德 感谢您的回复。 是的,我现在明白了。 我们会进行调查,有结果后再回复您。 BR 切宁 Re: PFE on S32G A53 QNX ERROR 1.pfe DDR 的位置不能使用 NXP 手册中提供的示例,必须更改为空闲位置,以防止与预留内存重叠。 2. 我还没做任何动态更改。我的运行命令是:io-pkt-v6-hc-p tcpip pkt_typed_mem=pfe_ddr-d /proc/boot/devnp-pfe-2.so pfe0_link=1000-1-3,pfe0_mac=025556000050,class_fw=/proc/boot/s32g_pfe_class. class.so pfe0_link=1000-1-3,pfe0_mac=025556000050,class_fw=/proc/boot/fw,util_fw=/proc/boot/ s32g_pfe_util.fw 我我没有做任何动态更改,也没有修改 uboot 的环境变量。Linux 和 QNX 使用相同的 uboot 映像。所以,我的理解是,QNX 上 Serdes 的配置应该与 Linux 相同,对吗? Re: PFE on S32G A53 QNX ERROR 你好,@桑德尔伍德 很高兴 ddr 问题得到了解决,您能告诉我们原因吗? 对于所提到的 ping 问题,您是否提到了下面的驱动程序限制: BR 切宁 Re: PFE on S32G A53 QNX ERROR 你好, 我们已经解决了 ddr 错误,但在 ping 时可能会出现新问题。 我们板中的 pfe0 通过 MAC-TO-MAC(SGMII 模式)直接连接到外部交换机。在 Linux 环境中,该链接是正常的,可以与外部环境正常通信,如 ping 正常。但用当前的 QNX 取代 Linux 后,Ping 问题就会出现。 在 Linux 中,我们更改了设备树并将 pfe0 配置为修复 sgmii 模式。我怀疑与此有关,但不知道如何在 QNX 中进行配置。 日志请见附件。 Re: PFE on S32G A53 QNX ERROR 160 是十六进制 0xa0,看来 pfe_ddr 是正常的 # pidin sys=asinfo Header size=0x00000108, Total Size=0x00001050, #Cpu=8, Type=257 Section:asinfo offset:0x00000b90 size:0x00000200 elsize:0x00000020 0000) 000000000000-0000ffffffffff o:ffff a:0010 p:100 c:0 n:/memory 0020) 000000000000-00000000ffffffff o:0000 a:0010 p:100 c:0 n:/memory/below4G 0040) 0000000080000000-00000000ffffff o:0020 a:0017 p:100 c:0 n:/memory/below4G/ram 0060) 0000000880000000-00000008dffffffff o:0000 a:0017 p:100 c:0 n:/memory/ram 0080) 00000000ff800000-00000000ff83afff o:0040 a:0005 p:100 c:0 n:/memory/below4G/ram/atf 00a0) 0000000080000000-0000000083ffffff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/pfe_ddr 00c0) 0000000050800000-000000005080ffff o:0000 a:0003 p:100 c:0 n:/memory/gicd 00e0) 0000000050900000-00000000509fffff o:0000 a:0003 p:100 c:0 n:/memory/gicr 0100) 0000000088000080-0000000088007fff o:0040 a:0005 p:100 c:0 n:/memory/below4G/ram/fdt 0120) 00000000800d10a8-00000000815fa8b3 o:0000 a:0005 p:100 c:0 n:/memory/imagefs 0140) 0000000080080fa0-00000000800d10a7 o:0000 a:0007 p:100 c:0 n:/memory/startup 0160) 00000000800d10a8-00000000815fa8b3 o:0000 a:0007 p:100 c:0 n:/memory/bootram 0180) 00000000a0000000-00000000a0007fff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/sysram 01a0) 00000000a0014000-00000000ff7fffff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/sysram 01c0) 00000000ff83b000-00000000ffffffffff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/sysram 01e0) 0000000880000000-00000008dd5e2fff o:0060 a:0007 p:100 c:0 n:/memory/ram/sysram Re: PFE on S32G A53 QNX ERROR 你好,@陈 感谢您的回复。返回代码请参见日志。 BR 檀木 Re: PFE on S32G A53 QNX ERROR 你好,@桑德尔伍德 谢谢你的帖子。 似乎内存映射不正确,请问是否有日志显示 as_add_containing() 调用成功? BR 切宁
查看全文
Secondary boot for XIP-Flash Hi, I would like to enable the Secondary boot functionality of iMXRT1010EVK, after writes '1' to the PERSIST_SECONDARY_BOOT bit of SRC_GPR10 register then make a reset,  it seems not working.. I supposed that the secondary boot image is not placed at the right place as I placed it at the default redundant boot image address 0x60040000, I have no idea if it can work as I also saw a setting of XSPI_FLASH_SEC_IMG_OF FSET that needs to be filled. My question is where I should place the secondary boot image? and are there any register I should set to indicate BootROM to jump? What are necessary steps I should do to boot from Secondary Boot Image? i.MXRT 101x Re: Secondary boot for XIP-Flash Hi, Then it makes sense to make corrections to the documentation to reduce the pain for subsequent engineers:) RT1010 Processor Reference Manual, Rev. 0, 09/2019 (the last avaible for now): - Chapter 9.6.4 Redundant boot image support - Chapter 9.10.2 Enter Bootloader API, Boot image selection field. - Chapter 21.8.14 SRC General Purpose Register 10, PERSIST_SECONDARY_BOOT and PERSIST_REDUNDANT_BOOT fields. Re: Secondary boot for XIP-Flash Hi Calvin Lin, Thanks for your reply. I've confirmed that the Flash Remapping Setting feature is only supported by the RT106x, in another word, the RT1010 doesn't support the feature that jumps to the second image. I've also attached an application note which illustrates the Flash Remapping Setting feature. Have a great day. TIC   ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you!   - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: Secondary boot for XIP-Flash Hi Jeremy, My evaluation kit is iMXRT1010EVK, in my test, I imported two MCUxpresso projects( "iled_blinky" and "hello world") from SDK, then completes the procedures listed below: 1. Compile the "hello world" project first for generating the binary image; 2. Using NXP-MCUBootUtility tool to program the binary image at address 0x60040000; 3. Add codes to "iled_blinky" for writing '1' to the PERSIST_SECONDARY_BOOT bit of SRC_GPR10 register; 4. Download the project "iled_blinky" through MCUxpresso with LPC-Link2; 5. Erasing the XIP-Flash address from 0x60000000 to 0x6003FFFF; 6. Press POR button on EVK board. I supposed that as there is no bootable image on address 0x60000000, so BootROM should redirect boot address to 0x60040000 to run the secondary image, but it didn't. As I couldn't find the way writing XSPI_FLASH_SEC_IMG_OFFSET register, so please explain the procedures what I missed. thank you. Re: Secondary boot for XIP-Flash Hi Calvin Lin, Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you. I'd like to know more information about the phenomenon, so whether you can introduce the process of secondary boot testing you did, and it may help me to figure it out. Looking forward to your reply. Have a great day. TIC   ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you!   - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
查看全文
Secondary boot for XIP-Flash Hi, I would like to enable the Secondary boot functionality of iMXRT1010EVK, after writes '1' to the PERSIST_SECONDARY_BOOT bit of SRC_GPR10 register then make a reset,  it seems not working.. I supposed that the secondary boot image is not placed at the right place as I placed it at the default redundant boot image address 0x60040000, I have no idea if it can work as I also saw a setting of XSPI_FLASH_SEC_IMG_OF FSET that needs to be filled. My question is where I should place the secondary boot image? and are there any register I should set to indicate BootROM to jump? What are necessary steps I should do to boot from Secondary Boot Image? i.MXRT 101x Re: Secondary boot for XIP-Flash Hi, Then it makes sense to make corrections to the documentation to reduce the pain for subsequent engineers:) RT1010 Processor Reference Manual, Rev. 0, 09/2019 (the last avaible for now): - Chapter 9.6.4 Redundant boot image support - Chapter 9.10.2 Enter Bootloader API, Boot image selection field. - Chapter 21.8.14 SRC General Purpose Register 10, PERSIST_SECONDARY_BOOT and PERSIST_REDUNDANT_BOOT fields. Re: Secondary boot for XIP-Flash Hi Calvin Lin, Thanks for your reply. I've confirmed that the Flash Remapping Setting feature is only supported by the RT106x, in another word, the RT1010 doesn't support the feature that jumps to the second image. I've also attached an application note which illustrates the Flash Remapping Setting feature. Have a great day. TIC   ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you!   - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: Secondary boot for XIP-Flash Hi Jeremy, My evaluation kit is iMXRT1010EVK, in my test, I imported two MCUxpresso projects( "iled_blinky" and "hello world") from SDK, then completes the procedures listed below: 1. Compile the "hello world" project first for generating the binary image; 2. Using NXP-MCUBootUtility tool to program the binary image at address 0x60040000; 3. Add codes to "iled_blinky" for writing '1' to the PERSIST_SECONDARY_BOOT bit of SRC_GPR10 register; 4. Download the project "iled_blinky" through MCUxpresso with LPC-Link2; 5. Erasing the XIP-Flash address from 0x60000000 to 0x6003FFFF; 6. Press POR button on EVK board. I supposed that as there is no bootable image on address 0x60000000, so BootROM should redirect boot address to 0x60040000 to run the secondary image, but it didn't. As I couldn't find the way writing XSPI_FLASH_SEC_IMG_OFFSET register, so please explain the procedures what I missed. thank you. Re: Secondary boot for XIP-Flash Hi Calvin Lin, Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you. I'd like to know more information about the phenomenon, so whether you can introduce the process of secondary boot testing you did, and it may help me to figure it out. Looking forward to your reply. Have a great day. TIC   ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you!   - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
查看全文
i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) Hi, I have a custom i.MX93 based board. Using the provided CSI-2 interface I want to use a bayer pattern camera (IMX327) transferring RAW10 data. My device tree setup and media-ctl configuration is correct so far, but once I start the pipeline I get an IRQ storm from dwc-mipi-csi2 increasing "IPI Interface Fatal Error events" counter. The register value of INT_ST_IPI_FATAL is 0x2a indicating a IPI FIFO overflow. I suspect IPI is not pushing data to ISI at all, having not a single IRQ. Reading https://community.nxp.com/t5/i-MX-Processors/About-settings-to-operate-ov5640camera-on-i-MX93EVK/m-p/1716885/highlight/true#M212016 there seems to some kind of special configuration. I tried to adapt these values to RAW10, but I was wondering about CAMERA_MUX[DATA_TYPE] value 0x31 (user define16). Why is this not 0x2b for CSI-2 data type RAW10 but user define? What could be the cause for IPI errors? How I could I firther debug this issue? Thank and best regards, Alexander Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) Any Update I am facing same issue with Omnivision 9732 Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) Hi @brian14 , we are facing the same problem with i.MX93 and camera sensor that outputs RAW10/12 Bayer data. Any ideas / suggestions? Thanks Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) Hello, any news? Another month has passed. Thanks, Alexander Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) Hi, any news on this topic? Thanks and best regards, Alexander Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) Hi @steina,  Thank you for contacting NXP Support. I will review this case with the internal team, and I will contact you as soon as possible. Have a great day!
查看全文
使用 S32K344 和 S32 Design Studio 的 SWO 您好,有没有使用 S32 design studio 制作 SWO 运行的完整示例?如何配置 pinMUX、时钟等?我用 J-link 和 PEMicro 调试器尝试了多个示例,但都没有成功。我还使用retarget_itm.c 库进行 ITM 配置(由恩智浦提供)。 Re: SWO on S32K344 with S32 Design Studio 你好@Julián_AragónM,这个问题已经解决了吗?我遇到了同样的问题,在配置 TPIU 寄存器后,MCU 进入硬故障,J-Link 也无法向这些寄存器写入数据。这可能是由于一些功能保护的缘故吗?在写入这些 TPIU 寄存器之前,还需要进行其他配置吗?如果能得到任何帮助或见解,我将不胜感激。 Re: SWO on S32K344 with S32 Design Studio 你好,@jakub-holoubek、 我已通过社区向您发送了私人信息。 Re: SWO on S32K344 with S32 Design Studio 你好@Julián_AragónM,好的,谢谢。 🙂 我知道 retarget_itm 库。不过,我怀疑是 TPIU 相关寄存器出了问题。调试器本身可能会访问它们: Cortex m7 TPIU registersCortex m7 TPIU 寄存器 如果我从代码中设置这些寄存器,单片机会出现硬故障。如果我连接调试器(尝试过 J-Link、PEMicro 和 Lauterbach)并想通过调试器的设置启用 SWO,也会发生同样的情况,即 MCU 进入硬故障。 Re: SWO on S32K344 with S32 Design Studio 你好,@jakub-holoubek、 很抱歉这么晚才回复。这可能是跟踪的实施和我们的架构出现了问题。目前正在与 SW 团队进行内部讨论。如果有其他情况,我会及时通知你们。 目前,您可以在 S32DS 中创建一个带有 prinft ITM 的新项目,但 retarget_itm 库不能按预期运行。 致以最诚挚的问候, Julián Re: SWO on S32K344 with S32 Design Studio 你好,@Julián_AragónM、 是的,我使用的是 S32K3-T-BOX 板。这些 TRACE 信号对 ETM 接口有效。但是,我需要通过 JTAG_TDO 引脚使用 ITM 进行通信,因此它被路由到 JTAG 连接器。在使用 SWD 协议而不是 JTAG 的情况下,该引脚用于 SWO 通信,我就是这种情况。 Re: SWO on S32K344 with S32 Design Studio 你好,@jakub-holoubek、 你在使用 S32K344 评估板吗?默认情况下,所有 TRACE 信号均为禁用。 致以最诚挚的问候, Julián Re: SWO on S32K344 with S32 Design Studio 你好@Julián_AragónM, ,感谢您的回复。我检查过这个教程。我遇到的一个问题是,一旦我想写入/读取某些 TPIU 寄存器,MCU 就会出现严重故障。 例如这段代码: *((volatile unsigned *)(ITM_BASE + 0x400F0)) = 0x00000002; /* "Selected PIN Protocol Register": Select which protocol to use for trace output (2: SWO NRZ, 1: SWO Manchester encoding) */ *((volatile unsigned *)(ITM_BASE + 0x40010)) = SWOPrescaler; /* "Async Clock Prescaler Register". Scale the baud rate of the asynchronous output */ 一旦尝试设置其中一个寄存器,MCU 就会出现硬故障。我在 ARM M7 内核的参考手册中发现,TPIU 没有在 M7 内核中配置——你能确认一下吗? 或者在写入 TPIU 相关寄存器之前,我还需要设置其他寄存器吗? Re: SWO on S32K344 with S32 Design Studio 你好,@jakub-holoubek、 我认为这个问题应该问世纪佳缘。S32DS 没有其他具体的配置示例,但您可以使用下面的帖子作为指导: 教程:在 Eclipse 上使用 ARM Cortex-M 和 Eclipse | MCU 的单线输出 SWO。 PEmicro Forums Topic:使用 Multilink ACP Rev.B 在 S32DS 中使用 ITM-printf 时遇到的问题 已解决:S32k324 上的 SWV(ITM --> SWO)不工作 - NXP Community 此外,SEGGER 的知识库中还有专用的 J-Link SWO 查看器页面:J-Link SWO Viewer ——SEGGER 知识库 & UM08001 J-Link/J-Tr ace 用户指南——SEGGER 知识库 。 致以最诚挚的问候, Julián Re: SWO on S32K344 with S32 Design Studio 例如本文:在 S32 Design Studio 中支持单线输出 (SWO),由 PEmicro 的 GDB 服务器启用最好能提供更多详细信息,包括源代码。
查看全文
SWO on S32K344 with S32 Design Studio Hi is there any complete example how to make SWO running using S32 design studio? How to configure pinMUX, clocks, etc? I've tried multiple examples with J-link and PEMicro debuggers, but with no success. I've been using also retarget_itm.c library for ITM configuration (delivered by NXP).  Re: SWO on S32K344 with S32 Design Studio Hi @Julián_AragónM, Has this issue been resolved? I am encountering the same problem, where the MCU enters a hard fault after configuring the TPIU registers, and J-Link is also unable to write data to these registers. Could this be due to some safety protection? Is there any additional configuration I need to perform before writing to these TPIU registers? I would greatly appreciate any help or insights. Re: SWO on S32K344 with S32 Design Studio Hi @jakub-holoubek, I have sent you a private message through the community. Re: SWO on S32K344 with S32 Design Studio Hi @Julián_AragónM, ok thanks. 🙂 I'm aware of that retarget_itm library. However my suspicion is that there is some issue with TPIU related registers. Which are probably accessed by debugger itself: Cortex m7 TPIU registersCortex m7 TPIU registers In case I'm setting them from the code the MCU goes to hard fault. And same happens also in case I connect the debugger (tried J-Link, PEMicro, Lauterbach) and want to enable the SWO through debugger's settings - MCU goes into hard fault.  Re: SWO on S32K344 with S32 Design Studio Hi @jakub-holoubek, I apologize for the late reply. This may be an issue with the implementation of trace and our architecture. There is an internal discussion with the SW team now. I will try to update you if anything else comes up. As of now, you can create a new project in S32DS with prinft ITM, but the retarget_itm library does not work as expected. Best regards, Julián Re: SWO on S32K344 with S32 Design Studio Hi, @Julián_AragónM, yes, I'm using S32K3-T-BOX board. Those TRACE signals are valid for ETM interface. However I need to communicate using ITM through JTAG_TDO pin - so it is routed to JTAG connector. That pin is used for SWO communication in case the SWD protocol is used instead of JTAG - which is my case. Re: SWO on S32K344 with S32 Design Studio Hi @jakub-holoubek, Are you using the S32K344 evaluation board? By default, all TRACE signals are DISABLED. Best regards, Julián Re: SWO on S32K344 with S32 Design Studio Hi @Julián_AragónM, thanks for reply. I've checked that tutorials. One issue I've got is that MCU goes to the hard fault once I want to write/read some TPIU registers. For example this code: *((volatile unsigned *)(ITM_BASE + 0x400F0)) = 0x00000002; /* "Selected PIN Protocol Register": Select which protocol to use for trace output (2: SWO NRZ, 1: SWO Manchester encoding) */ *((volatile unsigned *)(ITM_BASE + 0x40010)) = SWOPrescaler; /* "Async Clock Prescaler Register". Scale the baud rate of the asynchronous output */ Once trying to set one of those registers the MCU goes to hard fault. I've found in reference manual of ARM M7 core, that TPIU is not configured in M7 cores - can you confirm that?  Or is there any other register I have to set before writing into TPIU related registers? Re: SWO on S32K344 with S32 Design Studio Hi @jakub-holoubek, I believe this is a question for SEGGER instead. There is no other example for configuring this with S32DS specifically, but you can use the following posts as guidance:  Tutorial: Using Single Wire Output SWO with ARM Cortex-M and Eclipse | MCU on Eclipse. PEmicro Forums Topic: Problem with ITM-printf in S32DS using Multilink ACP Rev.B Solved: SWV (ITM --> SWO) on S32k324 not working - NXP Community Also, SEGGER has a dedicated page in their knowledge base for their J-Link SWO Viewer: J-Link SWO Viewer - SEGGER Knowledge Base & UM08001 J-Link / J-Trace User Guide - SEGGER Knowledge Base. Best regards, Julián Re: SWO on S32K344 with S32 Design Studio For example in this article: Single Wire Output (SWO) support within S32 Design Studio, enabled by PEmicro's GDB Server It would be nice have more details, including sources. 
查看全文
注册: 需要 Ubuntu OS 22.04 LTS 支持芯片组 亲爱的团队 在这个项目中,我们需要能支持 Ubuntu 操作系统 22.04 LTS 版本并支持 ROS 的处理器。 因此,请建议我们使用哪种芯片组。
查看全文