This is a little belated, but--
Beaglebone and Raspberry Pi are both ARM, and not x86 based. This means that many of the things done with x86 realmode assembler (what the OP was talking about with Segment:offset memory space, and pals) simply wont apply. Assembler is VERY much CPU specific, unlike C. (C was created in part, to help overcome this issue with Assembler languages)
I would instead suggest that the OP get either BOCHS or DosBox, since they represent a very consistent and virtualized x86 machine capable of running assembler programs. Both are able to boot a REAL dos disk image, which means access to DEBUG and pals. (Getting your hands on a REAL realmode x86 machine these days is like herding cats.) They are also free, and if he uses FreeDOS, that is free too. He can make and test boot loaders to his heart's content this way, without actually having to write to physical media, and in the case of BOCHS, can have a built in stack-trace debugger to help things along.
Theoretically, EVERY intel and AMD based system on the planet still starts in realmode if it uses an IBM PC compliant BIOS bootstrap process. (EFI and UEFI are different.) This means that if you are writing OS launchers like GRUB, you are likely to be writing x86 realmode assembler, like the OP is trying to learn. I used to know a guy who was a veritable wizard at this, but that was many many years ago. Instead, I will simply pass on what he told me: "You can find an amazing wealth of community created tutorials and primers on the various news groups and boards." (that should date about when this conversation took place. He was not referring to the modern internet, but to Usenet, and actual dialup BBS boards.) Much of that information is still available, if you go spelunking.
For instance, realmode assembler playtime is now often intermixed with other "realmode programming" playtime, like with good old Qbasic. (another retro realmode language that has a subfollowing is Pascal, so try sites dedicated to that too.) Qbasic is, as basically everyone knows who's used it, "Very limited". (that's an understatement.) However, it lets you put in-line assembler into the programs you make with it. You can even just inject a dumb noop loop with an entire program written in assembler, and then tell the QB compiler to make it into a program for you. As such, many of the more sexxyful QB programs and libs out there make copious use of the incalculably faster assembly routines to do heavy lifting, called using QB modular format.
This means, among other things, that you can find a real wealth of realmode assembler tutorials and primers in the many still existing QB fansites,
like this one.
You can just ignore the QB stuff, since that isnt what you are looking for-- and focus on the assembler morsels instead.