This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH, RX] Add target rx-*-linux
- From: Yoshinori Sato <ysato at users dot sourceforge dot jp>
- To: Oleg Endo <oleg dot endo at t-online dot de>
- Cc: binutils at sourceware dot org
- Date: Wed, 01 Aug 2018 13:58:01 +0900
- Subject: Re: [PATCH, RX] Add target rx-*-linux
- References: <87d0v5rtfl.wl-ysato@users.sourceforge.jp> <1532955774.2884.3.camel@t-online.de> <87bmaorxoq.wl-ysato@users.sourceforge.jp> <1533041377.2884.27.camel@t-online.de>
On Tue, 31 Jul 2018 21:49:37 +0900,
Oleg Endo wrote:
>
> Hi,
>
> On Tue, 2018-07-31 at 10:39 +0900, Yoshinori Sato wrote:
> >
> > It standrad linux kernel.
> >
> > My target is RX62N + 16MByte external memory.
> > I think that connecting with a 32 bit bus is not so slow.
>
> The latest RX71/RX65 support 60 MHz 32 bit data external SDRAM. On top
> of that, there is no instruction/data cache for external SDRAM. The
> system was not designed to operate like that. The primary use case for
> RX is to run code from on-chip flash and use on-chip RAM as application
> data. Every individual access to external memory by the CPU costs
> about 3 bus cycles, from what I can see in the hardware manual...
I agree.
Because I have not done benchmarks, I only have my own sense,
but it works faster than I suppose.
> > Also, since the code size is small, I think the influence of memory
> > speed is relaxed.
>
> Even if all the Linux + user application code fits into the on-chip
> flash ROM, the problem will be the CPU accessing data in external
> memory without cache. That's why I don't think it's practical to run
> Linux on RX MCUs. It will run, but there are better embedded Linux
> options for the same or lower price as RX MCUs. So I'm not sure how
> useful this will be?
Although it is not ready yet, it is possible to place the code in the ROM area
including the user program.
I think that it is possible to create an environment where Linux can operate on
a single chip as long as it is an MCU with a large capacity memory.
> >
> > I think that it is 10% smaller than other CPUs.
> > yo-satoh@yo-satoh-debian:~/linux (rx)$ rx-unknown-linux-size vmlinux
> > text data bss dec hex
> > filename
> > 801156 68556 164568 1034280 fc828
> > vmlinux
>
> My observation similar. RX ISA produces slightly smaller code than
> other ISAs. But not that much smaller to compensate the slow external
> memory :)
>
> Just for my understanding, why is it needed to create a new ELF type
> for that? Why can't rx-elf be used as-is?
Section name etc is different from general ELF.
standard ELF | rx-elf
.text | P
.data | D
.rodata | C
.bss | B
> Cheers,
> Oleg
--
Yoshinori Sato
<ysato@users.sourceforge.jp>