1. the core of switching section can be a simple bulk regulator and the feedback from output current can be read using a low ohm/ high power resistor with one pin grounded, maybe a simple RC low pass filter is necessary to reduce swiching noise in measured current!
2. for driving a high side switch for the bulk regulator u need a bootstrap driver, many of manufacturers provide them like IR, Intersil...
3. the feedback loop is to fix output current, thus read and compare it with your reference using Error amplifier/ compensation (refer to pressman book or even app. notes from unitrode/TI about baatery chargers!). the reference can be SET using a sharp low pass filter at the output of the PWM pin of uC...
Hope this can be useful!
BEST!