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 >