CHDK_DE Vorschauversion  Trunk Rev. 6014
 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 "gui_draw.h"
#include "asmsafe.h"
+ Include-Abhängigkeitsdiagramm für boot.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define offsetof(TYPE, MEMBER)   ((int) &((TYPE *)0)->MEMBER)
 

Funktionen

void task_CaptSeq ()
 
void task_InitFileModules ()
 
void task_RotaryEncoder ()
 
void task_MovieRecord ()
 
void task_ExpDrv ()
 
void JogDial_task_my (void)
 
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
 
volatile int jogdial_stopped
 

Makro-Dokumentation

#define offsetof (   TYPE,
  MEMBER 
)    ((int) &((TYPE *)0)->MEMBER)

Definiert in Zeile 8 der Datei boot.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 120 der Datei boot.c.

120  {
121  asm volatile (
122 " ldr.w sp, =0x80010000\n"
123 
124  #ifdef DEBUG_BLINKING
125  ASM_SAFE("BL xblinker\n")
126  #endif
127 
128 " bl sub_fc020064\n"
129 " ldr r2, =0xc0242010\n"
130 " ldr r1, [r2]\n"
131 " orr r1, r1, #1\n"
132 " str r1, [r2]\n"
133 " ldr r0, =0xfcbebb18\n" // code copied from ROM to RAM
134 " ldr r1, =0x010c1000\n" //
135 " ldr r3, =0x010df4e8\n" //
136 "loc_fc020024:\n"
137 " cmp r1, r3\n"
138 " itt lo\n"
139 " ldrlo r2, [r0], #4\n"
140 " strlo r2, [r1], #4\n"
141 " blo loc_fc020024\n"
142 
143 // Install CreateTask patch
144 // use half words in case source or destination not word aligned
145  "adr r0, patch_CreateTask\n" // src: Patch data
146  "ldr r1, =hook_CreateTask\n" // dest: Address to patch (hook_ has thumb bit off)
147  "add r2, r0, #8\n" // two words
148 "task_hook_loop:\n"
149  "ldrh r3, [r0],#2\n"
150  "strh r3, [r1],#2\n"
151  "cmp r0,r2\n"
152  "blo task_hook_loop\n"
153 
154 " ldr r0, =0x010c1000\n"
155 " ldr r1, =0x0001e4e8\n"
156 " bl sub_fc13c4d6\n"
157 " ldr r0, =0xfcbc2280\n"
158 " ldr r1, =0x00008000\n"
159 " ldr r3, =0x00031898\n"
160 "loc_fc020040:\n"
161 " cmp r1, r3\n"
162 " itt lo\n"
163 " ldrlo r2, [r0], #4\n"
164 " strlo r2, [r1], #4\n"
165 " blo loc_fc020040\n"
166 " ldr r3, =0x00031898\n"
167 " ldr r1, =0x003077e0\n"
168 " mov.w r2, #0\n"
169 "loc_fc020056:\n"
170 " cmp r3, r1\n"
171 " it lo\n"
172 " strlo r2, [r3], #4\n"
173 " blo loc_fc020056\n"
174 " b.w sub_fc05e00c_my\n" // --->>
175 
176 "patch_CreateTask:\n"
177 " ldr.w pc, [pc,#0]\n" // Do jump to absolute address CreateTask_my
178 " .long CreateTask_my + 1\n" // has to be a thumb address
179 );
180 }
void CreateTask_spytask ( )

Definiert in Zeile 33 der Datei boot.c.

34 {
35  _CreateTask("SpyTask", 0x19, 0x2000, spytask, 0);
36 }
void JogDial_task_my ( void  )
void spytask ( long  ua,
long  ub,
long  uc,
long  ud,
long  ue,
long  uf 
)

Definiert in Zeile 27 der Datei boot.c.

28 {
29  (void)ua; (void)ub; (void)uc; (void)ud; (void)ue; (void)uf;
30  core_spytask();
31 }
void task_CaptSeq ( )
void task_ExpDrv ( )
void task_InitFileModules ( )
void task_MovieRecord ( )
void task_RotaryEncoder ( )

Variablen-Dokumentation

volatile int jogdial_stopped

Definiert in Zeile 81 der Datei kbd.c.

const char* const new_sa = &_end

Definiert in Zeile 10 der Datei boot.c.