Werner Almesberger wrote:
I would start with a tiny program that just blinks a LED. You boot
this program from NAND (through Steppingstone), instead of u-boot.
This will give you
- a Makefile that you can understand completely
- a good understanding of linking and compiler flags
- knowledge how to access registers
- experience with using u-boot (from NOR) to place your code into NAND
i add the code " turn off the watchdog ", then the led_on doesn't not
random about,
so i think i finish the first step.
Then you can add full CPU initialization (start.S and friends) and
gradually change this into the NAND loader, which loads a file from
NAND to DRAM. I wouldn't try to use it to boot the kernel, but just a
very simple program, such as that LED blinker (now running at a
different address). This will give you
- a good understanding of the CPU and DRAM bringup process
- many opportunities to learn to use OpenOCD for debugging
(you'll need this experience later to bring up the kernel)
on the other hand i try to add some code and follow the second step.
but when i use the
--arm-angstrom-linux-gnueabi-gdb
then following *GDB error* messages:
--arm-angstrom-linux-gnueabi-gdb: error while loading shared libraries:
libexpat.so.0: cannot open shared object file: No such file or directory
I google it but i can't find the answer.