Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
ARM 2018R1 的 S32DS 许可证即将到期 你好,我的 S32 Design Studio for ARM 2018.R1 许可证即将到期 您能延长它吗?谢谢。 我的激活码: 0D34-286B-9EE6-E692 非常感谢您 回复:ARM 2018R1 的 S32DS 许可证即将到期 没关系,非常感谢
View full article
S32K144W problems with custom SPI driver Hi NXP community! I'm developing a custom SPI driver based on the SPI example from the AN5423 application note (https://www.nxp.com/docs/en/application-note/AN5413.pdf) The problem I'm facing is that after initializing, the SPI is only able to send around 23 bytes of data, no matter what I set as the frame size in the Transmit Command Register (TCR). After that, the clock remains in high state even though I set its polarity as SCK low. While debugging, I found that it gets stuck waiting for the TDF flag of the status register to be 0. Also, the TX fifo seams to be full, but I don't know why it is not sending this data. Here is my code: static void* SPI_s_vSelectModule(uint8 u8SpiModule){ void *pAddress = (void*)NULL; if(u8SpiModule == (uint8)SPI_enSPI0){ pAddress = (void*)LPSPI0_BASE_ADDR_cfg; } else if(u8SpiModule == (uint8)SPI_enSPI2){ pAddress = (void*)LPSPI2_BASE_ADDR_cfg; } else{ /* Nothing to do */ } return pAddress; } void SPI_s_vInitPorts(void){ /* Enable clocks */ PCC->PCCn[PCC_PORTB_INDEX]|=PCC_PCCn_CGC_MASK; /* Enable clock for PORTB */ PCC->PCCn[PCC_PORTC_INDEX]|=PCC_PCCn_CGC_MASK; /* Enable clock for PORTC */ PCC->PCCn[PCC_PORTD_INDEX]|=PCC_PCCn_CGC_MASK; /* Enable clock for PORTD */ /* Config. SPI0 */ PORTD->PCR[15]|=PORT_PCR_MUX(4); /* Port D15: MUX = ALT4, LPSPI0_SCK reloj */ PORTD->PCR[16]|=PORT_PCR_MUX(4); /* Port D16: MUX = ALT4, LPSPI0_SIN/MISO */ PORTB->PCR[4]|=PORT_PCR_MUX(3); /* Port B4: MUX = ALT3, LPSPI0_SOUT/MOSI */ PORTB->PCR[5]|=PORT_PCR_MUX(4); /* Port B5: MUX = ALT4, LPSPI0_PCS0 */ /* Config. SPI2 */ PORTC->PCR[15]|=PORT_PCR_MUX(3); /* Port C15: MUX = ALT3, LPSPI2_SCK reloj */ PORTC->PCR[0]|=PORT_PCR_MUX(3); /* Port C0: MUX = ALT3, LPSPI2_SIN/MISO */ PORTC->PCR[1]|=PORT_PCR_MUX(3); /* Port C1: MUX = ALT3, LPSPI2_SOUT/MOSI */ PORTC->PCR[14]|=PORT_PCR_MUX(3); /* Port C14: MUX = ALT3, LPSPI2_PCS0 */ } void SPI_vInitMaster(void){ LPSPI_Type *pstSPI; for(uint8 u8x = 0; u8x < SPI_enTotalSPIs; u8x++){ if(u8x == (uint8)SPI_enSPI0){ PCC->PCCn[PCC_LPSPI0_INDEX] = 0; /* Disable clocks to modify PCS ( default) */ PCC->PCCn[PCC_LPSPI0_INDEX] = 0xC6000000; /* Enable PCS=SPLL_DIV2 (40 MHz func'l clock) */ pstSPI = (LPSPI_Type*)SPI_s_vSelectModule(u8x); } else if(u8x == (uint8)SPI_enSPI2){ PCC->PCCn[PCC_LPSPI2_INDEX] = 0; /* Disable clocks to modify PCS ( default) */ PCC->PCCn[PCC_LPSPI2_INDEX] = 0xC6000000; /* Enable PCS=SPLL_DIV2 (40 MHz func'l clock) */ pstSPI = (LPSPI_Type*)SPI_s_vSelectModule(u8x); } else{ /* Nothing to do */ } pstSPI->CR = 0x00000000; /* Disable module for configuration */ pstSPI->IER = 0x00000000; /* Interrupts not used */ pstSPI->DER = 0x00000000; /* DMA not used */ pstSPI->CFGR0 = 0x00000000; /* Defaults: */ /* RDM0=0: rec'd data to FIFO as normal */ /* CIRFIFO=0; Circular FIFO is disabled */ /* HRSEL, HRPOL, HREN=0: Host request disabled */ pstSPI->CFGR1 = 0x00000001; /* Configurations: master mode*/ /* PCSCFG=0: PCS[3:2] are enabled */ /* OUTCFG=0: Output data retains last value when CS negated */ /* PINCFG=0: SIN is input, SOUT is output */ /* MATCFG=0: Match disabled */ /* PCSPOL=0: PCS is active low */ /* NOSTALL=0: Stall if Tx FIFO empty or Rx FIFO full */ /* AUTOPCS=0: does not apply for master mode */ /* SAMPLE=0: input data sampled on SCK edge */ /* MASTER=1: Master mode */ pstSPI->TCR = 0x5000001F; /* Transmit cmd: PCS0, 32bits, prescale func'l clk by 4. */ //pstSPI->TCR = 0x50000007; /* Transmit cmd: PCS0, 32bits, prescale func'l clk by 4. */ /* CPOL=0: SCK inactive state is low */ /* CPHA=1: Change data on SCK lead'g, capture on trail'g edge*/ /* PRESCALE=2: Functional clock divided by 2**2 = 4 */ /* PCS=0: Transfer using PCS0 */ /* LSBF=0: Data is transferred MSB first */ /*pstSPI->TCR = 0x5080001F*/ /* LSBF=1: Data is transferred LSB first */ /* BYSW=0: Byte swap disabled */ /* CONT, CONTC=0: Continuous transfer disabled */ /* RXMSK=0: Normal transfer: rx data stored in rx FIFO */ /* TXMSK=0: Normal transfer: data loaded from tx FIFO */ /* WIDTH=0: Single bit transfer */ /* FRAMESZ=15: # bits in frame = 15+1=16 */ pstSPI->CCR = 0x04090808; /* Clk dividers based on prescaled func'l clk of 100 nsec */ /* SCKPCS=4: SCK to PCS delay = 4+1 = 5 (500 nsec) */ /* PCSSCK=4: PCS to SCK delay = 9+1 = 10 (1 usec) */ /* DBT=8: Delay between Transfers = 8+2 = 10 (1 usec) */ /* SCKDIV=8: SCK divider =8+2 = 10 (1 usec: 1 MHz baud rate) */ pstSPI->FCR = 0x00000003; /* RXWATER=0: Rx flags set when Rx FIFO >0 */ /* TXWATER=3: Tx flags set when Tx FIFO <= 3 */ pstSPI->CR = 0x00000009; /* Enable module for operation */ /* DBGEN=1: module enabled in debug mode */ /* DOZEN=0: module enabled in Doze mode */ /* RST=0: Master logic not reset */ /* MEN=1: Module is enabled */ } SPI_s_vInitPorts(); } uint16 SPI_u8Transmit(uint8 u8SpiModule, uint8 *data, uint16 size) { uint16 u16Return = (uint16)NOT_OK; LPSPI_Type *pstSPI; uint32 buffer=0; if(u8SpiModule < (uint8)SPI_enTotalSPIs){ pstSPI = (LPSPI_Type*)SPI_s_vSelectModule(u8SpiModule); if(pstSPI != NULL){ // Clean Tx buffer pstSPI->CR |= 1 << LPSPI_CR_RTF_SHIFT; // Configure the FRAMESZ based on the input size pstSPI->TCR = 0x50000000 | (size*8 - 1); //vSpiDelayMs(5); // Send all 32-bit frames that we can handle for(int i=0; i<(size / 4); i++) { buffer = data[4*i + 0] << 24; buffer |= data[4*i + 1] << 16; buffer |= data[4*i + 2] << 8; buffer |= data[4*i + 3]; /* Espera al que este libre */ while((pstSPI->SR & LPSPI_SR_TDF_MASK)>>LPSPI_SR_TDF_SHIFT == 0); /* Transmit data */ pstSPI->TDR = buffer; /* Se limpia la bandera TDF */ pstSPI->SR |= LPSPI_SR_TDF_MASK; } // send remaining bytes if(size%4 > 0) { buffer = 0; // Send the remaining data for(int i=(size%4); i>0; i--) { buffer |= data[size - i] << (8*(i-1)); } while((pstSPI->SR & LPSPI_SR_TDF_MASK)>>LPSPI_SR_TDF_SHIFT == 0); pstSPI->TDR = buffer; /* Se limpia la bandera TDF */ pstSPI->SR |= LPSPI_SR_TCF_MASK; } // Clean complete flag pstSPI->SR |= 1 << LPSPI_SR_TCF_SHIFT; u16Return = (uint16)OK; } else{ /* Nothing to do */ } } else{ /* Nothing to do */ } return u16Return; } uint8 u8Data[] = {0x01U, 0x02U, 0x03U, 0x04U, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F}; int main(void) { WDOG_Disable(); SOSC_init_8MHz(); /* Initialize system oscillator for 8 MHz xtal */ SPLL_init_160MHz(); /* Initialize SPLL to 160 MHz with 8 MHz SOSC */ NormalRUNmode_80MHz(); /* Init clocks: 80 MHz SPLL & core, 40 MHz bus, 20 MHz flash */ SPI_vInitMaster(); SPI_u8Transmit((uint8)SPI_enSPI0, u8Data, sizeof(u8Data)); SPI_u8Transmit((uint8)SPI_enSPI0, u8Data, sizeof(u8Data)); while(1) { vDelayMs(500); } } And here are some readings from a logic analyzer: I've been struggling with this for weeks. I'd really appreciate if you can tell me if I'm missing something Re: S32K144W problems with custom SPI driver That seems to solve the issue. Thanks! Re: S32K144W problems with custom SPI driver Hi @marco_medrano, Try masking the RX data (TCR[RXMSK] = 1). I don't see any code that would read RDR. Thank you, BR, Daniel
View full article
LLCE_LIN 构建错误 您好,NXP,我目前正在使用您提供的 LIN LLCE 演示包。尽管按照描述文件中的说明进行操作,但我还是遇到了错误。您能帮我解决这个问题吗?我也尝试在属性->设置->工具设置->包含->include_paths中手动添加CDD_Rm.h的路径,但之后仍然遇到其他错误。 回复:LLCE_LIN 构建错误 仅供参考,我使用的是S32DS 3.5.3,RTD 4.0.2 和 LLCE 1.0.7。 不,我没有修改示例中的任何内容。
View full article
i.MX6ULL eMMC Flash and Boot We have made a custom board with i.MX6ULL EVK and specifically the CM module of the EVK as reference. On our board we have a QSPI Memory (same MPN as the EVK CM) and a eMMC (THGBMUG6C1LBAIL).  When we try to flash the Linux Image (LF_v6.6.36-2.1.0_images_IMX6UL7D.zip) using UUU, it looks like the U-Boot is being flashed, but not the Linux Image, and then it goes into a continuous loop.  On the same board we are able to flash to QSPI using mfgtools and a baremetal sdk example "hello world" and the same is running fine on the QSPI.  Any pointers on what should be done to resolve this will be great.  i.MX6 All i.MX6UL Linux Windows Yocto Project Re: i.MX6ULL eMMC Flash and Boot To anyone following this, or facing similar issues, we found out that our issue was that UBoot was crashing and hence the USB error and connected issues.  The Uboot crashing in turn was because the EVK DTS was configured for Ethernet PHY addresses in a particular way and we had them wired in a different way on our custom board. Once we resolved the Ethernet PHY address issue and changed as per the EVK, the UBoot crash stopped and we were able to flash the eMMC. Re: i.MX6ULL eMMC Flash and Boot Hi @ET_Dev! Yes, you have to adapt some things like ddr timing, etc. Maybe you don't have to adapt all the BSP but is necessary to adapt according to your hardware. Best Regards! Chavira Re: i.MX6ULL eMMC Flash and Boot Hello Chavira Thanks for looking at this. I understand that the image is for NXP boards, I read the same on other posts as well.  However, in this case we have followed and replicated the EVK schematic as it is, with the only exception of populating a eMMC which is not populated on the EVK CM. Do you think even in this case the NXP image will not work? Re: i.MX6ULL eMMC Flash and Boot Hi @ET_Dev! Thank you for contacting NXP Support! The LF_v6.6.36-2.1.0_images_IMX6UL7D.zip is only for our boards. If you want to boot your board you have to customize our BSP according to your board. You can refer to our PORTING GUIDE to port our BSP to your board. Best Regards! Chavira
View full article
LLCE_LINビルドエラー こんにちはNXP、私は現在、あなたが提供したLIN LLCEデモパッケージを使用しています。説明ファイルの指示に従っても、エラーが発生しました。それを解決するのを手伝ってくれませんか?また、プロパティ->設定->ツール設定->インクルード-> include_pathsにCDD_Rm.hのパスを手動で追加しようとしましたが、後で追加のエラーが発生します。 Re:LLCE_LINビルドエラー 参考までに、S32DS 3.5.3を使用しています。RTD 4.0.2 および LLCE 1.0.7。 いいえ、例から何も変更していません。
View full article
MPC5744&MC33771 Hello everyone, I recently purchased a DEVKIT-MPC5744P to implement BMS design. The power management chip used is MC33771, and the development environment is S32D. I would like to ask you what you need to pay attention to. It would be better if there are examples~ #MPC5744  Re: MPC5744&MC33771 Hello, Yes, there are SPI examples in the S32DS in RTD packages for MPC5744P. Install S32DS, driver package and open project from example. Best regards, Peter Re: MPC5744&MC33771 Hi,Peter some questions want to you help~! i want to use "printf" functions on my project, and let for printf number transmit to PC Tera. but i dont know how to do, do you have any example can let me learn...... Sorry...im newbie.. Re: MPC5744&MC33771 Hello, In S32DS you have plenty of examples for evaluation: Just install driver package you want to use and create project from example. Or you can use our examples posted on community: https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/MPC5-software-example-list/ta-p/1102445#MPC5744P Best regards, Peter Re: MPC5744&MC33771 Hi,Peter Thanks for your reply. I have buy a dekit-5744 and mc33664b board, If I want to try on s32ds environment, have any example can let me quickly verification functions? Cause i saw more reference is from MBD, not from s32ds. Re: MPC5744&MC33771 Hello, The kit is plug and play if you use the default SW. Like examples from NXP present in S32design studio. I see no risks here except censorship (but I guess you will skip it in development). You can basically load any SW into it. Here is the guide for uC and SBC connection: https://www.nxp.com/docs/en/application-note/AN5099.pdf on top of that you can go trough getting started guide: https://www.nxp.com/document/guide/getting-started-with-the-devkit-mpc5744p:NGS-DEVKIT-MPC5744P All information available for this kit and all supporting documentation can be found at: https://www.nxp.com/design/design-center/development-boards-and-designs/automotive-development-platforms/mpc57xx-mcu-platforms/mpc5744p-functional-safety-motor-control-development-board:DEVKIT-MPC5744P best regards, Peter
View full article
[Security] D-Flash CSE driver encryption/decryption interface limitations Dear NXPs: Bootloader- D-Flash-32K Are there any restrictions if I call CSEC_DRV_EncryptCBC/CSEC_DRV_DecryptCBC interfaces of the CSEc driver on D-Flash? Re: [Security] D-Flash CSE driver encryption/decryption interface limitations I haven't met this use-case yet but I can see in the manual that you are right. It explicitly says:  If your code is running from data flash, solution is to put the function to RAM memory. Re: [Security] D-Flash CSE driver encryption/decryption interface limitations Dear lukaszadrapa: @lukaszadrapa A1:Disabling interrupts has no effect.The interface I use is  INT_SYS_DisableIRQGlobal(); INT_SYS_EnableIRQGlobal(); A2: IBUSSERR By the way Viewed the manual S32K-RM.pdf Table 37-7. Allowed simultaneous memory operations, There are limitations in operating CSE PRAM on D-Flash,Could IBUSSERR be related to this?     Re: [Security] D-Flash CSE driver encryption/decryption interface limitations Hi @Gideon  not sure what's going on. First step - did you try to disable interrupts? Second step - you can try to find out what is the reason of the fault exactly: https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 https://www.nxp.com/docs/en/application-note/AN12201.pdf Regards, Lukas Re: [Security] D-Flash CSE driver encryption/decryption interface limitations Hi @Gideon  If we are talking about CSEc commands CMD_ENC_CBC and CMD_DEC_CBC, there are no limitations because it is up to software to load plain/encrypted data to CSEc via PRAM interface and then read encrypted/plain data from PRAM. So, software can read the data from anywhere. Mentioned SDK function do not check the addresses, so it can read the data from whole memory map. Just the output buffer needs to be in RAM, of course, so the driver can write the result to the buffer. Regards, Lukas
View full article
LLCE_LIN Build error Hello NXP, I'm currently working with the LIN LLCE demo package you provided. Despite following the instructions in the description file, I've run into an error. Could you please assist me in resolving it? I've also tried manually adding the path of CDD_Rm.h in the properties -> settings -> tool settings -> includes -> include_paths, but I'm still encountering additional errors afterward. Re: LLCE_LIN Build error Hello Daniel Aguirre, I wanted to express my gratitude for your assistance. The thread you shared proved invaluable in resolving the issue I encountered while building the code. Additionally, I successfully tested the transmission and reception functions of LIN in CANoe, as depicted in the image below. However, I am curious about how this demo validates LIN LLCE. I haven't come across any code pertaining to LLCE routing. Could you provide guidance on how to test LLCE LIN routing? Any help would be greatly appreciated. Re: LLCE_LIN Build error Hi, Thanks for your feedback. Given the package versions, it seems that the following thread talks about the same issue: Solved: LLCE_LIN S32G-VNP-RDB2 - NXP Community A solution was provided under the above community thread. You should be able to run the example correctly following the explained steps. We apologize for the inconvenience. Please, let us know. Re: LLCE_LIN Build error FYI Im using S32DS 3.5.3, RTD 4.0.2 and LLCE 1.0.7. No I haven't modified anything from the example. Re: LLCE_LIN Build error Hi, Can you let us know which RTD/LLCE versions are you using? Have you modified anything of the example itself? Please, let us know.
View full article
Initialization LPDDR on M7_0 core of S32G2 Hello Community, I am trying to initialize LPDDR on M7_0 core of S32G2. I generated ddr code on DDR tool on S32DS using S32 debug probe. But when I just tried to write the generated configuration data on DDRC register, there was a fault like below: *(volatile uint32 *)0x4007c604 = 0x00000000u; What do I have to do before initialization DDR? Could you let me know how I can initialize LPDDR on M7_0 core? Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, I'm glad to know you were able to solve your problem.  Thanks for selecting my reply as solution. Best regards, Alejandro  Re: Initialization LPDDR on M7_0 core of S32G2 Hello Alejandro, Thanks for your help. Finally I succeeded to initialize DDR on M7_0 core. Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, I have received feedback from the internal team, they shared the following: " Customer can refer to AN13354 for clock configuration details. Actually we have the DDR init on M7 in Diagnostic test. You can get the code here: Automotive SW - S32G - Board Diagnostic Tests Note: this code is only for reference, not for product use. Could you give me more information regarding how customer did the clock configuration, if possible can you ask customer provide the clock configuration file so we can review it?. "  Can you share your clock configuration so my colleague may review it? If you cannot enter the link board diagnostic test directly please follow these steps: - Sign in to your NXP account (NXP Semiconductors) - Click on My NXP Account (top-right) and click on Software Licensing and Support under the Licensing section within the window it opens. - This will redirect you to another page. In this new page, select the option View Accounts under the Software accounts section. - This will again redirect you to another page. On this page, you should see an Automotive SW – S32G Reference Software option, click on it. and then search for Automotive SW - S32G - Board Diagnostic Tests, again, click on it. - accept the Software Terms and Conditions, now you should be able to the file SW32G-DIAG-EAR-0.8.7.zip.  If you cannot find some of the options in the FlexNet page, please follow up the point you can and then click on the direct link shared in the beginning.  Let me know if this information solved your problem. Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, No, I'm not able to read the DDR_GPR, but I'm using the S32 Debug probe. The aim of my questions was to gather information to share with the internal team. I will share all everything we have discussed with them and come back to you with an answer. Please consider that the internal team may have limited bandwidth and their response could take a while. I appreciate your patience. Best regards, Alejandro Re: Initialization LPDDR on M7_0 core of S32G2 Hello Alejandro, It lools MCAN_ENABLE_USER_MODE_SUPPORT is not defined. When I added below code in my source code and tried to compile, there was no build error. #if defined(MCAL_ENABLE_USER_MODE_SUPPORT) #error "MCAL USER MODE ENABLED" #endif Is it possible on your side to read the data in DDR_GPR register using T32? Is it normal or not to try to read DDR_GPR register at entry? Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, I understand your problem is related with the DDR_GPR, but as described in the reference manual of the S32G2 [page 1692, S32G2 Reference Manual, Rev. 8, February 2024] the DDR_GPR is meant as an extension of the DDR module. I have seeing this behavior of not being able to read the registers of a module when the clock of said module is not configured and initialized.  Access is only prohibited if user mode is enable, M7 cores have supervisor mode by default, have you defined MCAL_ENABLE_USER_MODE_SUPPORT or have you enabled XRDC in your project? Thanks in advance for the information. Re: Initialization LPDDR on M7_0 core of S32G2 Hello Alejandro, Now I believe my problem is not related with DDR device. Please focus on why I cannot access DDR_GPR register on M7_0 core. Just accessing 0x4007C604 in DDR_GPR register caused bus error on JTAG. Please check first accessing this address is prohibited or not. Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, Thanks for the clarification. How are configuring and initializing the DDR Clocks? Thanks in advance for the information Re: Initialization LPDDR on M7_0 core of S32G2 Hello Alejandro, I think this problem is not related with the kind of DDR. I would like to know why accessing below DDR_GPR register causes the connection failure to  S32 Debug probe. I cannot read or write on DDR_GPR using S32 Debug probe like below: I can access other registers.  I think this is first problem. Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, I will need to share this information with the  internal team for an in depth analysis. But before doing that I will need some extra information: The schematics of your design, at least the part including the S32G2 DRAM port and the LPDDR4 connections  LDDR4 datasheet Screenshots of the S32DS DDR View page, showing all the device information, code generation and advance settings sections Screenshots of the validation results of Init, Diags, Operational and Shmoo tests. If you don't feel comfortable sharing this information in a public forum, please open a support case directly in the NXP page using this option: To have better traceability of the topic you can add the link of this post in the body of the support ticket. About the XRDC, You don't need to configure it to be able to initialize your ram. Let me know how you want to proceed and thanks in advance for the information. Re: Initialization LPDDR on M7_0 core of S32G2 In addition to this, do I need more configuration like XRDC before accessing the DDR General Purpose Register  on M7_0 core? I just initialized clock and MPU before accessing. Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hi Alejandro, Thanks for your reply. Here are my answers. - Are you using a RDB2 or a custom board? [Harry] custom board - what is the part number of your memory? (in case you are using a custom board) [Harry] Samsung K4F6E3S4HM-THCL (2GB) - What is the version of your RTDs? [Harry] It looks 4.0.0  - Are you using the A53 cores also? if so, which BSP are you using? [Harry] not now, I will use A53 core later. I would like to initialize LPDDR on M7_0 core and it's customer's requirement. - When using DDR tool on S32DS, did it execute correctly? [Harry] Yes, all tests were passed. - Does the application you are traying to run works fine until you get to the line you mentioned? ( *(volatile uint32 *)0x4007c604 = 0x00000000u; ) [Harry] Yes, there was not problem. Just writing data on DDRC register 0x4007c606 caused this failure. As I know, writing 0x00000000u on 0x4007c604 register is the first step during ddr_init() function. I already checked MPU enabled and those are both readable and writable area. Thanks, Harry Re: Initialization LPDDR on M7_0 core of S32G2 Hello @harry_choi, Can you tell me more about your setup? Are you using a RDB2 or a custom board? what is the part number of your memory? (in case you are using a custom board) What is the version of your RTDs? Are you using the A53 cores also? if so, which BSP are you using? When using DDR tool on S32DS, did it execute correctly? Does the application you are traying to run works fine until you get to the line you mentioned? ( *(volatile uint32 *)0x4007c604 = 0x00000000u; ) Thanks in advance for the information
View full article
LPC804 在 IAP_ReadUniqueID 上卡住或崩溃 我正在尝试读取 LPC804 的唯一 ID,但我认为它之前可以工作,但现在我无法再访问 UID。 以下函数使整个过程停止并且不再继续。在调试器中,我发现 IAP_ReadUniqueID 已执行(尽管可能没有成功?)但状态检查上的断点从未到达。 uint32_t UIDValue = 0x00; status_t UIDStatus = kStatus_Fail; // Read the UID UIDStatus = IAP_ReadUniqueID(&UIDValue); // Return when failed if(UIDStatus != kStatus_Success) return; // insert UID into message data[3] = (uint8_t)((UIDValue >> (8 * 3)) & 0xFF); data[4] = (uint8_t)((UIDValue >> (8 * 2)) & 0xFF); data[5] = (uint8_t)((UIDValue >> (8 * 1)) & 0xFF); data[6] = (uint8_t)(UIDValue & 0xFF); 因为我认为它之前一直在工作,所以闪存可能已被清空或重置?这可能是什么情况或者我可以检查什么? 回复:LPC804 在 IAP_ReadUniqueID 上卡住或崩溃 IAP_ReadUniqueID() 需要一个指向 128 位(4 x 32 位值)的指针。 如果您进入 IAP_ReadUniqeID(),您就会看到这一点。 您仅传递指向 32 位的指针,因此内存会被覆盖。修复该问题它就可以正常工作了。
View full article
S32K3 witch UTEST address can customer use? 我们发现S32K3  S32K3xx_DCF_clients.xlsx文件里描述的“Reserved for customer/application usage”的区域是有问题的。我们测试的时候,写入数据到0x1B000050~0X1B000058,程序可正常运行。然而,我们测试将同样的数据写入到0x1B000048~0x1B00004F,程序工作异常,出现周期复位情况,经过测试,需要在时钟初始化前增加几十毫秒的延时才能正常运行。对此,我们认为,0x1B000048~0x1B00004F写入数据会对S32K3的运行有未知的影响。那么UTEST区域有哪些地址是我们用户可以随意使用的呢?您能给一些建议吗?谢谢! 回复:S32K3 的 UTEST 地址客户可以使用吗? UTEST 区域(0x1B00_0048-0x1B00_007F)可由应用程序编程。因此,HSE_b RM 中的描述不正确,将在即将推出的版本 v2.4 中更新。 根据HSE团队的最新反馈,推测APP在同时对0x1b00_0048 - 0x1b00_004f进行数据编程时,另一个HSE写入操作正在执行,这会导致此问题。 因此,客户可以尝试添加以下检查并等待 HSE_STATUS_INIT_OK,然后再写入 UTEST 区域。 Re: S32K3 witch UTEST address can customer use? 谢谢您Robin,另外能否也帮忙问问AE Team写入0X1B000048~1B00004F后,会有什么影响或风险吗?目前已经有多个产品已经写入了这个地址了。 回复:S32K3 的 UTEST 地址客户可以使用吗? Hi 表 135. RM758223-HSE-B 固件参考手册 - V2.3(2.3).pdf的UTEST 设备配置中提到: 0x1B000048 8 字节,由 HSE 使用。不得由应用程序编程。 对不起的, S32K3xx_DCF_clients.xlsx中的信息与RM758223-HSE-B 固件参考手册 - V2.3(2.3).pdf冲突。我需要与我们的 AE 团队协商,一旦收到他们的反馈,我就会立即更新。 此致敬礼, Robin
View full article
MIMXRT1170-EVKB カンバス おはようございます MIMXRT1170-EVKBスターターキットを使用して、CANバスを機能させようとしています。「evkbmimxrt1170_canfd_loopback_transfer_cm7」の例を読み込んでいますが、ループバックやフィルタリングなしでバス上の任意のCANフレーム(標準フレームと拡張フレームの両方)を受信できる必要があります。誰かがこれを達成するために例を変更する方法を説明できますか?グローバルマスクを0に設定し、RXメッセージバッファスロットIDも同じに設定しようとしましたが、何も受信されません。 私が試した他のいくつかのオプション: flexcanConfigです。ビットレート = 250000U; flexcanConfigです。bitRateFD = 250000U; flexcanConfigです。disableSelfReception = true; flexcanConfigです。enableSupervisorMode = false; flexcanConfigです。enableLoopBack = false; ご説明をよろしくお願いいたします。 日時:MIMXRT1170-EVKB CANBUS J102とJ103のジャンパーが問題でした。本当に感謝しています
View full article
Unable to write NXP image to iMX 8M nano EVK via UUU Trying to write the imx 8 nano EVK Linux image that I download from NXP to my imx 8 nano EVK via UUU. I think that should be a very simple, ordinary thing to do. But it fails. I downloaded LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK. Using the latest UUU, v 1.5.182. UUU recognizes the nano and starts processing but fails quickly with error: LIBUSB_ERROR_TIMEOUT.  I've retried many times, but fails the same every time. FWIW: I also have a mini EVK and I can write the mini EVK image to it without issue. Any ideas what is causing the failure? And how to fix? Here's the output from my run: PS i.MX-8M-Nano-EVK\LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK> .\uuu.exe -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.182-0-gda3cd53 Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 2:1 MX815 SDPS: 0x1FC9 0x013E 0x0001 2D2A6A09DAB58857 PS i.MX-8M-Nano-EVK\LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK> .\uuu.exe -V . uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.182-0-gda3cd53 Build in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb Wait for Known USB Device Appear... New USB Device Attached at 2:1-2D2A6A09DAB58857 2:1-2D2A6A09DAB58857>Start Cmd:SDPS: boot -f imx-boot-imx8mnddr3levk-sd.bin-flash_ddr3l_evk 10%2:1-2D2A6A09DAB58857>Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7)(20.05s) libusb: warning [libusb_exit] device 2.0 still referenced libusb: warning [libusb_exit] device 1.0 still referenced libusb: warning [libusb_exit] device 2.6 still referenced libusb: warning [libusb_exit] device 1.1 still referenced libusb: warning [libusb_exit] device 2.2 still referenced PS i.MX-8M-Nano-EVK\LF_v6.6.36-2.1.0_images_IMX8MNDDR3LEVK> i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Windows Re: Unable to write NXP image to iMX 8M nano EVK via UUU Your response prompted me to look more closely at the download options. I see now that there are two with "nano" in the name: i.MX 8M Nano DDR3L EVK and i.MX 8M Nano EVK. I guess the one without "DDR3" in the name is for DDR4. Using the non-DDR3 download worked. FWIW, I used command: uuu .\LF_v6.6.36-2.1.0_images_IMX8MNEVK.zip Sure wish the online info was better designed for success. Thanks for the help. Re: Unable to write NXP image to iMX 8M nano EVK via UUU Hi, You are flashing DDR3 binaries to LPDDR4 board, please try flashing the proper LPDDR4 board. uuu -b imx-boot-imx8mnevk-sd.bin-flash_evk imx-image-full-imx8mnevk.wic Regards Re: Unable to write NXP image to iMX 8M nano EVK via UUU Trying again to attach pics. Seems to work better with jpg files instead of .zip.      Re: Unable to write NXP image to iMX 8M nano EVK via UUU I did attach a zip file with images, but I don't see it in the thread now. I then tried replying again and attaching a simple text file, but I don't think it worked. The file seems to start to upload; showing in the drag and drop box, but then it disappears. And the message 'maximum attachments allowed' count stays at 5. So, I doubt the pic zip got attached in my last msg. Re: Unable to write NXP image to iMX 8M nano EVK via UUU Maybe you mean top side and bottom side pics. Attached. Re: Unable to write NXP image to iMX 8M nano EVK via UUU Hi, Thank you for your interest in NXP Semiconductor products, Could you share top and bottom pictures of both of your boards? Regards
View full article
LPC804 Stuck or crash on IAP_ReadUniqueID I'm trying to read the Unique ID of a LPC804 but, I think it was working before, now I cannot access the UID any longer. The following function makes the whole process stop and not continue. In the debugger I find that IAP_ReadUniqueID is executed (although maybe not with success?) but a breakpoint on the status check is never reached. uint32_t UIDValue = 0x00; status_t UIDStatus = kStatus_Fail; // Read the UID UIDStatus = IAP_ReadUniqueID(&UIDValue); // Return when failed if(UIDStatus != kStatus_Success) return; // insert UID into message data[3] = (uint8_t)((UIDValue >> (8 * 3)) & 0xFF); data[4] = (uint8_t)((UIDValue >> (8 * 2)) & 0xFF); data[5] = (uint8_t)((UIDValue >> (8 * 1)) & 0xFF); data[6] = (uint8_t)(UIDValue & 0xFF); Since I think it was working prior, might the flash memory have been emptied or reset? What could it be or what can I check? Re: LPC804 Stuck or crash on IAP_ReadUniqueID Thanks, amazing! That solved my issue. I could, indeed, have figured that out by checking the function. In my defense though, this documentation could be updated to fit that explenation? https://mcuxpresso.nxp.com/api_doc/dev/2167/a00070.html#ga258d8c49d494cbd0d18321af56e11440 Seems an important requirement that isn't mentioned directly. Re: LPC804 Stuck or crash on IAP_ReadUniqueID IAP_ReadUniqueID() expects a pointer to 128bits (4 x 32bit values). You see this if you step into IAP_ReadUniqeID(). You are passing only a pointer to 32bits, so memory gets overwritten. Fix that and it should work.
View full article
MIMXRT1176CVM8A(MIMXRT1176ファミリー)JTAG関連クエリ こんにちはチーム、 MIMXRT1176CVM8Aの場合、参照回路図に従ってJTAGには20ピン2.54mmコネクタが使用されます。これは、以下に示すように、Multilink Universal プログラマーのポート B に相当します。 私の質問:PCB上のJTAGコネクタを縮小できるように、Multilinkユニバーサルプログラマー(以下に示す)の「ポートG」を使用できますか? 日時:MIMXRT1176CVM8A(MIMXRT1176ファミリー)JTAG関連問い合わせ 迅速なサポートに感謝します
View full article
MIMXRT1170-EVKB CANBUS Good morning, I'm using the MIMXRT1170-EVKB starter kit and trying to get the CAN bus working. I loaded the "evkbmimxrt1170_canfd_loopback_transfer_cm7" example, but I need to be able to receive any CAN frame on the bus (both standard and extended frames) without loopback or filtering. Can someone explain how to modify the example to achieve this? I tried setting the global mask to 0 and same for the RX message buffer slot id, but nothing is being received.  Some other option I tried: flexcanConfig.bitRate = 250000U; flexcanConfig.bitRateFD = 250000U; flexcanConfig.disableSelfReception = true; flexcanConfig.enableSupervisorMode = false; flexcanConfig.enableLoopBack = false; Thanks in advance for any clarification. Re: MIMXRT1170-EVKB CANBUS Hi @PaoloRB  I'm glad your problem was solved. If your question is solved, please tell me to close this case, and help me to fill the feedback as resolved, thanks. Best Regards mayliu Re: MIMXRT1170-EVKB CANBUS J102 and J103 jumpers were the issue. Really appreciated Re: MIMXRT1170-EVKB CANBUS Hi @PaoloRB, Thank you for your updated information. I advise you not to use the “evkbmimxrt1170_canfd_loopback_transfer_cm7” SDK demo, this example is about send a CAN Message from the Tx Message Buffer to the Rx Message Buffer through internal loopback interconnect. I use MIMXRT1050-EVKB board and MIMXRT1070-EVKB board. I import SDK demo "evkbimxrt1050_flexcan_interrupt_transfer"  and "evkbmimxrt1170_canfd_interrupt_transfer_cm7". I modify some code, the result is that MIMXRT1170-EVKB can receive any CAN ID send from MIMXRT1050-EVKB board. 1:  flexcanConfig.enableIndividMask = false; 2: FLEXCAN_SetRxMbGlobalMask(EXAMPLE_CAN, 0); If you use MIMXRT1170-EVKB board CAN3 J47, Please Remove J102 and J103 jumpers. It is very import. Please connect Two CAN interface correctly. Wish it helps you. If you still have question about it, please kindly let me know. Wish you a nice day! Best Regards mayliu Re: MIMXRT1170-EVKB CANBUS Thanks for your quick response,  My actual testing code: flexcan_config_t flexcanConfig; flexcan_rx_mb_config_t mbConfig; /* Initialize board hardware. */ BOARD_ConfigMPU(); BOARD_InitPins(); BOARD_BootClockRUN(); BOARD_InitDebugConsole(); /*Clock setting for FLEXCAN*/ clock_root_config_t rootCfg = {0}; rootCfg.mux = FLEXCAN_CLOCK_SOURCE_SELECT; rootCfg.div = FLEXCAN_CLOCK_SOURCE_DIVIDER; CLOCK_SetRootClock(kCLOCK_Root_Can3, &rootCfg); LOG_INFO("\r\n==FlexCAN loopback example -- Start.==\r\n\r\n"); /* Init FlexCAN module. */ /* * flexcanConfig.clksrc=kFLEXCAN_ClkSrc0; * flexcanConfig.bitRate = 1000000U; * flexcanConfig.bitRateFD = 2000000U; * flexcanConfig.maxMbNum = 16; * flexcanConfig.enableLoopBack = false; * flexcanConfig.enableSelfWakeup = false; * flexcanConfig.enableIndividMask = false; * flexcanConfig.disableSelfReception = false; * flexcanConfig.enableListenOnlyMode = false; * flexcanConfig.enableDoze = false; */ FLEXCAN_GetDefaultConfig(&flexcanConfig); flexcanConfig.bitRate = 250000U; flexcanConfig.enableIndividMask = false; #if defined(EXAMPLE_CAN_CLK_SOURCE) flexcanConfig.clksrc=EXAMPLE_CAN_CLK_SOURCE; #endif #if (defined(USE_IMPROVED_TIMING_CONFIG) && USE_IMPROVED_TIMING_CONFIG) flexcan_timing_config_t timing_config; memset(&timing_config, 0, sizeof(flexcan_timing_config_t)); #if (defined(USE_CANFD) && USE_CANFD) if (FLEXCAN_FDCalculateImprovedTimingValues(EXAMPLE_CAN, flexcanConfig.bitRate, flexcanConfig.bitRateFD, EXAMPLE_CAN_CLK_FREQ, &timing_config)) { /* Update the improved timing configuration*/ memcpy(&(flexcanConfig.timingConfig), &timing_config, sizeof(flexcan_timing_config_t)); } else { LOG_INFO("No found Improved Timing Configuration. Just used default configuration\r\n\r\n"); } #else if (FLEXCAN_CalculateImprovedTimingValues(EXAMPLE_CAN, flexcanConfig.bitRate, EXAMPLE_CAN_CLK_FREQ, &timing_config)) { /* Update the improved timing configuration*/ memcpy(&(flexcanConfig.timingConfig), &timing_config, sizeof(flexcan_timing_config_t)); } else { LOG_INFO("No found Improved Timing Configuration. Just used default configuration\r\n\r\n"); } #endif #endif #if (defined(USE_CANFD) && USE_CANFD) FLEXCAN_FDInit(EXAMPLE_CAN, &flexcanConfig, EXAMPLE_CAN_CLK_FREQ, BYTES_IN_MB, true); #else FLEXCAN_Init(EXAMPLE_CAN, &flexcanConfig, EXAMPLE_CAN_CLK_FREQ); #endif FLEXCAN_SetRxMbGlobalMask(EXAMPLE_CAN, 0); /* Create FlexCAN handle structure and set call back function. */ FLEXCAN_TransferCreateHandle(EXAMPLE_CAN, &flexcanHandle, flexcan_callback, NULL); /* Setup Rx Message Buffer. */ mbConfig.format = kFLEXCAN_FrameFormatStandard; mbConfig.type = kFLEXCAN_FrameTypeData; mbConfig.id = FLEXCAN_ID_STD(0x123); #if (defined(USE_CANFD) && USE_CANFD) FLEXCAN_SetFDRxMbConfig(EXAMPLE_CAN, RX_MESSAGE_BUFFER_NUM, &mbConfig, true); #else FLEXCAN_SetRxMbConfig(EXAMPLE_CAN, RX_MESSAGE_BUFFER_NUM, &mbConfig, true); #endif /* Start receive data through Rx Message Buffer. */ rxXfer.mbIdx = (uint8_t)RX_MESSAGE_BUFFER_NUM; #if (defined(USE_CANFD) && USE_CANFD) rxXfer.framefd = &rxFrame; (void)FLEXCAN_TransferFDReceiveNonBlocking(EXAMPLE_CAN, &flexcanHandle, &rxXfer); #else rxXfer.frame = &rxFrame; (void)FLEXCAN_TransferReceiveNonBlocking(EXAMPLE_CAN, &flexcanHandle, &rxXfer); #endif FLEXCAN_SetTxMbConfig(EXAMPLE_CAN, TX_MESSAGE_BUFFER_NUM, true); /* Waiting for Rx Message finish. */ while ((!rxComplete)) { int test = 1 ; }; but I'm still not receiving any frame. rxComplete never triggered. Thanks again Re: MIMXRT1170-EVKB CANBUS Hi @PaoloRB , Thank you so much for your interest in our products and for using our community. The next SDK function to set RX Masking mechanism,  the second param mask set as 0 to allow receive all ID CAN frame. For example: FLEXCAN_SetRxMbGlobalMask(EXAMPLE_CAN, 0);  Please also pay attention to  that "The configuration is only effective when the Rx individual mask is disabled in the FLEXCAN_Init()." Wish it helps you. If you still have question about it, please kindly let me know. Best Regards mayliu
View full article
MIMXRT1170-EVKB CAN总线 早上好, 我正在使用 MIMXRT1170-EVKB 入门套件并尝试让 CAN 总线正常工作。我加载了“evkbmimxrt1170_canfd_loopback_transfer_cm7”示例,但我需要能够接收总线上的任何 CAN 帧(标准帧和扩展帧),而无需环回或过滤。有人可以解释一下如何修改示例来实现这一点吗?我尝试将全局掩码设置为 0,并将 RX 消息缓冲区槽 ID 也设置为 0,但没有收到任何内容。 我尝试过的其他一些选择: flexcanConfig.比特率=250000U; flexcanConfig.bitRateFD = 250000U ; flexcanConfig.disableSelfReception = true ; flexcanConfig.enableSupervisorMode = false ; flexcanConfig.enableLoopBack = false ; 在此先感谢您的澄清。 回复:MIMXRT1170-EVKB CANBUS 问题在于 J102 和 J103 跳线。非常感谢
View full article
LPC804 IAP_ReadUniqueIDでスタックまたはクラッシュする LPC804の一意のIDを読み取ろうとしていますが、以前は機能していたと思いますが、今ではUIDにアクセスできなくなりました。 次の関数は、プロセス全体を停止し、続行しないようにします。デバッガでは、IAP_ReadUniqueIDが実行されていることがわかりますが(成功していないかもしれませんが)、ステータスチェックのブレークポイントに達することはありません。 uint32_t UIDValue = 0x00; status_t UIDStatus = kStatus_Fail; // Read the UID UIDStatus = IAP_ReadUniqueID(&UIDValue); // Return when failed if(UIDStatus != kStatus_Success) return; // insert UID into message data[3] = (uint8_t)((UIDValue >> (8 * 3)) & 0xFF); data[4] = (uint8_t)((UIDValue >> (8 * 2)) & 0xFF); data[5] = (uint8_t)((UIDValue >> (8 * 1)) & 0xFF); data[6] = (uint8_t)(UIDValue & 0xFF); 以前は動作していたと思うので、フラッシュメモリが空になったりリセットされたりしたのでしょうか?それは何でしょうか、または何を確認できますか? 日時:LPC804スタックまたはIAP_ReadUniqueIDでクラッシュ IAP_ReadUniqueID() は 128 ビット (4 x 32 ビット値) へのポインタを想定しています。 これは、IAP_ReadUniqeID() に足を踏み入れるとわかります。 32ビットへのポインタのみを渡しているため、メモリは上書きされます。それを修正すれば、うまくいくはずです。
View full article
MIMXRT1176CVM8A (MIMXRT1176 Family's)JTAG related query Hi team, For MIMXRT1176CVM8A, 20 pin 2.54mm connector is used for JTAG as per reference schematics. This corresponds to Port B of Multilink Universal programmer as shown below.  My query: Can we go for the "Port G" of Multilink universal programmer (shown below) so that we can have reduced size JTAG connector on the PCB.?? Re: MIMXRT1176CVM8A (MIMXRT1176 Family's)JTAG related query thanks for the quick support Re: MIMXRT1176CVM8A (MIMXRT1176 Family's)JTAG related query Hi @Yogesh96 ,     Sure, you can use the 10 pin SWD interface, as the RT1170 can support both the JTAG and SWD interface.     You can use this interface:     SWD just need the SWD_CLK, SWD_DATA, Reset, VDD, GND.   So, you can use PORT G, just make sure your designed PCB have the same interface, which need to connect the SWD signal sequence correctly to the debugger. Wish it helps you! If you still have question about it, please kindly let me know. If your question is solved, please help me to mark the correct answer, just to close this case, thanks. Any new issues, welcome to create the new case. Best Regards, kerry
View full article
MIMXRT1176CVM8A(MIMXRT1176系列)JTAG相关查询 大家好, 对于 MIMXRT1176CVM8A,根据参考原理图,20 针 2.54 毫米连接器用于 JTAG。这对应于 Multilink Universal 编程器的端口 B,如下所示。 我的疑问:我们可以使用 Multilink 通用编程器的“端口 G”(如下所示),以便我们可以在 PCB 上减小 JTAG 连接器的尺寸吗??? 回复:MIMXRT1176CVM8A(MIMXRT1176系列)JTAG相关查询 感谢您的快速支持
View full article