// --------------------------------------------------------------------------- // Load image on slave core int IPC_Load(uint32_t image_addr) { // Make sure the alignment is OK if (image_addr & 0xFFF) { return -1; } #if 0 // Check the validity of images if (CheckImages(image_addr, &__M4Signature) != 0) { return -1; } // Make sure the M0 core is being held in reset via the RGU Chip_RGU_TriggerReset(RGU_M0APP_RST); Chip_Clock_Enable(CLK_M4_M0APP); // Keep in mind the M0 image must be aligned on a 4K boundary Chip_CREG_SetM0AppMemMap(image_addr); Chip_RGU_ClearReset(RGU_M0APP_RST); #endif return 0; }
/* M0 Boot loader */ int M0Image_Boot(uint32_t m0_image_addr) { /* Make sure the alignment is OK */ if (m0_image_addr & 0xFFF) { return -1; } /* Check the validity of images */ if (CheckImages(m0_image_addr, &__M4Signature) != 0) { return -1; } /* Make sure the M0 core is being held in reset via the RGU */ Chip_RGU_TriggerReset(RGU_M0APP_RST); Chip_Clock_Enable(CLK_M4_M0APP); /* Keep in mind the M0 image must be aligned on a 4K boundary */ Chip_CREG_SetM0AppMemMap(m0_image_addr); Chip_RGU_ClearReset(RGU_M0APP_RST); return 0; }
int WINAPI FindDupes2(const char* szList, HWND hParent) { AFX_MANAGE_STATE(AfxGetAppModuleState()); sListOfImages.RemoveAll(); sListOfImagesToDelete.RemoveAll(); sListOfImageDibs.RemoveAll(); CString sFiles=szList; sFiles.Replace("\r",""); sFiles+="\n"; while(sFiles.GetLength()>0){ CString sWPTitle=sFiles.SpanExcluding("\n"); if(strlen(sWPTitle)!=strlen(sFiles)){ sFiles=sFiles.Mid(strlen(sWPTitle)+1); }else{ sFiles=""; } if(sWPTitle!="" && FindMini(sFiles,sWPTitle+"\n")==-1){ sListOfImages.Add(sWPTitle); } } CheckImages(0); { CSplashParams sp; sp.szText="Reading..."; sp.bgColor=0; sp.txColor=RGB(255,255,255); sp.dwTextParams|=TXSHADOW_VCENT|TXSHADOW_FILLBG|TXSHADOW_WIDE|TXSHADOW_GLOW|TXSHADOW_MIXBG;////TXSHADOW_SHCOL sp.dwSplashAlign=SPLASH_OPACITY; sp.dwSplashAlign|=SPLASH_HLEFT; sp.dwSplashAlign|=SPLASH_VTOP; CSplashWindow sw(&sp); {//!!! for(int i=0;i<sListOfImageDibs.GetSize()-1;i++){ int iClosest=i+1; if(sListOfImageDibs[i] && sListOfImageDibs[iClosest]){ double daffmin=sListOfImageDibs[i]->CalcDistance(sListOfImageDibs[iClosest]); for(int j=i+2;j<sListOfImageDibs.GetSize();j++){ if(sListOfImageDibs[j]){ double lAffinity=sListOfImageDibs[i]->CalcDistance(sListOfImageDibs[j]); if(daffmin>lAffinity){ daffmin=lAffinity; iClosest=j; } } } } // iClosest<>i+1 CString sTmp=sListOfImages[iClosest]; sListOfImages[iClosest]=sListOfImages[i+1]; sListOfImages[i+1]=sTmp; CDib* sTmp2=sListOfImageDibs[iClosest]; sListOfImageDibs[iClosest]=sListOfImageDibs[i+1]; sListOfImageDibs[i+1]=sTmp2; sw.SetText(Format("Checking %i",i)); } } sw.SetText("Renaming..."); for(int i=0;i<sListOfImageDibs.GetSize();i++){ MoveFile(sListOfImages[i],GetDirectoryFromPath(sListOfImages[i])+Format("%04i_%s",i,GetFileFromPath(sListOfImages[i]))); if(sListOfImageDibs[i]){ delete sListOfImageDibs[i]; } } } return 0; }