Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
i.MX6 DDR Stress Test Tool V1.0.3 Note, the tools described in this page are deprecated and are no longer maintained.  For the latest maintained i.MX 6/7 series DDR tools, the user can find these here: i.MX 6/7 Series DDR Tool Release Hi All, DDR_Stress_Tester is a software application for fine tuning DDR parameters and verifying DDR performance on i.MX6 boards. It performs write leveling, DQS gating, read/write delay calibration on the target board to match the layout of the board and archive the best DDR performance. In addition, the stress test can help the user to verify the DDR performance on their boards. The following are the features supported: • Support i.MX6Q, i.MX6D, i.MX6DL, iMX6S, i.MX6SL, and i.MX6SX DDR calibration. • Support DDR3 write leveling, DQS gating, Read/Write Delay auto-calibration. • Support LPDDR2 Read/Write Delay auto-calibration. • Support 16 bits, 32 bits, and 64 bits data bus. • Support fixed-mapping 2-channel LPDDR2. • Support DDR stress test between the frequency 135MHz and 672 MHz If  USB OTG port is not available on customer board, please use the images in DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip. The bin files in the packages can be loaded by uboot and elf files are used by JTAG load.  Please note when the image is loaded by u-boot, the DDR is initialized by u-boot (reference flash_header.S). To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. If you have other DMA access in u-boot, it must be disabled. If customer uses different RX/TX pin for UART, please contact FAE. UART1 6DQ 6DL 6SL 6SX TX CSI0_DAT10/ALT3 CSI0_DAT10/ALT3 UART1_TXD/ALT0 GPIO1_IO04/ALT0 RX CSI0_DAT11/ALT3 CSI0_DAT11/ALT3 UART1_RXD/ALT0 GPIO1_IO05/ALT0 The commands to run ddr test in i.MX6Q uboot: U-Boot > fatload mmc 2:1 0x907000 ddr-stress-test-mx6dq.bin U-Boot > go 0x907000 For i.MX6Q/6D 4K interleaved LPDDR2, please use version v1.0.3.1. i.MX6 DDR Stress Test Tool V1.0.3.1 for LPDDR2 4K interleaved mode For i.MX6/i.MX7 DDR Stress Test Tool with GUI interface, please use version V2.x: i.MX6/7 DDR Stress Test Tool V2.10 History V1.0.3:  i.MX6SoloX is supported. Re: i.MX6 DDR Stress Test Tool V1.0.3 V0.042 is not suggested for i.MX6. There are a lot of differences between v0.042 and v1.0.x. The memory property is different. Re: i.MX6 DDR Stress Test Tool V1.0.3 I took a look at it in more detail and the actual difference is not USB OTG vs SDBoot, it was the DDRStressTester version. We were originally testing OSB OTG DDRStressTester v0.042, we were getting 3min for 2GB DDR there. When we started with the SDBoot, we tested with v1.0.2. which gave 8min for 2GB. When I retested v1.0.2 USB OTG, I get 8min for 2GB. Retesting for 512MB does give me the 2min you were getting. The main items the were significantly longer in v1.0.2 was t0.1 data is addr test, t1 memcpy8 SSN x64 test, t3 memcypy11 random pattern test. What caused the drastic change in performance between v0.042 and v1.0.2? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Mark, I have not see the difference you described. i.MX6Q: L3.0.35_4.1.0 u-boot  ( modification: comment out drv_lcd_init () in common/stdio.c ) DDR density selected (MB): 512 There is no difference on the time to run one loop through USB OTG and through u-boot loading, both are around 2 mins. You can try to modify the u-boot as my changes. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Mark, I have not see the difference you described. i.MX6Q: L3.0.35_4.1.0 u-boot  ( modification: comment out drv_lcd_init () in common/stdio.c ) DDR density selected (MB): 512 There is no difference on the time to run one loop through USB OTG and through u-boot loading, both are around 2 mins. You can try to modify the u-boot as my changes. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace Si, We are using the imx6 DDR Stress Tester both through USB OTG and loading through uboot with the SDBoot version. We noticed in usbotg, we finish one loop in about 3minutes while the SDboot version finished in about 8minutes. Is this expected and what is causing this time difference? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace Si, We are using the imx6 DDR Stress Tester both through USB OTG and loading through uboot with the SDBoot version. We noticed in usbotg, we finish one loop in about 3minutes while the SDboot version finished in about 8minutes. Is this expected and what is causing this time difference? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Casper, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Casper, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 hello Grace           is anyway to support us to create that pattern in? we can pay for a whole sulotion! or who should i  contact? thanks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 We don't have plan for it. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 We don't have plan for it. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello is it possible to add in precharge power down test in Stress test?? tks ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 I don't know how I missed this, but knowing that I could launch the DDR Stress Test tool from U-Boot would have saved us a lot of time. GraceSi wrote: In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. None of the binaries in the v1.0.2 or v1.0.3 ZIP files has a size of 87520 bytes.  My copy of ddr-stress-test-mx6dq.bin (v1.0.3) is 96660 bytes. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); If you're successfully talking to U-Boot over UART1, then it's probably already set up correctly :-). Currently watching the tool rotating through DDR3 clock frequencies... Re: i.MX6 DDR Stress Test Tool V1.0.3 I don't know how I missed this, but knowing that I could launch the DDR Stress Test tool from U-Boot would have saved us a lot of time. GraceSi wrote: In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. None of the binaries in the v1.0.2 or v1.0.3 ZIP files has a size of 87520 bytes.  My copy of ddr-stress-test-mx6dq.bin (v1.0.3) is 96660 bytes. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); If you're successfully talking to U-Boot over UART1, then it's probably already set up correctly :-). Currently watching the tool rotating through DDR3 clock frequencies... Re: i.MX6 DDR Stress Test Tool V1.0.3 I tried to test 4GB DDR3 on CS0 only and got calibration data with option "9" (maximum supported density). However, I got error on t0.1 Address of failure: 0x10000000 Data was: 0x90000000 when I set MMDC0_MDASP to 0x7F. I got error on t0.1 Address of failure: 0xc0000000 Data was: 0xffffffc0 when I set MMDC0_MDASP to 0x5F. Is this hardware or software limitation? Re: i.MX6 DDR Stress Test Tool V1.0.3 I tried to test 4GB DDR3 on CS0 only and got calibration data with option "9" (maximum supported density). However, I got error on t0.1 Address of failure: 0x10000000 Data was: 0x90000000 when I set MMDC0_MDASP to 0x7F. I got error on t0.1 Address of failure: 0xc0000000 Data was: 0xffffffc0 when I set MMDC0_MDASP to 0x5F. Is this hardware or software limitation? Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Azlum      performance checking we suggest at least 500loops. Casper Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Azlum      performance checking we suggest at least 500loops. Casper Re: i.MX6 DDR Stress Test Tool V1.0.3 Dear Casper, How many RAM test loop need to be completed ? When I run the RAM stress test, it crossed around 470 loops. So whether can I consider this as Pass ? Regards, Azlum Re: i.MX6 DDR Stress Test Tool V1.0.3 Dear Casper, How many RAM test loop need to be completed ? When I run the RAM stress test, it crossed around 470 loops. So whether can I consider this as Pass ? Regards, Azlum Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace i try to modify as below setmem /32 0x021b000c = 0x3F433F13  // MMDC0_MDCFG0          for txpdll is set a unreasonable value for DDR3 but it still test pass. does it mean no tXPDLL related in DDR3 stress test?? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace i try to modify as below setmem /32 0x021b000c = 0x3F433F13  // MMDC0_MDCFG0          for txpdll is set a unreasonable value for DDR3 but it still test pass. does it mean no tXPDLL related in DDR3 stress test?? Re: i.MX6 DDR Stress Test Tool V1.0.3 please go to Freescale i.MX6 DRAM Port Application Guide-DDR3 Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 please go to Freescale i.MX6 DRAM Port Application Guide-DDR3 Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 hello Grace           suppose it is not modified in stress test aid. suppose txpdll is setle when DDR3 init! so how can i modify it before init?? Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Grace      but if i want to tuning tXPDLL of DDR3 how can i do in iMX6 solo? Re: i.MX6 DDR Stress Test Tool V1.0.3 hi Grace      but if i want to tuning tXPDLL of DDR3 how can i do in iMX6 solo? Re: i.MX6 DDR Stress Test Tool V1.0.3 txpdll should follow the value in datasheet of your DDR3. It is not supposed to be tested. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 txpdll should follow the value in datasheet of your DDR3. It is not supposed to be tested. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 hello    we test DDR3 in IMx6 solo. we want to know if it can inclulde txpdll test by DDR3 stress test? it appricated if any solution or suggestion thank you for your kinldy help ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 hello    we test DDR3 in IMx6 solo. we want to know if it can inclulde txpdll test by DDR3 stress test? it appricated if any solution or suggestion thank you for your kinldy help ^^ Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, Are you using the binary in DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. Even the name is same, but the binary files in package DDR_Stress_Tester_UART1_for_SDboot&JTAG.zip and DDR_Stress_Tester.zip are different. In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, Are you using the binary in DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. Even the name is same, but the binary files in package DDR_Stress_Tester_UART1_for_SDboot&JTAG.zip and DDR_Stress_Tester.zip are different. In my log below, you can see the load size of ddr-stress-test-mx6dq.bin is  87520, but yours is 96660. Another point is what I mentioned before, is the RX/TX pin of  UART1 of your board same as i.MX6DQ EVK? If not, please contact your FAE. i.MX6DQ UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup    writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi there, I'm using an i.MX6Q part on my board and I don't have OTG so I am following your instructions on loading from u-boot or JTAG. JTAG I've had no luck so I thought I'd switch over to u-boot. U-Boot > ext2load mmc 0:1 0x907000 ddr-stress-test-mx6dq.bin 96660 bytes read in 43 ms (2.1 MiB/s) U-Boot > go 0x907000 ## Starting application at 0x00907000 ... then it just sits there and doesn't load anything further... any ideas? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi there, I'm using an i.MX6Q part on my board and I don't have OTG so I am following your instructions on loading from u-boot or JTAG. JTAG I've had no luck so I thought I'd switch over to u-boot. U-Boot > ext2load mmc 0:1 0x907000 ddr-stress-test-mx6dq.bin 96660 bytes read in 43 ms (2.1 MiB/s) U-Boot > go 0x907000 ## Starting application at 0x00907000 ... then it just sits there and doesn't load anything further... any ideas? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Leo, Please check whether the RX/TX pin of  UART1 is same as i.MX6DL EVK,  if not, the DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. will not work. please contact your FAE to build the software to configure the correct UART. i.MX6DL UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup     writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Leo, Please check whether the RX/TX pin of  UART1 is same as i.MX6DL EVK,  if not, the DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip or DDR_Stress_Tester_V1.0.2_UART1_for_SDboot&JTAG.zip. will not work. please contact your FAE to build the software to configure the correct UART. i.MX6DL UART1 :     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11);     // daisy chain setup     writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Bump. We are about to crank our new board to 1 GHz timings, and I'd like to be able to get this nailed down.  The DDR3 Script Aid is very useful, but ultimately I want to use the Stress Test Tool to dial them in. So far I've had no (apparent) success being able to run the Stress Test Tool using nothing but JTAG.  This may well be because I'm not using JTAG correctly.  Is there an FAQ or HOWTO somewhere that might point me in the right direction? Also: Does setting up the DDR3 timings also set up the core clock?  We'd like the ARM cores to run at 1 GHz as well; do we get that for "free" when using the output from the Script Aid? Re: i.MX6 DDR Stress Test Tool V1.0.3 Bump. We are about to crank our new board to 1 GHz timings, and I'd like to be able to get this nailed down.  The DDR3 Script Aid is very useful, but ultimately I want to use the Stress Test Tool to dial them in. So far I've had no (apparent) success being able to run the Stress Test Tool using nothing but JTAG.  This may well be because I'm not using JTAG correctly.  Is there an FAQ or HOWTO somewhere that might point me in the right direction? Also: Does setting up the DDR3 timings also set up the core clock?  We'd like the ARM cores to run at 1 GHz as well; do we get that for "free" when using the output from the Script Aid? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Steve, Please contact your FAE. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Steve, Please contact your FAE. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 GraceSi, The console port on our board is UART4. Could you release a binary file booting from SD to support UART4 console?  Or could you release the source code to us to modify by ourselves? Thanks. Steve Re: i.MX6 DDR Stress Test Tool V1.0.3 GraceSi, The console port on our board is UART4. Could you release a binary file booting from SD to support UART4 console?  Or could you release the source code to us to modify by ourselves? Thanks. Steve Re: i.MX6 DDR Stress Test Tool V1.0.3 Please always use WALAT=1, you can refer to below aid. i.Mx6DQSDL DDR3 Script Aid https://community.freescale.com/docs/DOC-94917 Sure, flash_header.s should keep same with your test script. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace,      The write leveling calibration result of our board is as following: MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00270021 MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0030002C MMDC_MPWLDECTRL0 ch1 after write level cal: 0x001F0030 MMDC_MPWLDECTRL1 ch1 after write level cal: 0x000F0026      I am not sure how to judge if the value is larger than 0x2f as User_Guide says:                             NOTE If write-leveling delay is larger than 0x2f, it is suggested to set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. And if I should set WALAT to 1 in the script, should I set it to 1 in flash_header.S? In other words, if I calibrated a group of satisfied parameters and the stress test is also OK, should I keep flash_header.S's every register value the same as the test script.inc?    Thank you very much! Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace,      The write leveling calibration result of our board is as following: MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00270021 MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0030002C MMDC_MPWLDECTRL0 ch1 after write level cal: 0x001F0030 MMDC_MPWLDECTRL1 ch1 after write level cal: 0x000F0026      I am not sure how to judge if the value is larger than 0x2f as User_Guide says:                             NOTE If write-leveling delay is larger than 0x2f, it is suggested to set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. And if I should set WALAT to 1 in the script, should I set it to 1 in flash_header.S? In other words, if I calibrated a group of satisfied parameters and the stress test is also OK, should I keep flash_header.S's every register value the same as the test script.inc?    Thank you very much! Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Petr, regarding Vybrid there's not this tool but DDRV (aka DDR Validation) available within Processor Expert and Eclipse based product Driver Suite (DS) v10.4.1. You have to have installed DS v10.4 and after that you need to apply an update 1 which includes DDRV tool supported for Vybrid processors. You may find more information about Driver Suite here - http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=PE_DRIVER_SUITE. Just one note here, DDRV tool is a licensed tool, so you will need to obtain proper license to run this piece of SW. Not sure who is the right person to contact regarding DDRV licensing for Vybrid, but you may try to contact your local FSL representative for an evaluation key. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Petr, regarding Vybrid there's not this tool but DDRV (aka DDR Validation) available within Processor Expert and Eclipse based product Driver Suite (DS) v10.4.1. You have to have installed DS v10.4 and after that you need to apply an update 1 which includes DDRV tool supported for Vybrid processors. You may find more information about Driver Suite here - http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=PE_DRIVER_SUITE. Just one note here, DDRV tool is a licensed tool, so you will need to obtain proper license to run this piece of SW. Not sure who is the right person to contact regarding DDRV licensing for Vybrid, but you may try to contact your local FSL representative for an evaluation key. Re: i.MX6 DDR Stress Test Tool V1.0.3 From the name, I would presume that "DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip" contained images that were intended to be loaded via JTAG and would interact over UART1.  However, I've been unable to get this to work.  I'm a newcomer to JTAG in general and OpenOCD in particular, so pilot error is a definite possibility. Our board is based around the i.MX6DL.  I'm using OpenOCD 0.8.0 with an Olimex USB-TINY-H.  TRST on the JTAG pod is connected to JTAG_TRST; SRST is connected to POR. As such, I have reset_config set as follows: reset_config trst_and_srst srst_pulls_trst This appears to (mostly) work: > reset halt adapter speed: 1000 kHz JTAG scan chain interrogation failed: all zeroes Check JTAG interface, timings, target power, etc. Trying to use configured scan chain anyway... imx6.dap: IR capture error; saw 0x00 not 0x01 Bypassing JTAG setup events due to errors Locking debug access failed on first, but succeeded on second try. BUG: can't assert only SRST Locking debug access failed on first, but succeeded on second try. imx6.cpu.0: ran after reset and before halt ... number of cache level 1 imx6.cpu.0 cluster 0 core 0 multi core target state: halted target halted in Thumb state due to debug-request, current mode: Supervisor cpsr: 0x400001f3 pc: 0x00001080 MMU: disabled, D-Cache: disabled, I-Cache: enabled I also appear to be able to load the image: > load_image /home/ewhac/devel/iMX6/DDR_Stress_Tester_V1.0.3_UART1/ddr-stress-test-mx6dl.elf 82226 bytes written at address 0x00907000 downloaded 82226 bytes in 4.802489s (16.720 KiB/s) However, after this point, I can't get anything to work.  'resume 0x907000' appears to do nothing, and subsequent 'halt' commands don't work; I have to reset.  When I disassemble the loaded image from 0x907000, I see this: > arm disassemble 0x907000 32 0x00907000     0xe59ff018     LDR r15, [r15, #0x18] 0x00907004     0xe59ff018     LDR r15, [r15, #0x18] 0x00907008     0xe59ff018     LDR r15, [r15, #0x18] 0x0090700c     0xe59ff018     LDR r15, [r15, #0x18] 0x00907010     0xe59ff018     LDR r15, [r15, #0x18] 0x00907014     0xe1a00000     NOP 0x00907018     0xe59ff014     LDR r15, [r15, #0x14] 0x0090701c     0xe59ff014     LDR r15, [r15, #0x14] 0x00907020     0x00907054     ADDEQS r7, r0, r4, ASR r0 0x00907024     0x0090703c     ADDEQS r7, r0, r12, LSR r0 0x00907028     0x00907040     ADDEQS r7, r0, r0, ASR #0x20 0x0090702c     0x00907044     ADDEQS r7, r0, r4, ASR #0x20 0x00907030     0x00907048     ADDEQS r7, r0, r8, ASR #0x20 0x00907034     0x0090704c     ADDEQS r7, r0, r12, ASR #0x20 0x00907038     0x00907050     ADDEQS r7, r0, r0, ASR r0 0x0090703c     0xeafffffe     B 0x0090703c 0x00907040     0xeafffffe     B 0x00907040 0x00907044     0xeafffffe     B 0x00907044 0x00907048     0xeafffffe     B 0x00907048 0x0090704c     0xeafffffe     B 0x0090704c 0x00907050     0xeafffffe     B 0x00907050 0x00907054     0xeb000054     BL 0x009071ac 0x00907058     0xeb00007d     BL 0x00907254 0x0090705c     0xeb00001b     BL 0x009070d0 0x00907060     0xeb00004a     BL 0x00907190 0x00907064     0xeb00005d     BL 0x009071e0 0x00907068     0xe59f02e4     LDR r0, [r15, #0x2e4] 0x0090706c     0xe321f0d1     MSR CPSR_c, 0x000000d1 0x00907070     0xe240d000     SUB r13, r0, #0x0 0x00907074     0xe321f0d2     MSR CPSR_c, 0x000000d2 0x00907078     0xe240d000     SUB r13, r0, #0x0 0x0090707c     0xe321f0d7     MSR CPSR_c, 0x000000d7 So it's pretty obvious 0x907000 is not the entry point.  The ELF file says the entry point is 0x907054, and the disassembly tends to support this.  However, 'resume 0x907054' has the same result (no output, unresponsive 'halt'). Just for fun, I tried 'resume 0x90703c', expecting the CPU to enter an infinite loop.  But no, not even that works.  It's almost as if it's ignoring my attempts to change the program counter. What am I missing?  I'm sure it's something terribly obvious... Re: i.MX6 DDR Stress Test Tool V1.0.3 From the name, I would presume that "DDR_Stress_Tester_V1.0.3_UART1_for_SDboot&JTAG.zip" contained images that were intended to be loaded via JTAG and would interact over UART1.  However, I've been unable to get this to work.  I'm a newcomer to JTAG in general and OpenOCD in particular, so pilot error is a definite possibility. Our board is based around the i.MX6DL.  I'm using OpenOCD 0.8.0 with an Olimex USB-TINY-H.  TRST on the JTAG pod is connected to JTAG_TRST; SRST is connected to POR. As such, I have reset_config set as follows: reset_config trst_and_srst srst_pulls_trst This appears to (mostly) work: > reset halt adapter speed: 1000 kHz JTAG scan chain interrogation failed: all zeroes Check JTAG interface, timings, target power, etc. Trying to use configured scan chain anyway... imx6.dap: IR capture error; saw 0x00 not 0x01 Bypassing JTAG setup events due to errors Locking debug access failed on first, but succeeded on second try. BUG: can't assert only SRST Locking debug access failed on first, but succeeded on second try. imx6.cpu.0: ran after reset and before halt ... number of cache level 1 imx6.cpu.0 cluster 0 core 0 multi core target state: halted target halted in Thumb state due to debug-request, current mode: Supervisor cpsr: 0x400001f3 pc: 0x00001080 MMU: disabled, D-Cache: disabled, I-Cache: enabled I also appear to be able to load the image: > load_image /home/ewhac/devel/iMX6/DDR_Stress_Tester_V1.0.3_UART1/ddr-stress-test-mx6dl.elf 82226 bytes written at address 0x00907000 downloaded 82226 bytes in 4.802489s (16.720 KiB/s) However, after this point, I can't get anything to work.  'resume 0x907000' appears to do nothing, and subsequent 'halt' commands don't work; I have to reset.  When I disassemble the loaded image from 0x907000, I see this: > arm disassemble 0x907000 32 0x00907000     0xe59ff018     LDR r15, [r15, #0x18] 0x00907004     0xe59ff018     LDR r15, [r15, #0x18] 0x00907008     0xe59ff018     LDR r15, [r15, #0x18] 0x0090700c     0xe59ff018     LDR r15, [r15, #0x18] 0x00907010     0xe59ff018     LDR r15, [r15, #0x18] 0x00907014     0xe1a00000     NOP 0x00907018     0xe59ff014     LDR r15, [r15, #0x14] 0x0090701c     0xe59ff014     LDR r15, [r15, #0x14] 0x00907020     0x00907054     ADDEQS r7, r0, r4, ASR r0 0x00907024     0x0090703c     ADDEQS r7, r0, r12, LSR r0 0x00907028     0x00907040     ADDEQS r7, r0, r0, ASR #0x20 0x0090702c     0x00907044     ADDEQS r7, r0, r4, ASR #0x20 0x00907030     0x00907048     ADDEQS r7, r0, r8, ASR #0x20 0x00907034     0x0090704c     ADDEQS r7, r0, r12, ASR #0x20 0x00907038     0x00907050     ADDEQS r7, r0, r0, ASR r0 0x0090703c     0xeafffffe     B 0x0090703c 0x00907040     0xeafffffe     B 0x00907040 0x00907044     0xeafffffe     B 0x00907044 0x00907048     0xeafffffe     B 0x00907048 0x0090704c     0xeafffffe     B 0x0090704c 0x00907050     0xeafffffe     B 0x00907050 0x00907054     0xeb000054     BL 0x009071ac 0x00907058     0xeb00007d     BL 0x00907254 0x0090705c     0xeb00001b     BL 0x009070d0 0x00907060     0xeb00004a     BL 0x00907190 0x00907064     0xeb00005d     BL 0x009071e0 0x00907068     0xe59f02e4     LDR r0, [r15, #0x2e4] 0x0090706c     0xe321f0d1     MSR CPSR_c, 0x000000d1 0x00907070     0xe240d000     SUB r13, r0, #0x0 0x00907074     0xe321f0d2     MSR CPSR_c, 0x000000d2 0x00907078     0xe240d000     SUB r13, r0, #0x0 0x0090707c     0xe321f0d7     MSR CPSR_c, 0x000000d7 So it's pretty obvious 0x907000 is not the entry point.  The ELF file says the entry point is 0x907054, and the disassembly tends to support this.  However, 'resume 0x907054' has the same result (no output, unresponsive 'halt'). Just for fun, I tried 'resume 0x90703c', expecting the CPU to enter an infinite loop.  But no, not even that works.  It's almost as if it's ignoring my attempts to change the program counter. What am I missing?  I'm sure it's something terribly obvious... Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Immanuel, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Immanuel, Please contact your FAE or Marketing. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello GraceSi, We are working on developing test software for the i.MX6 board where we would like to include some of the test cases from the this DDR3 stress tool. Can we get the source of DDR_Stress_Tester_V1.0.3 tool? Immanuel Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello GraceSi, We are working on developing test software for the i.MX6 board where we would like to include some of the test cases from the this DDR3 stress tool. Can we get the source of DDR_Stress_Tester_V1.0.3 tool? Immanuel Re: i.MX6 DDR Stress Test Tool V1.0.3 Ok we have no Fly-by layout but what have I have to fill in at the write leveling data at the Excel sheet in the red cells? Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 Ok we have no Fly-by layout but what have I have to fill in at the write leveling data at the Excel sheet in the red cells? Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 No we have no Fly-by layout we have T-routing... Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 No we have no Fly-by layout we have T-routing... Regards Marcel Re: i.MX6 DDR Stress Test Tool V1.0.3 For Fly-by layout, write leveling calibration is needed. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 For Fly-by layout, write leveling calibration is needed. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Did I have to do write leveling calibration if I have no Fly-by layout config? Because I always get: Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. Re: i.MX6 DDR Stress Test Tool V1.0.3 Did I have to do write leveling calibration if I have no Fly-by layout config? Because I always get: Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, I am attempting to run the stress test tool on an EDM-IMX6 board manufactured by TechNexion (and a Wandboard) to try to resolve some intermittent memory corruption issues we have been seeing when using these boards. When I run the write leveling calibration, the value for MMDC_MPWLDECTRL1 always comes back with an incorrect value (see output below). My question is: Is this a problem with the stress test calibration tool, or is this indicative of a design problem on the board? FYI, I have been unable to get this board to pass the stress test at 475Mhz (it fails almost immediately every time), though it passes at other frequencies, both higher and lower. Thanks, Tony Would you like to run the write leveling calibration? (y/n)   Please enter the MR1 value on the initilization script   This will be re-programmed into MR1 after write leveling calibration   Enter as a 4-digit HEX value, example 0004, then hit enter 0004 You have entered: 0x0004 Start write leveling calibration Write leveling calibration completed MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00130017 MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0017000E MMDC_MPWLDECTRL0 ch1 after write level cal: 0x000F001D MMDC_MPWLDECTRL1 ch1 after write level cal: 0x017A0013 Re: i.MX6 DDR Stress Test Tool V1.0.3 Is the tool or its alternative available for Vybrid processors? Re: i.MX6 DDR Stress Test Tool V1.0.3 Is the tool or its alternative available for Vybrid processors? Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Turns out the code is fine and only the ARM DSTREAM debugger creates the problem for itself.  Strange. Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Turns out the code is fine and only the ARM DSTREAM debugger creates the problem for itself.  Strange. Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Hi Grace, I'm assuming this stress test runs out of OCRAM, is that correct?  If so, can you tell me what the keys are to accessing DDR RAM from OCRAM code?  I'm getting a crash every time I try - the debugger completely chokes and won't give me any data.  Do I still need to leave some hooks for the DDR in the linker script, for example?  I'm building a stripped down version of the Platform SDK, so I'm thinking the DCD and all should be set up correctly.  Runs fine other than this external DDR access issue. Just looking for some hints on a perplexing problem. Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 2 Hi Grace, I'm assuming this stress test runs out of OCRAM, is that correct?  If so, can you tell me what the keys are to accessing DDR RAM from OCRAM code?  I'm getting a crash every time I try - the debugger completely chokes and won't give me any data.  Do I still need to leave some hooks for the DDR in the linker script, for example?  I'm building a stripped down version of the Platform SDK, so I'm thinking the DCD and all should be set up correctly.  Runs fine other than this external DDR access issue. Just looking for some hints on a perplexing problem. Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, If you just want to do the stress test, you can skip the calibration.  It is normal that write leveling calibration got consistent values. To understand write leveling, you can reference 45.11.6 Write leveling Calibration of reference manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Patrick, If you just want to do the stress test, you can skip the calibration.  It is normal that write leveling calibration got consistent values. To understand write leveling, you can reference 45.11.6 Write leveling Calibration of reference manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace for your quick answer. Well, i understand that the results of the stress program have to be used to update the DDR3 initialisation process. In fact my question was not exactly this one as i don't use the the initialization script but only U-BOOT (i don't have JTAG access so i upload your binary file through TFTP). Here is how i proceed : - I have my own U-BOOT relevant to my board - The board boots on SD card - I get the U-BOOT prompt - I tftp the DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip binary program (DL in my case) on RAM (0x907000 as you mentioned above in the post) - Go on this address - Get the values that i mentionned previously What i noticed is whatever is the value of MDMISC that i write in U-BOOT file (flash_header.s, ie 0x00001740 or 0x00011740), the values for the write leveling process are always above 0x2F so i was wondering if the binary DDR stress program was altering the MDMISC value i write in flash_header.s before launching the test by itself, which could explain why i get always the same value. Best regards, Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace for your quick answer. Well, i understand that the results of the stress program have to be used to update the DDR3 initialisation process. In fact my question was not exactly this one as i don't use the the initialization script but only U-BOOT (i don't have JTAG access so i upload your binary file through TFTP). Here is how i proceed : - I have my own U-BOOT relevant to my board - The board boots on SD card - I get the U-BOOT prompt - I tftp the DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip binary program (DL in my case) on RAM (0x907000 as you mentioned above in the post) - Go on this address - Get the values that i mentionned previously What i noticed is whatever is the value of MDMISC that i write in U-BOOT file (flash_header.s, ie 0x00001740 or 0x00011740), the values for the write leveling process are always above 0x2F so i was wondering if the binary DDR stress program was altering the MDMISC value i write in flash_header.s before launching the test by itself, which could explain why i get always the same value. Best regards, Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, Can anyone explain me how to load the binary file of DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip by u-boot? Is there any user guide for loading this from SD card? I want to run the DDR stress test to obtain the optimal DDR configuration. Any help will be appreciated. Yijun Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, Can anyone explain me how to load the binary file of DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip by u-boot? Is there any user guide for loading this from SD card? I want to run the DDR stress test to obtain the optimal DDR configuration. Any help will be appreciated. Yijun Re: i.MX6 DDR Stress Test Tool V1.0.3 In  Chapter 5 FAQ of  i.MX6 DDR Stress Tester User’s Guide Do I need to update the DDR initialization script after running the calibration? Yes. The calibration results are stored in the MMDC registers during the test only. It is suggested to update the initialization script and re-run the test on different boards to confirm the DDR performance and make sure the MMDC register settings are correctly ported to the firmware. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 In  Chapter 5 FAQ of  i.MX6 DDR Stress Tester User’s Guide Do I need to update the DDR initialization script after running the calibration? Yes. The calibration results are stored in the MMDC registers during the test only. It is suggested to update the initialization script and re-run the test on different boards to confirm the DDR performance and make sure the MMDC register settings are correctly ported to the firmware. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace, On my own design, i ran your DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip that worked for me (just to confirm the initial values from U-BOOT as i replicated the layout from Sabre SD board), just have observed that the SW levelling values are all above 0x2F : MMDC_MPWLDECTRL0 ch0 after write level cal: 0x0046004B MMDC_MPWLDECTRL1 ch0 after write level cal: 0x003C0043 MMDC_MPWLDECTRL0 ch1 after write level cal: 0x002B002B MMDC_MPWLDECTRL1 ch1 after write level cal: 0x0029003F As notified in the document, i modified the MDMISC value in my U-BOOT file (0x00001740 => 0x00011740) but nothing changed, does your programm erase my value with your own one and if so what is your value ? and can we keep the write leveling results as it ? Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace, On my own design, i ran your DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip that worked for me (just to confirm the initial values from U-BOOT as i replicated the layout from Sabre SD board), just have observed that the SW levelling values are all above 0x2F : MMDC_MPWLDECTRL0 ch0 after write level cal: 0x0046004B MMDC_MPWLDECTRL1 ch0 after write level cal: 0x003C0043 MMDC_MPWLDECTRL0 ch1 after write level cal: 0x002B002B MMDC_MPWLDECTRL1 ch1 after write level cal: 0x0029003F As notified in the document, i modified the MDMISC value in my U-BOOT file (0x00001740 => 0x00011740) but nothing changed, does your programm erase my value with your own one and if so what is your value ? and can we keep the write leveling results as it ? Patrick. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Ariel, To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Please make sure there is no DMA running to access DRAM in u-boot. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Ariel, To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Please make sure there is no DMA running to access DRAM in u-boot. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace! How are you? I use the bin files from "DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip", but the program hangs when it calibrates the memory. I'm using Freescale Sabre SD board. -----> MX6Q SABRESD U-Boot > go 0x907000 ## Starting application at 0x00907000 ... ******************************     DDR Stress Test (1.0.2) for MX6DQ     Build: Dec 10 2013, 14:26:05     Freescale Semiconductor, Inc. ****************************** =======DDR configuration========== BOOT_CFG3[5-4]: 0x00, Single DDR channel. DDR type is DDR3 Data width: 64, bank num: 8 Row size: 14, col size: 10 Chip select CSD0 is used Density per chip select: 1024MB ================================== What ARM core speed would you like to run? Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz    ARM set to 800MHz Please select the DDR density per chip select (in bytes) on the board Type 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MB  For maximum supported density (4GB), we can only access up to 3.75GB.  Type 9 to select this   DDR density selected (MB): 1024 Calibration will run at DDR frequency 528MHz. Type 'y' to continue. If you want to run at other DDR frequency. Type 'n' <----- Any suggestions? Thanks!! Ariel. Re: i.MX6 DDR Stress Test Tool V1.0.3 I managed to get the stress to run from u-boot. I had to make sure that IPU wasn't initialized. But now I getting stuck on the calibration test, getting error: ERROR FOUND, we can't get suitable value!!!! Any suggestions? Re: i.MX6 DDR Stress Test Tool V1.0.3 I managed to get the stress to run from u-boot. I had to make sure that IPU wasn't initialized. But now I getting stuck on the calibration test, getting error: ERROR FOUND, we can't get suitable value!!!! Any suggestions? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace. For me it hangs after; Calibration will run at DDR frequency 528MHz. Type 'y' to continue. If you want to run at other DDR frequency. Type 'n' Could this be because of the CONFIG_SPLASH_SCREEN, which I should have disabled? Or do we also need to initialize the registers according to the .inc file (parameters from the excel document) when starting up u-boot? If I need to initialize the register, do I initialize all registers from the excel document, before I run the stress test? (I noticed that some are initialized 2, for instance 0x21b0004) Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace. For me it hangs after; Calibration will run at DDR frequency 528MHz. Type 'y' to continue. If you want to run at other DDR frequency. Type 'n' Could this be because of the CONFIG_SPLASH_SCREEN, which I should have disabled? Or do we also need to initialize the registers according to the .inc file (parameters from the excel document) when starting up u-boot? If I need to initialize the register, do I initialize all registers from the excel document, before I run the stress test? (I noticed that some are initialized 2, for instance 0x21b0004) Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Michael, The excel sheet generates the inc file for JTAG mode. For USB download mode, you need comment out setmem /16 0x020bc000 = 0x30. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Michael, The excel sheet generates the inc file for JTAG mode. For USB download mode, you need comment out setmem /16 0x020bc000 = 0x30. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 I have this same issue with mine.  When I had the excel sheet auto generate the .inc file for my board setup it has a line; //============================================================================= // Disable WDOG //============================================================================= setmem /16 0x020bc000 = 0x30 I noticed in one of the example files that that line is commented out.  When I comment it it seems to work great.  I am just wondering what that line is suposed to do and why the stress tester errors.  If i under stand it should just disable the watch dog timer but not sure.  Should I be commenting this line out? Thank Michael Re: i.MX6 DDR Stress Test Tool V1.0.3 I have this same issue with mine.  When I had the excel sheet auto generate the .inc file for my board setup it has a line; //============================================================================= // Disable WDOG //============================================================================= setmem /16 0x020bc000 = 0x30 I noticed in one of the example files that that line is commented out.  When I comment it it seems to work great.  I am just wondering what that line is suposed to do and why the stress tester errors.  If i under stand it should just disable the watch dog timer but not sure.  Should I be commenting this line out? Thank Michael Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, Thank youmfor your answer. In my board with iMX6 solo (not solo-lite) the debug console is placed on CSI0_DAT10 and CSI0_DAT11; then it is not compatible with the .bin test... I tried to use the test in USB version, but on my PC I have the same problem highligted by Gevorg Sargsyan (22-gen-2014 21.47)... Nothing to do... Best regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, Thank youmfor your answer. In my board with iMX6 solo (not solo-lite) the debug console is placed on CSI0_DAT10 and CSI0_DAT11; then it is not compatible with the .bin test... I tried to use the test in USB version, but on my PC I have the same problem highligted by Gevorg Sargsyan (22-gen-2014 21.47)... Nothing to do... Best regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 You can check whether the UART of customer board is same as 6SL EVK board.     /* UART1 TXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_TXD);     /* UART1 RXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_RXD);     // daisy chain setup     writel(0x0, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 You can check whether the UART of customer board is same as 6SL EVK board.     /* UART1 TXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_TXD);     /* UART1 RXD */     writel(ALT0, IOMUXC_SW_MUX_CTL_PAD_UART1_RXD);     // daisy chain setup     writel(0x0, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT); Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, I used the bin files included in "DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip" for calibrate and test the DDR3 memories on my custom mx6 board. For my board with quad-core, I fixed 0x907000 as entry-point and the program was executed correctly. For my board with single-core, I fixed the same entry-point but the program don't run... Please, can you help me? Thank you very much. Regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello Grace, I used the bin files included in "DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip" for calibrate and test the DDR3 memories on my custom mx6 board. For my board with quad-core, I fixed 0x907000 as entry-point and the program was executed correctly. For my board with single-core, I fixed the same entry-point but the program don't run... Please, can you help me? Thank you very much. Regards Andrea Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Tim In Reference Manual of i.MX 6Dual/6Quad, chapter 2 memory map, you can see the valid MMDC range is from 0x021B0000 to 0x021B7FFF. So your address 0x020bc000 is out of range. 021B_0000 021B_3FFF MMDC (port 0) 16 KB 021B_4000 021B_7FFF MMDC (port 1) 16 KB You can contact your FAE or marketing to get the source code. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Tim In Reference Manual of i.MX 6Dual/6Quad, chapter 2 memory map, you can see the valid MMDC range is from 0x021B0000 to 0x021B7FFF. So your address 0x020bc000 is out of range. 021B_0000 021B_3FFF MMDC (port 0) 16 KB 021B_4000 021B_7FFF MMDC (port 1) 16 KB You can contact your FAE or marketing to get the source code. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 That may be caused by the hardware layout. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 That may be caused by the hardware layout. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace, Thank you for your reply. Unfortunately, I have set WALAT on MMDCx_MDMISC register to "1" as following. setmem /32     0x021b0018 =     0x00011740     // MMDC0_MDMISC Is there any other point I have to check? Or is this issue hardware layout? Best Regards, Mar 17, 2014, Satoshi Shimoda Re: i.MX6 DDR Stress Test Tool V1.0.3 Please set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Please set the WALAT value on MMDCx_MDMISC register to 1 in the initialization script and re-run the DDR_Stress_Tester. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace, I am not having much luck using v1.02 of this tool.  The test script generated by the spreadsheet here i.Mx6DQSDL DDR3 Script Aid starts off with a 'setmem /16 0x020bc000 = 0x30' to disable the watchdog, which the stress tool complains about: .\DDR_Stress_Tester_V1.0.2\Binary>DDR_Stress_Tester.exe -t mx6x -df mt41k128m16-125_1066mhz_4x128x16.inc MX6DQ opened. dcd address 0x020bc000 out of valid range. the addr out of valid range. I see that this specific write is commented out in some of the provided sample scripts so I comment it out in my script and the tool does indeed continue on but it seems like the tool locks up within 30 seconds which to me feels an awful lot like the board perhaps resetting from a watchdog timeout?  The tool doesn't hang at a specific spot... it just seems to hang within 30 seconds.  I can't type fast enough to get past entering in MR1 for the write-leveling test. Any ideas? Is there source for this tool available somewhere?  This seems like a great tool but its horrible that it isn't distributed with sourcecode so people could work around some of the above issues. Thanks, Tim KevinWong arpan_chakravarty partner i.mx6 gateworks Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace, I am not having much luck using v1.02 of this tool.  The test script generated by the spreadsheet here i.Mx6DQSDL DDR3 Script Aid starts off with a 'setmem /16 0x020bc000 = 0x30' to disable the watchdog, which the stress tool complains about: .\DDR_Stress_Tester_V1.0.2\Binary>DDR_Stress_Tester.exe -t mx6x -df mt41k128m16-125_1066mhz_4x128x16.inc MX6DQ opened. dcd address 0x020bc000 out of valid range. the addr out of valid range. I see that this specific write is commented out in some of the provided sample scripts so I comment it out in my script and the tool does indeed continue on but it seems like the tool locks up within 30 seconds which to me feels an awful lot like the board perhaps resetting from a watchdog timeout?  The tool doesn't hang at a specific spot... it just seems to hang within 30 seconds.  I can't type fast enough to get past entering in MR1 for the write-leveling test. Any ideas? Is there source for this tool available somewhere?  This seems like a great tool but its horrible that it isn't distributed with sourcecode so people could work around some of the above issues. Thanks, Tim KevinWong arpan_chakravarty partner i.mx6 gateworks Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi I used this stress test with our custom board. However, the following error log was output. ===== Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. ===== Could you let me know what is wrong in this case? (e.g. Circuit pattern is too bad, setting value in .inc file is incorrect, etc...) Best Regards, Mar 14, 2014 Satoshi Shimoda Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi I used this stress test with our custom board. However, the following error log was output. ===== Would you like to run the DQS gating, read/write delay calibration? (y/n) Starting DQS gating calibration... . . . . . . . . . . . . . . ERROR FOUND, we can't get suitable value !!!! dram test fails for all values. ===== Could you let me know what is wrong in this case? (e.g. Circuit pattern is too bad, setting value in .inc file is incorrect, etc...) Best Regards, Mar 14, 2014 Satoshi Shimoda Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace - can you let me know where the source code for version 1.0.2 is located internally? The link we were given previously goes to version 1.0 and not further. Thanks! Re: i.MX6 DDR Stress Test Tool V1.0.3 Grace - can you let me know where the source code for version 1.0.2 is located internally? The link we were given previously goes to version 1.0 and not further. Thanks! Re: i.MX6 DDR Stress Test Tool V1.0.3 Great tool that works well on my Nitrogen6! I am wondering if it is possible (for a future version) to read the temperature of the cpu during the stress test for instance? Re: i.MX6 DDR Stress Test Tool V1.0.3 Great tool that works well on my Nitrogen6! I am wondering if it is possible (for a future version) to read the temperature of the cpu during the stress test for instance? Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, does the Host USB driver now support a 64Bit version Windows? Greetings Andreas Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, does the Host USB driver now support a 64Bit version Windows? Greetings Andreas Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi. I am trying to run the tool on SabreSD Board. Once I start the tool it is getting stuck on "Downloading image to IRAM ok" At that point HID device in device manager is disappeared and Usb Input device with "Failed to start (code 10)"  appears. After a while Stress Tool times out and extits. I am using 64-bit Windows 7 SP1 Any ideas? Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi. I am trying to run the tool on SabreSD Board. Once I start the tool it is getting stuck on "Downloading image to IRAM ok" At that point HID device in device manager is disappeared and Usb Input device with "Failed to start (code 10)"  appears. After a while Stress Tool times out and extits. I am using 64-bit Windows 7 SP1 Any ideas? Thanks. Re: i.MX6 DDR Stress Test Tool V1.0.3 To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 To run ddr stress test from u-boot, CONFIG_SPLASH_SCREEN must be disabled in u-boot. Because when enter self refresh mode in ddr stress test, DRAM access will be blocked. If splash screen in u-boot is enabled, IPU will continuously access DRAM, so the system will hang up. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Thierry, We don't want to release the binary for specific customer here. Please contact your FAE and send your request to FSL. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Thierry, We don't want to release the binary for specific customer here. Please contact your FAE and send your request to FSL. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi, the board I am working on does not have USB OTG either, and doesn't use UART port 1 but ports 3&4 instead. Is there a way to access the sources or get elf files where other uart ports would be used ? Thanks Re: i.MX6 DDR Stress Test Tool V1.0.3 Thanks Grace. It is my lucky day since I was using DAT10/11 for SPI2 but I have test-points on those two pads so I tested them them temporarily for UART. It works (o; Not FSL CRM request is required. Thanks very much! Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Thanks Grace. It is my lucky day since I was using DAT10/11 for SPI2 but I have test-points on those two pads so I tested them them temporarily for UART. It works (o; Not FSL CRM request is required. Thanks very much! Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Brent, the tx/rx PIN of MX6Q SabraSD board is CSI0_DAT10 and CSI0_DAT11.     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11); We understand the customer may use different rx/tx pin for UART, that is the reason we only release DDR stress tool which uses USB port for user input and output for general release. Please submit your request to FSL CRM system. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Brent, the tx/rx PIN of MX6Q SabraSD board is CSI0_DAT10 and CSI0_DAT11.     /* UART1 TXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);     /* UART1 RXD */     writel(ALT3, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11); We understand the customer may use different rx/tx pin for UART, that is the reason we only release DDR stress tool which uses USB port for user input and output for general release. Please submit your request to FSL CRM system. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace... It loads well, and I can interact with u-boot of course, but I cannot interact with this application. My rx/tx in u-boot are :     /* UART1 TXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT6__UART1_RXD);     /* UART1 RXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT7__UART1_TXD); Is this stress test tool open source? ******************************     DDR Stress Test (1.0.1) for MX6DQ     Build: Oct 21 2013, 14:05:09     Freescale Semiconductor, Inc. ***************************** =======DDR configuration========== BOOT_CFG3[5-4]: 0x00, Single DDR channel. DDR type is DDR3 Data width: 64, bank num: 8 Row size: 15, col size: 10 Chip select CSD0 is used Density per chip select: 2048MB ================================== What ARM core speed would you like to run? Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz --> System does not respond to my input here. Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Grace... It loads well, and I can interact with u-boot of course, but I cannot interact with this application. My rx/tx in u-boot are :     /* UART1 TXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT6__UART1_RXD);     /* UART1 RXD */     mxc_iomux_v3_setup_pad(MX6Q_PAD_SD3_DAT7__UART1_TXD); Is this stress test tool open source? ******************************     DDR Stress Test (1.0.1) for MX6DQ     Build: Oct 21 2013, 14:05:09     Freescale Semiconductor, Inc. ***************************** =======DDR configuration========== BOOT_CFG3[5-4]: 0x00, Single DDR channel. DDR type is DDR3 Data width: 64, bank num: 8 Row size: 15, col size: 10 Chip select CSD0 is used Density per chip select: 2048MB ================================== What ARM core speed would you like to run? Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz --> System does not respond to my input here. Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 The entry point is 0x907000 if anyone needs it. (o: Re: i.MX6 DDR Stress Test Tool V1.0.3 The entry point is 0x907000 if anyone needs it. (o: Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace, that is excellent! Thanks very much for your help! I will update on how it works. Regards Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Thank you Grace, that is excellent! Thanks very much for your help! I will update on how it works. Regards Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi  Brent, The image in DDR_Stress_Tester_V1.0.1.zip can't be loaded through sd card. I just attached image DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip.  The bin files in the packages can be loaded by uboot and elf files are used by JTAG load.  Please note when the image is loaded by u-boot, the DDR is initialized by u-boot. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi  Brent, The image in DDR_Stress_Tester_V1.0.1.zip can't be loaded through sd card. I just attached image DDR_Stress_Tester_V1.0.1_UART1_for_SDboot&JTAG.zip.  The bin files in the packages can be loaded by uboot and elf files are used by JTAG load.  Please note when the image is loaded by u-boot, the DDR is initialized by u-boot. Regards, Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I do not have the USB OTG port available on my custom board, is it possible to load this stress tester application directly via sd card and u-boot? Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I do not have the USB OTG port available on my custom board, is it possible to load this stress tester application directly via sd card and u-boot? Thanks Brent Re: i.MX6 DDR Stress Test Tool V1.0.3 We got the Stress Tester running. The tool doesn't like when you give it the wrong input file Re: i.MX6 DDR Stress Test Tool V1.0.3 We got the Stress Tester running. The tool doesn't like when you give it the wrong input file Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I tried to run the DDR3 Stress Tester but the application crashes after printing a single line: MX6DQ opened. We are using an i.MX6D7CVT08AC (Industrial, 800MHz) and the PC is running Windows 7 Home Premium SP1 64bit. From Linux I'm able to run the imx_usb_loader application and download an image which toggles an LED connected to GPIO2[4]. Regards Matthias Mann Re: i.MX6 DDR Stress Test Tool V1.0.3 Hello, I tried to run the DDR3 Stress Tester but the application crashes after printing a single line: MX6DQ opened. We are using an i.MX6D7CVT08AC (Industrial, 800MHz) and the PC is running Windows 7 Home Premium SP1 64bit. From Linux I'm able to run the imx_usb_loader application and download an image which toggles an LED connected to GPIO2[4]. Regards Matthias Mann Re: i.MX6 DDR Stress Test Tool V1.0.3 Got the program working now, thank you very much! Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Emil Myhrman, Please use version 1.0.1.   For i.MX6DQ, the DDR mapping start address is configured as chapter "2.3 DDR mapping to MMDC controller ports"  in  i.MX 6Dual/6Quad Applications Reference Manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 Hi Emil Myhrman, Please use version 1.0.1.   For i.MX6DQ, the DDR mapping start address is configured as chapter "2.3 DDR mapping to MMDC controller ports"  in  i.MX 6Dual/6Quad Applications Reference Manual. Grace Re: i.MX6 DDR Stress Test Tool V1.0.3 We're using i.Mx6DL and LPDDR2 single channel, starting at 0x10000000 (DDR Memory Map Config = '00'). Does this version select the correct address (i.e. not 0x80000000) for our setup? I'm asking because it automatically says "CHANNEL0 is selected." and for previous version 0.042 we had to manually select channel1 to "trick" stress test into using start address 0x10000000. Re: i.MX6 DDR Stress Test Tool V1.0.3 We're using i.Mx6DL and LPDDR2 single channel, starting at 0x10000000 (DDR Memory Map Config = '00'). Does this version select the correct address (i.e. not 0x80000000) for our setup? I'm asking because it automatically says "CHANNEL0 is selected." and for previous version 0.042 we had to manually select channel1 to "trick" stress test into using start address 0x10000000.
View full article
MIMXRT1170-EVKB 多核示例问题... 这是我第一次使用低级(非 Linux)多核设备,所以这可能是一个愚蠢的问题...... 我正在浏览“ MIMXRT1170-EVKB 的 MCUXpresso SDK 入门指南”(修订版)的第 6.4 和 6.5 节。0 — 2022 年 12 月 31 日),指的是 SDKTOP/boards/evkbmimxrt1170/multicore_examples/hello_world。我正在使用 SDK-2-16-100_MIMXRT1170-EVKB。我还有一个 JLink 编程器,连接到 EVKB 上的 20 针接头。 我第一次就能够构建/加载/运行 cm4/cm7 应用程序,但我没有完全遵循说明,因为它们对我来说没有意义(我必须为两个核心运行 gdb/load)。 第 6.4 节说要“构建”每个应用程序。这很好;但是第 6.5 节说:“ ...主核心调试器负责将主核心和辅助核心应用程序刷入 SoC 闪存... ”。对吗?我发现我必须对每个核心执行“加载”操作(使用 gdb)才能使一切正常工作。 此外,我尝试对 CM4 代码进行微小更改,但它似乎不是编程。gdb 的“加载”是否也会在编程之前清除所有内容? 任何想法都将受到赞赏。 谢谢! 回复:MIMXRT1170-EVKB 多核示例问题…… 好的,我想我现在明白了…… @Pavel_Hernandez ,pdf 非常有用,但是线程只是一组指令,告诉您在 IDE 中要按哪些按钮。如果试图真正理解事物,那就没什么用了。 我现在看到 CM4 的图像实际上作为名为“.core1_code”的部分合并到 CM7 的图像中。CM7 的构建依赖于之前构建的 CM4 图像,因此 CM7 的构建步骤之一是将 CM4 图像合并到 CM7 的内存映射中。这解释了为什么在使用 cm4 的 gdb 中执行“加载”时,它没有被推送到实际的 SPI 闪存空间。我不太喜欢这样做,但没关系。至少我现在明白了。 非常感谢,帮助很大! 回复:MIMXRT1170-EVKB 多核示例问题…… 你好,我叫 Pavel,我会支持你的案例,我发现这个应用笔记可以帮助你更多地了解双核过程,请参阅第 2.1.2 章详细的启动流程。 有一些类似的论点,也许有助于理解。 “ ...主核心调试器负责将主核心和辅助核心应用程序刷入 SoC 闪存... ” i.MX RT1170 双核应用 也许这个其他线程可以帮助您在 IDE 上测试它。 如何使用 JLINK 调试 RT1170 双核 - NXP 社区 此致, 帕维尔 回复:MIMXRT1170-EVKB 多核示例问题…… 好吧,我不想声称这解决了这个问题,但我确实设法让两个核心都执行我的代码...... 我怀疑 gdb 如何告诉 JLINK 写入闪存,因此我没有使用连接到 jlink gdb 服务器的 gdb,而是创建了一个简单的 jlink 脚本来手动加载每个部分(见下文)。为此,我需要从 .elf 文件中提取每个可加载部分文件转换成自己的二进制文件。 对于创建的每个文件,我都可以运行此脚本: eoe 1 设备=MIMXRT1176DVMAA_cm7 速度 4000 si SWD r h 加载箱 elfsect_.flash_config.bin,0x30000400 加载箱 elfsect_.ivt.bin,0x30001000 加载箱 elfsect_.core1_code.bin,0x33fc0000 加载箱 elfsect_.interrupts.bin,0x30002000 加载箱 elfsect_.text.bin,0x30002400 加载箱 elfsect_.ARM.bin,0x30008d00 加载箱 elfsect_.init_array.bin,0x30008d08 加载箱 elfsect_.fini_array.bin,0x30008d0c 加载箱 elfsect_.data.bin,0x30008d10 去 出口 加载 CM7 一切正常。看起来,虽然 jlink 服务器表示它已验证下载,但验证失败了。 有人(NXP 支持)可以解释一下吗? 回复:MIMXRT1170-EVKB 多核示例问题…… 更多信息... 我刚刚注意到,在 gdb 中运行“load”后,我的 JLinkGDBServerCLExe 窗口显示以下错误...... 错误:准备目标时超时,RAMCode 没有及时响应! 无法执行 RAMCode-sidedPrepare() 确定闪存信息时出错(Bank @ 0x30000000)
View full article
i.MX 8M Plus EVK で M7 の QSPI を使用する方法 皆さん、こんにちは i.MX 8M Plus EVKをQSPI NORで使い始めるのに苦労しています。 「uuu -b qspi firmware.bin」を使用して8M Miniをフラッシュする方法の説明を見つけました。しかし、これはうまくいかないようです 私のEVKには、NORフラッシュにロードされたブートイメージが付属しているようです。 u-boot=> sf probe SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB u-boot=> sf read $loadaddr 0 0x100 device 0 offset 0x0, size 0x100 SF: 256 bytes @ 0x0 Read: OK u-boot=> md $loadaddr 40400000: 412000d1 007e1000 0005fc00 00000000 .. A..~......... 40400010: 007e0fe0 007e0fc0 0080b7c0 00000000 ..~...~......... 40400020: 007e0bc0 0002cc00 00000000 00000000 ..~............. 40400030: 00000000 00000000 00000000 00000000 ................ 40400040: 1400000a d503201f 40200000 00000000 ..... .... @.... QSPIのコードを使用してM7をフラッシュして起動する方法に関するアプリノートはありますか? Re:i.MX 8M Plus EVKでM7のQSPIを使用する方法 オフセット0にflash_debug/hello_world.binでフラッシュをプログラムしました。 u-boot=> load mmc 1 $loadaddr hello_world.bin 18664 bytes read in 4 ms (4.4 MiB/s) u-boot=> sf probe SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB u-boot=> sf erase 0 0x5000 SF: 20480 bytes @ 0x0 Erased: OK u-boot=> sf write $loadaddr 0 $filesize device 0 offset 0x0, size 0x48e8 SF: 18664 bytes @ 0x0 Written: OK Re:i.MX 8M Plus EVKでM7のQSPIを使用する方法 私はそれを理解しました... .binのプログラミング後ファイルをフラッシュに送り、U-Boot で次のコマンドを発行すると、M7 hello_world アプリを実行できます。 u-boot=> sf probe SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB u-boot=> bootaux 0x08000000 ## No elf image at address 0x08000000 ## Starting auxiliary core stack = 0x20020000, pc = 0x0800048D... そして、UART4 (/dev/ttyUSB3) に "hello world." と表示されます。
View full article
如何在定制 MIMXRT1176AVM8A 板 上运行恩智浦 SDK 示例 我有一块带有 MIMXRT1176AVM8A 处理器的定制板(与 MIMXRT1170-EVK 不同)。我想运行 SDK 示例,但在必要的修改方面需要指导。 我的硬件设置 微控制器:MIMXRT1176AVM8A(与 EVK 不同)。 外部闪存:S25FL128L(QSPI,16 MB)(与 EVK 的 W25Q512NWEIQ 不同)。 同步动态随机存取存储器(SDRAM):W9812G6KB-6J (32 MB) *(与 EVK 的 W9825G6KH-5I 不同)。 其他更改:用于 LED 和 UART 引脚等的不同 GPIO 我需要什么帮助? Flex-SPI NOR 闪存设置: 既然我使用的是 S25FL128L(不是华邦),我该如何更新 flex SPI 或配置 C 文件才能正常启动? 同步动态随机存取存储器(SDRAM) 初始化: EVK 使用不同的同步动态随机存取存储器(SDRAM) 芯片。我应该如何调整 DCD 设置? 调试技巧 将 SDK 示例移植到自定义板时常见的陷阱有哪些? 请求: 谁能分享一下: 改编 SDK 示例的分步说明? 自定义 Flex SPI/同步动态随机存取存储器(SDRAM) 设置的示例配置? 提前感谢! Re: How to Run NXP SDK Examples on Custom MIMXRT1176AVM8A Board 只要频率不超过 800MHz,就没有问题。 BR, Omar Re: How to Run NXP SDK Examples on Custom MIMXRT1176AVM8A Board MIMXRT1176AVM8A 的 Cortex-M7 内核工作频率为 800 MHz。MIMXRT1176DVMAA(EVK 的处理器)的主频为 1 GHz。 Re: How to Run NXP SDK Examples on Custom MIMXRT1176AVM8A Board 不,它是相同的元器件,但包装不同。 BR, Omar Re: How to Run NXP SDK Examples on Custom MIMXRT1176AVM8A Board 由于 EVK 使用的是 MIMXRT1176DVMAA 处理器,如果我使用 MIMXRT1176AVM8A 处理器的 EVK 示例,会有问题吗? Re: How to Run NXP SDK Examples on Custom MIMXRT1176AVM8A Board 请参阅此文档:如何为 FLEXSPI 或非 闪存启用调试\ 本文件包含使用其他闪存时可进行调试的指南。 更详细的文档可能对您有所帮助:i.MX RT FLEXSPI 启动指南-恩智浦社区 关于同步动态随机存取存储器(SDRAM),建议参考 SDK 示例来配置内存,DCD 使用相同的同步动态随机存取存储器(SDRAM)配置,因此它是在启动时加载的。这里有一些关于如何配置同步动态随机存取存储器(SDRAM) 参数的示例:已解决:双 16 位同步动态随机存取存储器(SDRAM) (W9812G6KH) 的 MIMXRT1176 SEMC 配置-恩智浦社区 致以最崇高的敬意, Omar
View full article
添加模块后"TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402EB 报告错误 专家们好 我的客户正在开发基于 FS23+S32K3 的项目。 他们安装了S32K3xx_SBC_FS23_R21-11_1.0.0_D2402.exe和SW32K3_S32M27x_RTD_R21 -11 _4.0.0_D2311.exe。 但在 EBTresos 中添加模块" TM_TS_T40D34M10I0R0"(C:\NXP\S32K3xx_SBC_FS23_R21-11_1.0.0\eclipse\plugins\TM_TS_T40D34M10I0R0) 会导致错误: Module "TM_TS_T40D34M10I0R0" (defined in plugin "TM_TS_T40D34M10I0R0") defines the schema file "config/TM.xdm" which cannot be found (if the file is signed or crypted, it must be referenced in META-INF\CRYPTOMANIFEST.MF). The manager of a schema of configuration extension "TM_TS_T40D34M10I0R0" of plugin "TM_TS_T40D34M10I0R0" cannot be created 我不知道 TM 在 S32K3xx_SBC_FS23_R21-11_1.0.0_D2402.exe 中做了什么。请介绍一下,并告诉我如何使用。 提前感谢您的帮助! 最诚挚的问候, Robin 以下是客户信息: Contact Name 超 夏 Email (Contact) [email protected] 公司 CHERY AUTOMOBILE CO. AA SW - 外部设备 优先级:中等 Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor 感谢您的解释。我想现在已经很清楚了。 让我来向客户解释一下。 Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor 我同意。否则,关于 Tm 的其他一切现在都清楚了吗? Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor @Ondřej_Vácha 我在想,如果我们没有 TM.xdm,那么就应该将其从 plugin.xml 中排除,以避免混淆,对吗? Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor 您好,TM 驱动程序目前无法插入 EBT,因为它没有任何配置。因此,这不是一个错误。TM 与 CanTrcv 驱动程序共享,以符合 SWS_CanTrcv_00230。没有必要在 EBT 中加入 TM,在版本项目时,只需要将其中包含的文件包含在项目中。 Tm 包含用于时间延迟的 API。 根据共享的截图,您正试图编译 cantrcv_fs23 示例。我也试过,Tm 模块不一定要在那里。 Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor 嗨,拉杜、 以下是客户信息: 联系人姓名 超夏 电子邮件(联系人) [email protected] 公司 CHERY AUTOMOBILE CO. 此致敬礼, Robin Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor 你好,@Robin_Shen, 谁是客户? Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor Hi Cuong、 谢谢您的答复。 由于 FS23 SBC AUTOSAR R21-11 版本 1.0.0 已经是 FS23 的最新版本,所以让我们等待 AA SW-Exter nal 设备的同事来处理吧。 此致敬礼, Robin Re: After add Module "TM_TS_T40D34M10I0R0" of S32K3xx_SBC_FS23_R21-11_1.0.0_D2402 EB repor 嗨 @Robin_Shen 当 " config/tm.xdm " 不包含在 CRYPTOMANIFEST.MF 文件中时,这看起来像 SBC 代码包,软件包中的错误。我检查了一下,在 CRYPTOMANIFEST.MF 中找不到这个文件。 您能否尝试使用另一个更新版本的 SBC,看看问题是否得到了解决。 我将移除标签 " RTD ",因为它与 SBC-AA SW-外部设备有关
View full article
imx8mmシングルコアのdtsiについて少し混乱しています 私も同様のプロジェクトに取り組んでいます。SO、この質問を完全に明確にする必要があります。NXP エンジニアの回答は完全に間違っているように見えますが、正解としてマークされているのは NXP エンジニアの回答ではないため、誰が正しいのか少し混乱しています。SO、誰の答えが正しいのでしょうか?私たちは、NXP のエンジニアの方がコードに精通しているだろうと信頼する傾向があります。 https://community.nxp.com/t5/i-MX-Processors/dtsi-for-imx8mm-single-core/td-p/2165973 i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノ Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core 推奨される方法は、Linux デバイス ツリーから対応するノードを削除することです。 U-Boot はチップ モデルとその利用可能な機能を検出できますが、デバイス ツリー内のノードを無効にすると、Linux カーネルがサポートされていないコンポーネントにアクセスしないようにすることができます。投稿で言及されているソースはカーネルではなく U-Boot に関連しているため、これが特に重要です。 Re: A little confused about dtsi for imx8mm single core @Chaviraあなたが言ったことを説明してください。 I have provided the appropriate recommendations tailored to your specific case. Regarding the BSP, it is functioning as expected. 1>> U-Boot does not modify the Linux Device Tree at runtime. Once the Linux kernel is loaded, U-Boot no longer has control over the Device Tree. It seems there's some confusion here. The Linux device tree and the U-Boot device tree are two distinct entities, each serving different purposes in the boot process. The document you're referring to specifically modifies the U-Boot device tree, not the one used by the Linux kernel. Please double check your references, the U-Boot device tree is not the same as the Linux device tree, and changes made to one do not automatically apply to the other. Re: A little confused about dtsi for imx8mm single core こんにちは@hogole 、 あなたの具体的なCASEに合わせた適切な推奨事項を提供しました。 BSPに関しては期待通りに機能しています。 コミュニティは、経験に基づいたすべてのメンバーからの貢献を歓迎します。コミュニティで開発されたソリューションを、ニーズに合わせて変更および適応していただけます。 BSP に関して問題が発生した場合は、お気軽にフォーラムで新しいThreadを開いてください。弊社がさらにサポートさせていただきます。 よろしくお願いします、 チャビラ Re: A little confused about dtsi for imx8mm single core @チャビラ 当社ではすでに多くの 8MM 製品が導入されており、このコードは長期間存在し、最新の BSP リリースを一貫してサポートしています。8MM ヒューズに基づいて実行時にデバイス ツリーを自動的に変更することに問題がある場合は、現在の製品のアップグレードを検討する必要があります。これは非常に難しい決断であり、時間と費用がかかります。 したがって、明確な答えが必要です。NXP BSP リリースの BSP コードのこの部分には潜在的な問題があるのでしょうか?ヒューズに基づいて Linux デバイス ツリー コア数がこのように自動的に構成される場合でも、コンパイル時に Linux デバイス ツリーを変更する必要があるのはなぜですか? https://github.com/nxp-imx/uboot-imx/blob/lf-5.10.72-2.2.3/arch/arm/mach-imx/imx8m/soc.c static int disable_cpu_nodes(void *blob, u32 disabled_cores) { static const char * const nodes_path[] = { "/cpus/cpu@1", "/cpus/cpu@2", "/cpus/cpu@3", }; u32 i = 0; int rc; int nodeoff; if (disabled_cores > 3) return -EINVAL; i = 3 - disabled_cores; for (; i < 3; i++) { nodeoff = fdt_path_offset(blob, nodes_path[i]); if (nodeoff < 0) continue; /* Not found, skip it */ debug("Found %s node\n", nodes_path[i]); rc = fdt_del_node(blob, nodeoff); if (rc < 0) { printf("Unable to delete node %s, err=%s\n", nodes_path[i], fdt_strerror(rc)); } else { printf("Delete node %s\n", nodes_path[i]); } } Re: A little confused about dtsi for imx8mm single core @チャビラ これがあなたの提案です: 参照を再確認してください。U-Boot デバイス ツリーは Linux デバイス ツリーと同じではなく、一方に加えた変更が他方に自動的に適用されるわけではありません。 ここで、参照を二重に確認し、別の色を使用して強調表示します。 u-bootランタイムによるLinuxデバイス ツリーの変更 (dtb) u-boot ランタイムによる Linux デバイス ツリーの変更 (dtb) https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/u-boot-runtime-modify-Linux-device-tree-dtb/ta-p/1347212 Re: A little confused about dtsi for imx8mm single core @チャビラ 最初から今まで、u-boot が Linux デバイス ツリーをどのように変更するかについて説明してきましたが、u-boot 自体のデバイス ツリーについてはまったく説明していませんでした。 次のコードでも、u-boot を使用して Linux デバイス ツリーを変更します。 https://github.com/nxp-imx/uboot-imx/blob/lf-5.10.72-2.2.3/arch/arm/mach-imx/imx8m/soc.c static int disable_cpu_nodes(void *blob, u32 disabled_cores) { static const char * const nodes_path[] = { "/cpus/cpu@1", "/cpus/cpu@2", "/cpus/cpu@3", }; u32 i = 0; int rc; int nodeoff; if (disabled_cores > 3) return -EINVAL; i = 3 - disabled_cores; for (; i < 3; i++) { nodeoff = fdt_path_offset(blob, nodes_path[i]); if (nodeoff < 0) continue; /* Not found, skip it */ debug("Found %s node\n", nodes_path[i]); rc = fdt_del_node(blob, nodeoff); if (rc < 0) { printf("Unable to delete node %s, err=%s\n", nodes_path[i], fdt_strerror(rc)); } else { printf("Delete node %s\n", nodes_path[i]); } } もう一度強調しますが、私は u-boot のデバイス ツリーについて一度も説明していません。 Re: A little confused about dtsi for imx8mm single core @チャビラ ここでは、u-boot デバイス ツリーの変更ではなく、u-boot による Linux デバイス ツリーの変更について説明します。 また、コードhttps://github.com/nxp-imx/uboot-imx/blob/lf-5.10.72-2.2.3/arch/arm/mach-imx/imx8m/soc.cは、u-boot fdt コマンドと同じことを行います。 u-boot ランタイムでは、Linux デバイス ツリー (dtb) を変更するために u-boot コマンドを使用して Linux デバイス ツリーを変更します。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/u-boot-runtime-modify-Linux-device-tree-dtb/ta-p/1347212 8 ページから 11 ページにかけて、u-boot が Linux デバイス ツリーを変更し、Linux を起動することが明確に示されています。 Re: A little confused about dtsi for imx8mm single core こんにちは@hogole 、 ここで混乱が生じているようです。 Linux デバイス ツリーと U-Boot デバイス ツリーは 2 つの異なるエンティティであり、それぞれブート プロセスで異なる目的を果たします。あなたが参照しているドキュメントは、Linux カーネルで使用されるものではなく、U-Boot デバイス ツリーを具体的に変更するものです。 参照を再確認してください。U-Boot デバイス ツリーは Linux デバイス ツリーと同じではなく、一方に加えた変更が他方に自動的に適用されるわけではありません。 Re: A little confused about dtsi for imx8mm single core まだ混乱している点がいくつかあります。 チャビラさん、これがあなたの返事です: 1>> U-Boot は実行時に Linux デバイス ツリーを変更しません。 Linux カーネルがロードされると、U-Boot はデバイス ツリーを制御できなくなります。 u-boot が Linux デバイス ツリーを変更できないのは確かですか? a. u-boot には、Linux デバイス ツリーを変更できる fdt コマンドがあります。 あなたの同僚もこれに関するドキュメントを持っています。 ここにその文書があります: u-boot ランタイムによる Linux デバイス ツリーの変更 (dtb) https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/u-boot-runtime-modify-Linux-device-tree-dtb/ta-p/1347212 b. arch/arm/mach-imx/imx8m/soc.c は、u-boot fdt コマンドと同じ API を使用します。 c. u-boot は Linux ランタイム環境を準備するものですよね? Linux デバイスツリーの変更を含むすべての操作は、Linux が起動する前に実行する必要があります。 u-boot が Linux デバイスをロードした後、Linux がまだ起動していない場合、Linux デバイス ツリーを変更することはできませんか? 最も簡単な質問は、「disable_cpu_nodes」API 関数は Linux の起動前ですか、それとも起動後ですか? これらの問題は私たちが実際に実行しているプロジェクトに関係するため、NXP からの説明が本当に必要です。 ソースコードを確認していただけますか? https://github.com/nxp-imx/uboot-imx/blob/lf-5.10.72-2.2.3/arch/arm/mach-imx/imx8m/soc.c ここでのconst nodes_pathは Linux デバイス ツリー ノードですか? static int disable_cpu_nodes(void *blob, u32 disabled_cores) { static const char * const nodes_path[] = { "/cpus/cpu@1", "/cpus/cpu@2", "/cpus/cpu@3", }; u32 i = 0; int rc; int nodeoff; if (disabled_cores > 3) return -EINVAL; i = 3 - disabled_cores; for (; i < 3; i++) { nodeoff = fdt_path_offset(blob, nodes_path[i]); if (nodeoff < 0) continue; /* Not found, skip it */ debug("Found %s node\n", nodes_path[i]); rc = fdt_del_node(blob, nodeoff); if (rc < 0) { printf("Unable to delete node %s, err=%s\n", nodes_path[i], fdt_strerror(rc)); } else { printf("Delete node %s\n", nodes_path[i]); } } Re: A little confused about dtsi for imx8mm single core こんにちは@hogole 、 1>> U-Boot は実行時に Linux デバイス ツリーを変更しません。 Linux カーネルがロードされると、U-Boot はデバイス ツリーを制御できなくなります。 2>> U-Boot は SoC モデルを検出し、不足している CPU コア、GPU、NPU などの使用できないリソースの使用を回避します。この検出は、起動時のシステムの不安定性を防ぐのに役立ちます。 3>> Linux デバイス ツリーは、U-Boot のソース コードや動作に影響を与えません。 各環境は独自のデバイス ツリーを独立して使用します。 4>> Linux が使用するコアの数を調整するために、U-Boot のソースコードを変更する必要はありません。 U-Boot はシステムのブートローダーとして機能し、使用できないペリフェラルの使用を回避するための自動検出メカニズムを備えているため、ブート中の SoC の誤動作を防ぐのに役立ちます。ただし、Linux カーネルがロードされると、利用可能なハードウェア リソースを把握するためにデバイス ツリーに完全に依存します。 デバイス ツリーで 4 つの CPU コアが宣言されているが、ハードウェアには 1 つまたは 2 つしかない場合、Linux は存在しないコアでタスクを初期化してスケジュールしようとします。この不一致は、カーネル パニックやシステム クラッシュなどの深刻な問題を引き起こすCANがあります。したがって、Linux を起動する前に、デバイス ツリーが実際のハードウェア構成を正確に反映していることを確認することが重要です。 コア構成は、Linux カーネルに渡されるデバイス ツリーで直接処理する必要があります。 Re: A little confused about dtsi for imx8mm single core 以前のように応答が予期せず消えてしまうことを防ぐために、このページのスナップショットを保存しました。 Re: A little confused about dtsi for imx8mm single core @チャビラ 1.この問題は、U-Boot が実行時に Linux デバイス ツリーを変更することに関係しています。あなたが言及したブートプロセスは、現在議論しているトピックとは直接関係していないようですね。 2. U-Boot コードが、ヒューズによって示されたコアの数に基づいて実行時に Linux デバイス ツリーを既に自動的に更新している場合、コンパイル時にデバイス ツリーを変更する必要があるのはなぜですか? 3.コンパイル時に Linux デバイス ツリーを変更すると、U-Boot によるヒューズ設定に基づくコア数のランタイム調整が妨げられる可能性がありますか? 4. NXP がリリースした BSP の U-Boot コードには、ヒューズによって示されたコア数に応じて実行時に Linux デバイス ツリーを自動的に更新するロジックがすでに含まれているのに、なぜ NXP のサポート エンジニアは最初からこのことを私たちに伝えなかったのでしょうか。 これは、U-Boot コードのその部分に問題がある可能性があることを意味していますか? Re: A little confused about dtsi for imx8mm single core 今日は何かアップデートはありますか?問題の原因は見つかりましたか?私の返信が消えたのはなぜですか?CAN復元できますか? Re: A little confused about dtsi for imx8mm single core 私の投稿が消えたのはなぜですか?コミュニティ管理者は問題が何であるか確認していただけますか? Re: A little confused about dtsi for imx8mm single core ありがとう Re: A little confused about dtsi for imx8mm single core こんにちは@hogole 、 チップ モデルの検出を担当する U-Boot コードは正常に機能しており、エラーは発生しません。したがって、U-Boot に変更を加えることは不要であるため、お勧めしません。 ただし、Linux カーネルは独立して動作するため、適切な構成を確保するために、機能していないことがわかっている CPU ノードを削除することをお勧めします。これにより、システムの潜在的な誤動作や不安定性を防ぐことができます。 このCASE、両方のアプローチが有効です。 ブートプロセスを理解するには、次のブロック図を参照してください。 よろしくお願いいたします。 チャビラ Re: A little confused about dtsi for imx8mm single core あなたの答えは私をさらに混乱させました。コアの数を自動検出する BSP のコードが間違っているということでしょうか?コアノードを削除するには、DTS ファイルを変更する必要があるということですか? コアの数を自動的に検出する BSP のコードが正しいのなら、なぜ NXP のエンジニアは DTS ファイルを変更してコア ノードを削除することを推奨するのでしょうか? どちらが正しいでしょうか? Re: A little confused about dtsi for imx8mm single core こんにちは@hogole 、 推奨される方法は、デバイス ツリーから対応するノードを削除することです。 U-Boot はチップ モデルとその利用可能な機能を検出できますが、デバイス ツリー内のノードを無効にすると、Linux カーネルがサポートされていないコンポーネントにアクセスしないようにすることができます。投稿で言及されているソースはカーネルではなく U-Boot に関連しているため、これが特に重要です。 これは誰でも自分の経験を共有できる公開コミュニティであることをご留意ください。ただし、安定性と互換性を確保するために、公式の推奨事項に従うことを強くお勧めします。 よろしくお願いします、 チャビラ Re: A little confused about dtsi for imx8mm single core 一週間が経ちました。現在取り組んでいる iMX8MM プロジェクトに自信を持てるよう、NXP は私の疑問に答えることを検討していただけますか?NXP の専門的なサポートが必要です。 Re: A little confused about dtsi for imx8mm single core このコミュニティの多くの人が私に同意してくれると信じています。私たちは皆、NXP エンジニアの回答を信じています。投票するなら、大多数の人は間違いなく NXP エンジニアの回答を考慮するでしょう。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core また、説明も知りたいです。 Re: A little confused about dtsi for imx8mm single core 最終的な説明は何ですか? Re: A little confused about dtsi for imx8mm single core 最終的な説明は何ですか? Re: A little confused about dtsi for imx8mm single core 最終的な説明は何ですか? Re: A little confused about dtsi for imx8mm single core 最終的な結論は何ですか?
View full article
[RTD600 IP] S32K312-EVB Lpuart 中断回显 这个简单的示例演示了如何在S32K312EVB-Q172和S32K312MINI-EVB上使用LPUART模块配置和处理UART中断。它设置UART回调函数,并以单字节模式启动接收。每接收一个字节,缓冲区都会使用  Lpuart_Uart_Ip_SetRxBuffer() 进行更新;如果检测到换行符( '\n' ),则将设置接收标志以通知主循环。 当发生  LPUART_UART_IP_EVENT_END_TRANSFER  事件时,将通过  Lpuart_Uart_Ip_AsyncReceive() 重新启用接收。 注意:只执行基本的事件处理操作;仅确认其他UART事件,但不会进行处理。 此示例使用 LPUART实例6,通过USB端口(EVB上的J40和MINI EVB上的J9)实现串行通信。 ------------------------------------------------------------------------------ *测试硬件:S32K312EVB-Q172和S32K312MINI-EVB *MCU:S32K312 *IDE:S32DS3.6.2 *RTD版本:6.0.0 *调试器:PE Micro *目标:internal_FLASH  ------------------------------------------------------------------------------ 运行示例: 1. 在PC上为串行设备打开串行终端,并设置以下参数:   波特率为115200 无校验  停止位为1 无流量控制  如果您使用TeraTerm,请确保发送设置配置为 LF(换行) ,以便在按下回车键时正确发送换行符。 2. 构建并运行示例。 测试结果:   NXP 提供的任何支持、信息和技术(“材料”)均按“现状”提供,不附带任何明示或暗示的保证,且 NXP 在适用法律允许的最大范围内,否认与材料相关的所有直接或间接责任和损害。NXP 对任何与应用或产品设计相关的协助不承担任何责任。材料仅可用于与 NXP 产品相关联。NXP 可以不受限制地使用您对材料提供的任何反馈。
View full article
NXP Rapid IoTデモ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
View full article
示例 MPC5777C-eQADC_Simple GHS714 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 初始化 eQADC 模块并循环转换所选通道,显示 * 将其放入终端窗口。 * 用户可以将 EVB 电位器的电位器连接到引脚接头 W(见下文)以查看有效 * 转换结果。 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC5777C-512DS Rev.A + MPC57xx 主板 Rev.C * 微控制器: PPC5777CMM03 2N45H CTZZS1521A *系统频率:PLL1 = core_clk = 264MHz,PLL0 = 192MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制 * EVB 连接:对于 ADC:J53-1(EVB 电位器的电位器)--> PW7 - ANB16 * PW8 - ANB17 * PW9 - ANB18 * PW10 - ANB19 ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 初始化 eQADC 模块并循环转换所选通道,显示 * 将其放入终端窗口。 * 用户可以将 EVB 电位器的电位器连接到引脚接头 W(见下文)以查看有效 * 转换结果。 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC5777C-512DS Rev.A + MPC57xx 主板 Rev.C * 微控制器: PPC5777CMM03 2N45H CTZZS1521A *系统频率:PLL1 = core_clk = 264MHz,PLL0 = 192MHz * 调试器:Lauterbach Trace32 * 目标:internal_FLASH * 终端:19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制 * EVB 连接:对于 ADC:J53-1(EVB 电位器的电位器)--> PW7 - ANB16 * PW8 - ANB17 * PW9 - ANB18 * PW10 - ANB19 ********************************************************************************
View full article
ワイヤレス充電でそのコードを切ることができます! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> スマートフォン、テーブルPC、デジタルスマートウォッチのバッテリー切れのリスクがある場合、またはナイトスタンドやオフィスデスクの間違った充電コードに絡まってしまった場合は、ワイヤーレス充電器のシンプルさが夢の実現です。しかし、ワイヤレス充電器には多くの技術が必要であり、同じように作られているわけではありません。NXPのトランスミッタおよびレシーバコンポーネントのファミリは、Qi規格とRezence規格の両方に対応するソリューションを提供します。私たちは両方を見て、そのコードを切断するためのいくつかの実用的なハードウェアソリューションを提供します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> スマートフォン、テーブルPC、デジタルスマートウォッチのバッテリー切れのリスクがある場合、またはナイトスタンドやオフィスデスクの間違った充電コードに絡まってしまった場合は、ワイヤーレス充電器のシンプルさが夢の実現です。しかし、ワイヤレス充電器には多くの技術が必要であり、同じように作られているわけではありません。NXPのトランスミッタおよびレシーバコンポーネントのファミリは、Qi規格とRezence規格の両方に対応するソリューションを提供します。私たちは両方を見て、そのコードを切断するためのいくつかの実用的なハードウェアソリューションを提供します。
View full article
BD-SL-i.MX6 (Qt Company の Qt 5.4 を実行) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> BD-SL-i.MX6(旧SABRE Lite)ボードは、低コストのi.MX6開発プラットフォームです。このボードの最も優れた特性の1つは、利用可能な重要なソフトウェアサポートです。この記事では、QT CompanyのQt5.4についてご紹介します。以下のビデオは、 Qt Company のエンタープライズデバイス作成製品、つまりQtに最適化された事前構築済みソフトウェアスタックを示しています。これにより、組み込みLinuxおよびAndroid開発用の実際のデバイスでのプロトタイピングをすぐに開始できます。デモはQt5.4を実行しており、BD-SL-i.MX6とNitrogen製品ファミリーの画像が利用可能です。以下は、いくつかの機能を示す短いビデオです。 上のビデオは、組み込みLinux用に作成された画像を示しており、具体的には 、Yocto Project と The Freescale Community BSPのツールを使用して構築されています。このため、製品はこれらのプロジェクトによって提供されるパッケージを活用でき、Yocto ビルド システムを使用してコンポーネントを統合し、ビルドを調整できます。 詳細については、http://qt.io または http://boundarydevices.com/qt-for-device-creation/ をご覧ください 全般
View full article
Zephyr 的内存详情 如果您对这些资源有任何疑问或问题,请 提出新问题,恩智浦支持团队将为您解答。 在学习 Zephyr 时,存在许多与内存相关的问题。链接器会将代码和数据放置在何处?应用程序应如何配置以使用其他存储器? 链接器所使用的默认内存段是在设备树中进行配置的。通常,设备树会使用选定的节点来配置这些部分。以下是 MIMXRT1060-EVK 板上的一个示例: chosen { zephyr,flash = &is25wp064; zephyr,sram = &sdram0; }; 这些选定节点的名称可能会造成误导。 zephyr,flash 指向链接器用于所有代码(.text)和只读数据段的节点。通常,这指向物理闪存,例如,在这块板上,它被放置在外部 QSPI 闪存中,但它也可以位于非闪存的内存中。 zephyr,sram 指向链接器用于所有 .data和 .bss部分的节点。这应该位于 RAM 中,但不一定在 SRAM 中。在该板上,它位于外部 SDRAM 中。应用程序可以将这些节点指向最适合该应用程序的其他内存。其他常用的内存节点包括 &dtcm 、 &itcm 或 &ocram 。 通常,这些选定的节点在电路板设备树文件中进行设置。但是在学习 Zephyr 以及使用设备树时,最好在应用程序构建过程中生成的设备树文件中确认设备树设置,请参阅实验室指南:设备树和 VS Code 设备树查看器。 i.MX RT内存 大多数内存问题来自使用 i.MX RT 设备的用户。这些微控制器(MCU)是高性能无闪存设备,具备多种内部和外部存储选项,以最大化应用程序的性能和灵活性。以下是一些专门针对 i.MX RT 设备的有用资源: i.MX RT 应用说明: AN12437 i.MX RT系列性能优化 AN12077 使用 i.MX RT FlexRAM AN13970 Zephyr 中的 RT 系列内存重定位 ROM 中的引导加载程序在启动时需要 Flash 配置块(FCB),并且可以选择添加设备配置数据 (DCD) 或外部存储器配置数据 (XMCD),这些数据通常用于启用 SDRAM。这篇文章提供了更多关于在哪里可以找到这些结构,以及如何将它们包含在开发板中的详细信息。 不支持 SDRAM 的情况说明:Zephyr 对配备外部 SDRAM 的实时开发板的支持,通常会将数据存储在 SDRAM 中。ROM 引导加载程序会在 Zephyr 应用程序执行之前,通过 DCD 或 XMCD 配置 SDRAM 接口。这篇文章讨论了如何移除定制主板的 SDRAM。 如需配置 FlexRAM,调整 ITCM、DTCM 或 OCRAM 的大小,请参阅 AN13970 Zephyr 中的 RT 系列内存重定位 将代码重新定位到 RAM 中 将代码移至 RAM 是一个常见需求,例如,为了最大化性能或降低功耗。借助 Zephyr,应用程序可以将所有代码或部分代码迁移到 RAM 中。以下是一些有用的搬迁资源: AN13970 Zephyr 中的 RT 系列内存重定位 Zephyr代码和数据重定位API 重新定位代码的示例应用: 简单示例SDRAM_hello_world.zip将整个应用程序移动到 SDRAM,并在启动时使用 ROM 引导程序加载 RAM,然后再执行应用程序。 Zperf 示例:此 Zephyr 网络示例将网络堆栈和以太网驱动程序代码迁移至 ITCM,以提高在 MIMXRT1170-EVK 上构建时的性能。其余代码保留在默认的外部 QSPI 闪存中。 NXP SmartWatch 演示和网络研讨会:将大部分代码重新定位到内部 SRAM 以降低功耗,同时将图形资产保留在闪存中。 将数据加载到 RAM 在 Zephyr 中,所有数据、变量和堆栈的默认位置都位于 zephyr,sram 节点。然而,某些应用程序希望将特定数据放置在其他位置。例如,将数据放置在 DTCM 中以最大化性能,将 DMA 缓冲区放置在不可缓存的内存中,或将显示的大型帧缓冲区移动到外部 RAM。以下是一些有助于指定数据放置的资源: 静态变量的声明可以包含链接器段标签,以便将它们放置在特定段中。一个参考示例是dma_mcux_edma.c驱动程序,它将 dma_tcdpool 结构放置在 __dtcm_noinit_section 或 __nocache 部分。 静态变量的另一种选择是在变量声明中使用设备树节点,从而将其放置在特定的部分中。一个可以参考的例子是恩智浦的面部检测演示。此演示在设备树中添加选定的节点 zephyr,modelbuf ,该节点指向内存部分节点 sramx 。要使用此方法,内存段节点需要具备属性 zephyr,memory-region 。在源代码中, model_input_buf 缓冲区是用 zephyr_modelbuf 节点声明的。然后,链接程序将 model_input_buf 放置在 sramx 部分。 整个源文件或库中的 data 和 bss 部分可以重定位到其他 RAM,详情请参阅 Zephyr代码和数据重定位 API。 Zephyr 可以使用一个特殊的固定区域,将中断堆栈和主堆栈放置在不同的 RAM 区段中。简单示例pinned_hello_world.zip在 DTCM 中固定中断和主堆栈。   其他内存资源 示例调整内存节点大小,利用 NXP LPC5500 中的所有 SRAM 返回Zephyr知识中心
View full article
Support Needed for Enabling OV5647 Camera on i.MX93 FRDM Hi, I am currently working on enabling the OV5647 camera module on the i.MX93 FRDM board. I have added the OV5647 node in the device tree and configured the appropriate clock source. The camera sensor is detected, and I am able to provide a 25 MHz clock on CCMSRCGPCMIX CLKO3. However, the /dev/video0 and media0 nodes are not appearing on the target board. Could you please assist me in identifying the possible cause of this issue or suggest steps to resolve it? DTS file and some required information snapshot attached in below Thank you for your support. Best regards, Bharath GC Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM you can refer to the ov5640 dts file https://github.com/nxp-imx-support/meta-imx-frdm/blob/lf-6.6.36-2.1.0/meta-imx-bsp/recipes-kernel/linux/linux-imx/0009-arm64-dts-add-imx93-11x11-frdm-ov5640-dts.patch pls check if your camera need  PW pin or not Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM Hello @joanxie , Thanks for your immediate response, As requested, I am sharing the OV5647 driver currently used in our build. The driver is taken from the kernel source in our Yocto build environment. Please find the attached driver ov5647.c file in the attachment  This is the driver being used for the camera integration on our system based on the i.MX93. driver is enabled for CONFIG_VIDEO_OV5647=y the kernel Version 6.6.36-lts-next-gb1d63f58897b-dirty Regards Bharath GC Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM pls send the ov5647 driver you use, let me double check it Re: Support Needed for Enabling OV5647 Camera on i.MX93 FRDM Hello @joanxie , I also tried making some changes by referring to the OV5640 DTS file, but there is still no change on the target side. The same error is appearing. I have attached the updated DTS file, which I modified based on the OV5640 camera module DTS configuration. The power-domain pin is enabled by default, and I confirmed this by forcing it to active-low using a gpio-hog. If I add the below structure, the camera does not come up, which indicates that the power-domain is functioning. pcal6524:gpio@22 { ......        camera_pwdn {             gpio-hog;            gpios = <22 GPIO_ACTIVE_LOW>;            output-high;           line-name = "camera_pwdn";      }; }; Please find the modified DTS file attached for your reference. Kindly help in resolving this issue. Thank you.
View full article
Physical connections for INT2 on MPL3115A2 and nRST on MPL115A2 Hi, I'd like to use interchangeably either a MPL115A2 or a MPL3115A2 in my circuit and I'm wondering if I can get away with not using a DNF/resistor on pin 5 and just connecting it to VDD. This is the RST line (active low) on the 115A2 but is INT2 on the 3115A2. What would the effect be if the INT2 line was internally pulling low and the pin is connected to VDD? Is the internal resistance enough that it wouldn't overheat/blow up? Would it be power hungry? Is this a CMOS type output? etc. etc. I'd be running them both from 3.3V on VDD/VDDIO. Any information appreciated - The only information I can find in the datasheets on this is VOH/VOL for INT1 and INT2 with a test condition I_o of 500uA. Pressure Sensors Re: Physical connections for INT2 on MPL3115A2 and nRST on MPL115A2 Thanks Tomas, your reply is very helpful. Re: Physical connections for INT2 on MPL3115A2 and nRST on MPL115A2 Timothy, By default all interrupts are disabled (CTRL_REG4 = 0x00), so the INT2 pin will be high all the time. If you want to use any of the internal interrupts (Data Ready, FIFO etc.), just set a corresponding bit in the CTRL_REG4 register and then route the interrupt to the INT1 pin by setting a corresponding bit in the CTRL_REG5 register. In both cases the INT2 pin can be connected directly to VDD without any problems. I hope it helps. Regards, Tomas
View full article
VDD(INTF)のみが存在し、VDDPに電源が供給されていない場合のTDA8035の動作 以下の場合に TDA8035 がどのように動作するかを知りたいです。 VDD(INTF)=3.3V VDDP= 0V(電源なし) TDA8035 はリセットモードになっているようですが、よく分かりません... 確認していただけますか? この状態は長期間(数時間以上)許容されますか? この場合の VDD(INTF) の消費量はどのくらいでしょうか? よろしくお願いいたします。 よろしくお願いいたします。 シルヴァン 接触型スマートカードリーダーIC Re: TDA8035 behaviour when only VDD(INTF)is present, not powered VDDP こんにちは@sylvainbouriot VDD(INTF) = 3.3V、VDDP = 0Vで電源投入時: TDA8035 はリセット状態のままとなり、スマート カードの起動を試行しません。 この状態は、チップを損傷したり異常な動作を引き起こしたりすることなく、長期間にわたって継続できます。 VDDP = 0 でチップがリセット/パワーダウンモードの場合: VDD(INTF) の標準的な電流は非常に小さく、通常は数 µA から数十 µA の範囲です。消費電流は主にデジタル保持に使用されます。 Re: TDA8035 behaviour when only VDD(INTF)is present, not powered VDDP カイリーさん、非常に正確な答えをありがとう。 TDA8035 がアクティブ モードの場合、VDD(INTF) = 3.3 V のときの VDD(INTF) の消費量はどのくらいですか? よろしくお願いいたします。 シルヴァン Re: TDA8035 behaviour when only VDD(INTF)is present, not powered VDDP VDDP = 3.3V または 5V の場合...
View full article
S32DS FOR ARM cannot be downloaded. S32DS software download is rejected, want to know the specific reasons and ways to deal with, I am a personal user without a company, the development board is the network to buy learning to use. The web page prompts the following: Our records indicate that you have previously requested an Evaluation version for this product. If you would like to purchase the full product please visit us at NXP or contact your sales representative . Note If you would like to extend your evaluation period please open a If you would like to extend your evaluation period please open a Service Request . Disabled creation of service requests Since we are unable to associate your email address with a company, you are not eligible to create a new service request on the Service Request Portal page. Please use your company email address to log in to the NXP website and submit a service request or submit your question via the NXP Technical Forum.   Re: S32DS FOR ARM 无法下载 Hi,  which version of S32DS do you like to download? 
View full article
无法调试 i.mxrt1064 自定义板。 您好, 在尝试以调试模式运行我的代码时,我收到"Break at address"0x20d102" with no debug information available" 信息。 我正在使用 i.mxrt1064 自定义板并使用 LinkServer LPC-Link2 进行编程。 这个主板以前可以正常工作了,但现在突然间,出现了这个消息。 我试过版本模式。我可以成功地用版本代码刷新我的主板,但是程序似乎无法运行。无论是从串行终端还是从显示屏,我都看不到任何输出。 我还尝试过使用安全配置工具对这个板进行编程,但它仍然无法正常工作。 有谁能帮助我们找到这个问题的重点或线索? Re: Unable to debug i.MXRT1064 custom board. 你好,MayLiu、 感谢您的回复。 早些时候,我确实按照你的建议尝试了这种设置,但在尝试调试时,集成开发环境提示错误(未能执行 MI 命令:-target-download)。我附上了该错误的快照供你参考。 回到上一条信息,我想补充的是,当我检查当前程序的执行地址时,显示代码位于 ROM 区域(地址 0x20E35A)。因此,不知何故,代码无法到达/启动应用程序代码,并被卡在 ROM 中。我的假设正确吗?会有这种情况吗? Re: Unable to debug i.MXRT1064 custom board. 你好@nxpsachve、 非常感谢您关注我们的产品并使用我们的社区。 1: 请尝试选择将应用程序链接到 RAM,然后重新调试。 如果您的应用程序可以从 RAM 成功运行,请将板设置为串行下载器模式,然后使用安全配置工具通过 UART1 或 USB1 对您的板进行编程。   如果你的应用程序无法运行,我建议你使用示波器来检查主板的开机顺序。   希望它能帮到你。 顺祝商祺! MayLiu Re: Unable to debug i.MXRT1064 custom board. Hi MayLiu, 感谢您的建议。 我想检查一下 MCUXpresso 中是否有任何可以改变或影响启动 Conf 的设置/配置?只是为了排除 IDE 的可能性。 在串行下载模式下,链接服务器能够检测目标。 Re: Unable to debug i.MXRT1064 custom board. 你好@nxpsachve、 感谢您提供的最新信息。 根据您提供的信息,CPU 当前可能正在执行来自启动 ROM 的代码,而不是您的应用程序代码。   我建议检查启动CFG和启动模式引脚设置,确保设备配置为从用户闪存启动。   你也可以尝试将板设置为串行下载器模式,然后通过J-Link进行连接以确认调试器是否可以检测到目标并与目标通信。   顺祝商祺! MatLiu Re: Unable to debug i.MXRT1064 custom board. 你好@nxpsachve、 我认为MCUXpresso IDE不会更改启动配置,恩智浦RT的启动行为由硬件启动配置和启动模式引脚决定。 由于可以在串行下载模式下检测到目标,这表明 ROM 仍在正常运行。下一步,您可以 执行全芯片擦除、 将板切换到内部启动模式,然后 尝试重新连接 MCUXpresso IDE 进行调试。 或者,您也可以使用 MCUXpresso 安全配置工具对应用程序映像进行编程。 顺祝商祺! MayLiu
View full article
RT1170 MIPI-CSI カメラ - YUV422 (8 ビット) サポート こんにちは、 i.MX RT1170 MIPI-CSI インターフェースを使用して YUV422 (8 ビット) を出力するカメラ モジュールの使用方法を示すリファレンス デザイン、アプリケーション ノート、またはサンプル プロジェクトはありますか? RT1170 エラッタ ( https://www.nxp.com/docs/en/errata/IMXRT1170ACE.pdf ) を確認し、YUV422 10 ビット形式はサポートされていないことを理解しましたが、YUV422 8 ビット操作を具体的に示す公開例や確認は見つかりませんでした。 あらゆるガイダンス、動作が確認されている構成、またはカメラ モジュールの例があれば、大変助かります。 Re: RT1170 MIPI-CSI Camera - YUV422 (8 bit) support こんにちは@mtreloarさん、 NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。 RT1170 MIPI-CSI は YUV422 (YUYV 8 ビット) 形式をサポートします。SDK のこのサンプル プロジェクトを参照できます。 よろしくお願いします、 ギャビン
View full article
imx95 low power mode I am working on a custom i.MX95 board running Linux 6.12 (Yocto-based). I am facing a suspend-to-RAM (deep sleep) failure related to the USB3 host controller. When executing echo mem > /sys/power/state, the system aborts suspend with xhci-hcd: WARN: xHC CMD_RUN timeout followed by PM: failed to suspend async: error -110. The issue occurs consistently when USB host mode is enabled, even with no active USB traffic. I am using a fixed 5V VBUS regulator controlled by a GPIO, and the USB3 controller, PHY, clocks, and power-domains are defined in the DTS (attached). My requirement is to fully power off USB VBUS during low power mode while allowing the system to enter deep sleep successfully. I have attached the full suspend/resume dmesg logs and the relevant USB-related DTS nodes for reference. I would like guidance on the correct DTS and/or driver-side handling required to avoid the xHCI suspend timeout on i.MX95. Re: imx95 low power mode In custom board iam using fusb302 but not enabled as usb3.0 , we are using it as usb2.0 . but when entering into deep sleep ( echo mem > /sys/power/state ) The error is occuring in xhci-hcd driver. Test Setup: • SoC: i.MX95 • OS: Yocto Linux (kernel 6.x, NXP BSP) • USB Mode: Host (xHCI, USB3) • Connected Device: USB flash drive (Mass Storage) Boot the board normally. Connect a USB storage device to the USB3 host port. Verify enumeration using lsusb and confirm device is accessible. Enter low power mode using: echo mem > /sys/power/state After this step itself it is showing error. Resume the system using the configured wake-up source (power button/ GPIO). After resume, observe that the USB device either: is not detected, or shows xHCI / DWC3 related errors in dmesg, or requires USB re-plug to work again. ERROR LOGS : echo mem > /sys/power/state [ 117.057281] PM: suspend entry (deep) [ 117.066009] Filesystems sync: 0.005 seconds [ 117.071209] Freezing user space processes [ 117.076800] Freezing user space processes completed (elapsed 0.001 seconds) [ 117.083781] OOM killer disabled. [ 117.087011] Freezing remaining freezable tasks [ 117.132725] Freezing remaining freezable tasks completed (elapsed 0.041 seconds) [ 117.140164] printk: Suspending console(s) (use no_console_suspend to debug) [ 117.156868] sd 0:0:0:0: [sda] Synchronizing SCSI cache [ 117.267552] xhci-hcd xhci-hcd.2.auto: WARN: xHC CMD_RUN timeout [ 117.267611] xhci-hcd xhci-hcd.2.auto: PM: dpm_run_callback(): platform_pm_suspend returns -110 [ 117.267631] xhci-hcd xhci-hcd.2.auto: PM: failed to suspend async: error -110 [ 117.267702] PM: Some devices failed to suspend, or early wake event detected [ 117.268017] hub 1-0:1.0: hub_ext_port_status failed (err = -108) [ 117.268044] usb usb1-port1: cannot disable (err = -108) [ 117.516365] PM: resume devices took 0.248 seconds [ 117.570639] OOM killer enabled. [ 117.573777] Restarting tasks ... done. [ 117.575261] sd 0:0:0:0: [sda] Test Unit Ready failed: Result: hostbyte=0x01 driverbyte=DRIVER_OK [ 117.578423] random: crng reseeded on system resumption [ 117.587117] sda: detected capacity change from 120164352 to 0 [ 117.598136] PM: suspend exit -sh: echo: write error: Connection timed out Re: imx95 low power mode Could you share us the details steps, that we can reporcuce it on our EVK Board? Thanks Re: imx95 low power mode Hi @kannappan , OK, we are going to have the New Year's Day holiday. when I back to office I will try it on our board and then give your reply. Wish you have a nice day Best Regards Rita Re: imx95 low power mode Hi @kannappan , Sorry for too busy this week, I will test it for you next week and share the result to you. Wish you have a nice day Best Regards Rita Re: imx95 low power mode HI @Rita_Wang , Is there any reply for the above issue. Best Regards Kannappan
View full article
RT1170 使用同步动态随机存取存储器(SDRAM) 处理堆和堆栈 我按照https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-debugging-when-application-is-built-for-SDRAM/m-p/1374145/highlight/true#M17210和 RT1170_BriefOverview_v210.pdf 中提到的步骤进行了操作。 我正在开发一个需要大量头部内存的应用程序。 按照提供的步骤,使用 RT1170_BriefOverview_v210.pdf 中提到的修改刷新 hello world,我可以在调试模式下使用同步动态随机存取存储器(SDRAM)。 但是在这种变化之后,同步动态随机存取存储器(SDRAM)也用于存储代码。 在我的应用程序中,我希望代码存储在闪存中,而 BOARD_SDRAM 仅用于堆和堆栈部分。 我将把我的应用程序闪存到闪存中,该应用程序的堆和栈部分将使用 BOARD_SDRAM。 请指导我进行所需的更改。 i.MX-RT1170 MIMXRT1170-EVK Re: RT1170 Use SDRAM for Heap and Stack 按照恩智浦支持中的步骤,我得以在 RT1170 EVKB 上加载多核项目(如何在 RT1176 & [RT1170] 中调试双核项目)。 当我能够从同步动态随机存取存储器(SDRAM)运行后,在 Master/Core M7 项目中,我进入了项目设置-> C/C++ 版本-> 设置-> 托管链接器脚本并禁用了 " 将应用程序链接到 RAM " 设置。 然后我得以刷新二进制文件,并确认应用程序在 RESET 时从闪存运行,并成功地将 M4 应用程序从闪存复制到同步动态随机存取存储器(SDRAM)。 Re: RT1170 Use SDRAM for Heap and Stack 你好@sibrain-himanshu、 感谢您对 NXP MIMXRT 系列的关注! 问题的根本原因在于您使用了这个步骤6: 这会将整个图像加载到 RAM 中执行,也是生成非 XIP 图像的选项。 对于您的应用场景,在启用和配置同步动态随机存取存储器(SDRAM)之后,您只需要在 MCUXpresso IDE 中正确配置 Head/Stack: 致以最诚挚的问候, Gavin Re: RT1170 Use SDRAM for Heap and Stack 你好@Gavin_Jia 在步骤 6 的基础上做了你建议的更改,并在预处理器中使用了 "XIP_BOOT_HEADER_DCD_ENABLE=1" 宏之后,我的固件使用了同步动态随机存取存储器(SDRAM)。 但我的应用程序是用 C++ 编写的,所以我最初对它进行了与 hello world C 应用程序相同的修改,但没有成功。 因此,还在 C++ 预处理器宏中添加了"USE_SDRAM" 和"XIP_BOOT_HEADER_DCD_ENABLE=1" 宏,结果成功了。 C++ 预处理器宏 C 预处理器宏 感谢您的帮助。
View full article