Hello, Alok,thank you very much for your reply.
Alok wrote
It will better if you remove all your little/big endian hacks. Or Take a fresh view. And take care of the following -
I checked two parameters you suggest,but I was encountered next questions for each.
Please allow my ignorance and teach me how to settle it. About,
1) CYGPKG_HAL_MIPS_MSBFIRST - should be defined, (and not CYGPKG_HAL_MIPS_LSBFIRST)
My target uses SH7709S. CYGPKG_HAL_MIPS_MSBFIRST is included next cdl files,packages\hal\mips\idt32334\current\cdl\hal_mips_idt32334.cdl(68): cdl_option CYGPKG_HAL_MIPS_MSBFIRST { packages\hal\mips\mips32\current\cdl\hal_mips_mips32.cdl(96): cdl_option CYGPKG_HAL_MIPS_MSBFIRST { packages\hal\mips\rm7000\var\current\cdl\hal_mips_rm7000.cdl(118): cdl_option CYGPKG_HAL_MIPS_MSBFIRST { packages\hal\mips\tx39\current\cdl\hal_mips_tx39.cdl(78): cdl_option CYGPKG_HAL_MIPS_MSBFIRST { packages\hal\mips\tx49\current\cdl\hal_mips_tx49.cdl(119): cdl_option CYGPKG_HAL_MIPS_MSBFIRST { packages\hal\mips\upd985xx\current\cdl\hal_mips_upd985xx.cdl(201): cdl_option CYGPKG_HAL_MIPS_MSBFIRST { packages\hal\mips\vrc4373\current\cdl\hal_mips_vr4300_vrc4373.cdl(82): cdl_option CYGPKG_HAL_MIPS_MSBFIRST {
but my target never uses above cdl file.
My target's configuration is like next in ecos.db.
target inserter {
alias { "Hitachi inserter board" }
packages { CYGPKG_HAL_SH
CYGPKG_HAL_SH_SH3
CYGPKG_HAL_SH_SH77X9_inserter
CYGPKG_IO_FLASH
CYGPKG_DEVS_FLASH_SH_inserter
CYGPKG_DEVS_FLASH_AMD_AM29XXXXX
CYGPKG_DEVS_ETH_SMSC_LAN91CXX
CYGPKG_DEVS_ETH_SH_INSERTER
CYGPKG_IO_ETH_DRIVERS
CYGPKG_IO_SERIAL_SH_inserter
CYGPKG_IO_SERIAL_SH_SCIF
}
description "
The inserter target provides the packages needed to run
eCos on a Hitachi Solution Engine 77x9 board."
}
Please tell me where and how to include CYGPKG_HAL_MIPS_MSBFIRST.
I send my ecos.db for reference.
About,
CYG_BYTEORDER is defined as below in packages\hal\sh\arch\current\include\basetype.h(60)2) # define CYG_BYTEORDER as CYG_MSBFIRST (and not as CYG_LSBFIRST). It should be decided based on option 1) actually.
#ifdef __LITTLE_ENDIAN__ # define CYG_BYTEORDER CYG_LSBFIRST // Little endian #else # define CYG_BYTEORDER CYG_MSBFIRST // Big endian #endif __LITTLE_ENDIAN__ are defined in next files. packages\hal\common\current\include\hal_stub.h(100): #if (CYG_BYTEORDER==CYG_LSBFIRST) # if !defined(__LITTLE_ENDIAN__) # define __LITTLE_ENDIAN__ # endif # if !defined(_LITTLE_ENDIAN) # define _LITTLE_ENDIAN # endif #endif packages\redboot\current\include\net\net.h(86): #if (CYG_BYTEORDER == CYG_LSBFIRST) #ifndef __LITTLE_ENDIAN__ #define __LITTLE_ENDIAN__ #endif extern unsigned long ntohl(unsigned long x); extern unsigned short ntohs(unsigned short x); #else #define ntohl(x) (x) #define ntohs(x) (x) #endif I think redboot program space is differnt so I could exclude it. The question is, between basetype.h and hal_stub.h which is included first ? I never defined __LITTLE_ENDIAN__, so I thought even right now, # define CYG_BYTEORDER CYG_MSBFIRST // Big endian Isn't it? I look forward your reply. Thanks in advance. Masahiro Ariga
ecos.db.gz
Description: GNU Zip compressed data
-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
