Following up to myself again...
On Friday 14. July 2017 01.11.38 Paul Boddie wrote:
[Boot log on the CI20]
MOE: Hello world
And that is then the end of output.
So, I found I'd got ahead of myself here. Noting that the CI20 has 1GB RAM, I changed the mk/platforms/ci20.conf file to set PLATFORM_RAM_SIZE_MB to 1024. However, this is a bad idea indeed: only the range from zero to 0x10000000, which is 256MB as originally indicated in the configuration file, is allocated to the RAM in the physical address space map. The full 1GB is actually mapped from 0x20000000 upwards.
(I'm guessing that they've done it this way to maintain some kind of compatibility with other products. At the moment, I don't know whether that memory is directly accessible, but I can obviously do a bit of research on that.)
Changing this setting back from 1024 to 256 solved the problem of the Moe find_memory routine trying to obtain memory regions from 0x10000000 and above, and I now get to the point of loading the "hello" example. However, I'm not managing to actually see the example start. I get the following output:
MOE: Hello world MOE: found 245048 KByte free memory MOE: found RAM from 1000 to 10000000 MOE: allocated 255 KByte for the page array @0x104d000 MOE: virtual user address space [0-7fffffff] MOE: rom name space cap -> [C:103000] BOOTFS: [1100000-1131e5c] [C:105000] l4re BOOTFS: [1132000-1164b08] [C:107000] hello MOE: cmdline: moe --init=rom/hello MOE: Starting: rom/hello MOE: loading 'rom/hello'
Despite inserting a trace statement into the Moe main program after the elf_loader.start invocations, I don't see anything else appear. So I guess something else manages to go wrong at this point. I suppose I'll have to try and track this down.
Paul