示例#1
0
// ---------------------------------------------------------------------------
// 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;
}
示例#2
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;
}
示例#3
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;
}