瀏覽代碼

Improved trace initialisation

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6416 8c9fc860-2736-0410-a75d-ab315db34111
eth.negelef 9 年之前
父節點
當前提交
8f8adcea0a
共有 1 個文件被更改,包括 9 次插入4 次删除
  1. 9 4
      source/RPI.Environment.Mod

+ 9 - 4
source/RPI.Environment.Mod

@@ -116,12 +116,9 @@ BEGIN {UNCOOPERATIVE, UNCHECKED}
 	Trace.StringLn ("ready for power off or restart"); Flush; CPU.Halt;
 END Exit;
 
-PROCEDURE Initialize-;
+PROCEDURE InitTrace;
 CONST BaudRate = 115200;
 BEGIN {UNCOOPERATIVE, UNCHECKED}
-	SYSTEM.SetActivity (NIL);
-	CPU.Initialize; LED (TRUE);
-	frequency := Timer.GetFrequency () DIV 1000;
 	CPU.WriteMask (CPU.UART_CR, {CPU.UARTEN});
 	CPU.Unmask (CPU.GPPUD, {CPU.PUD}); CPU.Delay (150);
 	CPU.Mask (CPU.GPPUDCLK0, {14, 15}); CPU.Delay (150);
@@ -132,6 +129,14 @@ BEGIN {UNCOOPERATIVE, UNCHECKED}
 	CPU.WriteMask (CPU.UART_LCRH, CPU.WLEN8);
 	CPU.WriteMask (CPU.UART_IMSC, {CPU.RXIM});
 	CPU.WriteMask (CPU.UART_CR, {CPU.UARTEN, CPU.TXE, CPU.RXE});
+	Trace.Init; Trace.Char := Write;
+END InitTrace;
+
+PROCEDURE Initialize-;
+BEGIN {UNCOOPERATIVE, UNCHECKED}
+	SYSTEM.SetActivity (NIL);
+	CPU.Initialize; LED (TRUE); InitTrace;
+	frequency := Timer.GetFrequency () DIV 1000;
 	CPU.IdentityMapMemory; CPU.EnableMemoryManagementUnit;
 	HeapManager.Initialize (heap, ADDRESS OF KernelEnd, CPU.MemorySize);
 END Initialize;