Hi Berat,
Rappid bootloader is a SW solution of flash resident bootloader. You are supposed to load the RBF file to the flash via JTAG interface and then you can load your application / s19 file using the GUI.
After reset, the Rappid bootloader is always started. It only initializes serial interfaces and waits defined period of time if GUI asks to load new application. If not, it just jump to the application which is already loaded in flash.
If we are talking about BAM bootloader, it is only hardware feature of the microcontroller to support serial boot. As we already discussed, serial boot is triggered either externally by BOOTCFG pins or internally via DCF record. Then it loads your binary image to RAM and then the BAM jumps to your image. This image needs to be developed by yourself and it's supposed to be secondary bootloader which is supposed to get application image from somewhere (via the serial interface, for example) and program it to flash.
So, the main difference is: Rappid bootloader is complete plug&play solution and serial boot over BAM needs to be completely developed by you. Next option is to develop own solution of flash resident bootloader similar to Rappid.
Regards,
Lukas