Das Programm hat zwei Aufrufparameter Parameter 1 - genannt TestDatei Die Binärdatei, die der EJTAG-Simulator dem MIPS zum Ausführen serviert. Parameter 2 - genannt BIOSDatei Die Binärdatei, die über die Debug-Adressen 0xff200000 (Adressabfrage 32 Bit) und 0xff200004 (Datenrückgabe 32 Bit mit Autoinkrement) vom Ausgeführten Programm im EJTAG-Emulator abgerufen werden kann. Im Falle des NANDFlash-Programmes dient es zum übertragen der Binärdaten des SPL-Blocks und der beiden Uboot-Blöcke
Funktion
Der RUN-Knopf startet den Thread, der über EJTAG in der MIPS-CPU eine Debug-Exception verursacht. Die CPU aktiviert den Debug-Mode und Springt Adresse 0xff200200 an. Ab hier übernimmt der EJTAG-Emulator, da die CPU alle Befehle und Daten im Segment von 0xff200000 bis 0xff3fffff vom EJTAG-Emulator abfragt. Um aktuelle Rückinformationen vom ausgeführten MIPS-Programm zu erhalten, ohne aufwendig den UART anzuschliessen und zu initialisieren, sind die Adressen 0xff20008 bis 0xff200014 durch das Programm beschreibbar und werden im Ausgabefenster angezeigt.
Inhalt der RAR-Datei
Der Quellcode und Release/Debug-Binärdateien liegen in jz\emulator.c\Emulator der RAR-Datei Im Ordner jz\emu sind sowohl der MARS-Simulator als auch Assembler-Quellcodes und Binärdateien. Testdateien burnspl.bin (Quellcode burnspl.s) - Binär-MIPS-Programm zum Programmieren des Block 0 mit splboot_block0.bin burnuboot.bin (Quellcode burnuboot.s) - Binär-MIPS-Programm zum Programmieren der Blöcke 1 und 2 uboot_block12.bin
BIOS Dateien
splboot_block0.bin - 4kByte spl-Datei für Block 0 im NAND-Flash uboot_block12.bin - 128 kByte uboot-Datei für Block 1 und 2 im NAND-Flash
Das Programm ist sicherlich noch nicht vollends perfekt und hat auch einige Fehler, aber es funktioniert für den angedachten Zweck und hat auch gute Dienste gebracht beim Austesten der Hardware des Jz4730. Mit 6 MHz JTAG-Takt hat das Programmieren rund eine Stunde in Anspruch genommen. Die ECC-Codes im Spare-Bereich der NAND-Flash-Seiten werden nicht mitgeschrieben,das SPL-Programm lädt Uboot auch so.