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-Abhängigkeitsdiagramm für boot.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

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

Funktionen

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

Variablen

const char *const new_sa = &_end
 
volatile int jogdial_stopped
 

Makro-Dokumentation

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

Definiert in Zeile 6 der Datei boot.c.

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 72 der Datei boot.c.

72  {
73 // *(int*)0xd20b0884 = 0x4d0002;
74  asm volatile ( // 0xfc02000c
75 " ldr.w sp, =0x80010000\n"
76 " bl sub_fc020064\n"
77 " ldr r2, =0xc0242010\n"
78 " ldr r1, [r2]\n"
79 " orr r1, r1, #1\n"
80 " str r1, [r2]\n"
81 " ldr r0, =0xfcd16bb4\n"
82 " ldr r1, =0x010e1000\n"
83 " ldr r3, =0x0110daa4\n"
84 "loc_fc020024:\n"
85 " cmp r1, r3\n"
86 " itt lo\n"
87 " ldrlo r2, [r0], #4\n"
88 " strlo r2, [r1], #4\n"
89 " blo loc_fc020024\n"
90 // Install CreateTask patch
91 // use half words in case source or destination not word aligned
92  "adr r0, patch_CreateTask\n" // src: Patch data
93  "ldr r1, =hook_CreateTask\n" // dest: Address to patch (hook_ has thumb bit off)
94  "add r2, r0, #8\n" // two words
95 "task_hook_loop:\n"
96  "ldrh r3, [r0],#2\n"
97  "strh r3, [r1],#2\n"
98  "cmp r0,r2\n"
99  "blo task_hook_loop\n"
100 " ldr r0, =0x010e1000\n"
101 " ldr r1, =0x0002caa4\n"
102 " bl sub_fc1361ce\n"
103 " ldr r0, =0xfccec5a8\n"
104 " ldr r1, =0x00008000\n"
105 " ldr r3, =0x0003260c\n"
106 "loc_fc020040:\n"
107 " cmp r1, r3\n"
108 " itt lo\n"
109 " ldrlo r2, [r0], #4\n"
110 " strlo r2, [r1], #4\n"
111 " blo loc_fc020040\n"
112 " ldr r3, =0x0003260c\n"
113 " ldr r1, =0x003a8bb0\n"
114 " mov.w r2, #0\n"
115 "loc_fc020056:\n"
116 " cmp r3, r1\n"
117 " it lo\n"
118 " strlo r2, [r3], #4\n"
119 " blo loc_fc020056\n"
120 //" b.w loc_fc05eec0\n"
121 " b.w sub_fc05eec0_my\n" // continue
122 
123  "patch_CreateTask:\n"
124  "ldr.w pc, [pc,#0]\n" // Do jump to absolute address CreateTask_my
125  ".long CreateTask_my + 1\n" // has to be a thumb address
126 
127 
128 );
129 }
void CreateTask_spytask ( )

Definiert in Zeile 33 der Datei boot.c.

34 {
35 // *(int*)0xd20b0884 = 0x4d0002;
36 
37  _CreateTask("SpyTask", 0x19, 0x2000, spytask, 0);
38 }
void init_required_fw_features ( void  )

Definiert in Zeile 46 der Datei boot.c.

46  {
47  extern void _init_focus_eventflag();
48  extern void _init_nd_eventflag();
49 // extern void _init_nd_semaphore();
50  //extern void _init_zoom_semaphore(); // for MoveZoomLensWithPoint
51 
52  _init_focus_eventflag();
53  _init_nd_eventflag();
54  // for MoveIrisWithAv, based on fc3d1a74 (but without registers eventprocs)
55  extern int av_override_semaphore;
56  extern int _CreateBinarySemaphoreStrictly(int x, int y);
57  av_override_semaphore = _CreateBinarySemaphoreStrictly(0,0);
58 // _init_nd_semaphore();
59 }
void JogDial_task_my ( void  )
void spytask ( long  ua,
long  ub,
long  uc,
long  ud,
long  ue,
long  uf 
)

Definiert in Zeile 24 der Datei boot.c.

25 {
26  (void)ua; (void)ub; (void)uc; (void)ud; (void)ue; (void)uf;
27  core_spytask();
28 }
void task_CaptSeq ( )
void task_ExpDrv ( )
void task_InitFileModules ( )
void task_LiveImageTask ( )
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 8 der Datei boot.c.