Хабрахабр

Апгрейд отладочной платы с процессором Baikal-T1: добавляем SD-карту

С апреля прошлого года в открытой продаже доступны отладочные платы BFK3.1 c процессором Baikal-T1 на борту. Всё бы хорошо, но у этой отладки нет штатной возможности подключать SD-карту.

Нам потребуется 30 минут времени, паяльник, и внешний модуль Catalex-Micro-SD-Card-Module стоимостью 5 штук за 300 рублей — и вопрос снят.

1. Вот пошаговое руководство, как добавить SD-кард ридер на BFK3. Использовался самый свежий на данный момент SDK 4. Всё описываемое опробовано на практике. В SDK версии 4. 16, размещенный на официальном сайте «Байкала». 14 и младше это работать не будет.
Шаг первый

Берём модуль Catalex MicroSD-Card.

Вот тут схема. Для того, чтобы работало определение наличия карты в слоте (Card Detection) нужно сделать следующее: первый пин (CD/DAT3) слота карты подтянуть к плюсу 3V3 через резистор 4К3.

Принцип работы следующий: высокий уровень на первом пине слота карты означает, что карта в слоте отсутствует, низкий уровень сигнализирует, что карта вставлена.

Шаг второй

1 Дальше мы подключаем внешний модуль к разъему XP25 на плате BFK3.

Шаг третий

Добавляем mmc в дерево устройств в текстовом редакторе в файл

baikal/src/kernel/arch/mips/boot/dts/baikal/baikal_bfk3.dts

Вот пример описания устройства в dts файле:

&spi1 ;

Шаг четвёртый Собираем ядро и образ командой ./usr/scripts/build-boot-img.sh bfk3 -a

Шаг пятый

В нашем случае это sdk_4. Прошиваем плату командой sudo dfu-util -a 0 -D, указывая путь, по которому находится собранный образ. 16/img/bfk3.rom


Вуаля, всё работает.

Включается служба, работающая с sd/mmc, она разбирает параметры из dts, настраивает spi, подключает прерывания к Card Detection. Вот как это происходит.

При обнаружении в слоте SD-карточки эта служба производит ее подключение.

Затем в dev появляется новое устройство.

Если карточку вынуть, то драйвер зафиксирует это и удалит устройство.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть