CHDK_DE Vorschauversion  Trunk Rev. 5298
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
debug.c-Dateireferenz
#include "lolevel.h"
#include "stdlib.h"
#include "script.h"
#include "console.h"
+ Include-Abhängigkeitsdiagramm für debug.c:

gehe zum Quellcode dieser Datei

Funktionen

void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 
void open_crash ()
 
void write_crash (char *buf, int len)
 
void close_crash ()
 
void _OpLog_WriteToSD (int)
 
void assert_hook ()
 
void abort_hook ()
 
void panic_hook_dump ()
 
void panic_hook ()
 

Variablen

static int crash_fd = 0
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

IS_ERROR( hSoundHandle )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

Definiert in Zeile 8 der Datei debug.c.

8  {
9  asm volatile (
10  "stmdb sp!, {r4, lr} \n"
11  "mov r0, #12 \n" // ; 0xc
12  "BL sub_FF8627FC \n" // create taks errlog (?)
13 
14 // "ldr r0, =0xff862858 \n" // assert hook
15  "ldr r0, =assert_hook \n" //
16  "mov r1, #0 \n" // ; 0x0
17  "BL sub_FF81BDD8 \n" // register
18 
19 // "ldr r0, =0xff862c50 \n" // cpu abort
20  "ldr r0, =abort_hook \n" //
21  "BL sub_FF862240 \n" // register
22 
23 // "ldr r0, =0xff862fcc \n" // os panic
24  "ldr r0, =panic_hook \n" //
25  "BL sub_FF86224C \n" // register
26  "ldmia sp!, {r4, pc} \n"
27  );
28 }
void _OpLog_WriteToSD ( int  )
void abort_hook ( )

Definiert in Zeile 62 der Datei debug.c.

62  {
63  asm volatile(
64  "stmdb sp!, {r0} \n"
65  );
66 
67  console_add_line("abort error: game over :(");
69  msleep(1000);
70  asm volatile(
71  "ldmia sp!, {r0} \n"
72  "BL sub_FF862C50 \n" // abort default, no return: default shutdown
73  );
74 
75  console_add_line("abort done");
76 }
void assert_hook ( )

Definiert in Zeile 48 der Datei debug.c.

48  {
49  asm volatile(
50  "stmdb sp!, {r0, r1} \n"
51  );
52  console_add_line("assert failed: game over :(");
54  msleep(1000);
55  asm volatile(
56  "ldmia sp!, {r0, r1} \n"
57  "BL sub_FF862858 \n" // original assert handler, no return
58  );
59  console_add_line("assert done");
60 }
void close_crash ( )

Definiert in Zeile 38 der Datei debug.c.

38  {
39  close(crash_fd);
40 }
void open_crash ( )

Definiert in Zeile 32 der Datei debug.c.

32  {
33  crash_fd = open("A/crash.log", O_WRONLY|O_CREAT|O_APPEND, 0777);
34 }
void panic_hook ( )

Definiert in Zeile 79 der Datei debug.c.

79  {
80  asm volatile(
81  "stmdb sp!, {r0, r1} \n"
82  );
83  console_add_line("dryos panic: game over :(");
85  msleep(1000);
86  asm volatile(
87  "ldmia sp!, {r0, r1} \n"
88  "BL sub_FF862FCC \n" // panic_hook_dump();
89  );
90  console_add_line("panic done");
91 }
void panic_hook_dump ( )
void write_crash ( char *  buf,
int  len 
)

Definiert in Zeile 35 der Datei debug.c.

35  {
36  write(crash_fd, buf, len);
37 }

Variablen-Dokumentation

int crash_fd = 0
static

Definiert in Zeile 31 der Datei debug.c.