CHDK_DE Vorschauversion  Trunk Rev. 5637
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
boot.c-Dateireferenz
#include "lolevel.h"
#include "platform.h"
#include "core.h"
#include "dryos31.h"
#include "camera_info.h"
+ Include-Abhängigkeitsdiagramm für boot.c:

gehe zum Quellcode dieser Datei

Funktionen

void task_CaptSeq ()
 
void task_InitFileModules ()
 
void task_ExpDrv ()
 
void spytask (long ua, long ub, long uc, long ud, long ue, long uf)
 
void CreateTask_spytask ()
 
void __attribute__ ((naked, noinline))
 

Variablen

const char *const new_sa = &_end
 
int physw0_override
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 41 der Datei boot.c.

43 {
44  asm volatile ( // 0xfc02000c
45  //capdis -f=chdk -s=0xfc02000d -c=43 -stubs PRIMARY.BIN 0xfc000000
46  " movw r0, #0x4000\n"
47  " movt r0, #0\n"
48  " mov sp, r0\n"
49  " bl sub_fc02007e\n"
50  " ldr r2, =0xc0242010\n"
51  " ldr r1, [r2]\n"
52  " orr r1, r1, #1\n"
53  " str r1, [r2]\n"
54  " ldr r0, =0xfcee2190\n"
55  " ldr r1, =0x010e1000\n"
56  " ldr r3, =0x010fbd18\n"
57  "loc_fc02002a:\n"
58  " cmp r1, r3\n"
59  " itt lo\n"
60  " ldrlo r2, [r0], #4\n"
61  " strlo r2, [r1], #4\n"
62  " blo loc_fc02002a\n"
63  " ldr r0, =0x010e1000\n"
64  " ldr r1, =0x0001ad18\n"
65  " bl sub_fc150d5a\n"
66  " ldr r0, =0xfcefcea8\n"
67  " ldr r1, =0xbfe10800\n"
68  " ldr r3, =0xbfe176a9\n"
69  "loc_fc020046:\n"
70  " cmp r1, r3\n"
71  " itt lo\n"
72  " ldrlo r2, [r0], #4\n"
73  " strlo r2, [r1], #4\n"
74  " blo loc_fc020046\n"
75 
76  // Install CreateTask patch
77  " adr r0, patch_CreateTask\n" // Patch data
78  " ldm r0, {r1,r2}\n" // Get two patch instructions
79  " ldr r0, =hook_CreateTask\n" // Address to patch, thumb bit is clear in stubs_entry.S
80  " stm r0, {r1,r2}\n" // Store patch instructions
81 
82  " ldr r0, =0xfceacb1c\n"
83  " ldr r1, =0x00008000\n"
84  " ldr r3, =0x0003d674\n"
85  "loc_fc02005a:\n"
86  " cmp r1, r3\n"
87  " itt lo\n"
88  " ldrlo r2, [r0], #4\n"
89  " strlo r2, [r1], #4\n"
90  " blo loc_fc02005a\n"
91  " ldr r3, =0x0003d674\n"
92  " ldr r1, =0x0039124c\n"
93  " mov.w r2, #0\n"
94  "loc_fc020070:\n"
95  " cmp r3, r1\n"
96  " it lo\n"
97  " strlo r2, [r3], #4\n"
98  " blo loc_fc020070\n"
99  " b.w sub_fc066258_my\n" // Patched
100 
101  "patch_CreateTask:\n"
102  " ldr.w pc, [pc,#0]\n" // Do jump to absolute address CreateTask_my
103  " .long CreateTask_my + 1\n" // has to be a thumb address
104  );
105 }
void CreateTask_spytask ( )

Definiert in Zeile 29 der Datei boot.c.

30 {
31  _CreateTask ("SpyTask", 0x19, 0x2000, spytask, 0);
32 }
void spytask ( long  ua,
long  ub,
long  uc,
long  ud,
long  ue,
long  uf 
)

Definiert in Zeile 20 der Datei boot.c.

21 {
22  core_spytask ();
23 }
void task_CaptSeq ( )
void task_ExpDrv ( )
void task_InitFileModules ( )

Variablen-Dokumentation

const char* const new_sa = &_end

Definiert in Zeile 8 der Datei boot.c.

int physw0_override

Definiert in Zeile 118 der Datei kbd.c.