[EMAIL PROTECTED] wrote:
Here it is...

Many thanks!

Some, or better some more ;) , comments, questions and suggestions below.

I'm not sure it belongs here but I think it would be right thing to include
initial bootloaders for platforms that require them into U-Boot tree. It
might be subtrees under board directories, a separate boot/ or something off
the main tree or anything else.
  >
The reason is simple -- U-Boot is supposed to be the first program that runs
on a system, kinda like pee-see BIOS or something, but some platforms
require even lower level program, bootloader, to either load U-Boot upon
startup or to write it in system ROM. If we had those in the U-Boot tree we
would've had everything required to bringup a virgin board in one place.

I personally don't see any other place for those small programs to go. We do
have U-Boot for a lot of absolutely different platforms in the same tree so
one doesn't have to search for a particular port at obscure places and I
feel that adding initial bootloaders would make it even better.

What do you think guys?

I think we should take a two step approach here:

1) Have *one* functional, flexible, extensible, under public source
control (...) open source replacement for TI DaVinci bootloader.

2) Try to use this then "golden" bootloader to start a basic
discussion about the above topics on e.g. uboot list.

In my opinion we are currently at (1), and this should be done
locally in DaVinci community, so on DaVinci mailing list. If (1) is
done, go on with (2). Looking at  your dv-boot.tar.gz I think (2) is
not far away ;)

As for the actual DaVinci bootloader, it is in attached tar.gz. It is not
polished, ugly at places but it works and it doesn't require any Windoze,
sorry for an expression, "servers" or proprietary tools. It works with both
small and large page NAND.

There is a rather brief readme inside the archive that explains what it is,
how to run it and documents formats.

Any comments are welcome.

Now, regarding technical topics. I read your readme, looked at the
code, so some questions & comments:

- I really like the idea to use a kermit script instead of a C/C++
host tool.

I think kermit is available for Windows as well? And mk_ubl.c  should
compile at least using cygwin und Windows as well? So I think dv-boot
can be used on Linux *and* on Windows? Anybody tried Windows already?

- I like the idea to have no C# and to have GPL license.

- In your text above and in readme you stress NAND usage. I think NOR
should be mentioned as well. Anything to make it more clear it can be
used with NOR *and* NAND. Then longer NAND explaination is okay because
NAND is more tricky.

- It should be mentioned that CROSS_COMPILE environment variable has
to be set before calling make.

- In readme.txt, I think the term "UBL" should be used instead of
bootloader. For me, bootloader is uboot, so I find it more clear to
talk about TI specific UBL instead of bootloader if UBL is meant.

- Fix for some cast warnings in utils/mk_ubl.c in attachment.

- That make clean doesn't remove .dep directory is unclean. I tried to
fix this in Makefile, but then you have to fight with dependency
generation. Have to rethink about this (or anybody else?). I think to
remember that I already solved this elsewhere in the past ;)

- Directory organization:  I would rename "utils" to "host". "src" I
would rename to "target", and then move include into this directory as
well. Result would be a host and a target directory. Maybe scripts
should go to host directory as well? Something like

readme.txt
Makefile
host/utils
host/scripts
target/src
target/include

?

- Regarding version control: For step (1) above, what do you think about to
have it unter git control on

http://source.mvista.com/git/

I talked with Kevin and it is possible to get a repository for dv-boot there.

Conclusion: For me, I vote that your dv-boot is the candidate for (1).

Best regards

Dirk

Index: dv-boot/utils/mk_ubl.c
===================================================================
--- dv-boot.orig/utils/mk_ubl.c
+++ dv-boot/utils/mk_ubl.c
@@ -139,7 +139,7 @@ int main(int argc, char **argv)
        char            out_str[128];
        char            out_part[64];
        struct stat     st;
-       unsigned char   *ptr, ldr[MAX_LDR_SIZE];        
+       char            *ptr, ldr[MAX_LDR_SIZE];        
        unsigned int    crc32;
 
        if (argc < 3) {


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to