Jean, parece que você tem dois problemas: um é ler/gravar o SDcard e o outro é mostrar esta capacidade de armazenamento na USB.
Algumas idéias:
a) na internet existe mais de um projeto de firmware open source para ler e gravar SDcard, deve resolver o seu primeiro problema. Até mesmo em um formato que um PC poderia ler se você colocasse o SDcard em um leitor dele. Felizmente você quer usar um ARM que certamente tem alguns kbytes de RAM, pois normalmente só é possível trabalhar no SDcard um setor inteiro de cada vez. Micros com apenas de 256bytes de RAM provavelmente não conseguem sem memória RAM externa. Agora não lembro onde, mas deve ser relativamente fácil de achar usando o Google.
b) O segundo problema é traduzir os comandos que chegam pela USB para os comandos que o projeto de firmware open source entende. Mas não deve ser difícil.
Seria mais rápido retirar o SDcard do conector do equipamento e colocar em um leitor do PC, deixando a USB de fora. É viável ?
PS: Estou supondo que você vai usar um exemplo de projeto Mass Storage do ARM para se basear
---> lembrei de um projeto que parece interessante (não testei ainda):
http://wiki.sikken.nl/index.php?title=LPCUSB