[uClinux-dev] Adding integrator platform how to?

Sylvain Carniguian sylvain.carniguian at polymtl.ca
Fri Mar 28 14:54:17 EST 2003


Hi,
I am a master degree student,
I am a new Linux and uClinux user.
I want to port uClinux on ARM7TDMI (INTEGRATOR platform with 128Mb SDRAM and a flash AT49LV for the core module).
First of all, I properly installed the arm-elf-tool-20011219.tar.gz toolchain and the uClinux-dist-20030305.tar.gz file.
I followed the Adding-Platforms-HOWTO of the uClinux-dist-20030305.tar.gz file:
1. I changed the /linux-2.4.x/arch/armnommu config.in file to match my target:
    - In the "choice 'ARM system type'", I added my platform INTEGRATOR and I linked it to the existing CONFIG_ARCH_INTEGRATOR
...................
"TI-DSC21 CONFIG_ARCH_DSC21 \
Conexant CONFIG_ARCH_CNXT \
INTEGRATOR   CONFIG_ARCH_INTEGRATOR \
SWARM CONFIG_ARCH_SWARM \
....................

    - Then I went to the following defines:

if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
define_bool CONFIG_NO_PGT_CACHE y
define_bool CONFIG_CPU_ARM740T y
define_bool CONFIG_CPU_32 y
define_bool CONFIG_CPU_WITH_CACHE y
define_bool CONFIG_CPU_WITH_MCR_INSTRUCTION y
define_hex DRAM_BASE 0
define_hex DRAM_SIZE 0x04000000
define_hex FLASH_MEM_BASE 0x25000000
define_hex FLASH_SIZE 0x02000000
fi

First Question Where do the DRAM_BASE,DRAM_SIZE,FLASH_MEM_SIZE and FLASH_SIZE address come from ?.
I looked for ARM integrator/740T memory map documentation and it is not the same address. 
Is there a specific format or offset?

I changed it to match my target (based on the ARM integrator-CM7TDMI memory map documentation): 

if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
define_bool CONFIG_NO_PGT_CACHE y
define_bool CONFIG_CPU_CONFIG_CPU_ARM7TDMI y
define_bool CONFIG_CPU_32 y
define_bool CONFIG_CPU_26 n
define_bool CONFIG_CPU_WITH_CACHE y
define_bool CONFIG_CPU_WITH_MCR_INSTRUCTION n
define_hex DRAM_BASE 0x00040000
define_hex DRAM_SIZE 0x08000000         # 128 MB de SDRAM
define_hex FLASH_MEM_BASE 0x00000000
define_hex FLASH_SIZE 0x02000000   # 32 MB de Flash memory
fi

2. The next step of the Adding-Platforms-HOWTO was to add  in the /vendors directory the ARM\INTEGRATOR path and add the Makefile, config.arch, config.linux-2.4.x and config.vendor-2.4.x files.
- I could recover the Makefile and config.arch files from the /vendors/NetSilicon/NET+ARM directory.
But can I recuperate config.linux-2.4.x and config.vendor-2.4.x files wich are normally automatically generated (who generated them?) ?.

After all these steps I did make xconfig , I choosed ARM/INTEGRATOR for the vendor/Product, linux-2.4.x for the kernet and the uC-Libc library.
Then I did make dep.
Then I did the make command, after add sizes.h file from /linux-2.4.x/include/asm-arm to /linux-2.4.x/include/asm-armnommu (is it correct ???), error result was the following:

................................................
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/arch/platform.h:492: warning: `FLASH_SIZE' redefined
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/linux/autoconf.h:46: warning: this is the location of the previous definition
In file included from /home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/io.h:26,
from cpu.c:21:
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/memory.h:35: warning: `__virt_to_bus' redefined
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/arch/memory.h:57: warning: this is the location of the previous definition
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/memory.h:36: warning: `__bus_to_virt' redefined
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/arch/memory.h:59: warning: this is the location of the previous definition
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/memory.h:37: warning: `__virt_to_phys' redefined
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/arch/memory.h:45: warning: this is the location of the previous definition
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/memory.h:38: warning: `__phys_to_virt' redefined
/home/carnigu/DATA/uClinux-dist/linux-2.4.x/include/asm/arch/memory.h:47: warning: this is the location of the previous definition
make[3]: *** [cpu.o] Error 1
make[3]: Leaving directory `/home/carnigu/DATA/uClinux-dist/linux-2.4.x/arch/armnommu/mach-integrator'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/home/carnigu/DATA/uClinux-dist/linux-2.4.x/arch/armnommu/mach-integrator'
make[1]: *** [_dir_arch/armnommu/mach-integrator] Error 2
make[1]: Leaving directory `/home/carnigu/DATA/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1

I know that a lot of work was done on this subject and I maybe take the wrong way, is anybody can help me or give me some tips.

Thanks.

Sylvain.


--------------------------------------------------------------------------------

Sylvain Carniguian, B.Ing.
sylvain.carniguian at polymtl.ca
PolySTIM - Equipe de recherche en neurotechnologies
Tel.:(514) 340-4711 x: 5073
www.polystim.polymtl.ca 






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uclinux.org/pipermail/uclinux-dev/attachments/20030328/aa413195/attachment.html>


More information about the uClinux-dev mailing list