Hello to everyone
I am a beginner.I got hold of a Standard development board with ARM processor.Now I want to write BSP for that board.Need some info on below.

1.Why we need BSP?
2.If I can write device driver for the entities in board,is it not sufficient?
3.Any study/Book material available on writing BSP,so that I can familiarize with procedure.(considering /arch directory of linux source has BSPs)
4.How to debug BSPs?