Has anyone encountered a standalone gdb server? That is gdb server that runs on a bare metal.
I've been looking for sources to build one. Doesn't need to be ARM, but that might help.
Maybe someone has come across a document explaining how gdb server really works?
(It might help in reading the 'standard' gdb server code.)
I understand that 'stub' means "gdb server" linked into the executable, but I'd like to have a server with which I could upload programs onto the board for debugging through the network or serial IF.
My main concern is attaching to the program to be debugged, when there is no OS (and no processes).
For jtag (or j-link) I've used CoIde with STM3240G-EVAL. Very easy to set up and use.
Didn't quite get OpenOCD to work properly. It worked partially (I think - don't remember very well), but had to switch to CoIde.
Now the idea is to debug a bare metal program on a board (Raspberry Pi 2 B) with only serial port.r
I don't have jtag (or the like) pod, and now the only way is to compile a program on one computer, move it to another computer (without the development environment, but has a card reader), write the program onto the SD-card, take the memory and put it in RPi and boot. If it fails (how should I know?), have to do that all over.
Tedious + not good for the SD-card - or RPi memory card slot.
I'd rather have a dbg server on the SD-card so I could upload the program onto the chip and debug - and keep the SD-card in place. (That's why gdb stub is not very good solution either, although it would at least allow debugging).
I follow you completely now.
If you can build RedBoot and place it on the SD card, then I think it would allow you to upload the program via either serial interface or Ethernet.
RedBoot looks very promising. Just have to check what this really means:
As RedBoot is based on the eCos operating system, it is easy to port RedBoot to any system to which eCos has been ported.
RPi 2 B has Cortex v7 A. I wonder if Cortex M is close enough for porting with moderate effort.
(I think Cortex M is the closest architecture that eCos has been ported to.)
Anyway, looks like the best candidate this far.
(Is there a way to give credits, or something?)
On my CubieBoard2, which is Cortex-A7, I sometimes write Cortex-M0 assembly code, in order to test it without waiting for too long.
Cortex-M0 instructions can be run directly on the Cortex-A7; I even think the instruction set is binary compatible (upwards of course).
What's not compatible are the exception vectors and the peripherals.
That means: Ethernet, SPI and U(S)ART hardware would require some work.
-But I would expect that someone, somewhere would have written header files for your Raspberry Pi board.
You can mark the discussion as a question, then you have two "helpful answer" coins and one "correct answer" coin.
-And of course, you can click "Like" at the bottom of each reply that you like or find relevant - feel free to click "Like" anywhere you find something that you're interested in on the entire ARM Connected Community - for instance, when albanrampon posts some helpful information (for instance like FAQ, Guide, Tip, Governance - Content & Planned Outage).
Ah, yes - I wasn't logged in. Now the 'like' shows.
You can mark the discussion as a question
That must have escaped me, because I remember, when posting, as it there where two mutually exclusive options: to write a question or to write to a certain place. Now I recall seeing a check box, when I started a thread earlier.
Well, next time ...
The good thing about the ARM Connected Community, is that "nothing is final". You can edit everything you've posted earlier - even delete posts.
Try having a look at this excellent post, in particular: "3. How can I change a discussion to a question?".
Thanks for the compliment but I had made an omission and that otherwise "excellent" document: the OP can only mark or unmark the discussion as a question within 15 minutes of its creation... However, cause I thought it's what you wanted, I have made the change for you... and I have updated the document!
I wonder why there's a 15 minute limit. It will take most people more than 15 minutes, before someone will notice and suggest a change.
-If you ask me, there should be no limit at all.
-But the document is great nevertheless; packed with information on the topic.