ASM Programming with HP50g
|
12-05-2020, 12:24 PM
Post: #3
|
|||
|
|||
RE: ASM Programming with HP50g
For the 50g, I'd suggest going with a purely software-based solution for your initial experiments. x49gp emulates the 50g at the ARM level (unlike Emu48, which only runs Saturn code), so you can just connect gdb to it (or a visual debugger with gdb backend, if you want) and start from there. Emulation of the CPU's peripherals isn't perfect, but the essentials work well enough; the ARM code it's running is an exact replica of what's found on the real hardware. All you need is a non-Windows computer to run this software on. From there, you can peek, poke, disassemble, single-step, set breakpoints, and all the usual stuff gdb allows you to do.
By the way, ARM processors start from address 0 on boot. On the 50g, the flash memory is mapped into that section of the address space. The first 16KiB are a boot sector, the upgradeable firmware starts after that. (x49gp creates a raw flash image on first launch, if you want to take a look without going through gdb.) RAM is mapped ... somewhere else, I forget where exactly. I think there's a text file in the x49gp repo that has more details about the memory map; failing that, its source code should know. If you are interested in peripherals, things get a bit more fuzzy because x49gp is built on a bit of guesswork, and in some places simply incomplete. The best way to proceed would likely be to write small programs for experiments with a peripheral. And if you do that, feel free to submit patches or documentation to x49gp so we can improve it; any help is welcome. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)