Most engineers should incorporate the following fundamental methodology when designing and bringing up a new board design:
1. Review the schematics and layout to ensure proper connectivity of all devices
2. Once the board returns from the manufacturer, measure and document all of the voltage rails of each IC on the board (especially the SoC and DRAM)
3. Ensure JTAG debugger connectivity (due to the complexity of systems today, every new board design should have some “hooks” to allow JTAG connectivity, even if these are simply test points)
4. Bring up and ensure proper DRAM functionality; it is imperative the first three steps are precisely accomplished – often times, DRAM instability or non functionality is due to improper connection (including not being connected to the voltage net) or poor layout.
Once these four steps are completed, the board can then proceed to a more broad based checkout of other peripherals using some type of compiled test code executed from DRAM.
More often than not, the end user’s board will differ from Freescale reference design boards either in how the DRAMs are connected or simply by using a different DRAM vendor. As such, tools were created to aid in the development of DRAM initialization scripts. The resulting script, though targeted for the RealView development system (aka include files), can be easily ported to another debugger’s command syntax or to assembly code for use in boot loaders. These tools are Excel spread sheet based and include a “How To Use” tab, making the tool usage relatively self-explanatory. Each tool is unique to a specific i.MX processor and to the DRAM technology used with each processor. This attached files are tools available for the following i.MX SoCs:
Attachments have been added to this page.
Dear, would the iMX50 DRAM programming aid also work for iMX51?Thanks!
i.MX50 and i.MX51 have different memory controllers, so i.MX50 tool is not applicable for i.MX51.