
Hi,
I think we have little choice if we want 4k boot block support, early console output _and_ a maintainable tree.
Yes. I fully agree.
So my opinion:
Stage 1: * I can live with hardcoded, fixed-baud puts() and puthex() in stage 1. It's normally disabled, and for production code I would prefer LED/Buzzer feedback. (Dear customer, can you tell me how many times the LED is blinking?) * board specific code (BSC) could supply code to use beepers or LEDs to report on early errors. (No customer has terminals connected... Or has no glue how to do so...) * Move everything except of resetinit, relocator and C stack setup to stage 2. C stack setup might require DRAM setup || use of CACHE/SRAM memory. * Provide some way to provide BSC to be inserted at defined points in the stage 1 code. So you can do additional setups required for some boards. (e.g. FPGA stuff if required for DRAM setup)
Stage 2: * Complete the C stack setup (move from CACHE/SRAM to real RAM) if needed. * Setup the real serial driver * ... tbd ...
Regards Carsten
____________ Virus checked by G DATA AntiVirusKit Version: AVKA 17.260 from 03.07.2007