By: Etienne (etienne_lorrain.delete@this.yahoo.fr), August 12, 2022 12:46 am
Room: Moderated Discussions
dmcq (dmcq.delete@this.fano.co.uk) on August 11, 2022 10:52 am wrote:
> > I decompressed the code to ram where it ran much better
> > anyway. The only code left running from ROM was manufacturing tests, startup tests and the decompression.
> Actualy thinking about it, I decompressed and ran the manufacturing tests
> from RAM as well except for an extended version of the startup tests.
You remind me of a 1 Kbyte ARM ROM code I had to write, printed in the mask of the embedded processor, talking over serial with auto baud recognition (in case the processor would be clocked differently), able to read/write some bytes at some address, execute at some address and I think checksum an area.
So you could test RAM before using it... decompressing test code to a non working memory is boring.
Then you download any code you want to execute, however complex, and execute it, then collect the result. You could leave usual libraries at some fixed memory addresses.
You'd better not only talk assembly, but also be able to go down to hexadecimal, when setting up the system... but after some set-up, you just compile a piece of code, download and execute it, a bit like how a "kernel" is executed on a video card, or some JIT compiler engine work.
Bug free (total 1 Kbyte ARM32 code "easy" to review), and quick system.
> > I decompressed the code to ram where it ran much better
> > anyway. The only code left running from ROM was manufacturing tests, startup tests and the decompression.
> Actualy thinking about it, I decompressed and ran the manufacturing tests
> from RAM as well except for an extended version of the startup tests.
You remind me of a 1 Kbyte ARM ROM code I had to write, printed in the mask of the embedded processor, talking over serial with auto baud recognition (in case the processor would be clocked differently), able to read/write some bytes at some address, execute at some address and I think checksum an area.
So you could test RAM before using it... decompressing test code to a non working memory is boring.
Then you download any code you want to execute, however complex, and execute it, then collect the result. You could leave usual libraries at some fixed memory addresses.
You'd better not only talk assembly, but also be able to go down to hexadecimal, when setting up the system... but after some set-up, you just compile a piece of code, download and execute it, a bit like how a "kernel" is executed on a video card, or some JIT compiler engine work.
Bug free (total 1 Kbyte ARM32 code "easy" to review), and quick system.