Creating a DDR Initialization File
DDR Initialization File Introduction
This tutorial walks you through the process of creating a DDR Initialization file. There are a small number of Kozio Verification and Test OS (VTOS) firmware products that require DDR memory for execution. Using DDR memory is a requirement when there is not enough on-chip memory available for VTOS firmware. For example, the VTOS Scan Ethernet product for NXP QorIQ T2080 requires DDR memory.
VTOS Developer aides you in the creation of a DDR Initialization file. The DDR Initialization file contains all of the DDR register settings required for VTOS firmware execution. After VTOS firmware is loaded on a target, the DDR Initialization file is used to configure DDR memory for VTOS firmware use.
This tutorial walks you through the following process:
- Finding Working DDR Settings using the Automatic Mode
- Creating DDR Manual Settings from the Automatic Results, and
- Creating a DDR Initialization File for your Board Design
Automatic DDR Settings
Kozio divides DDR Settings into two groups: Automatic and Manual. To bring up a new board design, you will typically start with Automatic settings, which is a subset of the larger DDR settings group. Using Automatic settings, you start with a handful of settings and then automatically tune and calibrate the remaining settings. Once the Automatic settings are configured and memory tests run without errors, you generate Manual settings from the Automatic settings. The Manual settings are hexadecimal values for each required DDR register.
- For this tutorial, we connected a T2080RDB to an NXP CodeWarrior TAP using a JTAG connection. And the CW TAP was connected to out PC using a USB connection. We installed the latest VTOS Tools Installer 3.x on our PC. (Click on any image to view a larger image.)
- To begin, use VTOS Developer and create a new project, selecting their processor family and model. In this tutorial, we called the project “T2_DDR_auto” and choose “QorIQ T2 T2080” as our processor. The next step was to click on Add to add a VTOS DDR task. A VTOS DDR task is added to your project and automatically opened.
- Click on the DDR Settings node in the configuration tree of the Task panel. This screen allows you to select your Automatic or Manual DDR Configuration Setting. We also choose DDR3 for our memory type since we will be running our tests on a T20280 RDB which uses DDR3 memory.
- Click on the DDR3 Memory Part node and use the right-mouse menu option to “Import“. This reference board uses a Promos memory part, so we browsed to promos\promos_ddr3L_v73cbg02808rcjk13_1866_MHz.ksc. This step fills in memory part data from the imported file. This file will be created by Kozio if it is not already in our supplied library of memory parts.
- Click on the Board Specific QorIQ node in the configuration tree. We filled in the DDR Frequency, Number of Chip Selects, and DDR Chips Per Chip Select. These values may vary with each board design.
- Click on Connect to begin communicating with the target.
- Run the DDR Write Level Search to tune additional Automatic DDR register settings. This process takes around 30 minutes. You run this command by double-clicking on the DDR Write Level Search node, or by selecting the node and using the right-mouse “Run” menu option.
- After the Write Level Search completes, click on the DDR Tune node and choose the right-mouse menu option “Update DDR Settings from Tuning Results“. This step executes a command which displays data to the Console window and then updates your Project with the new settings. Click File | Save Project to commit these changes to your project configuration file.
We now have Automatic settings and we can proceed to create DDR Manual Settings.
Create DDR Manual Settings
These steps use the Automatic settings to update your project’s Manual settings.
- Launch VTOS Developer and open your project.
- Click Connect to load VTOS firmware and establish a communications connection.
- Select DDR Settings in the Task configuration tree and run the right-mouse menu option “Configure DDR Controller“
- Double-click on DDR Structural Test to verify our automatic settings are working properly.
- Select DDR Settings and run the right-mouse menu option “Update DDR Manual Settings from Automatic“.
- Click Yes to run the update step.
- A review window is displayed with the results of the updates. There are three main categories: settings that were updated, settings that were not updated because they had the same value, and settings that are not appropriate for this processor. Review these updates and click OK.
- Click on File | Save Project to commit your updates.
- Click on the Board Specific QorIQ node in the Task configuration tree. Then use the Settings panel to scroll down to the DDR Manual settings. You can review the new settings here.
We now have DDR Manual settings that are save to our project file and can be used to create a DDR Initialization file.
Creating a DDR Initialization File
These steps create a new VTOS Scan Ethernet task and create a DDR Initialization file.
- Click on the Add button. Choose VTOS Scan Ethernet. Click on OK. The new task is added and opened.
- Click on the DDR Initialization node in the Task configuration tree.
- Click on the text box to the right of the DDR Initialization File in the Settings panel.
- Click on the ellipses button to open up the DDR Initialization File Selector dialog.
- Click New / Import. This brings up an editor where you can import values or hand edit values. For our situation, we will import values from our newly updated VTOS DDR task.
- Click Import from VTOS DDR.
- Browse to your project. To jump to the projects folder, enter “%KOZIO_HOME_3%\projects” and press the Enter key. Then browse to your project folder and select the [project]_vtos.ddr.xml file.
- Click Open.
- A summary is presented of the updates made, the settings with the same values, and settings not appropriate for your processor.
- Click OK.
- Click Save.
- Enter a file name such as ddr_initialization_values. Click Save.
- Click OK to close the last dialog. Click File | Project Save to commit your changes.
- Now that we have set up DDR settings, click Connect. This step will confirm the loading for VTOS Scan Ethernet firmware using our newly created DDR initialization values.
You can now start building and testing your Ethernet interfaces. We used the Scan & Add feature to automatically discover all Ethernet PHYs and add tests. From here, you can add additional tests and create your Ethernet test sequence.