Cortex-M Bare-metal Startup/Bootloader Tutorial and Examples

I'm using Keil MDK Pro v5.43, and trying to build a bare-metal app, using armclang toolchain, for Cortex-M23. As I'm new to Arm, I'm struggling to understand all that's needed to develop the startup/bootloader and memory (scatter) load files.

I've looked through much of the Arm Cortex-M Architecture Reference and Arm Compiler for Embedded 6 documents but still can't seem to put all the pieces together correctly. I have startup code that builds and loads but won't run using the Model ARMv8-M Debugger

I'm looking for recommendations for Tutorials with full, realistic examples that describe developing for this bare-metal environment/architecture, whether using CMSIS or rolling-my-own startup code. 

Thank you in advance for your assistance.