Just a minor hint:
In SHARC Audio Module Bare Metal SDK 2.1.2 there is a little typo in the framework files
audio_framework_8ch_sam_and_audioproj_fin_arm.c and
audio_framework_16ch_sam_and_automotive_fin_arm.c
In both files the interrupt of pushbutton 2 is attached to the callback for pushbutton 1.
The corrected lines should look like this:
gpio_attach_interrupt(GPIO_SHARC_SAM_PB1, pushbutton_callback_sam_pb1, GPIO_FALLING, 0);
gpio_attach_interrupt(GPIO_SHARC_SAM_PB2, pushbutton_callback_sam_pb2, GPIO_FALLING, 0);
Hope this helps.
Regards,
Tom