Re: Microblaze libgloss and gdb simulator

Joel Sherrill <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAF9ehCXKS51+t1Z2fuSAAQZMQMspZOvnvpHNmAAjTW6y5p4ZgQ@mail.gmail.com>
On Fri, Apr 23, 2021 at 10:05 AM Mike Frysinger <[email protected]> wrote:

> On 23 Apr 2021 07:48, Joel Sherrill wrote:
> > On Fri, Apr 23, 2021 at 1:17 AM R. Diez <[email protected]>
> wrote:
> > > > [...]
> > > > Does anyone know how to build and run a hello world on the microblaze
> > > > simulator in gdb using the microblaze-elf target and the code in
> > > libgloss?
> > >
> > > Does it have to be the GDB simulator? QEMU seems to support the
> MicroBlaze
> > > too.
> > >
> > > I am using QEMU to simulate a Cortex-M3 board, and writing to a
> particular
> > > memory address where a UART is supposed to be outputs the byte on the
> host
> > > console.
> > >
> >
> > No it doesn't. We use Qemu on at least arm, aarch64, x86, and sparc. Even
> > though they tend to be just CPU simulators, the gdb simulators just tend
> to
> > be
> > easier to work with and can run a high percentage of RTEMS tests. When
> first
> > starting a port, you are focused primarily on startup and context
> switches,
> > and
> > the gdb simulators work great for that. The devices are so simple, that
> the
> > BSP
> > is trivial.
> >
> > For interrupt and real device support, you do have to move to something
> > like qemu or real hardware. We likely will just have to move to it.
>
> GNU sim can do these too ;), but i can see it being easier when most people
> are contributing to QEMU already to make it just work.
>

We use the gdb sim on a number of targets. I love psim and the
mips/jmr3904.
We used sparc/sis embedded in gdb until Jiri Gaisler did a massive update
to it.
It is now a separate simulator for SPARC and RISC-V and does multicore.

>
> newlib/libgloss missing bsp code wouldn't be addressed by sim selection
> though :).
>

+1

My old outbyte() method writes to a very specific address which appears
to be a UART. But I see no reference to that in any gdb source of any
vintage.I wonder if I added something locally to gdb to have a UART on
the Microblaze and lost it over the years. Does this look like it would work
now to you?

https://github.com/heshamelmatary/rtems-microblaze/blob/master/c/src/lib/libbsp/microblaze/gdbmbsim/console/console-io.c#L47

I started a port a LONG time ago and apparently remember things fuzzy. :(

THanks.

--joel


> -mike
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.