
Eu tenho um aplicativo .Net Micro Framework que não consegue gravar bytes em um cartão microSD. Quando retiro o cartão do dispositivo e o vejo no meu PC usando um adaptador microSD para SD, o PC não consegue gravar no dispositivo, pois parece estar bloqueado. Estou tentando descobrir se a trava é um adaptador com defeito (a chave na lateral do adaptador está na posição destravada) ou o estado do próprio cartão microSD.
Os cartões MicroSD não têm uma maneira visível de bloqueá-los e desbloqueá-los, mas existe alguma configuração no próprio cartão que os bloqueie?
Eu tentei pesquisar, mas a maioria dos tópicos que encontrei (por exemplo, este e este, para escolher dois SO) falam sobre o adaptador. Existe bloqueio na especificação microSD?
Responder1
Os cartões MicroSD não têm uma maneira visível de bloqueá-los e desbloqueá-los, mas existe alguma configuração no próprio cartão que os bloqueie?
Sim, existem vários comandos SD que podem ser usados para fazer isso. Em particular, CMD27 (PROGRAM_CSD) pode ser usado para definir bits que controlam a proteção contra gravação temporária ou mesmo permanente, e CMD42 (LOCK_UNLOCK) pode até ser usado para ativar e desativar a proteção de leitura baseada em senha.
A maior parte disso provavelmente não faz sentido para você, pois a maioria dos adaptadores de cartão SD baseados em computador não consegue executar comandos arbitrários em um cartão SD. Esses comandos geralmente estão disponíveis apenas para (e são usados por) dispositivos incorporados.