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

gehe zum Quellcode dieser Datei

Funktionen

void task_CaptSeq ()
 
void task_InitFileModules ()
 
void task_RotaryEncoder ()
 
void task_MovieRecord ()
 
void task_ExpDrv ()
 
void task_TricInitTask ()
 
void handle_jogdial ()
 
void spytask (long ua, long ub, long uc, long ud, long ue, long uf)
 
void CreateTask_spytask ()
 
void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 
void init_required_fw_features (void)
 

Variablen

const char *const new_sa = &_end
 
int physw_override
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

IS_ERROR( hSoundHandle )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

__MovieRecorder_c__100

__MovieRecorder_c__100

ASM1989 -> In sx200:FF857190 //"Mounter.c"

ASM1989 -> In sx200:FF81B284 // DebugAssert

Definiert in Zeile 105 der Datei boot.c.

105  {
106  asm volatile ( // 0xfc02000c
107 " movw r0, #0x4000\n"
108 " movt r0, #0\n"
109 " mov sp, r0\n"
110 " bl sub_fc02007e\n"
111 " ldr r2, =0xc0242010\n"
112 " ldr r1, [r2]\n"
113 " orr r1, r1, #1\n"
114 " str r1, [r2]\n"
115 " ldr r0, =0xfcdcd810\n" // code copied from ROM
116 " ldr r1, =0x010e1000\n" // to RAM
117 " ldr r3, =0x010fc278\n"
118 "loc_fc02002a:\n"
119 " cmp r1, r3\n"
120 " itt lo\n"
121 " ldrlo r2, [r0], #4\n"
122 " strlo r2, [r1], #4\n"
123 " blo loc_fc02002a\n"
124 " ldr r0, =0x010e1000\n"
125 " ldr r1, =0x0001b278\n"
126 " bl sub_fc0db23e\n" // cache stuff for RAM code
127 " ldr r0, =0xfcde8a88\n" // code copied from ROM
128 " ldr r1, =0xbfe10800\n" // to TCM
129 " ldr r3, =0xbfe1633d\n"
130 "loc_fc020046:\n"
131 " cmp r1, r3\n"
132 " itt lo\n"
133 " ldrlo r2, [r0], #4\n"
134 " strlo r2, [r1], #4\n"
135 " blo loc_fc020046\n"
136 // Install CreateTask patch
137 // use half words in case source or destination not word aligned
138 // CreateTask is in ROM :(, use CreateTask_Low (bfe10b84) instead
139  "adr r0, patch_CreateTask\n" // src: Patch data
140  "ldr r1, =hook_CreateTask_low\n" // dest: Address to patch (hook_ has thumb bit off)
141  "add r2, r0, #8\n" // two words - note may clobber more than 2 instructions!
142 "task_hook_loop:\n"
143  "ldrh r3, [r0],#2\n"
144  "strh r3, [r1],#2\n"
145  "cmp r0,r2\n"
146  "blo task_hook_loop\n"
147 " ldr r0, =0xfcda103c\n" // DATA copied
148 " ldr r1, =0x00008000\n" // to RAM
149 " ldr r3, =0x000347d4\n"
150 "loc_fc02005a:\n"
151 " cmp r1, r3\n"
152 " itt lo\n"
153 " ldrlo r2, [r0], #4\n"
154 " strlo r2, [r1], #4\n"
155 " blo loc_fc02005a\n"
156 " ldr r3, =0x000347d4\n" // BSS
157 " ldr r1, =0x003976c0\n"
158 " mov.w r2, #0\n"
159 "loc_fc020070:\n"
160 " cmp r3, r1\n"
161 " it lo\n"
162 " strlo r2, [r3], #4\n"
163 " blo loc_fc020070\n"
164 //" ldr pc,=0xfc05c939\n" // -> fw
165 " b.w sub_fc05c938_my\n" // ->
166 
167  "patch_CreateTask:\n"
168  "ldr.w pc, [pc,#0]\n" // Do jump to absolute address CreateTask_my
169  ".long CreateTask_low_my + 1\n" // has to be a thumb address
170 );
171 }
void CreateTask_spytask ( )

Definiert in Zeile 29 der Datei boot.c.

30 {
31  _CreateTask("SpyTask", 0x19, 0x2000, spytask, 0);
32 }
void handle_jogdial ( )

Definiert in Zeile 115 der Datei kbd.c.

116 {
117  if (jogdial_stopped) {
118  // update positions in RAM
121  return 0; // return 0 to disable fw's dial handler
122  }
123  return 1;
124 }
void init_required_fw_features ( void  )

Definiert in Zeile 594 der Datei boot.c.

594  {
595  extern void _init_focus_eventflag();
596 
597  _init_focus_eventflag();
598  extern int av_override_semaphore;
599  extern int _CreateBinarySemaphoreStrictly(int x, int y);
600  av_override_semaphore = _CreateBinarySemaphoreStrictly(0,0);
601 }
void spytask ( long  ua,
long  ub,
long  uc,
long  ud,
long  ue,
long  uf 
)

Definiert in Zeile 21 der Datei boot.c.

22 {
23  core_spytask();
24 }
void task_CaptSeq ( )
void task_ExpDrv ( )
void task_InitFileModules ( )
void task_MovieRecord ( )
void task_RotaryEncoder ( )
void task_TricInitTask ( )

Variablen-Dokumentation

const char* const new_sa = &_end

Definiert in Zeile 5 der Datei boot.c.

int physw_override

Definiert in Zeile 140 der Datei kbd.c.