imgtools/romtools/readimage/src/rom_image_reader.cpp
changeset 712 df89378e9223
parent 590 360bd6b35136
equal deleted inserted replaced
697:818fe0ed324b 712:df89378e9223
   566 	DumpInHex("Heap min", aRomImgEntry->iHeapSizeMin) << endl;
   566 	DumpInHex("Heap min", aRomImgEntry->iHeapSizeMin) << endl;
   567 	DumpInHex("Heap max", aRomImgEntry->iHeapSizeMax) << endl;
   567 	DumpInHex("Heap max", aRomImgEntry->iHeapSizeMax) << endl;
   568 	DumpInHex("Stack size", aRomImgEntry->iStackSize) << endl;
   568 	DumpInHex("Stack size", aRomImgEntry->iStackSize) << endl;
   569 
   569 
   570 	TDllRefTable *aRefTbl = NULL;
   570 	TDllRefTable *aRefTbl = NULL;
   571 
   571  
   572 	if( aRomImgEntry->iDllRefTable ) {
   572 	 if( aRomImgEntry->iDllRefTable ) {
   573 		TUint32 aOff = (TUint32)aRomImgEntry->iDllRefTable - iImageHeader->iRomHdr->iRomBase;
   573 		TUint32 aOff = (TUint32)aRomImgEntry->iDllRefTable  - iImageHeader->iRomHdr->iRomBase;
   574 		aRefTbl = (TDllRefTable*) ((char*)iImageHeader->iRomHdr + aOff);
   574         if(static_cast<TInt32>(aOff) > 0) { 
   575 		TUint32 aVirtualAddr = (TUint32)aRefTbl->iEntry[0];
   575 			aRefTbl = (TDllRefTable*) (iRomLayoutData + aOff);		 
   576 		DumpInHex("Dll ref table", aVirtualAddr) << endl;
   576 			TUint32 aVirtualAddr = reinterpret_cast<TUint32>(aRefTbl->iEntry[0]);
       
   577 			DumpInHex("Dll ref table", aVirtualAddr) << endl;
       
   578 			
       
   579         }
       
   580        else {
       
   581             DumpInHex("Error Dll ref table", 0) << endl;
       
   582         }
   577 	}
   583 	}
   578 
   584 
   579 	DumpInHex("Export directory", aRomImgEntry->iExportDir) << endl;
   585 	DumpInHex("Export directory", aRomImgEntry->iExportDir) << endl;
   580 	DumpInHex("Export dir count", aRomImgEntry->iExportDirCount) << endl;
   586 	DumpInHex("Export dir count", aRomImgEntry->iExportDirCount) << endl;
   581 	DumpInHex("Hardware variant", aRomImgEntry->iHardwareVariant) << endl;
   587 	DumpInHex("Hardware variant", aRomImgEntry->iHardwareVariant) << endl;
   605 
   611 
   606 	if( iDisplayOptions & DUMP_E32_IMG_FLAG){
   612 	if( iDisplayOptions & DUMP_E32_IMG_FLAG){
   607 		if(stricmp(iE32ImgFileName.c_str(), aEntry->Name()) == 0){
   613 		if(stricmp(iE32ImgFileName.c_str(), aEntry->Name()) == 0){
   608 			TUint aSectionOffset = aRomImgEntry->iCodeAddress - iImageHeader->iRomHdr->iRomBase;
   614 			TUint aSectionOffset = aRomImgEntry->iCodeAddress - iImageHeader->iRomHdr->iRomBase;
   609 			TUint* aCodeSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset);
   615 			TUint* aCodeSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset);
       
   616 			//TUint* aCodeSection = (TUint*)(iRomLayoutData + aSectionOffset);
   610 			*out << "\nCode (Size=0x" << hex << aRomImgEntry->iCodeSize << ")" << endl;
   617 			*out << "\nCode (Size=0x" << hex << aRomImgEntry->iCodeSize << ")" << endl;
   611 			DumpData(aCodeSection, aRomImgEntry->iCodeSize);
   618 			DumpData(aCodeSection, aRomImgEntry->iCodeSize);
   612 
   619 
   613 			aSectionOffset = aRomImgEntry->iDataAddress - iImageHeader->iRomHdr->iRomBase;
   620 			aSectionOffset = aRomImgEntry->iDataAddress - iImageHeader->iRomHdr->iRomBase;
   614 			TUint* aDataSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset);
   621 			TUint* aDataSection = (TUint*)((char*)iImageHeader->iRomHdr + aSectionOffset);
       
   622 			//TUint* aDataSection = (TUint*)(iRomLayoutData + aSectionOffset);
   615 			if( aRomImgEntry->iDataSize){
   623 			if( aRomImgEntry->iDataSize){
   616 				*out << "\nData (Size=0x" << hex << aRomImgEntry->iDataSize << ")" << endl;
   624 				*out << "\nData (Size=0x" << hex << aRomImgEntry->iDataSize << ")" << endl;
   617 				DumpData(aDataSection, aRomImgEntry->iDataSize);
   625 				DumpData(aDataSection, aRomImgEntry->iDataSize);
   618 			}
   626 			}
   619 		}
   627 		}