ARM7TDMI zImage booting

Plüss Tobias TA.E.1001 <[email protected]>
Newsgroups gmane.linux.uclinux.devel
Message-ID <[email protected]>
Hi everyone,

I am trying to run uClinux on an ARM7 LPC2000 chip from NXP. I have some external SDRAM (64M) and Flash (8M). In the Flash, I plan to store the zImage, and in the microcontroller's internal Flash I have some sort of bootloader, which sets up the device tree and then boots the zImage.

I downloaded the most recent kernel, which was 3.10.2 at that time. Then, I did the necessary changes, e.g. for the interrupt controller and so on, and added a new folder under arch/arm for my chip. In the menuconfig, I selected the option "Support ARM7TDMI processor", and I disabled the option " MMU-based Paged Memory Management Support". So the kernel shouldn't use any MMU features, and it should be compiled for an ARM7TDMI architecture, which uses the ARMv4 instruction set.

For the boot process, I copy the zImage to the external SDRAM and then jump to the entry point. My hardware is connected to a PC through the serial port, and in the terminal programm I can see the message "Uncompressing Linux..." but after a few seconds, the kernel trips an illegal instruction error. Why? I just looked in the arch/arm/boot/compressed/head.S, and there is this statement

.arch	armv7-a

which is definitely wrong and makes the kernel not portable to other architectures. Also, the head.S uses some CLZ instructions, which are ARMv5. I'm pretty sure this instruction is the reason which causes my processor to go into illegal instruction handler. Do you have some ideas how to solve the problem?

Many thanks in advance.
Tobias
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.