Étape 3: Etape 3: MBED et firmware
MBED est une plate-forme de périphérique Ito, offrant superbe environnement de programmation en ligne gratuit. C’est un peu comme si un bras selon la plateforme Arduino.
Manière traditionnelle au bras de programme basé processeur comme stm32, est que, nous utilisons uKeil ou autre SW, d’écrire, de déboguer et de compiler le code C et ensuite à l’aide de J-lien ou ST-lien pour charger le programme dans la puce. Toutefois, les deux le SW et le *-lien coûtera comme plusieurs grand, qui peut ne pas être abordable pour les étudiants ou les premiers prototypes.
Avec mbed, vous pouvez tout simplement programme/compiler en ligne et télécharger les fichiers .hex sur votre disque local. Avec mbed permis Conseil dev, une fois que vous branchez l’interface usb, il y aura un lecteur virtuel apparaît dans le bureau. Tout ce que vous devez faire à gauche est de glisser le .hex dans le lecteur et réinitialiser. Tada!!!
Simple hein ?
MK20 USB est donc fondamentalement un programmeur de nrf mbed interface que vous pouvez directement faire glisser le fichier .hex dans la « puce ».
Jointe est un fichier .hex démo et le fichier blink_test.hex que vous pouvez faire glisser directement dans le lecteur.
Une fois que vous faites glisser le fichier .hex dans le lecteur, le lecteur va obtenir éjecté automatiquement. Ne vous inquiétez pas, c’est tout à fait bien.
Pour ceux qui utilisent Mac OS X Yosemite, si vous échouez charger le fichier .hex, vous pouvez simplement ouvrir votre « Terminal » et entrez ce qui suit :
sudo mount -u -w -o sync /Volumes/MBED ; CP -X / * / Volumes/MBED
* sera le chemin d’accès de votre fichier .hex (habituellement en téléchargement comme utilisateurs /(mac name)/Download/*.hex)
Vous pouvez utiliser le fichier .hex de blink_test pour tester si vous réussissez l’hexagone de chargement.
Ensuite, vous pouvez en toute confiance charger le fichier demo.hex.
code de blink_test :
#include « mbed.h »
DigitalOut myled(P0_15) ;
int main() {}
{while(1)}
mohamed = 1 ;
wait_ms(80) ;
mohamed = 0 ;
wait_ms(80) ;
}
}