Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
带有 S32K5xx RTD 的时钟 IP 发出的 S32DS 警告 0.8.0 使用 S32K5xx RTD 时 0.8.0编译时,我收到了来自时钟 IP 模块的许多警告。 有办法纠正它们吗? 这些警告是否可以忽略? 有计划把它们修好吗? Re: S32DS Warnings from Clock IP with S32K5xx RTD 0.8.0 你好@DirkEtzler、 谢谢您的提问。如前所述,S32K5 系列目前是 NPI(新产品推出)设备。因此,所有支持请求必须直接通过指定的恩智浦 FAE 处理。 或者,请通过以下网址创建支持票据: https://support.nxp.com/s/?language=en_US 系统会自动将您的请求转给相应的 FAE 团队,以便提供进一步帮助。 感谢您的理解。 顺祝商祺! 帕维尔
View full article
S32K3 FLEXIO data exception I am using S32K314 RTD400 SAI0 (host) and FLEXIO analog I2S (slave) communication, SAI only use d0, MUX_DISABLE, word width of 16, found that the data received by the slave is the host's data cycle to move one bit left to get the data, such as sending 0x8002, in the code inside the slave get the data is 0x5, change a lot of configuration is useless, finally check the Enable User Mode Support in the figure below, the data is normal. For example, if you send 0x8002, the data received by the slave in the code is 0x5. After changing a lot of configurations, the data is normal after checking Enable User Mode Support in the following figure. The SAI configuration is as follows Re: S32K3 FLEXIO数据异常 Hi@Jason22 I checked the compilation results, this option you check or uncheck does not affect the results of the run at all. According to the project you provided, the compilation I got with Enable User Mode Support checked and unchecked is exactly the same, which means it doesn't cause the problem you described. Re: S32K3 FLEXIO数据异常 Compile no problem, there is no "Mcal.h" file, if so, clear the project, compile again and there will be no problem (I do not know if this is the IDE version of the problem, S32DS 3.6 does not seem to have this error). If it's not this error, can you tell me what's wrong with the compilation? Re: S32K3 FLEXIO数据异常 Hi@Jason22 Sorry, I read it wrong, it's not the IDE version, it's that I read Enable User Mode Support as Enable Flexio Common Support Can you double check the project you provided, I can't get it to compile successfully. Re: S32K3 FLEXIO数据异常 没有勾选“Enable User Mode Support”,配置还是有效 不勾选"Enable Flexio Common Support",配置才无效,我使用的是S32DS 3.5.14,这和S32DS版本有关嘛 Re: S32K3 FLEXIO数据异常 Hi@Jason22 你不勾选“Enable User Mode Support”下面的配置不是不生效了嘛 Re: S32K3 FLEXIO数据异常 Hi@Jason22 Logic analyzer yourself to test if the data you're sending out is correct or not Re: S32K3 FLEXIO数据异常 I also compared it and found the same thing, re-ran the program and found that after checking the box, the data looped left again, but the first time I checked the box, the data did go normal, and repeated the run a few times and it was normal, so I don't know what factors are causing this. Then I would like to ask, is it my configuration or the code has a problem, why the data received by the slave is just the result of the data sent by the host cyclic left shift? Thanks for your help. Data sent by the host Data received from the slave
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
CSEc Error I'm using CSEc with S32K144, when does it return KEY_INVAILD error at BOOT_DEFINE? I hope to get answers and have a happy day! Re: CSEc Error Hi @xiaozhi  I can't see a reason for such error when calling BOOT_DEFINE function. This function can be called even if BOOT_MAC_KEY is not provisioned yet, so it does not require a key.  Regards, Lukas
View full article
CSEC GenerateMACAddrMode 地址范围 圣诞快乐 你好 当我使用 CSEC 的 GenerateMACAddrMode 函数时,当地址值超过 0x7DFFF 时,会发生错误。这正常吗? Re: CSEC GenerateMACAddrMode address range 我的错 我的意思是无法从 512kb CSEC_DRV_GenerateMACAddrMode(CSEC_RAM_KEY,(uint8_t *)0x0007FFFC, 0x00000080, (uint8_t *)cmacout) 中取出; 但我使用 addr = 0x0007FFFC,len = 0x00000080 也没有错误,但超出范围 Re: CSEC GenerateMACAddrMode address range 你好@SaLan 这是 Addr 模式下 CMD_GENERATE_MAC 命令(也称为指针方法)的限制: 分区(即块大小)可以是 128KB、256KB 或 512KB,视衍生产品而定: 此致, Lukas
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
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
How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hi I am currently in the process of learning to use the LPCXpresso55S69 development board in conjunction with the OV7673 camera module. However, I have found that I cannot find the corresponding pins. According to the documentation in the application note AN12868 from NXP (https://www.nxp.com/docs/en/application-note/AN12868.pdf) and the open-source code on GitHub (https://github.com/nxp-appcodehub/dm-lpc55s69-multi-face-detection), OV7673 D0~D7 need to be connected to P0.0~P0.7, but I found that the P0.0~P0.6 interfaces on the development board are very scattered, such as P0.0 at P19[6], P0.6 at P20[7], but P0.7 is not found, it seems P0.7 is connected to U20[4]/SD0_CLK. In addition, the D0~D7 wire connections in the official documentation image seem to be continuous. If anybody could help me make better decisions it would be highly appreciated.  Regards Mariposa Marina Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hi, @Alice_Yang  Thank you very much for your response. Certainly, changing the pin configuration didn't work. I will try other methods. Regards Mariposa Marina Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hello @Mariposa_Marina  Thank you for your detailed reply. We do not recommend changing the pins. And if you just change the pins configuration like the code above, the application will not work well. So please do not change the pins. Thanks. Best Regards, Alice Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hi, @Alice_Yang  Thank you very much for your response. I have an additional inquiry: Is it feasible to successfully run the application on the LPCXpresso55S69-EVK demo board by altering the pin connections for the OV7670 camera module? For instance, can I modify the camera_pin_Init function within the driver, specifically the IOCON->PIO settings, to change the default pins PIO0_0 to PIO0_7 to alternative pins? I am uncertain about the viability of this approach. void camera_pin_Init(void){ /* Connect trigger sources to camera engine */ INPUTMUX_Init(INPUTMUX); INPUTMUX->CAMERA_ENGINE_INPUTMUX[0] = 13; // set p0_13 as VSYNC input function pin, every edge will be responded INPUTMUX->CAMERA_ENGINE_INPUTMUX[1] = 14; // set p0_14 as HSYNC input function pin, every edge will be responded INPUTMUX->CAMERA_ENGINE_INPUTMUX[2] = 15; // set p0_15 as pixel input function pin, every edge will be responded /* Turnoff clock to inputmux to save power. Clock is only needed to make changes */ INPUTMUX_Deinit(INPUTMUX); // configure camera interface pins IOCON->PIO[0][0] = PINFUNC_CAMERA | 1<<8|1<<10|2<<4| 1<<6; //set p0_0 D0 on the camera port IOCON->PIO[0][1] = PINFUNC_CAMERA | 1<<8|2<<4| 1<<6; //set p0_1 D1 on the camera port IOCON->PIO[0][2] = PINFUNC_CAMERA | 1<<8|2<<4| 1<<6; //set p0_2 D2 on the camera port IOCON->PIO[0][3] = PINFUNC_CAMERA | 1<<8|1<<6; //set p0_3 D3 on the camera port IOCON->PIO[0][4] = PINFUNC_CAMERA | 1<<8|1<<6; //set p0_4 D4 on the camera port IOCON->PIO[0][5] = PINFUNC_CAMERA | 1<<8|2<<4|1<<6; //set p0_5 D5 on the camera port IOCON->PIO[0][6] = PINFUNC_CAMERA | 1<<8; //set p0_6 D6 on the camera port IOCON->PIO[0][7] = PINFUNC_CAMERA | 1<<8; //set p0_7 D7 on the camera port IOCON->PIO[0][18] = PINFUNC_CAMERA | 1<<8| 1<<10; //P0_18 will toggle when camera engine receive every VSYNC dege IOCON->PIO[0][14] = PINFUNC_CAMERA | 1<<8| 1<<10; //P0_14 will toggle when camera engine receive every VSYNC dege } Regards Mariposa Marina Re: How to Connect the OV7673 Camera Module to the LPCXpresso55S69 Development Board? Hello @Mariposa_Marina  Thanks for your interest in NXP Semiconductors products. The LPCXpresso55s69 - evk is just a demo board, not specifically developed for this application. So the used pins are not concentrated. You can place them as you design your hardware. For this demo board, the PIO0_7 is connected to R107 - 1 as below. BR Alice
View full article
汇编程序在 CodeWarrior 中不合法 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好   在使用 mwasmeppc.exe 编译汇编文件时,我遇到了一个问题、这是错误信息:   * 编译 s -> o * ### mwasmeppc.exe Assembler: # File: .\output\obj\cstartup.s # --------------------------------- # 88: e_and2i. # Error: ^^^^^^^^ # 当前目标处理器的指令不合法 ### mwasmeppc.exe 汇编器: # 99: sub r4,r3 # 错误: ^^^^^ # 简化助记符子的参数不足 ### mwasmeppc.exe 汇编器: # 114: e_or2i r31,0x4002 # Error: ^^^^^^ # 对于当前目标处理器,指令不合法   某些命令( e_and2i.sub e_or2i)无法识别,但该文件 cstartup.s 可与其他编译器(Greenhills、Windriver 等)配合使用。   CodeWarrior 版本: 适用于 MPC55xxMPC56xx v2.10。 MCU: XPC560XB CPU 类型为 -proc Zen   我不知道是我错过了一些编译器选项,还是我需要包含一些编译器文件?   顺祝商祺! 思佳 概述 Re: Assembler not legal in CodeWarrior 这是一个有趣的问题!这可能与 CodeWarrior 处理旧版汇编指令或项目设置的方式有关。您可以尝试查看编译器配置,检查是否正确设置了所有汇编路径。要更清楚地了解此类程序或法律文件细节,您可以访问迈阿密戴德在线案例,获取有关结构化流程和案件处理的参考式见解。有时,重温文档标准有助于有效确定缺失的配置。 Re: Assembler not legal in CodeWarrior 如果 CodeWarrior 不支持某些工具或功能(如汇编器),就会很麻烦。要获得有关相关规则和合规性的更多指导或验证,刑事法庭数据等资源有时可以提供有用的参考点。探索替代方法或支持模块可确保开发工作更加顺利。随时了解制约因素有助于防止意外错误并简化编码项目。 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 我已将"答案" 贴到您的另一个主题上。请检查。 此致, Martin Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马丁、 非常感谢。 我还有一个关于汇编代码的问题https://community.nxp.com/thread/434043你能看看吗? 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 请查看附件,我向您发送的是使用 CW 2.10 生成的一些项目的默认链接器文件。您可以将其作为链接文件的指南。 关于调试信息,这里有部分文档介绍了如何在 .elf 中添加调试信息锉刀希望能对您有所帮助。如果没有,请告诉我,我会尝试不同的解决方案。 ------------------------------------------------------------------------------- 调试控制选项 ------------------------------------------------------------------------------- -g[dwarf] # 全局;套用;生成 DWARF 1.x 调试 # 信息;与"-sym dwarf-1,full "相同 -gdwarf-2 # 全局;套用;生成 DWARF 2.x 调试 # 信息;与"-sym dwarf-2,full" 相同 -sym 关键字[,...] # 全局;指定调试选项 off # 不生成调试信息; # 默认值 on|dwarf-1 # 打开 DWARF 1.x 调试信息 dwarf-2 # 打开 DWARF 2.x 调试信息 ----------------------------------------------------------------------------------------------------- 此致, 马丁 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马丁、 我修改了 lcf 文件,现在项目可以生成地图和精灵了。 现在 lcf 文件仍然有一些错误,当我使用 Trace32 调试代码时,它找不到启动代码,我怎样才能将启动代码(__entry)定义为 0x0 地址? 另一个问题是,我只能在 Trace32 中看到汇编程序,您知道如何才能在 Trace32 中看到 c 文件吗? 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 MAP 文件看起来不完整。在连接项目时是否有任何错误?您是否能获得 .elf文件?您只共享了一个对象文件,因此我无法尝试链接。 因此,能否请您给我回信,最后能否请您分享您想链接到一起的所有对象文件? 此致, Martin Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马丁、 这些是 .o文件和地图文件。 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 能否请您分享一下生成的地图文件?为什么您认为地图文件不正确? 能否共享您试图链接的对象文件? 此致, Martin Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,马丁、 我使用的是 mwldeppc。 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 您是使用 CodeWarrior IDE 还是 mwldeppc 命令行工具进行链接? 参考资料 Martin Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 这些是我使用的链接选项: LINK_OPT += -proc=Zen #mcu 类型;通用 LINK_OPT += -char=unsigned #设置 "char "的符号;必须与编译器匹配。 LINK_OPT += -srec #生成扩展名为 .mot 的 S 记录文件 LINK_OPT += -map #生成地图文件 LINK_OPT += -code_merging=all,aggressive #代码合并优化 LINK_OPT += -far_near_addressing #启用远近寻址优化 LINK_OPT += -vle_enhance_merging #启用 VLE 增强代码合并优化功能 LINK_OPT += -vle_bl_opt LINK_OPT += -abi eabi LINK_OPT += -gdwarf-2 LINK_OPT += -nostdlib LINK_OPT += -m __entry 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 好的,但现在我无法生成正确的 .Map 文件,是否需要添加一些链接选项?或 .o文件不好吗? 这是生成的地图文件的一部分: __入口的链接地图 代码折叠在文件中:C:\HaoSijia\Projects\498_XPC560XD_XB\test_base\Conformance\IN\Platforms_ConTest_RamNoInit\output\obj\Platforms_ConTest_RamNoInit.o 代码折叠在文件中:C:\HaoSijia\Projects\498_XPC560XD_XB\test_base\Conformance\IN\Platforms_ConTest_RamNoInit\output\obj\main.o 代码折叠在文件中:C:\HaoSijia\Projects\498_XPC560XD_XB\test_base\Conformance\IN\Platforms_ConTest_RamNoInit\output\obj\板.o … 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 是的,你完全可以使用自己的启动程序,而不是 CodeWarrior 启动文件。 此致, Martin Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 您好, 感谢您的解决方案,现在我又遇到了一个关于启动代码的问题: CodeWarrior 有自己的启动文件__start.c and __ppc_eabi_init.c、 我能用自己的启动代码代替这两个文件吗? CodeWarrior 版本:适用于 MPC55xxMPC56xx v2.10。 MCU: XPC560XB 顺祝商祺! 思佳 Re: Assembler not legal in CodeWarrior <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,思佳、 我看到了一些不一致的地方,可能是你要编译的代码中存在的问题: 1) 指令e_and2i和e_or2i是 VLE,而sub是 BookE。在使用mwasmeppc.exe 时,不可能在一个文件中编译两种指令。 2) 指令子程序必须有三个参数。 有几种解决方案: 1) 最好的办法是用 se_sub 代替 sub 指令,se_sub 是 VLE 指令,需要 2 个参数。不要忘记使用 -vle 选项编译文件。 2) 可以用 BookE 指令替换 VLE 指令,并在子指令中添加第三个参数。 看看附件,我给你发了 bookE 和 VLE 参考手册,其中详细描述了所有说明。 如果您有任何其他问题,请随时给我回信。 此致, Martin Re: Assembler not legal in CodeWarrior 当 CodeWarrior 抛出汇编程序错误时,尤其是当语法中的所有内容似乎都正确时,会令人沮丧。有时,问题会归结为配置或指令丢失,因此仔细检查项目设置会有所帮助。最近,我在研究文档准确性时遇到了里士满法律服务公司,它提醒我,可靠的参考资料在故障排除中是多么重要。希望分享这样的经验能帮助其他人更快地摆脱困境。 Re: Assembler not legal in CodeWarrior 我在尝试使用 CodeWarrior 中的汇编程序时也遇到了同样的问题,这让我非常沮丧。对于任何需要可靠法院信息的人来说,威尔公共记录都是查询备案和案件详细信息的有用资源。它使某些法律问题的解决变得更加容易,而无需依赖零散的资料来源。如果您想快速查阅官方记录,绝对值得一试。
View full article
How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and image Dear NXP Support team, I would like to change all the logo and images that are displayed from the beginning of the U-Boot. When a hdmi monitor is connected to the board, I can see 4 penguins and yocto project image with a progress bar. I would like to change those images to my own custom images. Please guide me how I can make those changes. Please elaborate about the explanation if you can since I'm new to yocto linux imx. Thank you. Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i Hi,@Rita_Wan Based on the 8MP_LVDS_patch, I was able to get the display working in U-Boot successfully. But when I added the kernel part, I couldn’t get a seamless transition between U-Boot and the kernel display. The kernel side shows abnormal behavior — the screen flickers — while the display in U-Boot is totally fine. Could you give me some suggestions on this? What could be causing the issue? Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i Hi @bych , I found the easy way for you to try: Linux Kernel Logo Use the netpbm tool to convert png images to ppm images. $ pngtopnm linux_logo.png > linux_logo.pnm $ pnmquant 224 linux_logo.pnm > linux_logo_clut224.pnm $ pnmtoplainpnm linux_logo_clut224.pnm > logo_linux_clut224.ppm   Put the converted ppm file into the drivers/video/logo/ directory of the kernel, and replace the logo_linux_clut224.ppm file. Re-compile the kernel, and the logo will be replaced with a new picture. You can try it . Wish you have a nice day Bset Regards Rita Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i I have my own custom board that is based on i.MX8M Plus Processor, but the custom board is designed as same as i.MX8M Plus EVK board. I've successfully booted up my board and the display via HDMI looks fine. But I just want change the boot logo (4 penguins) and splash screen (yocto project logo with progress bar) to my own custom logo. You provided the patches but I do not know how to apply those patches to the u-boot or kernel. Please kindly advise how I use and apply those patches. Thank you. Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i What is the board in your hand? nxp board, or the board you design yourself, have you make your board boot up and display already? Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i Could you kindly advise how I can apply those patches? I've never done applying patches before... Re: How to change i.MX8MP kernel boot logo and yocto project splashimage to my own custom logo and i You can refer to the patches realized in the LVDS for the u-boot and kernel, the methods are the almost the same. i.MX 8MP LVDS seamless display (连续显示) between U-boot and Kernel - NXP Community
View full article
MaaxBoard (NXP i.MX93) で GPIO およびタイマー ピンを構成し、pinmux 設定を有効にする方法は? 私は MaaxBoard (NXP i.MX93 プロセッサベース) を使用していますが、次のユースCASEの pinmux とピン構成の設定について支援が必要です。 トリガー ピン (出力) として GPIO ピンが 1 つ必要です。 1 つのピンをタイマー入力 (TPM 入力キャプチャまたは PWM) 用に構成する必要があります。 問題は次の通りです: GPIO ピンが読み取り/書き込み操作に正しく応答しません。 pinmux 構成が欠落しているか間違っているか、デバイス ツリーが適切に更新されていないと思われます。 以下の点についてご協力いただけますでしょうか? MaaxBoard のピン配置とリファレンス マニュアルで GPIO とタイマーの正しいピン名とパッドを見つけるにはどうすればよいでしょうか? 必要なピン多重化を有効にするには、デバイス ツリー (.dts) にどのような変更を加える必要がありますか。 GPIOピンを出力用に設定し、ユーザー空間からの読み取り/書き込みを許可する タイマーピンを入力キャプチャまたはPWM用に設定する MaaxBoard で GPIO が正しく動作しない原因となる一般的な問題はありますか? 1 つの GPIO を読み取りと書き込み用に設定する方法の例はありますか?そのために、pin_mux.c や app.h など、何を更新する必要がありますか? i.MX93 #マックスボード MCX C Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? こんにちは、Manjunathb MaaxBoard は Element14 によって製造およびサポートされています。所有者に問い合わせて、BSP とボードに関する詳しい情報を入手することをお勧めします。 MaaXBoard OSM93 - element14 コミュニティ MaaXBoardハードウェアデザイン - element14コミュニティ    i.MX 93 EVK 用の NXP MCUXpresso SDK も参照できます。 SDKは以下からダウンロードできます。 MCUXpresso SDK Builder パッケージ内には TPM と GPIO / タイマーのデモが含まれています。 よろしくお願いします。 ダニエル よろしくお願いします。 ダニエル Re: How to configure GPIO and Timer pins on MaaxBoard (NXP i.MX93) and enable pinmux settings ? -> ここで参考のためにコードを添付しました。1 つの GPIO を構成して読み取りおよび書き込み操作を実行するだけで、コードを次のように更新しました。   /* * 著作権 (c) 2015、Freescale Semiconductor, Inc. * 著作権 2016-2017 NXP * 無断転載を禁じます。 * * SPDXライセンス識別子: BSD-3条項 */ #include "board.h" #include "fsl_debug_console.h" #include "fsl_rgpio.h" #include "app.h" /**************************************************************************************** * 定義 **********************************************************************************/ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /*! * @briefしばらく遅延します。 */ void遅延( void ); /**************************************************************************************** * 変数 **********************************************************************************/ /**************************************************************************************** * コード **********************************************************************************/ /*! * @briefメイン関数 */ int main( void ) { /*[手動で]-> GPIO入力のinit構造体を定義する*/ rgpio_pin_config_t 入力構成 = {         kRGPIO_デジタル入力、         0 , }; /* ボードピン、クロック、デバッグコンソールの初期化 */ BOARD_InitHardware(); /* 端末にメモを印刷します。*/     PRINTF ( "\r\n GPIO は状態の読み取りを開始します.....\r\n" ); /* 出力 LED GPIO を初期化します。*/ RGPIO_PinInit( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN 、 &input_config);     一方( 1 )     {         uint32_t val = RGPIO_PinRead( BOARD_LED_RGPIO 、 BOARD_LED_RGPIO_PIN );         PRINTF ( "GPIO%d の現在の値は : %d\r\n" , BOARD_LED_RGPIO_PIN ,val); SDK_DelayAtLeastUs( 500000U , SystemCoreClock);    } } ######################################################## /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ /******************************************************************************************************************************** * このファイルは、MCUXpresso Config Tools によって生成されました。このファイルに対して手動で行われた編集 * それぞれの MCUXpresso Config Tools を使用してこのファイルを更新すると、上書きされます。 ******************************************************************************************************************************/ /* * 以下のテキストはツールの設定として使用されます ************************************* !!グローバル情報 製品: Pins v12.0 プロセッサ: MIMX9352xxxxM パッケージID: MIMX9352DVVXM mcu_data: ksdk2_0 プロセッサバージョン: 0.12.3 * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ #include "pin_mux.h" /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitBootPins * 説明: 初期化関数を呼び出します。 * * 終わり ****************************************************************************************************************/ BOARD_InitBootPins を無効にします( void ) { BOARD_InitPins(); } /* * 以下のテキストはツールの設定として使用されます ************************************* ボード初期ピン: - オプション: {callFromInitBoot: 'true', coreID: cm33} - ピンリスト: - {pin_num: F20、ペリフェラル: LPUART2、信号: lpuart_rx、pin_signal: UART2_RXD、HYS: DISABLED、FSEL1: SlOW_SLEW_RATE、DSE: NO_DRIVE} - {pin_num: F21、ペリフェラル: LPUART2、信号: lpuart_tx、pin_signal: UART2_TXD、HYS: 無効、PD: 無効、FSEL1: SlOW_SLEW_RATE} - {pin_num: L17、ペリフェラル: GPIO2、信号: 'gpio_io, 04'、ピン信号: GPIO_IO04、HYS: 無効} * このコメントを変更する際は注意してください - これはツールの YAML 設定です *********** */ /* 関数 ************************************************************************************************************ * * 関数名: BOARD_InitPins * 説明: ピンのルーティングとオプションでピンの電気機能を構成します。 * * 終わり ****************************************************************************************************************/ void BOARD_InitPins( void ) { /*!< コアに割り当てられた関数: undefined[cm33] */     // IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04, 0U); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、 0U ); IOMUXC_SetPinMux( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、 0U ); /* 手動で追加 (開始)*/ IOMUXC_SetPinMux( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 , 0U ); IOMUXC_SetPinConfig( IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 、 /* 手動で追加 (終了)*/     // IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO04__GPIO2_IO04,     // IOMUXC_PAD_PD_MASK); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_RXD__LPUART2_RX 、                         IOMUXC_PAD_PD_MASK ); IOMUXC_SetPinConfig( IOMUXC_PAD_UART2_TXD__LPUART2_TX 、                         IOMUXC_PAD_DSE ( 15U )); } /******************************************************************************************************************************** * 終了 ******************************************************************************************************************************/ /* * 著作権 2022 NXP * * SPDXライセンス識別子: BSD-3条項 */ #ifndef _APP_H_ #define _APP_H_ /**************************************************************************************** * 定義 **********************************************************************************/ /* ${macro:start} */ #BOARD_LED_RGPIOを定義します          GPIO2 #BOARD_LED_RGPIO_PINを定義します      13U #DEFINE EXAMPLE_RGPIO_CLOCK_ROOT kCLOCK_Root_BusWakeup #DEFINE EXAMPLE_RGPIO_CLOCK_GATE kCLOCK_Gpio2 /* ${macro:end} */ /**************************************************************************************** * プロトタイプ **********************************************************************************/ /* ${prototype:start} */ BOARD_InitHardware をvoidにします。 /* ${prototype:end} */ #endif /* _APP_H_ */
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
SPSDK v3.1 release We are excited to annouce the release of Secure Provisioning SDK (SPSDK) 3.1 Please note this release is a new generation of SPSDK and it is NOT backward compatible to 2.x versions.  A migration guide is provided below: ⭐What's NEW: https://spsdk.readthedocs.io/en/latest/release_notes.html ⚠️Migration Guide: https://spsdk.readthedocs.io/en/latest/migration_guide.html 📦Supported Devices: https://spsdk.readthedocs.io/en/latest/devices_list.html 👇More details: Github PyPi Documentation SPSDK Plugins 3.1: Github (Plugins) PyPi (Plugins) Restricted Data Package for SPSDK 3.1: Please note that the package uses an LA_OPT license. Package will be located in the Download section. announcement
View full article
使用 blhost 编程/擦除 LPC54(S)0xx 闪存 注意:本文档提供了简单的描述,有关 flashloader 的详细信息可以在 SDK_2.5.0_LPCXpresso54S018\middleware\mcu-boot\doc 中的 LPC540xx Flashloader 用户指南入门.pdf 中找到 下载LPC54S0xx SDK。 编译flashloader工程,生成flashloader.bin 该项目位于sdk\boards \lpcxpresso54s018\bootloader_examples\flashloader 使用 dfu-util.exe 或 IDE 将 flashloader.bin 加载到 RAM 中。 dfu-util 可以从http://dfu-util.sourceforge.net/releases/下载 配置ISP引脚,然后复位芯片,使芯片进入USB1 DFU启动模式。 Boot mode ISP2 PIO0_6引脚 ISP1 PIO0_5引脚 ISP0 PIO0_4引脚 描述 USB1 DFU启动 低 低 高 USB DFU 类用于通过 USB1 高速端口将图像下载到 SRAM 中。 将LPC54S0xx设备USB1高速口与PC通过USB连接。以下是加载flashloader.bin的命令行: $ dfu-util.exe –D flashloader.bin   使用 blhost 编程/擦除 LPC540xxM/LPC54S0xxM 闪存 一旦下载了闪存加载程序二进制文件并在 LPC54S0xx 平台上开始执行,并且 LPC54S0xx 平台USB1(高速)和主机之间仍然保持物理 USB 连接,闪存加载程序将准备好接收命令。 blhost -u 0x1fc9,0x01a2 --获取属性 12 blhost -u 0x1fc9,0x01a2 --填充内存0x2000d000 4 0xc0000004 blhost -u 0x1fc9,0x01a2 --配置内存 0xa 0x2000d000 blhost -u 0x1fc9,0x01a2 --获取属性 25 0xa blhost -u 0x1fc9,0x01a2 -t 100000 --闪存擦除区域 0x10000000 0x100000 blhost -u 0x1fc9,0x01a2 -t 100000 --写入内存 0x10000000 xxx.bin 注: xxx.bin为需要下载到flash中的目标文件。 作者:刘浩 感谢刘浩。
View full article
AUT-N1761 自动驾驶汽车的第六感 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 为了实现自动驾驶,车辆需要准确地掌握周围的世界——就像人类驾驶员一样。汽车技术的目标是使车辆具备超越人类驾驶员感知的能力,从而能够实时做出最智能的决策。车辆传感器收集的信息不仅必须实时、准确,而且还必须能够抵御黑客攻击,这样我们才能将生命托付给它们。可靠的 ADAS 和适当的安全措施是自动驾驶汽车的关键因素。Vehicle-to-X 技术将可视范围扩展到驾驶员的视线之外,使驾驶员能够“看清”拐角处和障碍物。来自汽车网络的外部传感器信息和内部数据对于帮助消除全球道路上每年发生的 130 万起道路事故至关重要。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 为了实现自动驾驶,车辆需要准确地掌握周围的世界——就像人类驾驶员一样。汽车技术的目标是使车辆具备超越人类驾驶员感知的能力,从而能够实时做出最智能的决策。车辆传感器收集的信息不仅必须实时、准确,而且还必须能够抵御黑客攻击,这样我们才能将生命托付给它们。可靠的 ADAS 和适当的安全措施是自动驾驶汽车的关键因素。Vehicle-to-X 技术将可视范围扩展到驾驶员的视线之外,使驾驶员能够“看清”拐角处和障碍物。来自汽车网络的外部传感器信息和内部数据对于帮助消除全球道路上每年发生的 130 万起道路事故至关重要。 安全互联汽车和自动化汽车
View full article
从 S1L 更新 S1L <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 如果您的 FDI 板上已经有S1L ,您可以按照以下步骤更新到S1L的早期版本或更高版本。此过程不应用于更新块 0 中的 kickstart 加载程序。 步骤 1:启动系统至S1L提示符。准备好S1L的更新版本。 第 2 步:在S1L提示符下,键入“load term raw 0x90000000”以启动新图像的S1L中的二进制接收。在您的终端程序上,将S1L文件(即 s1l_from_kick_gnu.bin)作为二进制文件发送到开发板。 步骤 3:传输完成后,向主板发送中断以返回提示。在TeraTerm中,可以从控制菜单或按 ALT-B 发送中断。 步骤4:擦除FLASH中用于S1L存储的块。这些是块 1 至 24。要非常小心,不要擦除用于 klickstart 加载程序的块 0。可以使用“erase 1 24”命令来擦除块。 步骤 5:将加载的S1L图像写入从块 1 开始的S1L区域。S1L图像通常在 56K 到 80K 之间,因此它很容易容纳在 1 个块中。命令“write 0x90000000 64 64”将执行此操作。写入命令占用扇区(而不是块) - 扇区 64 是块 1 的起始位置。 步骤 6:重置电路板以验证S1L图像是否已更新。 整个序列如下所示。您可以通过检查 S1L 启动时的构建日期来查看正在运行的不同版本的 S1L 。 FDI3250 快速启动 v1.00 NAND闪存初始化 正在运行第 1 阶段加载器... Future Designs, Inc. DK-xTS-LPC3250 板 构建日期:2010年9月10日 10:12:22 自动启动正在进行中,按任意键停止 linux>加载术语原始 0x90000000 开始终端下载,发送中断停止 文件加载成功 Linux>擦除 1 24 操作将覆盖引导加载程序 - 确定吗?(是/否): 起始块擦除 linux>写入 0x90000000 64 64 Linux>FDI3250 Kickstart v1.00 NAND闪存初始化 正在运行第 1 阶段加载器... 使用默认系统配置 Future Designs, Inc. DK-xTS-LPC3250 板 构建日期:2010年9月13日 11:20:12 FDI3250
View full article
低功耗模式,带 USB 唤醒 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetis系列具有丰富的低功耗模式。客户可能会感到困惑,不知道如何从低功耗模式唤醒。 1) 在 VLPR、VLPW 中:NVIC 仍然对中断敏感,因此任何中断都会得到服务。 2)在停止、VLPS 状态下:设备只能通过USB唤醒中断唤醒。 3) 在LLS、VLLSx中:设备将无法从任何 USB 源 唤醒 。 4) LLWU 用于 唤醒 ,因此客户可以从任何可用的 LLWU 唤醒 源 唤醒 。 至于 USB模块,对于USB恢复事件有两种不同的中断。一个异步可以从低功耗模式 唤醒 ,由 USB 线路状态 的 变化触发。另一个是同步的,仅在检测到 K 状态(D+ = 0、D- = 1,表示全速)后 2.5 微秒触发。应用程序负责在需要时转换到低功耗模式,为此,它必须检查USB堆栈报告的设备状态。当在总线中检测到挂起条件时,将触发 SLEEP 中断并且堆栈将其状态更改为挂起;然后应用程序将转换到低功耗模式。当发生此 SLEEP 中断时,异步唤醒中断被启用,并在触发时被禁用(这是模块清除中断所必需的)。在正常情况下,同步恢复中断或复位中断将会随后被触发,导致堆栈状态转换为非挂起状态。然后应用程序就可以知道通信再次处于活动状态,并避免再次进入低功耗模式。
View full article
mm9z1_638の現在の精度は1%の要件を超えています こんにちは、Nxpパートナー AN12301 キャリブレーション ガイドを実行した後、mm9z1_638 からの現在の読み取り値を記録します。精度要件の 1% を超える読み取りが 3 ~ 5 件あることがわかりました。ソフトウェアまたはハードウェアのローパス フィルターはありますか?ローパス係数をどのように決定しますか?ガイドラインを参照しますか? Re: mm9z1_638 current accuracy is out of 1% requirement こんにちは、トーマス ありがとうございます。別の電流源を変更します。失敗条件が修正されました。 しかし、6Aの精度は+/-1%を満たすことができず、ノイズは約100mAです。100mA のノイズを減らすための提案はありますか?または 100mA のノイズは許容できます。 Br、 マイク・リャン Re: mm9z1_638 current accuracy is out of 1% requirement こんにちは、Mikeさん データを見ると、定期的に低い数値が出ているようですが、これはどこから来ているのでしょうか?これはテスト機器またはソフトウェアからのものでしょうか? この定期的なイベントが問題を引き起こしているようです。 よろしくお願いいたします。 トーマス
View full article
S32N55: RTD API 可禁用流闸门 队员们好 根据 S32N55 参考手册,必须先禁用 Stream Gate 实例,然后才能在 1588 计时器中更改 TMROFF_H/L。 请问目前是否有禁用 RTD 中流门功能的 API? BR, Bridget RTD Re: S32N55: RTD API to disable the Stream Gate 您好, ,我将再次查看用户手册并向您确认。 Re: S32N55: RTD API to disable the Stream Gate 你好@Bridget 根据 S32N_RTD_R21-11_1.8.0_CD07 的用户手册,要启用/禁用流闸门,可以在配置工具(EB Tresos)上进行设置: 设置 EthCtrlConfigEnableStreamGating = FALSE Re: S32N55: RTD API to disable the Stream Gate HiCuong、 在某些情况下,例如在 gPTP 同步期间,可能需要在运行时更新 TMROFF_H/L 的值。根据 S32N55 参考手册,必须先禁用 Stream Gate 实例,然后才能在 1588 计时器中修改 TMROFF_H/L。 在这种情况下,我认为需要一个 API 来禁用/启用流门功能。您提到的 EB 配置似乎无法处理这种情况。 请问 RTD 目前是否有禁用/启用流闸门功能的 API? BR, Bridget
View full article
S32K148 中用于多通道和采样的 ADC DMA 流组 我正试图在 S32K148 中实现多通道流分组和采样 ADC DMA,但我发现我没有收到 DMA 中断,而且结果缓冲区在递增并写入额外的 RAM 空间。配置中是否存在任何问题? Re: ADC DMA Streaming Group for multiple channels and samples in S32K148 HI 参见第 3.6.18 章有关该模式 DMA 通道设置的更多信息,请参见 ADC 驱动程序 UM 的 Optimize DMA Streaming Groups(优化 DMA 流组)。 BR, Petr
View full article