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.

关于omapl138的烧写 bootloader 问题

Other Parts Discussed in Thread: OMAP-L138

[ARM9_0] Starting OMAP-L138 SPIWriter.

[ARM9_0] Will you be writing a UBL image? (Y or y) 

Y

[ARM9_0] Enter the binary AIS UBL file name (enter 'none' to skip): 

C:\DaVinci-PSP-SDK-03.21.00.04\src\boot-strap\flash-utils-03.21.00.04\OMAP-L138\CCS\UBL_ARM\UBL_SPI_MEM\ubl_OMAPL138_SPI_MEM.ais

[ARM9_0] INFO: File read complete.

[ARM9_0] Doing block erase.Enter the application file name (enter 'none' to skip): 

 

我用的板子是 LOGICPD的  omapl138,工具是CCS5,,做的是bootloader  
接下来我想加载自己的例程,不代操作系统(裸机开发),所以就不用加载u-boot.bin文件,但是加载别的.bin文件(例如 i2cledBlink.bin)虽然能成功,但断电后,开发板并不运行程序,请问我的错误出在哪里? 还有接下来 提示的地址 如何设置,谢谢

  • 使用  DaVinci-PSP-SDK-03.21.00.04  这个包

  • 你好,你问题是你SPI boot的程序,没有正常运行吗?一般在CCS中都有GEL文件对系统进行初始化,而BOOT的程序,没有这部分代码,所以需要重新在MAIN函数开头加上这部分代码,BOOT的时候才能正常运行程序。

  • 我已经添加了GEL文件了,我的问题是我已经把程序下载到omapl138的芯片里了(例如 i2cledBlink.bin ),但是断电,设置 S7 后,芯片没有运行程序(i2cledBlink.bin)。

    到了下面的一步时,我应该添加什么格式的文件才符合呢?

    [ARM9_0] INFO: File read complete.

    [ARM9_0] Doing block erase.Enter the application file name (enter 'none' to skip):

  • 你好,下面这个步骤中,应该不是烧写UBL,而是烧写你自己程序的AIS文件。

    [ARM9_0] Starting OMAP-L138 SPIWriter.

    [ARM9_0] Will you be writing a UBL image? (Y or N)

    N

  • 您好,我已经到了一步了。

    [ARM9_0] Starting OMAP-L138 SPIWriter.

    [ARM9_0] Will you be writing a UBL image? (Y or y)

    N

    [ARM9_0] Enter the application file name (enter 'none' to skip):

    C:\DaVinci-PSP-SDK-03.21.00.04\src\boot-strap\flash-utils-03.21.00.04\OMAP-L138\CCS\UBL_ARM\UBL_SPI_MEM\ubl_OMAPL138_SPI_MEM.ais

    [ARM9_0] INFO: File read complete.

    [ARM9_0] Doing block erase. SPI boot preparation was successful!

    然后呢,我想加载的程序如何加载进omapl138里,谢谢

  • 你好,程序中的逻辑应该是:

     DEBUG_printString("Will you be writing a UBL image? (Y or y) \r\n");

     DEBUG_readString(fileName);

     fflush(stdin);

     if ((strcmp(fileName,"y") == 0) || (strcmp(fileName,"Y") == 0))

     {

       // Read the AIS file from host

       DEBUG_printString("Enter the binary AIS UBL file name (enter 'none' to skip): \r\n");

       DEBUG_readString(fileName);

       fflush(stdin);

       LOCAL_GetAndWriteFileData(hSpiMemInfo, fileName, baseAddress, FALSE);

       // Assume that the UBL will fit in the first block of the SPI flash

       baseAddress += hSpiMemInfo->hMemParams->blockSize;

       useHeaderForApp = TRUE;

     }

     // Read the AIS file from host

     DEBUG_printString("Enter the application file name (enter 'none' to skip): \r\n");

     DEBUG_readString(fileName);

     fflush(stdin);

     if (LOCAL_GetAndWriteFileData(hSpiMemInfo, fileName, baseAddress, useHeaderForApp) != E_PASS)

     {

       DEBUG_printString("SPI Flashing Failed!");

       return E_FAIL;

     }

     return E_PASS;

    直接烧写进FLASH里了,你用的是OMAP-L138_FlashAndBootUtils_2_11\OMAP-L138_FlashAndBootUtils_2_21\OMAP-L138\CCS\SPIWriter这个工程吗?

  • 我看到你用的工程路径是:C:\DaVinci-PSP-SDK-03.21.00.04\src\boot-strap\flash-utils-03.21.00.04\OMAP-L138\CCS\UBL_ARM\

    请使用OMAP-L138_FlashAndBootUtils_2_11\OMAP-L138_FlashAndBootUtils_2_21\OMAP-L138\CCS\SPIWriter这个工程。

    如果问题已经解决,请点击“是”,标记为答案,谢谢。。。

  • 您好,我烧写用的程序是C:\DaVinci-PSP-SDK-03.21.00.04\src\boot-strap\flash-utils-03.21.00.04\OMAP-L138\CCS\UBL_ARM\UBL_SPI_MEM 里的工程,添加GEL文件后出现的情况是这样的

    ARM9_0: Output: Memory Map Cleared.

    ARM9_0: Output: ---------------------------------------------

    ARM9_0: Output: Memory Map Setup Complete.

    ARM9_0: Output: ---------------------------------------------

    ARM9_0: Output: Enabling Full EVM PSCs...

    ARM9_0: Output: PSC Enable Complete.

    ARM9_0: Output: ---------------------------------------------

    ARM9_0: Output: PLL0 init done for Core:300MHz, EMIF:25MHz

    ARM9_0: Output: mDDR initialization is in progress....

    ARM9_0: Output: PLL1 init done for DDR:132MHz

    ARM9_0: Output: mDDR init for 132 MHz is done

    ARM9_0: Output: ---------------------------------------------

    ARM9_0: Output: DSP Wake Complete.

    ARM9_0: Output: ---------------------------------------------

    然后我执行了"Full EVM-->SPI1_PINMUX" ,接着load了一个SPIWriter_OMAP-L138.out 文件,就出现了

    [ARM9_0] Starting OMAP-L138 SPIWriter.

    [ARM9_0] Will you be writing a UBL image? (Y or y)

    N

    [ARM9_0] Enter the application file name (enter 'none' to skip):

    在这一步,我是不是应该添加自己的AIS例程(之前添加的是  C:\DaVinci-PSP-SDK-03.21.00.04\src\boot-strap\flash-utils-03.21.00.04\OMAP-L138\CCS\UBL_ARM\UBL_SPI_MEM\ubl_OMAPL138_SPI_MEM.ais 文件)我这一次添加了自己的AIS文件后,CCS5 停止不继续往下跑了。

    还有我想问的就是直接烧进FLASH里的是不是应该有UBL和我的AIS文件。  

    谢谢

  • 不好意思,我等会试试,谢谢

  • 您好, CCS5不能加载您说的工程“请使用OMAP-L138_FlashAndBootUtils_2_11\OMAP-L138_FlashAndBootUtils_2_21\OMAP-L138\CCS\SPIWriter这个工程。”

    和我说个CCS 5 能加载的工程,谢谢了

  • 还有,下载后的地址如何设置,谢谢

  • 你好,烧写flash时候用的如下函数指定烧写地址:  

    if (LOCAL_GetAndWriteFileData(hSpiMemInfo, fileName, baseAddress, useHeaderForApp) != E_PASS)

    baseAddress = 0,则是从地址0开始烧写。

    工程是好的,可以用的。。。

  • 您好, 路径 是  OMAP-L138_FlashAndBootUtils_2_21\OMAP-L138\CCS\SPIWriter    里面没有.project  请问如何加载?

    您说的

    “下面这个步骤中,应该不是烧写UBL,而是烧写你自己程序的AIS文件。

    [ARM9_0] Starting OMAP-L138 SPIWriter.

    [ARM9_0] Will you be writing a UBL image? (Y or N)

    N   ”   您的意思是不是这里不烧写UBL,那请问在什么地方烧写UBL?

    还有 console 窗口显示

    [ARM9_0] INFO: File read complete.

    [ARM9_0] Enter the app image load address (in hex):

    [ARM9_0] Enter the app image entry point address (in hex):

    这里烧入到DDR中吗? load address如何设置呢?

    我刚刚接触omap,知道的不多,麻烦指点,谢谢!!!

  • OMAP-L138_FlashAndBootUtils_2_21\OMAP-L138\CCS\SPIWriter 文件夹中的:SPIWriter_ARM.pjt等就是工程文件,这个是CCS 3.3版本的,你可以移植到CCS 4/5中。。。

    [ARM9_0] INFO: File read complete.

    [ARM9_0] Enter the app image load address (in hex):

    [ARM9_0] Enter the app image entry point address (in hex):

    这些代码的释义,请在源C文件中查看。