CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
filewrite.c-Dateireferenz
#include "lolevel.h"
#include "platform.h"
#include "../../../generic/filewrite.c"
+ Include-Abhängigkeitsdiagramm für filewrite.c:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  cam_ptp_data_chunk
 
struct  fwt_data_struct
 

Makrodefinitionen

#define MAX_CHUNKS_FOR_FWT   7
 

Funktionen

void __attribute__ ((naked, noinline))
 

Makro-Dokumentation

#define MAX_CHUNKS_FOR_FWT   7

Definiert in Zeile 9 der Datei filewrite.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 37 der Datei filewrite.c.

39 {
40  asm volatile (
41  //capdis -f=chdk -s=0xe03af92b -c=42 -stubs PRIMARY.BIN 0xe0000000
42  " ldr r5, =0x00036340\n"
43  " push {r3, lr}\n"
44  "loc_e03af92e:\n"
45  " movs r2, #0\n"
46  " mov r1, sp\n"
47  " ldr r0, [r5, #0x14]\n"
48  " bl sub_dffc9de0\n"
49  " cbz r0, loc_e03af946\n"
50  " movs r0, #0\n"
51  " movw r2, #0x405\n"
52  " ldr r1, =0xe03af9f4\n" // *"dwFWrite.c"
53  " bl sub_dffc96f4\n"
54  "loc_e03af946:\n"
55  " ldr r0, [sp]\n"
56  " ldr r1, [r0]\n"
57  " cmp r1, #0xd\n"
58  " bhs loc_e03af92e\n"
59  " tbb [pc, r1]\n" // (jumptable r1 13 elements)
60  "branchtable_e03af952:\n"
61  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 0)
62  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 1)
63  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 2)
64  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 3)
65  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 4)
66  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 5)
67  " .byte((loc_e03af998 - branchtable_e03af952) / 2)\n" // (case 6)
68  " .byte((loc_e03af99e - branchtable_e03af952) / 2)\n" // (case 7)
69  " .byte((loc_e03af960 - branchtable_e03af952) / 2)\n" // (case 8)
70  " .byte((loc_e03af972 - branchtable_e03af952) / 2)\n" // (case 9)
71  " .byte((loc_e03af992 - branchtable_e03af952) / 2)\n" // (case 10)
72  " .byte((loc_e03af966 - branchtable_e03af952) / 2)\n" // (case 11)
73  " .byte((loc_e03af96c - branchtable_e03af952) / 2)\n" // (case 12)
74  ".align 1\n"
75  "loc_e03af960:\n"
76  " bl sub_e03afb30\n"
77  " b loc_e03af92e\n"
78  "loc_e03af966:\n"
79  " bl sub_e03afb7c\n"
80  " b loc_e03af92e\n"
81  "loc_e03af96c:\n"
82  " bl sub_e03af6a4_my\n" // Patched
83  " b loc_e03af92e\n"
84  "loc_e03af972:\n"
85  " ldr r1, [r0, #4]\n"
86  " mov r4, r0\n"
87  " ldr r0, [r5, #8]\n"
88  " movs r2, #0\n"
89  " bl sub_e0374088\n"
90  " adds r0, r0, #1\n"
91  " bne loc_e03af92e\n"
92  " mov r1, r4\n"
93  " ldr r0, =0x09200001\n"
94  " adds r0, #0x12\n"
95  " str r0, [r4, #0x14]\n"
96  " movs r0, #7\n"
97  " bl sub_e03af62a\n"
98  " b loc_e03af92e\n"
99  "loc_e03af992:\n"
100  " bl sub_e03afbda\n"
101  " b loc_e03af92e\n"
102  "loc_e03af998:\n"
103  " bl sub_e03afc4c_my\n" // Patched
104  " b loc_e03af92e\n"
105  "loc_e03af99e:\n"
106  " bl sub_e03af7dc_my\n" // Patched
107  " b loc_e03af92e\n"
108  );
109 }