This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6437 Booting Issues

Hi,

I am using DM6437 EVM board. In that I need to flash my application to NOR flash, and execute from NOR.

I can able to create ais file and flashed *.ais file into NOR, but I dont know whether my code is executing from NOR or not. For NOR execution confirmation, I have called LED blinkin API's into my application, with that I have created ais file and flashed into NOR with NOR writer utility.

 Its flashed properly but LED's are not blinking.


The sequence I have called API's are:

        EVMDM6437_init();
    EVMDM6437_LED_init( );
    
    // Clear all First two LEDS
    EVMDM6437_LED_off(0);
    EVMDM6437_LED_off(1);
        EVMDM6437_LED_off(2);
    EVMDM6437_LED_off(3);     
      
        
        

         myDataPtr = &myData1;
       while(myDataPtr != &endMyData1) {
     if (*myDataPtr != 0xFEEDBABEu) {
        errCount--;
       EVMDM6437_LED_on(0);
       EVMDM6437_waitusec(20000);
     }
    else {
     EVMDM6437_LED_on(1);
     EVMDM6437_waitusec(20000);
     
     ++myDataPtr;
        }
  }     

  if (*myDataPtr != 0x12345678) {

     EVMDM6437_LED_on(2);
     EVMDM6437_waitusec(20000);
     EVMDM6437_LED_off(0);
     EVMDM6437_waitusec(20000);
     --errCount;
  }
    else
    EVMDM6437_LED_on(3);
    EVMDM6437_waitusec(20000);

  myDataPtr = &myData2;
  while(myDataPtr != &endMyData2) {
     if (*myDataPtr != 0xBABEFACEu) {
        errCount--;
     }
     ++myDataPtr;
  }

  if (*myDataPtr != 0x12345678) {
     --errCount;
  }


    

Batch File:

genAIS.pl -otype ascii -i myapp.out -o outfile.ais -bootmode emif -datawidth 8  -cfg evmdm6437.cfg
pause   



Please suggest how to execute this code from NOR with AIS scripting, is there is any thing missing?

In my second trial

I have created ais file with -debug option,and the size of file is almost 39KB, have tried to flash the data into NOR, but in this case NOR writer is failing.I am attaching the following log file.

Starting NORWriter.
NOR Initialization:
    Command Set: AMD
    Manufacturer: AMD
    Size: 16 MB
Enter the binary AIS application file name:
BlinkEVMDM6437.hex
Erasing the NOR Flash
Erased through 0x42020000
Erase Completed
Writing the NOR Flash
NOR Write OK through 0x42002000
NOR Write OK through 0x42004000
NOR Write OK through 0x42006000
NOR Write OK through 0x42008000

Normal write also failed
NOR Write Failed...Aborting!
    ERROR: Writing NOR failed.
    NOR flashing failed!


    Is there is any size limitation? I am using SRAM size is 128KB,DDR2 with 64MB.
At one moment of time I have tried to execute from DDR2, In this I have faced some kind of memory overlap errors.

Can you provide detailed information on AIS file Generation.

Please suggest me with suitable solutions.

Thanks & Regards,

Subramanyam

  • Srimanya said:
    Please suggest how to execute this code from NOR with AIS scripting, is there is any thing missing?

    The first thing I would try is the hexAIS utility from C:\dvsdk_1_11_00_00\flashburn_files\hexAIS\hexAIS.exe, I have used this before to convert .out files to flash bootable .hex files with success. This should let you get something like the LED blinking booting very quickly and easily.

    You may also find the wiki article on debugging from flash useful, with this you may be able to narrow down what is going wrong with your particular hex conversion, or if something else is not working in your code.

    Srimanya said:
    Is there is any size limitation?

    There should not be any size limitations with the NOR writer outside of the maximum size of the flash, which for the DM6437 EVM should be 16MB, plenty of space for your simple app. You may want to ensure you have the jumper JP2 set properly to select the NOR flash,  though if this was not set right I would expect more immediate failure in writing.

  • Hi Thompson,

     

    Thanks for your suggestion, now am able to create hex file and execute the LEB Blinking application from NOR successfully.

     

    The same application(from converting .out file to .bin or .ais), I have tried to load to I2C EEPROM through i2c writer application.  in that case writing data was failed, the file size is 41KB.

    Command I have used for converting .out to  .bin file

    genAIS.pl -otype bin -i spa_blinking_app.out -o spa_i2c.bin -bootmode i2cmaster -addrsz 8
    pause

     

    please check  following log;

     

    FILE SIZE =41KB

    Starting test of I2C EEPROM...
    Starting I2CWriter.
    Enter the File Name
    spa_file_i2c.bin
    Writing Data to I2C EEPROM
     ... please be patient this takes a while, thanks
    0
    1000
    2000
    3000
    4000
    5000
    6000
    7000
    8000
    9000
    10000
    11000
    12000
    13000
    14000
    15000
    16000
    17000
    18000
    19000
    20000
    21000
    22000
    23000
    24000
    25000
    26000
    27000
    28000
    29000
    30000
    31000
    32000
    33000
    34000
    35000
    36000
    37000
    38000
    39000
    40000
    41000

    Data Write Complete .. verifying data
    0
    1000
    2000
    3000
    4000
    5000
    6000
    7000
    8000
    9000
    10000
    11000
    12000
    13000
    14000
    15000
    16000
    17000
    18000
    19000
    20000
    21000
    22000
    23000
    24000
    25000
    26000
    27000
    28000
    29000
    30000
    31000
    32000
    33000
    34000
    35000
    36000
    37000
    38000
    39000
    40000
    41000
    Warning! Write Failed
        : Writing data failed!! Error code = 276939560.

       I have tried to load i2c nand boot application (example program, which is provided by TI), to I2C EEPROM with file 9KB, in this case data writing was successful.please check the log file.

     LOG FILE:

     

    Starting test of I2C EEPROM...
    Starting I2CWriter.
    Enter the File Name
    spa_nand_i2c.bin
    Writing Data to I2C EEPROM
     ... please be patient this takes a while, thanks
    0
    1000
    2000
    3000
    4000
    5000
    6000
    7000
    8000
    9000


    Data Write Complete .. verifying data
    0
    1000
    2000
    3000
    4000
    5000
    6000
    7000
    8000
    9000

        I2C EEPROM: Writing data was successful!

      Is file size is matter in the first case? or is thr is any mistake in converting .out to .bin?

    Please Suggest me .

     

    Thanks & Regards,

     

    Subramanyam


     

  • Hi All,

    I am working on DM6437 EVM board, in that we need develop NOR secondary bootloader, that is SBL (Seconadry boor loader ) code reside on I2CEEPROM, NOR flash contains application data.

    For developing that, I used NAND Secondary boot as sample reference code, based on that code, I have made my code in three parts.

    1) Boot Initilization

    2) Perform NOR --i)  In this module I have added,NOR Open, NOR Initilization, , Manifacturer ID,NOR other routines like Erase,read,write.

                                     ii)  After that AIS File is loaded to NOR,

                                     iii) I implimented AIS PARSING.

     

      I am able to read and parse the AIS File through I2CEEPROM (SBL code is reside on I2CEEPROM).

     3) Finally As per NAND SBL, I need to impliment  application start ( TARGET_BOOT_STATUS.applicationStart), but in that code application start API is called with refrence to function pointer, I tried to see that code, but I am not able to get that defination of application start function.

    Is that API is the part of EVMDM6437 library?

    Can you please provide the defination of application start API.

     

    Thanks  Regards,

     

    Subramanyam

     

     

     

     

     

     

     

  • Hi,

    I am using DM6437 EVM board, in that we are using  NOR Flash (SPANSION) Flash . I have developed bootloader for that, its working fine.

    But after writing boot loader I need to Implement Flash Protect for those sector. i.e Write-protect a block.

    I have seen standard API's  and commands for Intel flash, but I didnt get any such API's , command set for SPANSION/AMD.

    Can you guide me and provide those API's and Commands for SPAANSION/AMD Nor flash.

    Thanks & Regards,

    Srimanya

  • Hi,

    I want impolement SBL in Nor Flash too,but i don't  how to do.

    would offer me some Demo code for that?

    many thanks.

  • by the way,what is the meaning of the following expression?i'm confused...

    'Please note, that the secondary boot loader code will only parse a subset of the AIS commands. If your application uses an AIS configuration file, this file should be included with the AIS build for the secondary boot loader. '

    how to configure my project build my secondary boot loader with the AIS build?

  • hi

     I have do the same thing with you,now I able to create hex file ,buf can't execute the LEB Blinking application from NOR successfully,what shall I do?

  • HI  all

    1,   I have use C:\dvsdk_1_11_00_00\flashburn_files\hexAIS\hexAIS.exe, convert BlinkEVMDM6437.out  files to flash BlinkEVMDM6437.hex

          use cmd :hexAis -conff2hex BlinkEVMDM6437.out      as said in file <Instructions for Flashing the Demo>

    -----------------------------------------------------
       TI AIS Hex File Generator for DM643x
       (C) 2007, Texas Instruments, Inc.
    -----------------------------------------------------

    Chosen bootmode is EMIFA.
    Begining the AIS file generation.
    Parsing AIS INI file, dm643x.ini.
    AIS file being generated for the EMIFA bootmode.
    Parsing the input COFF file, dm643x_AISExtra.out.
    Parsing the input COFF file, BlinkEVMDM6437.out.
    AIS file generation was successful.
    Hex conversion is complete.

    2,  create file:BlinkEVMDM6437.hex

    3, use FlashBurnDSK burn flash

    meminfo:

    4 ,turn off power an reset, but led can't no,any something i have missed?