CHDK_DE Vorschauversion  Trunk Rev. 5728
 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 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 32 der Datei boot.c.

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

Definiert in Zeile 20 der Datei boot.c.

21 {
22  _CreateTask ("SpyTask", 0x19, 0x2000, core_spytask, 0);
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.