Qualcomm QPST Memory Debug Application - XPERIA X2 General

Hi all
I have an Xperia X2, and was able to use the Qualcomm QPST Memory Debug Application to take a dump of the memory contents (11 files, mostly .bin and .cmm files, total size about 160MB).
Does anyone know how to interrogate these files offline? Any help would be greatly appreciated.
Thanks in advance
Neil

http://www.qualcomm.com/blog/2010/05/07/android-debugging-using-lauterbach-trace32-software
The otherway is analyze in editor of choice. Quacomm make the chips so too, they make the tiols :-B
This post is quite old now, perhaps you have some things to add to your thread now it's quite highly ranked in Google? I always liked petools and there are some unrelated sysinternals apps that are useful.. Maybe..
What I would love is Numega Softice to attaxh so much better than trying to use debug to rewrite registers - lol.. Takes me back to my childhood.. Shame softice was dropped.. Such an excellent app! The ultimate

Related

Adding programs in ROM

Does anybody know how to add software in ROM.
I succcesfully added small 1-file programs (and a couple of 2/3 file programs) using mkrom.
I often needed to modify the default.reg file to achieve this...
But how do I install more complex programs like Batterybar/Journalbar and Fonix Voicedial ?
I hope someons has the answer!
its not easy. u have to use the snap utility to find out what changes were made and manually add each entry into default.reg file. also if any files need to be somewhere other than windows directory u have to copy them to ram via the initobj.txt file.
alex
Thanks, that worked....
It took some time though!
kalex said:
Also if any files need to be somewhere other than windows directory u have to copy them to ram via the initobj.txt file.
Click to expand...
Click to collapse
Cool! People are figuring out how this works!
It has to be noted that putting files in any other place than Windows means you're making a RAM copy, which ofcourse uses RAM you could use for other things. So it would be better to figure out how to convince the software to run from Windows instead, which, sometimes after a little tinkering, has worked for us in all cases.
If need be, you can also try creating a link to the program in Windows, and copy that instead of the real file.
It has to be noted that putting files in any other place than Windows means you're making a RAM copy, which ofcourse uses RAM you could use for other things. So it would be better to figure out how to convince the software to run from Windows instead, which, sometimes after a little tinkering, has worked for us in all cases.
Click to expand...
Click to collapse
that's true. but some apps want to put something else where. for example Pocket Plus has 4 txt files which it modifies during use, so they have to be copied to RAM otherwise it wouldn't be able to modify it. some apps put dlls to \windows\appmgr, so i have to add that. so far i added Pocket Plus 1.2, Resco File explorer 2003, Soft Reset, and Pocket Gamer D9 dialer, as well as i localized it to US specs. the only thing i can't figure out yet is how to add T-mobile USA GPRS configuration to the auto setup.
XDA developer Peter Poelman can you share on how to do this?
thanks
alex
Laundry list of things to add to ROM
I have a laundry list of things to add into the ROM. I'm sure it all won't fit, but I'm very energized about hearing what you guys have been saying.
I have a legal copy of battery/journal bar, fonix voice suite + dial, pocket informant, and All Locations Traffic Counter. Additionally I am most certainly interested in getting T-Mobile US settings setup in the autoconfig.
I'm far from a UNIX guy, but I have Cygwin now installed and I'm working on getting Perl setup. One of the guys in my department helped me build SER1.1 on his Linux box.
I've had the T2Tech guys squeeze 128M inside the phone (64/64) so I'd like to add the driver for it into ROM so I can use it after a hard reset without having to dig out the installer.
If there's any assistance I can lend along the way please let me know.
MAXLW can you shoot me some basic instructions for Fonix and Battery/Journal bar?
Thanks all for the great tool!
[email protected]
US T-Mobile PPC-PE 128M SER1.1
rdm128,
Are u able to access 128mb of ram after u did the ser1.1? i heard it didn't work with the current drivers by ppctechs.
I doubt Fonix will work in the ROM as there are about 100 or so files that need to be copied as well as i'm not sure which files are being modified by the program and if they are being modified you will need to do a Ram copy before u can use it. all locations i guess u don't need either as t-mobile now offers unlimited GPRS. PI i'm not sure how its going to react to ROM install but u can try it and let me know if it works as i want to add it.
alex
128M w/ SER1.1
The 128 upgrade is split into 64M RAM and 64M "t2t storage card". I am able to access both of them quite easily with the driver installed.
The most impressive part, though it does make sense, is that I have only done soft resets and never a power cycle when installing the SER1.1 and therefore all files are still intact in the t2t storage card. Not bad for volatile RAM!
The only Fonix I'd really like in ROM is Voice Dial. I think I can get PI to work only because of the directory structure it uses. It places lots of files in the windows directory, but then puts all the 'writeable' files in the WebIS folder in my documents (at least as far as I can tell so far).
I'm just starting to play with snapview (since it came on SER1.1) to see what it will take to get this stuff crammed into ROM.
rdm128

I need a good tool for analysing CPU...

I need a good tool for analysing CPU on WM devices, that doesn't consume too much itself and i s able to show details about the threads running etc...
Would appreciate any suggestions you might have.
Esp, one that might automatically record the output to a file...
Thanks in advance!

Running PPC specific code on Smartphone device

Most of us are already aware that PPC and smartphone edition are similar enough to be mostly compatible in their apps across the platforms.
That is, with enough coaxing and the help of input simulators like SPHelper, I've managed to run almost any Pocket PC app on a smartphone device.
Well, until now.
I've officialy run into my first brick wall of sorts, and I'm hoping someone here can shed some light onto the situation.
Since the MS implementation of A2DP has quality issues, I'm trying to run MSI Blueplayer app ( found at http://cweb.msi.com.tw/program/support/download/dld/spt_dld_detail.php?UID=619&kind=8) on a smartphone.
Analyzing the cab, I extracted 4 .dll's that go in the \windows dir (msibtstk.dll, msibtapi.dll, CHS.dll and TW.dll), and two .exe program files that go in program files\msi\blueplayer (STLoader.exe, and MPOBCE.exe).
Now, normally its as simple as running the .exe, at least it always has been in the past.
However, every time I hit MPOBCE.exe, all I get is:
"Alert
Can't find MPOBCE or one of its components. Make sure the path and filename are correct and that all the required libraries are available."
Just to control this experiment, I copied the exact same files over to a PPC device and ran it to find that it DOES work.
Now, I've never encountered PPC specific code before- in fact, I didn't even know such a thing was possible. Has anyone see/heard of this sort of thing before?
Can someone help me take this apart and find out what makes it work on a PPC only? Perhaps a PPC-specific path (if there is such a thing)?
At this point, as much as I'd like to get this working, I'm just as much intellectually curious as to what would cause a program to only operate on a PPC installation.
Hello Dishe.
Your problem is simple: Certain DLLs that come built in Pocket PC version of windows mobile do not exist in the Smartphone version. An example is MFC DLLs.
What you need to do is get hold of 'dependency walker' which is a neat little app that MS incorporated in to VS 6 (though I understand it was written by an independent developer and should be available separately).
It will show you exactly which DLL files each exe is linked to. You then have to get a good copy (from a ROM dump) of the needed DLL and put it in windows directory.
Hope this helps.
That's a great idea. Thanks! I never heard of the dependency walker before, but it sounds like a perfect tool for this. I'll have to check it out on my office computer (I don't have VS 6 at home).
I wont be back in my office until wed., so if anyone had a bit of spare time, I'll attach the files here for someone to examine.
If anyone wants to look into it and tell me what dll's are required, I can get ahold of them from a healthy Pocket PC image.
Thanks!
This zip file has the two .exe's contained in the installation. I think only mpobce.exe is complaining about missing components, though.
Oops, apparently I should have checked first...
Dependency Walker is a free app. I downloaded it and tried it out.
It lists a bunch of .dll's, most of which I had on smartphone.
However, the two missing ones are:
mfcce300.dll
olece300.dll
Now, I'm not exactly sure what these do, so I need to look into it some more. Does anyone have any clue what these are for? If I copy them from a Pocket PC, will they operate on a smartphone?
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
levenum said:
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
Click to expand...
Click to collapse
Thanks for the help, I'm realizing there's a lot more to this I should have known before embarking on such a task. I've never had such a problem doing this before, I guess MFC isn't so popular!
Anyway, I need a good ROM dump, I haven't been able to aquire one. In the mean time I tried some files I found searching google... didn't expect it to work, but tried it anyway. Still complained of missing files- you're right, I'll bet MFC is calling more dll's as well that I need.
Perhaps there's hope...
You were right... I just needed more .dlls!
I found a whole series of .dlls required by mfcce300.dll that my smartphone was missing, so I put them all in the program directory and it opened!
Problem is, its not so stable... the files were pulled from a ce.net-4.1 set of files since I don't have access to a wm5 rom image.
One more thong I should have thought about earlier:
Some COM dlls, maybe even olece300.dll have a function called DllRegisterServer that writes them to registry as COM provider (under HKCR\CLSID).
Check to see if I am right using Dep. Walker and if so try to get regsvr32.exe or something similar for the PPC. (On a PC you use regsvr32 somedll.dll to register a COM server)
This may help with stability issue.

Share Storage Card through WIFI

Hello Developers!
I'm look for a software to share my Storage Card from HTC HD2 as Networkdrive. It would be greate to open Windows-Explorer goto: "\\IpAdressOfMyHTCHD2\StorageCard" and here i can handle with the files like they are on a normal PC. Is there a Software or how can i configure this?
I found a Tool Called Wifi-Remote-Access but this only supports File Handling in the Webbrowser which is slow to delete multiple file os to copy multiple files. It is a greate tool to work with single files.
Any suggestion for me?
really useful
I've been looking for the same thing.
I think that this is really useful and interesting. Why always use cables when we have these wifi capable devices, which operate Windows?!
I am surprised that no one else was interested and no one was able to give an idea if it was possible to make this.

[Q] What debug and log tools are available?

Hi,
I'm interested to know which debugging/logging tools are available.
I'd like to get more information about the processes at startup, and specially logs of the CPU usage by each application over a period of time.
I've been searching for some time and the only I've found are the old Htc Test applications, but can't get what I want.
Noted that HTC devices have a builtin debug tool (debuglog.dll). Anyone knows how to use it?
Also found the following the following post describing the HTCDiagDriver and the possibility to analyze the device using QUALCOMM eXtensible Diagnostic Monitor.
http://forum.xda-developers.com/showpost.php?p=12624471&postcount=2
Anyone uses it?
Global debuglog can be enabled via DebugTool.exe (available in Htc Test Applications). It depends on debuglog.dll, yeah. Read manual, it works quite well.
Then, if you want to get log for selected app, launch it via IDA.
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Some of the builds come with the Perfman package. That s.o.b. will really slow down your device, though, and it creates a massive log file, which I could never find the tools to analyze. I think celog does it, though, which is pretty sweet.
The htc debugger works better. You just change one of the debug flags and reset, and the device starts writing the log file. It doesn't slow down the device nearly as much as perfman. I think celog may work on that log file, too. You can royally eff up your device with that tool, though, if you mess with the radio flags. It's pretty cool how it writes to flash memory. Too bad you can't change other things with it like the page pool size.
ultrashot said:
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Click to expand...
Click to collapse
I have been playing with the tool on my Tornado and observed the following (usage related):
Use it while the device is disconnected from PC. The overhead of repllog.exe (connected to ActiveSync on XP PC) and syncing is just filling your log. For my installation (no further MS Mobile development tools on the PC) kerneltracker.exe does not connect to the device anyway.
Though obvious, the files CeLog*.exe have to run on the device, so copy them to a convenient place there.
The CeLogAttach.exe seems to start the kernel logging and it slows down the device (kind of obvious). There is no way to stop this logging. Something like CeLogDetach would be needed, if it exists, to restore the state before CeLogAttach.exe was run.
The CeLogFlush.exe will flush the existing log but also immediately start the logging again.
The CeLogStopFlush.exe does just what the name tells - it stops the flush to file of the (still ongoing) logging.
After transfering the celog.clg file (from \Release\ directory of the device) it can be opened in kerneltracker.exe. Then you see all the kernelactivities logged and aligned per process/thread on a zoom-able timeline (10ms - 10s) including the labels of the logged primitives. With event filtering you can sort out what you are not interested in. Here you may need advice on what to look after when you want to hunt down a certain device behaviour.
I have checked for page-faults, Virtual Memory related actions (Allocate, Copy, Free) and also Module actions (load, free) to get a clue if and how modules and paging (or better said: the use of the Page-Pool) is correlated. Nothing eye-striking coming up here, but it may just be for the unknowing observer like myself.
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Looking further: If I change certain device properties (like increase the pagepool or playing with OSB advanced options) I fear that the logged information here is just far too detailed for a useful compare. For that you would have to create identical conditions for the action under scrutiny - something that cannot be done with a disconnected device.
So I have to admit that all objective compare of such tuning and tweaking is far above my head and I just have to join the many that make more or less clever assumptions trusting on their model of actions in their heads. I hope that the better knowing heads continue to spread their wisdom without only telling RTFM or guide with LMGTFY (which can help if the results really point to right places).
tobbbie said:
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Click to expand...
Click to collapse
Use Event filter->Miscellaneous->Page fault.
I am not too advanced user of this tool. If we had builds with extra celog instrumentation, we could have take much more from this tool. However, there are some articles in the internets about celog, so anyone who wants to be get more info may just try to google it. I don't want
ultrashot said:
Use Event filter->Miscellaneous->Page fault.
Click to expand...
Click to collapse
That is what I did already when telling about the items I cared below. Page faults are however part of generic virtual memory management and they do also apply for any normal loaded executables. As you know I seek for traces of module related paging and the use of the page-pool.
So it will stay with the trial and error and side-by-side compare with two devices having different settings. Not a big thing doing that...
Some interesting articles on MSDN regarding the paging pool (aka "pagepool"):
Kernel Blog article explaining the fundamentals (highly recommended): http://blogs.msdn.com/b/ce_base/archive/2008/01/19/paging-and-the-windows-ce-paging-pool.aspx
Pagepool Variable explained and simple methods to measure impact: http://msdn.microsoft.com/en-us/library/aa451041.aspx
-> this is what kitchentools are patching in the kernel
Then some more backup on virtual memory - just to complete on that:
http://blogs.msdn.com/b/ce_base/archive/2006/10/30/what-is-virtual-memory.aspx
http://blogs.msdn.com/b/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx
http://blogs.msdn.com/b/hegenderfer...aying-the-virtual-memory-monster-part-ii.aspx
And to get back to the debug tools topic of this thread, linked form the first article an introduction to the Remote Kernel Tracker to explain what you can actually see there (and why you cannot see certain things as we have shipped ROM builds and not profiling builds to deal with): http://blogs.msdn.com/b/sloh/archive/2005/05/17/introduction-to-remote-kernel-tracker.aspx
Great insight if you want to get a glimpse of how Windows CE operates under the hood.
...reading a little deeper in the MSDN articles, Sue Loh mentions there when talking about the paging pool size determination:
The best tool I know is that readlog.exe will print you a page fault report if you turn on the “verbose” and “summary” options. If you get multiple faults on the same pages, your pool may be too small (you may also be unloading and re-loading the same module, ejecting its pages from memory, so look for module load events in the log too). If you don’t get many repeats, your pool may be bigger than you need.
Click to expand...
Click to collapse
To avoid dealing with a full setup of the Mobile Development toolsets, could any one (ultrashot - you have been so helpful - could you??) post that mentioned "readlog" tool? If there is something like "CeLogDetach.exe", please add it too.
BTW: you may notice that the paging pool is a central part of the Windows CE memory management when it comes to running executable code from "memory mapped files" (as Sue Loh calls them). In my understanding these are simply what we know as "modules".
A lot of tweaking strategies go around that when building ROMs with OSBuilder. There are several ways how to avoid or optimize the use of the paging pool for certain or all modules in OSB. I think these options deserve an own thread and I am not sure if the one OSB thread we have should be cluttered with discussing this.
don't have any of those.

Categories

Resources