i guess some supposably this developer no2chem overclocked the touch pro processor to 768mhz..i mean to me thats some bull but the hell do i know..so if this guy really did that...welll shouldnt it be possible to do it on our magics since they have the same processors? thats saying if this guy really did that
heres the link to the story
http://pocketnow.com/tweaks-hacks/htc-touch-pro-running-at-800mhz
This thread could turn out to be really interesting...
Yeah do that and cry about the battery draining in 4 hrs with hero roms LOL
Why would you want to? Apart from "because you can"....
With the winter coming, this are great news.. ahahahah
I'll never be cold again here with an overheated overclocked magic.. I hope it won't melt!
"Inspired by GSLEON3 I have started to investigate overclocking options of the ARM11 (runs OS) and ARM9 (runs radio). I disovered a few things which may be of interest, but so far no spectacular results. There is more research needed and I hope people like anton tomov, cmonex, olipro and pof can help out.
Here is a summary of my findings for the ARM11:
- it normally runs on 384MHz which is equal to a masterclock of 768MHz divided by 2
- the ARM11 clockspeed is 768/N MHz where N is a frequency divider (N=1..16)
- i haven't found an option for clock stepping. (If anyone has a MSM7x00 datasheet please share it with me so this can be investigated)
- i found ARM11 clock control code both in oemsbl and spl. The latter is great as it allows to control clock from WM
- there are two commands in a mfg spl to set ARM11 clock speed and to test it: "freq n" (n=0..6) and "test"
- "freq 6" sets the fastest speed: 384MHz and testing with "test" results in 436ms on my kaiser (MSM7200). Would be nice if someone tests this on a MSM7201 based kaiser
- i reverse engineered the "freq" command and found a table at 0x8c00e230 with 5 entries for each speed setting. For "freq 6" the settings are:
Code:
384000 ; equal to clockspeed/1000
1 ; determines which master clock to use (value is either 0 or 1)
1 ; master clock divider-1 (increasing it leads to slower test speeds)
96000 ; some other clock derived from from master clock
3 ; divider-1 for deriving the 2nd clock
- i hot patched these values with the "mw" command (e.g. mw 8C00E2A8 1 6D600) but could not establish any better result with "test"
- setting the divider to 0 (actually means divide 768MHz by 1) caused the device to freeze
- i didn't do any benchmarking in WM
- i haven't investigated ARM9
Okay, enough for now. I hope this triggers more interest and research for this topic."
That was another topic, but i was searching and i think that we could modify the /sys/devices/system/cpu/cpu0/cpufreq/cpu_max_scaling_freq we could overclock easyly our devices...
well with tool like setcpu we could set lower speed when the phone is sleeping and the battery wont go down that bad ..hell if its possible im down to try it
no2chem (maker of nueROM) is a VERY well respected developer here on XDA who has done a ton of work on WM handsets. He's done quite a bit of low-level work on WM builds and created apps/drivers that even I (as an experienced Windows developer) can scarcely comprehend because it's low-level, hardware-related code. Months ago he did in fact develop a clock-speed app that does allow for over/under clocking of the TP (which I own and have tweaked with many of his apps).
I agree that 800MHz sounds a bit far-fetched, but so did overclocking my i7 920 from stock 2.66 to 4.00 on air, but it's done regularly (though not generally for long-term) on eVGA x58 motherboards (which I use). That said, I wouldn't dismiss the idea too quickly.
His blog and tools can be found here: http://www.nuerom.com/BlogEngine/
Specific article is here: http://www.nuerom.com/BlogEngine/post/2009/09/06/Touch-Pro-running-at-800MHZ.aspx
He's basically the Windows Mobile equivalent (if there is one) of Cyanogen.
bobdude5 said:
i guess some supposably this developer no2chem overclocked the touch pro processor to 768mhz..i mean to me thats some bull but the hell do i know..so if this guy really did that...welll shouldnt it be possible to do it on our magics since they have the same processors? thats saying if this guy really did that
heres the link to the story
http://pocketnow.com/tweaks-hacks/htc-touch-pro-running-at-800mhz
Click to expand...
Click to collapse
interesting work.
i wonder if it will works on others phone. let me try it with my htc fuze. will post result later.
Maybe a solution for changing the cpu max_freq value it's inserting it to the source code when we compile a rom... I think that modding this file are the first step:
http://android.git.kernel.org/?p=ke...3;hb=ebea985a6ec461a59afb86f0068cc1d79d7c8bf1
227 CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=384000
228 CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=245760
I think that if we change the line 227 we can overclock, but the problem is that we have to make a rom for testing it.
It's only my opinion!
When i had my blackstone no2chem supposedly oc'd that to some stupid amount but the software he delvelops wouldnt do it. All it would do is the same as set cpu?
Yes, it seems to be the same CPU, if someone can ask no2chem...
hi,
no clue about nix platforms, but you should be able to access A11S_CSR_BASE, follow these steps:
A11S_CLK_CNTL (A11S_CSR_BASE+0x100)
[6:4] = 1 ;Global PLL
[3:0] = 0 ;Divider Ratio 1:1
A11S_CLK_SEL (A11S_CSR_BASE+0x104)
[2:1] = 3 ;Divide AHB Clock by 4
[0] = 1 ;Select Clock Source 1
oh,and A11S_CSR_BASE is at phys 0xC0100000.
See latest post
http://www.nuerom.com/BlogEngine/post/2009/09/08/Yet-more-notes-on-overclocking.aspx
for more information.
no2chem said:
hi,
no clue about nix platforms, but you should be able to access A11S_CSR_BASE, follow these steps:
A11S_CLK_CNTL (A11S_CSR_BASE+0x100)
[6:4] = 1 ;Global PLL
[3:0] = 0 ;Divider Ratio 1:1
A11S_CLK_SEL (A11S_CSR_BASE+0x104)
[2:1] = 3 ;Divide AHB Clock by 4
[0] = 1 ;Select Clock Source 1
oh,and A11S_CSR_BASE is at phys 0xC0100000.
See latest post
http://www.nuerom.com/BlogEngine/post/2009/09/08/Yet-more-notes-on-overclocking.aspx
for more information.
Click to expand...
Click to collapse
oh i didnt know you were on xda lol so it is possible then on our magics??
by the way greatjob on finding this out
But i think that Android SO, doesn't allow accessing to this memory address, it should be out from the user ring... But if the memory address is stored always in the same address (in any platform) we should modify the android source code to allow accessing to this memory address. Otherwise, it seems to be dangerous, because you're writing directly in the CPU registers... a wrong value can fry our cpu...
Now we have a expert low level coder followin this topic... now.. we need a kernel expert for asking about how we can modify this memory adress.
anyone heard any update on this? seems like it just has died, no news from no2chem at all
ricardomega said:
With the winter coming, this are great news.. ahahahah
I'll never be cold again here with an overheated overclocked magic.. I hope it won't melt!
Click to expand...
Click to collapse
i honestly had to laugh out loud when i read that
Related
Has any one got a link for a freeware program to do throtterling of the CPU as in not always running at 400Mhz? I've seen a few more complex ones that you have to pay for but they do all sorts of things? I am thinking of giving it a go and the whole point of Intel developing the XScale chip is because it's able to Scale down the speed (Hense the name) this saves a lot of battery life apparently...
Any ideas?
Downclock your processor will not take a lot saving your battery life (about 10%).
Use XCPUScalar for your Xscale cpu,it let you choose 100-200-300-400-472 Mhz mode.
Regards
Double post
thanks for the reply unapproachable2kx I will take a look into that program... Great work...
Hear is a direct link for any one that would like to look it up as well
http://www.immiersoft.com/
does the program expire at all? has any one done any testing of just very basic PDA work as in address lookup, phone number lookup and that sorta stuff and seen how much extra battery like they can get out of there PDA?
Is there any programs that can automaticly scale the speed of the CPU acording to CPU load that is freeware? Will Microsoft be implamenting CPU scaling in the Second Edition of there 2003 OS? still can't belive that its not a built in feature if the CPU's where designed to scale acordingly...
Does no one else know of any others that can scale the CPU speed according to usage? ass well as the software being freeware?
The Xscaler prog is not free.
This is
http://elevatedstudios.com/pocket/
Thanks for the link xda-rocks, Have you had any trouble using this software on the XDA II, I see they give you a bit of babble about you may have to do hard resets and stuff like that.... Have you had any problems as yet... I have never used any CPU throterling software and am just wanting to play around with it a bit..
Do you notice a extended battery life if you use this software at all?
No probs so far, but haven't really had time to try it - only just installed myself.
Hello developers out there...
I have an idea in my mind:
* we can monitor an omap-cpu and
* we can overclock it with omapclock
What about using the cpu-load value to configure omapclock as needed?
For example:
My device is an MDA Compact II (Charmer)
Standard CPU-speed is 195 MHz
Most times my CPU runs nearly idle.
Why dont reduce the cpu speed to 100 MHz (e.g.) if cpu load is < 20% to safe battery?
On the other side i use a gps-system which uses much cpu load - I have to overclock here.
If cpu-load reaches more than 70% my processor should be overclocked... currently I use 245 MHz
We would need a script monitoring cpu load regularly and starting omapclock if needed. As I'm not a programmer - is this possible and is there someone out who would write this? If so - I'm interessted in beta-testing...
Is someone else interessted in such an application?
Is there a solution out there which is able to do so? (I googled around but I cannot find...)
Thanks in advance for any comment - and excuse my bad english...
Greetings from Austria
This is a really excellent idea. If there is no other (more competent) programmer out there then I will give it a try - I've never made a WM5 program from scratch before, only modified one!
xcpuscalar works that way
The idea isn't as wonderful as it sounds due to the structure of the OS.
At first it sounds like the automatic gearing in a car however it isn't as simple in a multitasking OS. IMO the kernel scheduler of WM5 still has a long way to go in terms of responsivness to current active application.
oldsap said:
xcpuscalar works that way
Click to expand...
Click to collapse
Does xcpuscalar really work? I searched around and found this:
http://forum.xda-developers.com/viewtopic.php?t=24290&highlight=xcpuscalar+benchmark
ady said:
IMO the kernel scheduler of WM5 still has a long way to go in terms of responsivness to current active application.
Click to expand...
Click to collapse
If I understand you right - in easier words - if we switch the speed to often we slow down the response for other programs?
What about defining a configurable time to wait before the device is allowed switching again - e.g. 10 seconds?
being that every single chip have a different level they can overclock without turning toast
and devices can have more or less dirt and dust in them
or be in different temp envioments and air humidity
this program could be a costly thing to use to gain an unsurden amount of batt and speed inc
batt and speed usage is not linear depending on overclock
there are piles of wait states and such which could mean that
overclock dont help much
there could be power usage for regulating clock which mean that
changing it often use more power then normal operation
Thanks for your comments.
I think this application could be useful if it is configureable enough.
How can the cpu load be queried on a PPC?
I cannot find something helpful on MSDN.
The program would need the following specifications:
Does not slow down the PPC with constant CPU polling
Only overclocks when the CPU is under high demand for a significant amount of time
Is configurable to only under/overclock to levels prescribed by the user
This can be achieved quite easily:
Program runs in the background and checks CPU usage every x seconds, where x is chosen by the user and is in the order of seconds, say 2-5 seconds
The PPC will only be overclocked if the CPU usage is above y% usage for z * x seconds, where z is an integer of somewhere between 2 and 3
Similarly, there will be a threshold of usage below which the PPC is underclocked
Rudegar, those issues you mentioned should hopefully not be a problem.
The under/overclocking can be configurable as mentioned above so that each user can experiment with OmapClock and determine which are the best speeds for their processor to run.
Also, you could simply use it to underclock and save battery when the processor is not in use.
If checking the CPU usage is not too processor intensive then the program will not slow down others.
You perfectly described what the application should do.
Thanks Oliy.
Let's proof our concept. I can help with alpha-tests.
I also can do some performance/and battery tests with some tools around in this forum.
I even can write a documentation in German (i could write it in English too but I dont think this is a really good idea...)
Lets go?
I would like to write a tool for out omap, but i can't find any specs on omap cpu !
If anyone can give me some specs i can develop this without problems !
maddoc said:
I would like to write a tool for out omap, but i can't find any specs on omap cpu !
If anyone can give me some specs i can develop this without problems !
Click to expand...
Click to collapse
Maybe this?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemain4/html/cerefGetIdleTime.asp
I forgot to mention: this describes how to measure idle time. For cpu-scaling we should call omapclock as it works perfectly.
For cpu-scaling we should call omapclock as it works perfectly.
Click to expand...
Click to collapse
I agree, no point reinventing the wheel.
I have checked out ways of getting the CPU load. Unfortunately the PerformanceCounter class is not available in the Compact .NET framework so it will have to be done on system idle time as mentioned earlier.
If we are calling an external program to do the under/overclocking then we can easily extend this program to support all CPUs.
I will have a go at making a program capable of determining CPU load tomorrow?
laggflor... I don't speak German! What device do you have? I have a Wizard.
laggflor said:
oldsap said:
xcpuscalar works that way
Click to expand...
Click to collapse
Does xcpuscalar really work? I searched around and found this:
http://forum.xda-developers.com/viewtopic.php?t=24290&highlight=xcpuscalar+benchmark
Click to expand...
Click to collapse
wow thanks for the headsup. I was kinda doubtful of xcpusclar.
If we are calling an external program to do the under/overclocking then we can easily extend this program to support all CPUs.
Click to expand...
Click to collapse
Right, this is great!
laggflor... I don't speak German! What device do you have? I have a Wizard.
Click to expand...
Click to collapse
You dont need to speak German - but I think a manual in english should be written by someone speaking english as mother language... I can write a Manual in german if wanted.
I have a Charmer.
I will have a go at making a program capable of determining CPU load tomorrow?
Click to expand...
Click to collapse
These are good news. Good Luck...
Thanks.
If I write the program then I'll have a go at documentation too, it should be very simple really, just 4 inputs required from the user regarding the load polling frequency, the boundaries at which to overclock and underclock, and the threshold of these boundaries.
Also, an external function to be called for under/overclock.
I'll have a go at this in a few hours - right now, I'm off in the sun to celebrate England beating Paraguay!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I've made a program which seems to monitor CPU load fairly well.
Now, I have to make it decide when to under/overclock, then I will add support for running an external program (OmapClock) to set a new clockspeed.
Finally, I will add a user interface (or maybe not - might just keep it as an xml file).
Oliy said:
I've made a program which seems to monitor CPU load fairly well.
Now, I have to make it decide when to under/overclock, then I will add support for running an external program (OmapClock) to set a new clockspeed.
Finally, I will add a user interface (or maybe not - might just keep it as an xml file).
Click to expand...
Click to collapse
These are quit good news. i was off some days - and in the meantime you are discussing such crucial things. Your spec in the posting above is excellent and the idea from you - laggflor - is really cool.
Let me do some more suggestions:
1. Make it configurable to have a user defined clock speed at starting the program. This is because i often switch on the device and want to check meetings or something like this. This lasts quite short and i want to have maximum speed for this short time due to some program start. After an also configurable amount of time the hysteresis starts.
2. If i switch from a very high clock speed to very low (264 -> 132) the device hangs up sometimes. Maybe you can decrease clock speed in more steps.
3. Maybe it is possible to have several cpu load regions all configured with a different clock speed. But propably it is better to do it in a second step.
By the way: Greetings for beating Paraguay. I hope that england make the group as winner - otherwise you will have germany in the next round. This is not good for you We will not loose again like at euro championship 2000)
Hi,
In answer to your suggestions:
1. The user can define the clockspeeds required for Underclocked, Default Clock, and Overclocked. It will always start at "Default" and so you can set this to whatever you want.
2. The program has 3 states - overclocked, default clock, and underclock.
It will enter either of these 3 states depending on the load, but it will never go straight from overclocked to underclocked or vice versa, always:
Underclocked -> Default clock -> Overclocked
And of course the reverse. Hopefully this will mean that the steps are small enough that it will cause no problems. I have used 150Mhz -> 200MHz -> 240MHz and it is fine.
I've got the program running on my device and it appears to work fine. I'm just working on the user interface now so that it is easy to set the parameters of the program. I will post a version soon, perhaps tomorrow.
Oliy
how did you implement CPU load monitor ? I checked a way trought MSDN and google but i don't found nothing using .NET, i was curious about it... i just found on MSDN a small sample called "Performance Counter" that give me some tips using :
QueryPerformanceFrequency
QueryPerformanceCounter
and count ms between two ticks
Hi Guys,
Pretty impressed with this site, the dedication and commitment everyone here has.
Just thought to pick minds....
Which is better of the 2 clocking apps : OMAP (of which I could only find ver 0.2) or BatteryMeter , gives the best overall performance vis installation file size and continous use ?
Your thoughts please
AD10
I think they are the same thing, BatteryMeter provides the nice user friendlier interface that invoke OMAP (or you mean OmapClock?). For small size, OMAP is a command line simple tweak etc, but maybe difficult to set up, esp if you want it to be still around after suspending your phone. So, probably for start, try the Bmeter.
Don't you mean BatteryStatus instead of BatteryMeter?
Anyway, BatteryStatus, despite the name, has also overclocking features and has the advantage that the settings remains if you perform a reset. As far as I know, Omapclock does not.
hanmin said:
I think they are the same thing, BatteryMeter provides the nice user friendlier interface that invoke OMAP (or you mean OmapClock?). For small size, OMAP is a command line simple tweak etc, but maybe difficult to set up, esp if you want it to be still around after suspending your phone. So, probably for start, try the Bmeter.
Click to expand...
Click to collapse
here's the helper
http://www.nicque.com/PQz/OmapClockPlus.htm
Thanks guys,
Yes I meant BatteryStatus and OMAPClock.
I have tried both, and stuck to BatteryStatus - offers more information and seems to be constantly supported by Kai.
OmapClock and batteryStatus read different clocks
I used OMAPCLOCK to set the clock to 208 MHZ, however batterystaus, even not using its overclock function reads it as 221 MHZ instead.
Which one to trust???
Tks
I used OMAP for a while, but I was able to overclock max 246, now I use batterystatus and I OC to 286 without any problem. (Also BS has many more features over OMAP)
If anyone is interested I have made slight progress with linux on the Mogul. First you have to download the latest versior or haret from here http://handhelds.org/~koconnor/haret/ I am using this version haret-20071029d.exe Then i downloaded some stuff from this site http://www.angstrom-distribution.org/unstable/images/ I downloaded the apache images because it is the ppc6700 sprints one lower model than the mogul. The kernel does not boot. I think that this is because the processor is a different arch. I am going to try to build a custom kernel when I get home tonight. I did not extract the distro however I think that that will be a good starting point once we get a working kernel as the devices are simular (sliding keyboard, same size screen, made by htc, cdma, etc.) I also found out that you have to pass this arguement in the haret startup.txt file or it will just crash haret. "set MTYPE 1463"
My startup.txt reads:
set KERNEL zImage
set MTYPE 1463
set CMDLINE "rootdelay=1 root=/dev/mmcblk0p2 console=tty0 fbcon=rotate:1"
boot
edited from this page http://www.handhelds.org/moin/moin.cgi/ApacheLinux you might want to look there for information. It is what got me this far.
If you would like to help please post to let me know. Please do not post something like "I can test it" or "I would be willing to test" or "Can you send me a copy when you get it working"
Right now I need some help not testers
Thanks in advance
P.S. you can find all of the known mtypes here http://www.arm.linux.org.uk/developer/machines/
The apache and Titan have totally different hardware.
All the device drivers would need to be re-written from scratch. The 6700 was easier because previous devices (6600) had similiar architecture. The current generation of HTC devices (Titan, Kaiser) uses some new chips for the radio and main proc that haven't been used before in any device by HTC.
Drivers would be compiled as part of the kernel to begin with. They could be modules later on. I was just gonna use the image for the binaries of gpe. However further research shows that there is a gpe phone edition, opie2 (which is for phones) and my favorite openmoko which i'm about to compile.
main processor wise, some nokias also have the same ARM11 processor (as the titan and kaiser) in them. N95 being one of them.
wandrerx thatnks for the help. I spent all night trying to figure out what the linux kernel calls this processor or processor family. There is no simple answer like arm11 or qualcomm or msm at least not yet. I will do research into this nokia and see if that turns up any answers.
Thanks again
just remember that in many cases the arm11 is paired (which I'm guessing is part of the architecture) so either things will go through a qualcomm/samsung/whoever layer or things are sent directly to the arm11 and to the dual phone processor. Mucking around I found that there are various power modes (possible overclocking? I'd assume they would use a conservative power mode for a phone like this)
from what I have read it is built simular to how a dual core pc is built. It has two cores on one chip. However unlike dual core pcs the cores are not symetrical. One is an arm11 chip and the other is an arm9 chip depending on the model. The arm11 chip in this case is 400mhz and the the arm9 chip is something like 133mhz. The 400mhz arm11 core is deticated to running windows and applications. The arm9 ~133mhz chip is deticated to running the phone, wireless, bluetooth and gps.
What does this mean? Well it means that we could get linux running with a compatible arm11 kernel, however we would not have any communication ability. And I think that you are correct that there is or is going to be an arch that supports both processors with one simple kernel.
Another thought... Qualcomm has their own OS (BREW) that is built for these chips. It might be worthwhile to download it to see if it gives us any more clues to the hardware then windows mobile does.
Hope that this helps.
P.S. here is qualcomms site with info on the msm7500 http://www.cdmatech.com/products/msm7500_chipset_solution.jsp
More research... Open moko was designed for the NEO1973 which runs at up to 266mhz. The mogul/titan according to qualcomm can run at speeds up to 528mhz. That is more than twice as fast! If you look at movies on youtube of the openmoko OS you will see that it runs really fast. Very comperable to windows mobile faster with some things slower with others. If you go to the openmoko wiki and look at the supported hardware you will see that the fastest processor of any of the devices that it runs on excluding the other HTC products is 312mhz. The mogul/titan runs at 400mhz with windows. The other openmoko HTC devices run at 416 and 520mhz. The mogul/titan is capable of 528 so if/when we get linux on the mogul/titan it should be extreamly fast once it is booted. For some reason linux takes a long time to load on mobile devices. However if we get a native bootloader replacing windows completly it will probably take about the same amount of time to boot. Currently my idea is to haret or any other bootloader in the windows startup folder to boot directly to linux once windows loads.
More research part 2...
ARM ltd. uses linux to test all arm processors during the development cycle. They test every feature and make sure that everything works correctly. They also use it to stress test the processors. So my question is why don't they release these drivers when the new processors are released? I will scour the internet for any unofficial drivers or anything that could help us. I will be posting everything that I find that I think might be helpfull.
First off sorry for the tripple post.
Now the exciting news. The msm7500 uses the ARM1136EJ-S core. I'm not sure how simular the ARM1136EJ-S is to the ARM1136J-S and the ARM1136JF-S. I know that in the computer world one letter can mean a heck of a lot or next to nothing but... There are patches for both of the later on the following site. http://www.arm.linux.org.uk/developer/patches/search.php?summary=arm1136 granted these patches are atleast a year old but they do tell us one thing. the sub arch for these processors is arm1136 and that the most of the patches are in the linux/arch/arm/mm folder.
However in the kernel that I am using handhelds.org this still isnt an option. However there are three ARM Ltd. sub archs that I'm going to look up on their site and SA1100-based and also EBSA-110. I am hoping that the 11 in these archs means something to the effect of arm11 or that ARM Ltd. can spread some light on the situation. If worst comes to worst next Sunday or whenever I get enough time I will compile each of the arm kernels with the basic options and see is any of them boot on the mogul/titan. If they do that could mean either that we found the right arch or a compatible arch such as x86 is compatible with x86_64. Once I have something booting I will release it so other developers can use it to dump hardware information and if I can use usb networking or the keyboard by some stroke of luck I will try to get the output from a dmsg. Hope this helps
Breaking news: Disreguard most of what was just said some is true other is just guesses showing my stupidity. I just did a simple google search on "ARM1136EJ-S linux" without the quotes not expecting to find anything usefull. I was wrong again. I learned of other chips that use the ARM1136EJ-S core the TI OMAP2420 is based on this same core. Finally a arch that is selectable when configureing a kernel. Now to do more research into the TI OMAP2420 and other chips with this core and posibly finding some kernel configs to use as a starting point. I am so excited :-D
great find
Although not the same simular to the msm7500 (phone, wifi, BT, gps, 2 cores, usb, IR, flash, ram, keypad, camera, sd card) Oh yeah and did I forget to mention... People have booted linux on this bad boy. I also read that the kernel config for this is included with the linux kernel too!!!
http://focus.ti.com/general/docs/wt...entId=4671&navigationId=11990&templateId=6123
P.S. This file in the handhelds.org kernel controls this processor and its preriphrials /linux/arch/arm/mach-omap2/board-h4.c
Where I located the information said that it can be found in /linux/arch/arm/mach-omap/board-h4.c with the kernel from kernel.org I'm not sure if this is just outdated or changed in handheld.org's version of the kernel eitherway I am going to have my computer build the kernel as I sleep tonight. (There will be no modules everything will be built in) <-- for simplicity incase it doesn't load the ext3 filesystem on the microsd card for some reason. I have a feeling that some of the irqs in the file listed will need to be changed to work with the mogul/titan but maybe we could get lucky.
A little more info for someone trying to build the kernel. The kconfig file in the in the mach-omap2 directory says this:
config MACH_OMAP_H4
bool "OMAP 2420 H4 board"
depends on ARCH_OMAP2 && ARCH_OMAP24XX
Hope that that helps if you are trying to get a working config. Oh yeah one more thing I am useing the handhelds.org kernel because 1. I have it 2. I figure that it is made to be compatible with the most devices. I am planning on switching to the openmoko kernel as soon as I have something booting. I might need to steal patchs etc from the handhelds.org kernel though. I don't know as I haven't downloaded the openmoko kernel yet.
Nice... see, I like being proved wrong for stuff like this.
I've been telling people it couldn't be done.
Keep up the good work researching!
Well I built a kernel...
I also loaded the kernel
I am unsure how far it gets after that I will post my haret log files. One I made an empty file named zImage-fake. The other one is my (nonworking) kernel. And one I made by booting the openmoko zImage that I found somewhere on the internet. None of them booted Are you really supprised? But we did get some information from haret. And I can verify that the progress bar in haret did move form the beggining to the end when booting both real kernels. The empty file does nothing and haret just sticks. Pretty much all this tells us is where haret is looking for the kernel and what it is decompressing. Memory mapping and so on. It is all greek to me I have no clue what it means. Hopefully you guys will know more.
Something interesting I was reading on the kiser forums about there progress with linux on that device. They dont even know about the cores being the same as the TI OMAP 2420 processor. However they say that haret only reconises the msm7500 as being there but has nothing more as in no ability to boot kernels because nothing is known about the cpu. If this is true could someone contact Kevin O'Connor as he is the one that patched haret to reconize the msm7500 and tell him about the OMAP discovery and see if that helps. Or contact Paul Sokolovsky the other haret maintainer.
my default.txt is as follows:
set KERNEL zImage
Set MTYPE 1463
set CMDLINE "rootdelay=1 root=/dev/mmcblk0p2 console=tty0 fbcon=rotate:1"
boot
One last thing here are the haret logs and my kernel config incase anyone wants it.
P.S. I compiled my kernel with binutils 2.18.50 and the following arm gcc toolchain arm-linux-gcc-3.4.1.tar.bz2 <-- I found the link here http://www.gtlib.gatech.edu/pub/handhelds.org/projects/toolchain/ and binutils was found here ftp://sourceware.org/pub/binutils/snapshots and I referenced the guide to compile the kernel found here http://www.handhelds.org/moin/moin.cgi/KernelBuilding
More interesting/helpfull news...
Without specifying an mype haret reports "undefined MTYPE"
With the arguments "set MTYPE [MTYPE]" it will decompress the kernel.
I was hoping that I could find a MTYPE that wouldn't load but so far I have been unsucessfull. Everthing loads and there are 1538 different MTYPES. Now I guess that we could try every MTYPE untill we get something that boots or maybe someone has a better idea. Also here are some more devices with the same core.
Motorola MOTO Q9h Global
Motorola MOTO Q 9h (Q9h)
Nokia E90 Communicator
Verizon XV6800 (HTC Titan 100)
HTC Touch P3050 (HTC Vogue 100)
HTC S640 (HTC Iris 100)
Bell HTC 5800 (HTC Libra 100)
HTC 5800 (HTC Libra 100)
Bell HTC 6800 (HTC Titan 100)
HTC S720 (HTC Libra 100)
HTC P4000 (HTC Titan 100)
Here is a haret log when I pass the lsmod arguments. My guess that it shows all of the windows drivers that are loaded. Now if we just do a simple google search on them or if someone knows how decompress them and or look at them we can possibly find out more about the hardware.
My understanding,or rather assumption was that one processor ran windows and the other ran the radio and that the two were separate. I assumed that if you were to make linux run on these new phones,you would run linux on the 400mhz processor,and run the existing radio rom on the other which I would expect to make things much simpler. Rather than figuring out how to make the radio work,you would just have to figure out how to talk to the radio and the rest of the work would be done for you.
pflatlyne said:
My understanding,or rather assumption was that one processor ran windows and the other ran the radio and that the two were separate. I assumed that if you were to make linux run on these new phones,you would run linux on the 400mhz processor,and run the existing radio rom on the other which I would expect to make things much simpler. Rather than figuring out how to make the radio work,you would just have to figure out how to talk to the radio and the rest of the work would be done for you.
Click to expand...
Click to collapse
I've been watching from the Kaiser Section. Firdtly let me say that I believe you are correct. The way every device I've seen uses the two processors is as Follows: The ARM11 is your 400mhz system processor & the integrated 274mhz ARM9 is almost always used a a modem connect the system to the radio, GPS, etc.
I don't know if you've seen this, but there are some Dev tools/Info available at: http://www.virtio.com/
10/21/2004 - Virtio Corporation, the creator of Virtual Platforms for embedded software development, introduced its latest product offering for the Texas Instruments (TI) OMAPTM platform, the VPOM-2420 Virtual Platform. This product provides fast, full-function emulation for TI's OMAP2420 software development platform. Virtual Platforms give software developers a target system model that can boot an operating system and run application code long before hardware becomes available, speeding new system software development.
Additional information is available at www.virtio.com/vpom-2420 and evaluation copies of the platform are on-line at http://www.virtio.com/download.
I'm really curious to know what has become of this. Could an insider provide an update please?
Best bet is to watch the android wip. I'm going to get another mogul here in a couple months, i'll be using my current one as a test bed. since it's my only phone, i'm not too keen on hacking into it just yet
Check http://cs-alb-pc3.massey.ac.nz/vogue
I think here is the right place to ask
Do u know/is there any C/C++ IDE that can actually run on WM?
I do not mean writing apps for WM. I mean writing, compiling (and y not debugging) programms directly on the PDA.
And generally is there such an IDE for any other programming language?
thx in advance
there is some for c# .net
and pocketVI support some c not to compile to native code or a real IDe though
I don't even think the pocket pc is powerful enough (yet) to handle the task of compiling software (unless you get a real os on there like linux).
I dont know if this is what you are looking for, but you can try Basic4PPC
I've tried it and I love'd it!
Rudegar said:
there is some for c# .net
and pocketVI support some c not to compile to native code or a real IDe though
Click to expand...
Click to collapse
yes i've seen that! i guess u r talking about http://www.geocities.com/hrowson/wm5_software/index.htm
just wondering if there are similar IDEs for other langs, like C, C++
Steven855 said:
I don't even think the pocket pc is powerful enough (yet) to handle the task of compiling software (unless you get a real os on there like linux).
Click to expand...
Click to collapse
hm.. i do not think that compiling is such an intensive task.. Well if u have like 5000 lines on ur windows mobile sure will take long..
But generally testing smal progs etc would be fine i think
Compiling is not something that came out with along with the fast CPUs!
What is more, the HD has a pretty fast CPU (i think!). Still remember that my first desktop PC's CPU was around 500MHz (!)
fredamexis said:
I dont know if this is what you are looking for, but you can try Basic4PPC
I've tried it and I love'd it!
Click to expand...
Click to collapse
u can use it to write progs directly @ ur PDA? (withour PC)
thx i will check it anyway!
See this thread: http://forum.xda-developers.com/showthread.php?t=445396
The following will compile (I've tried them) on the phone:
PocketGCC (FREEWARE)
Pocket C# Combo (Everything you need to compile and write apps for WM-- FREEWARE)
However, they do have limitations.
I'm completely positive FPC can be made to run on ARM. I'd say the chances of getting Lazarus (*the* FPC IDE) to run on WM are 30% out-of-the-box, and 70% after a day of hacking
The real question is... WHYYYY!?!?!?!?!?! would you want to?
LiKBeAsT said:
hm.. i do not think that compiling is such an intensive task.. Well if u have like 5000 lines on ur windows mobile sure will take long..
But generally testing smal progs etc would be fine i think
Click to expand...
Click to collapse
Dude seriously, compiling is a very CPU intensive task. 5000 lines? That is exactly one nothing in code terms.
Compiling is not something that came out with along with the fast CPUs!
What is more, the HD has a pretty fast CPU (i think!). Still remember that my first desktop PC's CPU was around 500MHz (!)
Click to expand...
Click to collapse
Oh please. My first desktop PC's CPU was 4.77mhz (with a turbo switch to 8!) and I'm considered a newbie in that area. While 500mhz is not necessarily slow, HTC hasn't produced a fast device in over two years. The HD is a horribly slow device.
Just a guess, but I'd say that the HD should still be fine for compiling. No floating point operations and no graphics.
Limitations to compilation probably memory size and memory speed, more than anything else? This will be a particular problem for C++, especially if you're doing anything more than minimal templating.
And putting Linux on it won't suddenly make it much better at compiling things - very little of this will be reliant on the OS subsystem.
ajige said:
See this thread: http://forum.xda-developers.com/showthread.php?t=445396
The following will compile (I've tried them) on the phone:
PocketGCC (FREEWARE)
Pocket C# Combo (Everything you need to compile and write apps for WM-- FREEWARE)
However, they do have limitations.
Click to expand...
Click to collapse
yea checked that out but it also had many other stuff and i wasn't sure about what i was asking
Chainfire said:
I'm completely positive FPC can be made to run on ARM. I'd say the chances of getting Lazarus (*the* FPC IDE) to run on WM are 30% out-of-the-box, and 70% after a day of hacking
The real question is... WHYYYY!?!?!?!?!?! would you want to?
Click to expand...
Click to collapse
erm.. i guess for fun, testing small progs and keep in touch with the lang when away from PC
Chainfire said:
Dude seriously, compiling is a very CPU intensive task. 5000 lines? That is exactly one nothing in code terms.
Oh please. My first desktop PC's CPU was 4.77mhz (with a turbo switch to 8!) and I'm considered a newbie in that area. While 500mhz is not necessarily slow, HTC hasn't produced a fast device in over two years. The HD is a horribly slow device.
Click to expand...
Click to collapse
Well, obviously i ammuch more younger (going to 20!) So my first PC was turbo-machine
Anyway! i guess nobody is going to use PPC IDE for that big progs and of course yes. they will take hours to compile (i guess)
Fast is a bit subjective i think.. What do u mean horribly slow? in terms of CPU, response time etc?
Thx everyone for the input!
PPC is pretty fast. You feel it is slow just because it has too many bad designed apps slow it down (must have while(1000) {Sleep(1000)} inside! no joking, I did see it sometimes!) and it has lack of good graphic driver (or chipset) so your TF3D has to use software to simulate semi-transparent effects and support z-order by allocating large buffer and repeatedly copy them.
Try pocketdos (or bochs emulator), you can run a windows 3.1 on ppc.
Then you can use TC, or old version of VC++/VB/Delphi etc on windows 3.1/dos
Considering emulator running on a real machine usually ~100 times slower than virtual machine, and ARM processor is a RISC chipset usually faster than CISC, your PPC is much faster than a Pentium even some Pentium III computer.
You may not understand how RISC faster than CISC. a function call in x86 cpu usually like
PUSH param1
PUSH Param2
Call function1 ( which push IP and stack again)
and more PUSH inside the function1.
it involves a lot of memory operations. memory is out of CPU so it is low.
A function call in ARM cpu usually like
MOV R0, param1
MOV R1, param2
BL function1 (which set return address in a register)
It doesn't use memory at all. everything is done within processor.
Pentium and after that solve this bottle neck by adding cache. But your code may not in cache when switching context. RISC is naturally faster.
ARM in general can be fast. However in MSM7K devices it usually isn't. All floating point operations for example are done in software, not hardware - this is why a lot of stuff is slow (try for example a Samsung chipset based on ARM, they are much faster for a lot of things). Hardware floating point is an absolute must for any multimedia related thing, and can affect any multiplication or division (and similar) where your compiler does not know at design time whether it will be an integer operation or not.
Furthermore, TF3D is actually one of the few things on these devices that actually does use hardware graphics acceleration.
Even then, while I do agree that RISC in general can be faster than CISC , no compiler worth its salt will use a stack-based calling convention (at least for non-exported functions) unless explicitly specified to do so. Register based function calling exactly like you give for your ARM example is quite normal on x86 as well.
And yes, my old and rusty 500mhz Pentium laptop literally ran circles around any MSM7K.
As far as I known compiler or IDE almost doesn't need float pointer operations at all.
386SX or 486SX works well and fast with old version of VB and VC.
That was an example for why MSM7K was slow. Even if it isn't applicable to compiling, it's still a slow-ass chip
Meme IDE
you could try this...its not c# or c++ but very similar
Build with a drag and drop editor. Develop complex functions using the unique MemeScript. A language created to make elements simple and cohesive on any platform.
It is currently in beta release and at the moment you can develop for Android and WM. IOS will be included in the full release and Blackberry further down the line.
OH and its FREE
find out more or download and play with it at www.memeapps.com
joememe said:
you could try this...its not c# or c++ but very similar
Build with a drag and drop editor. Develop complex functions using the unique MemeScript. A language created to make elements simple and cohesive on any platform.
It is currently in beta release and at the moment you can develop for Android and WM. IOS will be included in the full release and Blackberry further down the line.
OH and its FREE
find out more or download and play with it at www.memeapps.com
http://www.memeapps.com/
Click to expand...
Click to collapse
it is worth to try after the running download. Thank's for the hint.