Depuis avril de l'année dernière, des cartes de débogage BFK3.1 avec un processeur Baikal-T1 à bord sont disponibles à la vente. Tout irait bien, mais ce débogage n'a pas la capacité habituelle de connecter une carte SD.
Nous avons besoin de 30 minutes de temps, d'un fer à souder et d'un module de carte Catalex-Micro-SD externe d'une valeur de 5 pièces pour 300 roubles - et la question est supprimée.
Voici un guide étape par étape sur la façon d'ajouter un lecteur de carte SD au BFK3.1. Tout ce qui est décrit est testé dans la pratique.
Nous avons utilisé le dernier SDK 4.16 actuellement disponible sur le site officiel du Baïkal. Dans la version 4.14 du SDK et les versions antérieures, cela ne fonctionnera pas.
Première étape
Prenez le module Catalex MicroSD-Card.

Pour que la détection de la présence d'une carte dans le logement (Card Detection) fonctionne, vous devez procéder comme suit: tirez la première broche (CD / DAT3) du logement pour carte sur le 3V3 plus à travers la résistance 4K3.
Voici le schéma.Le principe de fonctionnement est le suivant: un niveau élevé sur la première broche du logement de carte signifie qu'il n'y a pas de carte dans le logement, un niveau bas indique que la carte est insérée.
Deuxième étape
Ensuite, nous connectons le module externe au connecteur XP25 sur la carte BFK3.1
Étape trois
Ajouter mmc à l'arborescence des périphériques dans un éditeur de texte dans un fichier
baikal / src / kernel / arch / mips / boot / dts / baikal / baikal_bfk3.dtsVoici un exemple de description de périphérique dans un fichier dts:
&spi1 { num-cs = <1>; cs-gpios = <&portb 2 GPIO_ACTIVE_LOW>; /*<&porta 17 GPIO_ACTIVE_HIGH>;*/ status = "okay"; mmc@0 { status = "okay"; compatible = "mmc-spi-slot"; spi-max-frequency = <10000000>; reg = <0>; voltage-ranges = <3200 3400>; /*gpios = <Card Detection>, <Write Protection>;*/ gpios = <&porta 17 GPIO_ACTIVE_LOW>; /*non-removable;*/ disable-wp; };
Quatrième étape
Construisez le noyau et l'image avec la commande
./usr/scripts/build-boot-img.sh bfk3 -a
Cinquième étape
Nous flasher la carte avec la commande
sudo dfu-util -a 0 -D
, indiquant le chemin où se trouve l'image assemblée. Dans notre cas, il s'agit de
sdk_4.16 / img / bfk3.rom
Voila, tout fonctionne.
Voici comment ça se passe. Le service fonctionnant avec sd / mmc est activé, il analyse les paramètres de dts, configure spi, connecte les interruptions à la détection de carte.

Si une carte SD est détectée dans l'emplacement, ce service la connecte.

Ensuite, un nouveau périphérique apparaît dans dev.

Si vous retirez la carte, le pilote corrigera cela et supprimera le périphérique.
