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.

OMAP-L138 sfh recompilation on Windows XP Host PC

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Hi,

I had gone through the following URL http://processors.wiki.ti.com/index.php/Rebuilding_the_Flash_and_Boot_Utils_Package

I had installed cygwin from (http://www.cygwin.com/), Code Sourcery Tools from (http://www.codesourcery.com/sgpp/lite/arm/portal/release16000) and the following version of the c6x tools (ti_cgt_c6000_6.1.9_setup_win32.exe) which came with the Logic-PD EVM.

The system path variables are as given below

C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin;C:\Program Files\PC Connectivity Solution\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\TortoiseSVN\bin;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\VXIPNP\WinNT\Bin;C:\Program Files\Smart Projects\IsoBuster;C:\VXIPNP\WinNT\Bin\;C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319;C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.11\bin;

In cygwin I am changing to the directory D:\OMAP-L138_FlashAndBootUtils_2_30\OMAP-L138\GNU and then I am typing the below command to compile

make clean

make > build.log

The attached file contains the output log. I don't see any sfh file generating, however slh_OMAP-L138.exe and genecc_OMAP-L138.exe are generated and in cygwin I see below errors

warning: no suitable entry-point found; setting to 0
c:/program files/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-linux-gn
ueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld.exe: warning: cannot find
entry symbol start; defaulting to 80000000
../../../../Common/sft/src/uartboot.c:158:21: warning: 'hSpiReadBuf' defined but
 not used
../../../../Common/drivers/src/spi_mem.c: In function 'SPI_MEM_eraseBytes':
../../../../Common/drivers/src/spi_mem.c:423:11: warning: implicit declaration o
f function 'DEBUG_printString'
"../../../../Common/sft/src/uartboot.c", line 158: warning: variable "hSpiReadBu
f" was declared but never referenced
error: cannot find file "rts64plus.lib"

 undefined  first referenced
  symbol        in file
 ---------  ----------------
 __pop_rts  device.C6748_SPI_MEM.obj
 __push_rts device.C6748_SPI_MEM.obj

error: unresolved symbols remain
warning: entry-point symbol other than "_c_int00" specified:  "start"
error: errors encountered during linking; "../sft_C6748_SPI_MEM.out" not built
make[4]: *** [../sft_C6748_SPI_MEM.out] Error 1
make[3]: *** [all] Error 2
make[2]: *** [sft] Error 2
error: cannot find file "rts64plus.lib"

 undefined  first referenced
  symbol        in file
 ---------  ----------------
 __pop_rts  device.C6748_SPI_MEM.obj
 __push_rts device.C6748_SPI_MEM.obj

error: unresolved symbols remain
warning: entry-point symbol other than "_c_int00" specified:  "start"
error: errors encountered during linking; "../sft_C6748_SPI_MEM.out" not built
make[3]: *** [../sft_C6748_SPI_MEM.out] Error 1
make[2]: *** [all] Error 2
../../../../Common/ubl/src/uartboot.c: In function 'UARTBOOT_copy':
../../../../Common/ubl/src/uartboot.c:115:23: warning: unused variable 'bootCmd'

../../../../Common/ubl/src/uartboot.c:114:23: warning: unused variable 'ackHeade
r'
../../../../Common/ubl/src/uartboot.c: At top level:
../../../../Common/ubl/src/uartboot.c:160:15: warning: 'LOCAL_recvCommand' defin
ed but not used
../../../../Common/ubl/src/uartboot.c:175:15: warning: 'LOCAL_recvHeaderAndData'
 defined but not used
../../../../Common/drivers/src/spi_mem.c: In function 'SPI_MEM_eraseBytes':
../../../../Common/drivers/src/spi_mem.c:423:11: warning: implicit declaration o
f function 'DEBUG_printString'
"../../../../Common/ubl/src/uartboot.c", line 114: warning: variable "ackHeader"
 was declared but never referenced
"../../../../Common/ubl/src/uartboot.c", line 115: warning: variable "bootCmd" w
as declared but never referenced
"../../../../Common/ubl/src/uartboot.c", line 160: warning: function "LOCAL_recv
Command" was declared but never referenced
"../../../../Common/ubl/src/uartboot.c", line 175: warning: function "LOCAL_recv
HeaderAndData" was declared but never referenced
error: cannot find file "rts64plus.lib"

 undefined  first referenced
  symbol        in file
 ---------  ----------------
 __pop_rts  device.C6748_SPI_MEM.obj
 __push_rts device.C6748_SPI_MEM.obj

error: unresolved symbols remain
warning: entry-point symbol other than "_c_int00" specified:  "start"
error: errors encountered during linking; "../ubl_C6748_SPI_MEM.out" not built
make[3]: *** [../ubl_C6748_SPI_MEM.out] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

make -C GNU all
make[1]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU'
make[2]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils'
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils/AISextra'
make -C src
make[4]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils/AISextra/src'
cl6x -O=2 -c --obj_directory=./dsp_obj -I=../../../../../Common/include -I=../../../../Common/include -I=../../../Common/include -I=../include -ms3 -mo -mv6740 --symdebug:none aisextra.c
cl6x -z -a -u_PatchDDRConfig -w -x -o=../DSP_AISExtra_OMAP-L138.out DSP_AISExtra.cmd ./dsp_obj/aisextra.obj
<Linking>
arm-none-linux-gnueabi-gcc -I../../../../../Common/include -I../../../../Common/include -I../../../Common/include -I../include -c -Os -Wall -ffreestanding -o arm_obj/aisextra.obj aisextra.c
arm-none-linux-gnueabi-gcc -Wl,-TARM_AISExtra.lds -nostdlib -u PatchDDRConfig ./arm_obj/aisextra.obj -o ../ARM_AISExtra_OMAP-L138.out 
make[4]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils/AISextra/src'
make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils/AISextra'
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils/HexAIS'
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils/HexAIS'
make[2]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/AISUtils'
make[2]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/genecc'
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

make[2]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/genecc'
make[2]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sfh'
make -C ../sft all
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft'
make[4]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o sft.OMAPL138_SPI_MEM.obj    ../../../../Common/sft/src/sft.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o device.OMAPL138_SPI_MEM.obj    ../../../Common/src/device.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o uartboot.OMAPL138_SPI_MEM.obj    ../../../../Common/sft/src/uartboot.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o device_uart.OMAPL138_SPI_MEM.obj    ../../../Common/src/device_uart.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o uart.OMAPL138_SPI_MEM.obj    ../../../../Common/drivers/src/uart.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o debug.OMAPL138_SPI_MEM.obj    ../../../../Common/gnu/src/debug.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o util.OMAPL138_SPI_MEM.obj    ../../../../Common/src/util.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o spi.OMAPL138_SPI_MEM.obj    ../../../../Common/drivers/src/spi.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o spi_mem.OMAPL138_SPI_MEM.obj    ../../../../Common/drivers/src/spi_mem.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o device_spi.OMAPL138_SPI_MEM.obj    ../../../Common/src/device_spi.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/sft/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o start.OMAPL138_SPI_MEM.obj    -x assembler ../../../../Common/arch/arm926ejs/start.asm
arm-none-linux-gnueabi-gcc -Wl,-T../ARM_sft.lds -nostdlib  -o ../sft_OMAPL138_SPI_MEM.out ../ARM_sft.lds sft.OMAPL138_SPI_MEM.obj device.OMAPL138_SPI_MEM.obj uartboot.OMAPL138_SPI_MEM.obj device_uart.OMAPL138_SPI_MEM.obj uart.OMAPL138_SPI_MEM.obj debug.OMAPL138_SPI_MEM.obj util.OMAPL138_SPI_MEM.obj spi.OMAPL138_SPI_MEM.obj spi_mem.OMAPL138_SPI_MEM.obj device_spi.OMAPL138_SPI_MEM.obj start.OMAPL138_SPI_MEM.obj
../../AISUtils/HexAIS_OMAP-L138.exe -ini ../sft_hexais.ini -o ../sft_OMAPL138_SPI_MEM.bin ../sft_OMAPL138_SPI_MEM.out 
-----------------------------------------------------
   TI AIS Hex File Generator for OMAP-L138
   (C) 2011, Texas Instruments, Inc.
   Ver. 1.24
-----------------------------------------------------


Begining the AIS file generation.
AIS file being generated for bootmode: UART.
Parsing the input object file, ../sft_OMAPL138_SPI_MEM.out.
AIS file generation was successful.
Wrote 9420 bytes to file ../sft_OMAPL138_SPI_MEM.bin.
Conversion is complete.
make[4]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
make[4]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/sft/src/sft.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/device.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/sft/src/uartboot.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/device_uart.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/drivers/src/uart.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/gnu/src/debug.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/src/util.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/drivers/src/spi.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/drivers/src/spi_mem.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/device_spi.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/sft/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj   ../../../../Common/arch/c6000/start_c674x.asm
cl6x -z -c -estart -a -w -x -m C6748_SPI_MEM.map -o=../sft_C6748_SPI_MEM.out ../DSP_sft.cmd sft.C6748_SPI_MEM.obj device.C6748_SPI_MEM.obj uartboot.C6748_SPI_MEM.obj device_uart.C6748_SPI_MEM.obj uart.C6748_SPI_MEM.obj debug.C6748_SPI_MEM.obj util.C6748_SPI_MEM.obj spi.C6748_SPI_MEM.obj spi_mem.C6748_SPI_MEM.obj device_spi.C6748_SPI_MEM.obj start_c674x.C6748_SPI_MEM.obj
<Linking>

>> Compilation failure
make[4]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft'
make[2]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sfh'
make[2]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft'
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
cl6x -z -c -estart -a -w -x -m C6748_SPI_MEM.map -o=../sft_C6748_SPI_MEM.out ../DSP_sft.cmd sft.C6748_SPI_MEM.obj device.C6748_SPI_MEM.obj uartboot.C6748_SPI_MEM.obj device_uart.C6748_SPI_MEM.obj uart.C6748_SPI_MEM.obj debug.C6748_SPI_MEM.obj util.C6748_SPI_MEM.obj spi.C6748_SPI_MEM.obj spi_mem.C6748_SPI_MEM.obj device_spi.C6748_SPI_MEM.obj start_c674x.C6748_SPI_MEM.obj
<Linking>

>> Compilation failure
make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft/build'
make[2]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/sft'
make[2]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/slh'
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

make[2]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/slh'
make[2]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/ubl'
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/ubl/build'
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o ubl.OMAPL138_SPI_MEM.obj    ../../../../Common/ubl/src/ubl.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o device.OMAPL138_SPI_MEM.obj    ../../../Common/src/device.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o uartboot.OMAPL138_SPI_MEM.obj    ../../../../Common/ubl/src/uartboot.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o device_uart.OMAPL138_SPI_MEM.obj    ../../../Common/src/device_uart.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o uart.OMAPL138_SPI_MEM.obj    ../../../../Common/drivers/src/uart.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o debug.OMAPL138_SPI_MEM.obj    ../../../../Common/gnu/src/debug.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o util.OMAPL138_SPI_MEM.obj    ../../../../Common/src/util.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o spi.OMAPL138_SPI_MEM.obj    ../../../../Common/drivers/src/spi.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o spi_mem.OMAPL138_SPI_MEM.obj    ../../../../Common/drivers/src/spi_mem.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o device_spi.OMAPL138_SPI_MEM.obj    ../../../Common/src/device_spi.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o spi_memboot.OMAPL138_SPI_MEM.obj    ../../../../Common/ubl/src/spi_memboot.c 
arm-none-linux-gnueabi-gcc -DUBL_SPI_MEM -DOMAPL138 -I../../../Common/include -I../../../../Common/include -I../../../../Common/arch/c6000/include -I../../../../Common/ubl/include -I../../../../Common/ubl/include -I../../../../Common/drivers/include -I../../../../Common/gnu/include -I../../../../Common/ubl/include -I../../../../Common/arch/arm926ejs/include	-DAIS_RBL -c -Os -Wall -ffreestanding -DUBL_SPI_MEM -DOMAPL138 -o start.OMAPL138_SPI_MEM.obj    -x assembler ../../../../Common/arch/arm926ejs/start.asm
arm-none-linux-gnueabi-gcc -Wl,-T../ARM_ubl.lds -nostdlib  -o ../ubl_OMAPL138_SPI_MEM.out ../ARM_ubl.lds ubl.OMAPL138_SPI_MEM.obj device.OMAPL138_SPI_MEM.obj uartboot.OMAPL138_SPI_MEM.obj device_uart.OMAPL138_SPI_MEM.obj uart.OMAPL138_SPI_MEM.obj debug.OMAPL138_SPI_MEM.obj util.OMAPL138_SPI_MEM.obj spi.OMAPL138_SPI_MEM.obj spi_mem.OMAPL138_SPI_MEM.obj device_spi.OMAPL138_SPI_MEM.obj spi_memboot.OMAPL138_SPI_MEM.obj start.OMAPL138_SPI_MEM.obj
../../AISUtils/HexAIS_OMAP-L138.exe -ini ../ubl_hexais.ini -o ../ubl_OMAPL138_SPI_MEM.bin ../ubl_OMAPL138_SPI_MEM.out 
-----------------------------------------------------
   TI AIS Hex File Generator for OMAP-L138
   (C) 2011, Texas Instruments, Inc.
   Ver. 1.24
-----------------------------------------------------


Begining the AIS file generation.
AIS file being generated for bootmode: UART.
Parsing the input object file, ../ubl_OMAPL138_SPI_MEM.out.
AIS file generation was successful.
Wrote 8104 bytes to file ../ubl_OMAPL138_SPI_MEM.bin.
Conversion is complete.
make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/ubl/build'
make[3]: Entering directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/ubl/build'
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/ubl/src/ubl.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/device.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/ubl/src/uartboot.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/device_uart.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/drivers/src/uart.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/gnu/src/debug.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/src/util.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/drivers/src/spi.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/drivers/src/spi_mem.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/device_spi.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../../Common/ubl/src/spi_memboot.c 
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj   ../../../../Common/arch/c6000/start_c674x.asm
cl6x -c -g -DUBL_SPI_MEM -DC6748 -I=../../../Common/include -I=../../../../Common/include -I=../../../../Common/arch/c6000/include -I=../../../../Common/ubl/include -I=../../../../Common/ubl/include -I=../../../../Common/drivers/include -I=../../../../Common/gnu/include -I=../../../../Common/ubl/include -DAIS_RBL -ms3 -mo -mv6740 --obj_extension=C6748_SPI_MEM.obj  ../../../Common/src/pru.c 
cl6x -z -c -estart -a -w -x  -o=../ubl_C6748_SPI_MEM.out ../DSP_ubl.cmd ubl.C6748_SPI_MEM.obj device.C6748_SPI_MEM.obj uartboot.C6748_SPI_MEM.obj device_uart.C6748_SPI_MEM.obj uart.C6748_SPI_MEM.obj debug.C6748_SPI_MEM.obj util.C6748_SPI_MEM.obj spi.C6748_SPI_MEM.obj spi_mem.C6748_SPI_MEM.obj device_spi.C6748_SPI_MEM.obj spi_memboot.C6748_SPI_MEM.obj start_c674x.C6748_SPI_MEM.obj pru.C6748_SPI_MEM.obj
<Linking>

>> Compilation failure
make[3]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/ubl/build'
make[2]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU/ubl'
make[1]: Leaving directory `/cygdrive/d/OMAP-L138_FlashAndBootUtils_2_30/OMAP-L138/GNU'

I have modified device.mak file as given below

ARM_DEVICETYPES:=OMAPL138 and FLASHTYPES:=SPI_MEM

Am I missing anything while installing ?

We want to rebuild the SFH, because in our customized OMAP-L138 UART1 will be used for flashing the Boot Loaders. (UBL and EBOOT)

Thank You & Regards,

GSR

 

  • Did you also perform this step, from the same wiki:

    • After installing, add the following Windows environment variable: C6x_C_DIR = <Path to lib directory of Code Gen tools, i.e. C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.11\lib>

    That is probably the issue.

    Jeff

  • Hi Jeff,

    Thank You for replying.

    Actually I have installed 6.1.9. But in Windows PATH I have specified 6.1.11 version path.

    I have changed it to 6.1.9

    With that modification also I am getting below errors

    make[4]: cl6x: Command not found
    make[4]: *** [dsp_obj/aisextra.obj] Error 127
    make[3]: *** [all] Error 2
    make[3]: *** [../HexAIS_OMAP-L138.exe] Error 1
    ../../../../Common/sft/src/uartboot.c:158:21: warning: 'hSpiReadBuf' defined but
     not used
    ../../../../Common/drivers/src/spi_mem.c: In function 'SPI_MEM_eraseBytes':
    ../../../../Common/drivers/src/spi_mem.c:423:11: warning: implicit declaration o
    f function 'DEBUG_printString'
    make[4]: ../../AISUtils/HexAIS_OMAP-L138.exe: Command not found
    make[4]: *** [../sft_OMAPL138_SPI_MEM.bin] Error 127
    make[4]: cl6x: Command not found
    make[4]: *** [sft.C6748_SPI_MEM.obj] Error 127
    make[3]: *** [all] Error 2
    make[2]: *** [sft] Error 2
    make[3]: ../../AISUtils/HexAIS_OMAP-L138.exe: Command not found
    make[3]: *** [../sft_OMAPL138_SPI_MEM.bin] Error 127
    make[3]: cl6x: Command not found
    make[3]: *** [sft.C6748_SPI_MEM.obj] Error 127
    make[2]: *** [all] Error 2
    ../../../../Common/ubl/src/uartboot.c: In function 'UARTBOOT_copy':
    ../../../../Common/ubl/src/uartboot.c:115:23: warning: unused variable 'bootCmd'

    ../../../../Common/ubl/src/uartboot.c:114:23: warning: unused variable 'ackHeade
    r'
    ../../../../Common/ubl/src/uartboot.c: At top level:
    ../../../../Common/ubl/src/uartboot.c:160:15: warning: 'LOCAL_recvCommand' defin
    ed but not used
    ../../../../Common/ubl/src/uartboot.c:175:15: warning: 'LOCAL_recvHeaderAndData'
     defined but not used
    ../../../../Common/drivers/src/spi_mem.c: In function 'SPI_MEM_eraseBytes':
    ../../../../Common/drivers/src/spi_mem.c:423:11: warning: implicit declaration o
    f function 'DEBUG_printString'
    make[3]: ../../AISUtils/HexAIS_OMAP-L138.exe: Command not found
    make[3]: *** [../ubl_OMAPL138_SPI_MEM.bin] Error 127
    make[3]: cl6x: Command not found
    make[3]: *** [ubl.C6748_SPI_MEM.obj] Error 127
    make[2]: *** [all] Error 2
    make[1]: *** [all] Error 2
    make: *** [all] Error 2

    Thank You & Regards,

    GSR

  • The error you are getting is that cl6x.exe is not in your path. Have you followed this step from the wiki:

    • Add the bin directory of the TI C6000 Code generation tools to the system path environment variable (i.e. "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.11\bin")

    To check, in Cygwin type "printenv PATH" and see if you see the correct path to bin. Perhaps you still have 6.1.11 listed instead of 6.1.9.

    Jeff

  • Hi Jeff,

    Thank You for the reply.

    You are right the PATH was still showing 6.1.11, after changing it to 6.1.9 I was able to compile SFH Utility.

    First I built the utility for UART2 (Target shall be flashed from UART2), the tool ran successfully and I was able to flash the OMAP-L138 also.

    Then I changed DEVICE_UART_PERIPHNUM to 1 in device_uart.h header file to flash the OMAP-L138 using UART1 of the target.

    Before running the tool I have connected the EVM to HyperTerminal in windows and I can see BOOTME message whenever I reset the EVM.

    Now Hyperterminal disconnected and ran the SFH utility from command prompt.

    It throws the following error message

    -----------------------------------------------------
       TI Serial Flasher Host Program for OMAP-L138
       (C) 2011, Texas Instruments, Inc.
       Ver. 1.67
    -----------------------------------------------------


          [TYPE] Global erase
        [TARGET] OMAPL138
        [DEVICE] SPI_MEM

    Attempting to connect to device COM1...
    Press any key to end this program at any time.

    (AIS Parse): Read magic word 0x41504954.
    (AIS Parse): Waiting for BOOTME... (power on or reset target now)
    (Serial Port): Read error! (The operation has timed out.)
    (Serial Port): Read error! (The I/O operation has been aborted because of either a thread exit or an appli
    cation request.
    )
    The I/O operation has been aborted because of either a thread exit or an application request.

    Interfacing to the OMAP-L138 via UART failed.
    Please reset or power-cycle the board and try again...

    Then I have added a Console.WriteLine debug print for the function UTIL_uartRead in sfh_ais.cs file.

    After that it started working. Has anyone observed the same behaviour ?

    The other question is in our final product we are planning to bring out Tx and Rx only functionality of UART1, before this we wanted to know whether RTS and CTS functionality being used by the SFH Utility or not?

    Thank You & Regards,

    GSR

  • Can you share exactly what code you added and where you placed it in order to fix the issue?

    Flow control is not used for the flashing utility, so RTS and CTS do not need to be routed out.

    Jeff

  • Hi Jeff,

    I just have added a Console.WriteLine in UTIL-uartRead function and I think its additional delay only...

    from sfh_ais.cs file

        private static AisStatus UTIL_uartRead(byte[] rcvBuf, int index, int rcvSize, int timeout)
        {
          int bytesRead = 0;

          Console.WriteLine("UTIL Uart Read Called timeout " + timeout);
          MySP.ReadTimeout = timeout;
          try
          {
            while (bytesRead < rcvSize)
            {
              bytesRead += MySP.Read(rcvBuf, index + bytesRead, rcvSize - bytesRead);
            }
          }
          catch (Exception ex)
          {
            Console.WriteLine("(Serial Port): Read error! (" + ex.Message + ")");
            return AisStatus.ERROR;
          }
          return AisStatus.IN_PROGRESS;
        }

    The statement which is in bold in above lines is the one, I have added.

    Thank You & Regards,

    GSR