8.4.4 Running NAND Example
- Location of boot image binaries:
- examples/<k2 device>/nand/singleStage/bin/nandImage.dat
- examples/<k2 device>/nand/multiStage/bin/nandImage.dat
- NAND Flash Writer software:
The NAND flash writer can be located in MCSDK under the path \mcsdk_bios_3_01_00_01\tools\writer\nand\evmk2X. In order to refer to detailed documentation of the flash writer, see the ReadMe.txt document included in mcsdk_bios_3_01_00_01\tools\writer\nand\docs.
- Flashing the NAND boot examples:
- Copy the boot binary (spiImage.dat) to the \mcsdk_bios_3_01_00_01\tools\writer\nand\evmk2X\bin folder and rename the file to app.dat.
- Open the nand_writer_input.txt file and modify the parameters as shown below:
file_name = app.dat
start_addr = 0
rbl_ecc = 1
skip_bad = 1
- Configure the EVM to "No Boot mode" as shown in Section 8.4.1 and connect to the EVM using and emulator and Code Composer studio.
NOTE
Details to connect to the EVM using CCS are discussed in the Hardware Setup Guide.
- Connect to and initialize the Arm core using the Device GEL file found in the emulation pack found here. Configure the 1 Ghz and DDR configuration to 1333 Mhz.
- Connect to the C66x core and load the nandwriter_evmk2X.out on the device.
- Go to "View" menu and select "Load Memory" in the memory browser. Browse to the boot image and select "Use the file header to set the start address and size of the memory block to be loaded. For reference in loading memory, see Figure 2 and Figure 3.
- Ensure the start address to base of DDR (0x80000000) and click finish.
- Run the nandwriter_evmk2X.out on the C66x core to flash the binary to the NAND on the EVM.
- Running and verifying the NAND boot:
- Set the EVM switches to NAND boot as shown in Section 8.4.1 and connect the serial terminal to host and configure the UART Connect to 115200 baud rate.
- Power on the EVM. When the boot completes successfully, the device puts out a UART message indicating the cores have woken up and are standing by.
The following messages will be displayed on the terminal window:
Core 0 standing by....
Core 1 standing by....
Core 2 standing by....
Core 3 standing by....