[OE-core] [meta-xilinx] How to debug the value of ${TARGET_ARCH} in meta-xilinx/classes/xilinx-boot.class
Elvis Dowson
elvis.dowson at gmail.com
Sat Jun 2 22:13:21 UTC 2012
Hi,
> On Jun 2, 2012, at 10:36 PM, Elvis Dowson wrote:
>
>> How can I debug the value of ${TARGET_ARCH} in meta-xilinx/classes/xilinx-boot.class, for the following function:
>>
>> do_export_xparam() {
>> bbnote "Replacing xparameters header to match hardware model"
>> xparam=$1
>> if [ "${TARGET_ARCH}" == "powerpc" ]; then
>> cpu="PPC`echo ${TARGET_CPU} | tr '[:lower:]' '[:upper:]'`"
>> else
>> cpu=`echo ${TARGET_CPU} | tr '[:lower:]' '[:upper:]'`
>> fi
>> cp ${xparam} ${S}/board/xilinx/${XILINX_BOARD}
>> echo "/*** Cannonical definitions ***/
>> #define XPAR_PLB_CLOCK_FREQ_HZ XPAR_PROC_BUS_0_FREQ_HZ
>> #define XPAR_CORE_CLOCK_FREQ_HZ XPAR_CPU_${cpu}_CORE_CLOCK_FREQ_HZ
>> #ifndef XPAR_DDR2_SDRAM_MEM_BASEADDR
>> # define XPAR_DDR2_SDRAM_MEM_BASEADDR XPAR_DDR_SDRAM_MPMC_BASEADDR
>> #endif
>> #define XPAR_PCI_0_CLOCK_FREQ_HZ 0" >> ${S}/board/xilinx/${XILINX_BOARD}/xparameters.h
>> }
>
> In the above code ${TARGET_ARCH} always evaluates to "powerpc". I just inserted ${TARGET_ARCH} in the echo statements, and saw the value in the file.
>
> Now what I can't seem to figure out is why, for the following if condition, the first branch isn't being take; the else branch is always evaluated, and the value for cpu is always set to "440" instead of "PPC440"
>
> if [ "${TARGET_ARCH}" == "powerpc" ]; then
> cpu="PPC`echo ${TARGET_CPU} | tr '[:lower:]' '[:upper:]'`"
> else
> cpu="`echo ${TARGET_CPU} | tr '[:lower:]' '[:upper:]'`"
> fi
Changing it to use a single = , instead of == solved it, but it would help if someone could explain why. From the link below
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
apparently, using a "=" is for strict posix compilance.
but I fail to see why when ${TARGET_ARCH} evaluates to "powerpc", and I do a string comparision if [ "${TARGET_ARCH}" == "powerpc" ] it evaluates to false, and if [ "${TARGET_ARCH}" = "powerpc" ] evaluates to true.
Best regards,
Elvis Dowson
More information about the Openembedded-core
mailing list