Bernhard Kuhn wrote:
> Loading images for uCsimm to ram via ethernet/nfs.
> uClinux on uCsimm can be started from RAM
> to simplyfy development, but you have to
> download the image via the serial line
> As i don't like to bother around with
> minicom/fast/rx, i implemented a
> "himemloader": instead of loading the image to
> 0x20000 via the serial line (fast/rx) within
> the bootloader environement, the image is treated
> as located in ROM and loaded to
> 0x600000 via ethernet/nfs within uClinux.
> The usage of the command "himemloader" is similar to
> "flashloader". To reserve the memory for the
> new image, the "*.ld" files in
> platforms/68EZ328/ucsimm are modified accordingly.
> Additionaly, You have to be in "supervisor mode"
> in order to start the loaded kernel. I remembered
> a trick that was used 17 years ago at AmigaOS:
> I implemented trap #10, that just sets the Supervisor bit
> in the status register that is saved on the stack and
> returns from exception. The RTE then restores the
> modified sr :-)
Maybe this is why I couldn't load a new kernel from the ethernet? I had
it load into high memory and it had a small loader that would, disable
all interrupts, then blockcopy it into the low memory (at 0000000) then
jump to it. I couldn't figure out why it wouldn't run by jumping to it,
the only way I could get it to run was to invoke the BDM mode, then
command it to execute the loader.
I would appreciate any comments that you have about this "problem" of
the supervisory bit as I had thought that the 68EZ328 implementation ran
in supervisory mode at all times?
-- Tom Walsh - WN3L - Embedded Systems Consultant 'www.openhardware.net', 'www.cyberiansoftware.com' "Windows? No thanks, I have work to do..." This message resent by the firstname.lastname@example.org list server http://www.uClinux.com/
This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:42 EST