CHDK_DE Vorschauversion  Trunk Rev. 5272
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
main.c-Dateireferenz
+ Include-Abhängigkeitsdiagramm für main.c:

gehe zum Quellcode dieser Datei

Funktionen

void __attribute__ ((noreturn))
 

Variablen

long * blob_chdk_core
 
long blob_chdk_core_size
 

Dokumentation der Funktionen

void __attribute__ ( (noreturn)  )

Definiert in Zeile 71 der Datei main.c.

72 {
73 
74  {
75  // char *dst = dst_void;
76  // const char *src = src_void;
77  long *dst = (long*)MEMISOSTART;
78  const long *src = blob_chdk_core;
79  long length = (blob_chdk_core_size + 3) >> 2;
80 
81  core_copy(src, dst, length);
82 
83  }
84 
85 //elph100 found at FF83D370
86  asm volatile (
87  "LDR R1, =0xC0200000\n"
88  "MVN R0, #0\n"
89  "STR R0, [R1,#0x10C]\n"
90  "STR R0, [R1,#0xC]\n"
91  "STR R0, [R1,#0x1C]\n"
92  "STR R0, [R1,#0x2C]\n"
93  "STR R0, [R1,#0x3C]\n"
94  "STR R0, [R1,#0x4C]\n"
95  "STR R0, [R1,#0x5C]\n"
96  "STR R0, [R1,#0x6C]\n"
97  "STR R0, [R1,#0x7C]\n"
98  "STR R0, [R1,#0x8C]\n"
99  "STR R0, [R1,#0x9C]\n"
100  "STR R0, [R1,#0xAC]\n"
101  "STR R0, [R1,#0xBC]\n"
102  "STR R0, [R1,#0xCC]\n"
103  "STR R0, [R1,#0xDC]\n"
104  "STR R0, [R1,#0xEC]\n"
105  "CMP R4, #7\n"
106  "STR R0, [R1,#0xFC]\n"
107  "LDMEQFD SP!, {R4,PC}\n"
108  "MOV R0, #0x78\n"
109  "MCR p15, 0, R0,c1,c0\n"
110  "MOV R0, #0\n"
111  "MCR p15, 0, R0,c7,c10, 4\n"
112  "MCR p15, 0, R0,c7,c5\n"
113  "MCR p15, 0, R0,c7,c6\n"
114  "MOV R0, #0x80000006\n"
115  "MCR p15, 0, R0,c9,c1\n"
116  "MCR p15, 0, R0,c9,c1, 1\n"
117  "MRC p15, 0, R0,c1,c0\n"
118  "ORR R0, R0, #0x50000\n"
119  "MCR p15, 0, R0,c1,c0\n"
120  "LDR R0, =0x12345678\n"
121  "MOV R1, #0x80000000\n"
122  "STR R0, [R1,#0xFFC]\n"
123  "LDMFD SP!, {R4,LR}\n"
124  "MOV R0, %0\n" //new jump-vector
125  "BX R0\n"
126  : : "r"(MEMISOSTART) : "memory","r0","r1","r2","r3","r4"
127 
128  );
129 
130  while(1);
131 
132 }

Variablen-Dokumentation

long* blob_chdk_core

Definiert in Zeile 1 der Datei blobs.S.

long blob_chdk_core_size