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 "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 task_FsIoNotifyTask ()
 
void __attribute__ ((naked, noinline))
 
void CreateTask_spytask ()
 
void patch_mzrm_sendmsg ()
 
void init_required_fw_features (void)
 
int check_fsio_skip (char *msg)
 

Variablen

const char *const new_sa = &_end
 
int physw0_override
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 80 der Datei boot.c.

80  {
81  asm volatile (
82  " mrc p15, #0, r0, c0, c0, #5\n"
83  " ands r0, #0xf\n"
84  " bx lr\n"
85  );
86 }
int check_fsio_skip ( char *  msg)

Definiert in Zeile 925 der Datei boot.c.

926 {
927  // Short file name (< 32 chars)
928  char* name = msg + 4;
929  // Long file name (will be 0 if not allocated)
930  char* long_name = *((char**)(msg+0x5c));
931  if (long_name != 0) name = long_name;
932  int l = strlen(name);
933 
934  // G7X2 crashes when deleting or creating non-Canon files in DCIM image folder if camera is connected to PC via USB
935  // This causes the FsIoNotify task to ignore files that are not Canon image files.
936  // Only applies to files in A/DCIM folders with filename xxx_nnnn.ext, and ext is not JPG or CR2.
937  int skip = ((strncmp(name,"A/DCIM",6) == 0) && (name[l-9] == '_') && (strncmp(name+l-4, ".JPG", 4) != 0) && (strncmp(name+l-4, ".CR2", 4) != 0));
938 
939  // If we tell FsIoNotify to skip processing message, then we need to free the long name memory buffer
940  if (skip && (long_name != 0))
941  free(long_name);
942 
943  return skip;
944 }
void CreateTask_spytask ( )

Definiert in Zeile 91 der Datei boot.c.

92 {
93 // _CreateTask("BlinkTask", 0x19, 0x800, blinktask, 0);
94  _CreateTask("SpyTask", 0x19, 0x2000, core_spytask, 0);
95 }
void init_required_fw_features ( void  )

Definiert in Zeile 593 der Datei boot.c.

594 {
595  extern void _init_focus_eventflag();
596  _init_focus_eventflag();
597  extern void _init_nd_eventflag();
598  _init_nd_eventflag();
599  extern int av_override_semaphore;
600  extern int _CreateBinarySemaphoreStrictly(int x, int y);
601  av_override_semaphore = _CreateBinarySemaphoreStrictly(0,0);
602 }
void patch_mzrm_sendmsg ( )

Definiert in Zeile 247 der Datei boot.c.

248 {
249  extern int debug_logging_flag;
250  extern void (*debug_logging_ptr)(char* fmt, ...);
251 
252  // Each bit in debug_logging_flag enables logging in different areas of the firmware code - only set the bit required for mzrm logging.
253  debug_logging_flag = 0x200;
254  debug_logging_ptr = debug_logging_my;
255 }
void task_CaptSeq ( )
void task_ExpDrv ( )
void task_FsIoNotifyTask ( )
void task_InitFileModules ( )

Variablen-Dokumentation

const char* const new_sa = &_end

Definiert in Zeile 9 der Datei boot.c.

int physw0_override

Definiert in Zeile 122 der Datei kbd.c.