Возникла проблема друзья, нужна помощь.
Такое дело значит. Я работаю с проектом наподобие, одна из вариаций wav плеера на attiny85 мистера чана http://elm-chan.org/works/sd8p/report.html
так вот attiny85 + sd карточка, звуки с неё берутся и играются. Всё на железе работает прекрасно, но я решил добавить пару функций и тут WinAVR как всегда своей сообразительностью и оптимизацией намудрил, а может наоборот я намудрил и в результате он компилит код но естественно он не работает как надо.
Я решил в протеусе в отладчике посмотреть в чём дело, отладить но обнаружил что карточка MMC там почему то не работает. В железе работает на проверенном коде а в протеусе mmc карта не работает. Даже если взять проект чановский http://elm-chan.org/works/sd8p/report.html то в протеусе тоже mmm карта не инициализируеться.
Проблема в том как заставить карточку mmc в протеусе работать что можно было продолжить отладку??
Нужно чтоб именно Petit FAT (урезанный FAT был) с полным чановским FAT карточка работает в протеусе а вот с урезанным FAT (Petit FAT) она отказывается инициализироваться. Образ mmc карты рабочий! Я этот образ проверял с полным FAT карточка работает, а если этот же образ применить с Petit FAT то карточка не инициализируеться(((
Инициализацию провожу классически.
volatile FRESULT res; // глобальная переменная чтоб была видна при отладке в протеусе
res = pf_mount(&Fs); // инициализируем Petit FAT
if (res == FR_OK) { // инициализация прошла успешно
// делаем что нам надо
}
res = pf_mount(&Fs); // инициализируем Petit FAT
отладчик в протеусе показывает после этой строчки что в переменной res находится значение FR_NOT_READY(2) то есть инициализация файловой системы не прошла.
Я полез дальше и оказывается что в самой функции по инициалтзации файловой системы pf_mount(&Fs) есть вызов функции по инициализации самой карточки disk_initialize() собственно эта функция и возвращает ошибку FR_NOT_READY(2) и дальше инициализация не идёт почему то((
FR_NOT_READY означает
Привод не может быть инициализирован из-за ошибки диска (disk error) или отсутствия носителя данных (no medium).
Помогите пожалуйста разобраться как надо инициализировать карточку с файловой системой Petit FAT?? по идее я всё делаю правельно и на железе работает, но мне надо именно что в протеусе нормально происходила инициализация так как мне далеше надо в его отладчике код отлаживать уже с инициализированной sd картой.
Может есть у кого нибуть исходники где карточка Petit FAT нормально работает в протеусе?? Помогите очень надо из за этого глюка вся работа встала на месте((.
Компиляток WinAVR, протеус 7.10, образ карточки который использую прилогаю. Попробуйте пожалуйста, будет и у вас данный образ нормально карточку инициализировать.
Файл сюда не приклепляется, выложил на файло обменник
https://yadi.sk/d/Rkc8J-cHfBckK






