x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 
Latest Forum Activity

Jornada 720 memory clearing via software (help needed!!!)

karloch Page Icon Posted 2006-02-27 12:09 PM
#
Avatar image of karloch
Factorite (Junior)

Posts:
48
Status:
Is there a way to completely clear the Jornada's 720 memory via software? What I want to do is to have the 32 MB empty, just like there was a power failure on the device and WinCE setup has to show up again.

I'm am asking this for implementing on the shutdown command of a Linux distro. The ide is to be able to reboot from Linux to Windows CE without removing the battery. With our current Linux distro, shutdown command will power off the screen of the Jornada and halt the operating system, but the device is still running. If in that moment we press the Jornada's reset button, we'll get back to the HP Invent logo and remains there forever (even if you press S during boot logo it will show "Entering diagnostics...", but it will freezes also). We think that the bootloader freezes due to the bad memory organization that is left upon leaving Linux.

If we could clear the whole RAM (or restore it to a bootloader known status) just before the OS halting, maybe that bootloader won't freezes after pressing the reset button and WinCE show up.

I understand that clearing the whole 32MB RAM would require some ASM or low level C coding...

Why the interest in getting back from Linux to WinCE? It's just to suspend the machine. Linux doesn't support very well suspending without a flashboard, so we could shutdown Linux and return WinCE we we want to do a real suspending.

Is there some J720 coder that could help us in this matter?
 Top of the page
raul Page Icon Posted 2006-02-27 12:32 PM
#
Avatar image of raul
Factorite (Senior)

Posts:
88
Status:
I think we could as the developer of psShutXp (it has the option t hard reset). Even if it uses some WinCe functon it should be possible to port it to linux.
 Top of the page
ncchang Page Icon Posted 2006-02-27 12:37 PM
#
Avatar image of ncchang
Factorite (Junior)

Posts:
34
Status:
 Top of the page
chazco
chazco Page Icon Posted 2006-02-27 1:59 PM
#
Status:
JLime calls some kind of shutdown ASM command now, and just leaves the RAM on, with a restore application. At least i think it does. This works pretty much as WinCE does, but i think the restore that way only works with SH3 devices.
 Top of the page
karloch Page Icon Posted 2006-02-27 1:59 PM
#
Avatar image of karloch
Factorite (Junior)

Posts:
48
Status:
Very interesting!! That's just what we need, a way to hard reset the Jornada from software. But that code is using the WinCE API. We need a way to do that from Linux.

The steps would be:
    * Users call shutdown: shutdown -h now
    * Shutdown initiates and enter in runlevel 0
    * Every program and daemon get closed
    * Filesystems are umounted
    * Hard reset code is exectued
As I can see, the reset can be done with the CE API passing a control code to the Kernel. We have no WinCE API or kernel on Linux... any idea?
 Top of the page
chazco
chazco Page Icon Posted 2006-02-27 2:06 PM
#
Status:
Well, i'm not sure how it does, since i'm not much good on kernel programming - they said something about it using hardware interups (hence the ASM?) which turned everything off. The RAM kept on, like it does with CE, which meant on restore nothing had changed. The old forum got hacked so the topic has gone, but when the backups are restored we may be able to help.
 Top of the page
abyssknight
abyssknight Page Icon Posted 2006-02-27 2:13 PM
#
Status:
As far as ASM goes, if you can find the interrupt it shouldn't be that big of a deal to write the ASM to run the interrupt. I've wrtten some MIPS and 8086 ASM before, and interrupts are pretty simple to use, just have to be really careful or you'll end up having garbage spew from your printer. [Actually did happen to a friend of mine in the same class.]
 Top of the page
chiark Page Icon Posted 2006-02-28 4:06 AM
#
Avatar image of chiark
H/PC Sensei

Posts:
1,330
Location:
North of England
Status:
Doing it on the Linux side from the kernel should be easy, assuming you can find the relevant ARM documentation. The WINCE clear side of things will be nastier, as WinCE by default provides a protected memory space to each process, and getting access to physical memory uses hacks. The sourcecode to loadlin is probably the best place to start, or ping Rainer Kuechel.
 Top of the page
karloch Page Icon Posted 2006-03-01 6:15 AM
#
Avatar image of karloch
Factorite (Junior)

Posts:
48
Status:
Well... I do not have any documentation to look at and until I know, loadlin is the DOS Linux loader for x86, very different from Jornada's 720 architecture. I think that it would be more adequate to take a look to the linexec source code, if it is available. I will ask Michael, our J720 kernel mantainer if he knows something about this.
 Top of the page
chiark Page Icon Posted 2006-03-01 6:46 AM
#
Avatar image of chiark
H/PC Sensei

Posts:
1,330
Location:
North of England
Status:
Sorry, yes, I meant linexec and yes, it is available at Michael's site I believe. I've looked at the code before and it's not something I have enough knowledge on the internals to understand fully at the moment

EDIT: http://wwwcip.informatik.uni-erlangen.de/~simigern/jornada-7xx/linexec/
the bz file contains source code.
 Top of the page
Jump to forum:
Seconds to generate: 0.203 - Cached queries : 63 - Executed queries : 13