Microblaze libgloss and gdb simulator

Joel Sherrill joel@rtems.org
Fri Apr 23 16:17:41 GMT 2021


On Fri, Apr 23, 2021 at 10:05 AM Mike Frysinger <vapier@gentoo.org> wrote:

> On 23 Apr 2021 07:48, Joel Sherrill wrote:
> > On Fri, Apr 23, 2021 at 1:17 AM R. Diez <rdiezmail-newlib@yahoo.de>
> 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
>


More information about the Newlib mailing list