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.

急求:OMAP137往Flash里烧写程序,烧进去之后程序不对是怎么回事?



OMAP137通过SPI接口连接了一个Flash,Flash烧进去程序之后实际的程序和编写的程序对不上,请问这是怎么回事,造成这种情况有哪些原因?

烧写的文件格式分别是AIX和HEX文件.

  • 重点是如何解决?

  • 你好,“实际的程序和编写的程序对不上",具体是怎么个对不上,请详细描述一下

  • 你好,

    请教omap137的引导过程,我看了一些资料,也没找到比较全面系统的。如果有请麻烦给个链接

    我下载了一个软件

    我这样操作可以吗?

    使用这个软件, 将我用dsp生成的应用程序*.out文件转化成*.bin文件,然后通过omap137的spi口烧到flash里,flash用25w64。

    AISgen for D800K005这个软件中的那些选项都需要设置吗?这些选项在我们的应用程序的初始化中都有。

     

    Dsp烧写25w64程序

     

    Int16 spiflash_App( ) {

        Int16 i, j;

        Uint8* p8;

        FILE   *fPtr;

        Uint32    *ptr;

        Int32  fileSize = 0;

        Int32   no_of_pages; 

        Int32   no_of_sectors;

        Uint16 page_size;

    spiflash_init();      // Initialize the SPI interface

     

        if((fPtr = fopen("D:\\rmb_2cis1.bin","rb")) == NULL)

            printf("UBL Open Failed.");

     

        fileSize = ftell(fPtr);

        page_size=256;

        no_of_pages = fileSize/page_size + ((fileSize % page_size) ? 1 : 0);

       spiflash_erase( 0, no_of_pages * spiflash_PAGESIZE);     // Erase

        i=0;

        while(!feof(fPtr))

        {

           p8 = (Uint8*) tx;

           if(!feof(fPtr)) {

               fread(p8, 1, page_size, fPtr);

           }

           spiflash_write( ( Uint32 )tx, i * spiflash_PAGESIZE, spiflash_PAGESIZE );

           printf("Writing APP at page offset: %d, number of pages: %d\n", i, no_of_pages);

           i++;

        }

  • 如图设置就可以,不需要全部都设置。你在ccs中调试,和你自启动程序运行,两者结果具体有什么不同?