Швидкий старт ST Nucleo-F401 + коротке керівництво

    У попередньому своєму пості я спробував коротко ознайомити вас з платформою Nucleo від ST.
У цьому пості я хочу розповісти вам на живому прикладі деякі сильні сторони цієї платформи, яка має всі шанси потіснити приїлися всім Arduino, і показати що всі приклади коду і Шілд від Arduino, прекрасно підходять для платформи Nucleo.
 
 
 
 

Чому Nuleo-F401?

 
Платформа Nuleo Являє собою гібрид платформ DISCOVERY і Arduino, дозволяючи користувачам, без проблем використовувати майже всі розширення і всі приклади коду для
 
Arduino. У Цій платформі реалізована підтримка MBED.ORG , завдяки чому знімається головний біль багатьох новачків в установці, налаштуванні і використанні компіляторів для ARM. У mbed.org імпортовані майже що всі існуючі розширення для Arduino. У відмінності від вже широко поширеною і полюбилися багатьом платформи DISCOVERY , платформа на своєму борту не має ніякої периферії, такий як наприклад акселерометр, компас і т.д. Зате платформа Nucleo покликана зробити роботу на ній настільки ж простий як і на платформах від Arduino. Так само платформа має гнучку схему живлення (3.3В-5В-7В-12В), вбудований оновлений програматор ST-LINK/V2.1 для програмування будь-яких STM32, вбудований віртуальний COM порт (підключений за замовчуванням до USART), спрощену процедуру програмування мікроконтролера завдяки емуляції змінного носія даючи доступ до флеш пам'яті мікроконтролера.
 
Особливості мікроконтролера STM32F401RE ви можете вивчити і самостійно , я вибрав ST Nucleo-F401, з причини того що на момент покупки це була старша з доступних моделей, що відрізняється від інших, своєї більшою продуктивністю і великим обсягом пам'яті.
  
 
Початок Роботи!
 
Для Почала нам буде потрібно зареєструватися на Mbed.org і додати потрібну нам платформу в список своїх пристроїв.
 
 Інструкція для чайників, натисни щоб побачити
Реєстрація на Mbed.org
 
Для цього слідуємо за посиланням mbed.org / account / signup / і слідуючи інструкціям, заповнюємо реєстраційну форму.
 
 
 
Вибираємо «No, I haven't created an account before» (Ні, я не створював раніше обліковий запис)
 
 
 
Заповнюємо реєстраційну форму і тиснемо «SignUp» (Зареєструватися)
 
 
 
Повинно з'явитися повідомлення «Welcome to mbed! To register a board, please plug the board in and click on MBED.HTM »
 
 
 
Після це угорі ліворуч натискаємо «Platform» і відкриваємо список всіх підтримуваних проектом платформ, і в списку переходимо до нашої платформи (у нашому випадку це Nucleo-F401RE).
 
 
 
Відкривши опис платформи ми знаходимо зліва кнопку «Add to your mbed Compiler» натискаючи її ми додаємо обрану платформу в список своїх платформ.
 
 
 
Тепер давайте натиснемо на свій нік (вгорі праворуч) і перейдемо на головну сторінку свого профілю, тут справа внизу ми можемо побачити тільки що додану платформу.
 
 
 
Власне всі ми зареєструвалися і додали свою платформу.
 
 
 
Установка драйверів.
 На сайті Mbed.org в розділі нашої платформи, в низу ми можемо побачити посилання перейшовши по якій нам потрібно завантажити, встановити і запустити:
  
     
  1. спочатку потрібно встановити USB драйвер ST-LINK/V2-1 для програматора, для Windows Vista, 7 і 8 STSW-LINK008 або STSW-LINK009 для Windows XP
  2.  
  3. Провести Оновлення прошивки підключеного по USB програматора ST-LINK/V2-1 STSW-LINK007
  4.  
 Інструкція для чайників, натисни щоб побачити Почнемо по порядку, викачуємо актуальний Драйвер і оновлення прошивки на цій сторінці клац
нам імовірно потрібні два фала один " ST-LINK/V2-1 firmware upgrade " другий допустимо " ST-LINK/V2-1 USB driver on Windows Vista, 7 and 8 "
 
 
 
Розпаковуємо ськачаний нами архіви, і приступаємо.
Запускаємо установку драйверів: в розпакованому архіві STSW-LINK008 або STSW-LINK009 запускаємо файл під ім'ям stlink_winusb_install для нашої плати (плата ще не увімкнено по USB).
 
 
 
Запускаємо цей файл, який сам визначить розрядність системи і тип установки. Погоджуємося з усім, і тиснемо да, далі і т.д.
Тепер можемо підключити по USB нашу плату і побачити що світлодіоди загорілися і у вас визначився новий змінний носій.
 
Запускаємо оновлення прошивки програматора нашої платформи:
Для цього підключаємо нашу отладочную платформу до комп'ютера, переходимо в папку з розпакованим архівом поновлення програматора «STSW-LINK007» і запускаємо файл «ST-LinkUpgrade»
 
 
 
У віконці тиснемо «Device Connect» (Підключення пристрою), після обноруженія пристрої та підключенню до нього тиснемо «Yes >>>» програмка сама все зробить і в кінці відключитися від пристрою, після цього можете закрити її.
 
Все на цьому установка свіжих драйверів і оновлення прошивки закінчено.
 
 
 
Підключення платформи:
Для цікавих я постараюся роз'яснити деякі режими роботи детальніше:
 Відомості для цікавих, натисни щоб побачити. ОБЕРЕЖНО!
Короткі технічні відомості з керівництва
 image
 
Режими роботи світлодіодів.
На платі реалізовано 3 світлодіода
Триколірний світлодіод (зелений, помаранчевий, червоний) LD1 (COM) надає інформацію про статус ST-LINK підключення. Колір LD1 за замовчуванням червоний. LD1 ставати зеленим, показуючи, що в процесі здійснення підключення між ПК і ST-LINK/V2-1, у слід за:
 
     
  • «Повільно миготливий червоний» / «Викл» — при включенні харчування до установки підключення по USB
  •  
  • «Швидко блимає червоний» / «Вимк» — після першого правильного обміну даними між ПК і STLINK/V2-1 (процес підключення)
  •  
  • «Червоний світлодіод включений» — якщо підключення між ПК і ST-LINK/V2-1 встановлено
  •  
  • «Зелений включений: підключення виконано успішно чи операція завершена коректно
  •  
  • "Мигающий червоний" / "зелений" — під час передачі даних. (Сам процес прошивки)
  •  
  • "Помаранчевий включений": Збій зв'язку.
  •  
 
 USER LD2 : зелений світлодіод користувача, світлодіод підключений до Arduino контакту D13, відповідний контакту введення / виводу мікроконтролера PA5 (контакт 21) або PB13 (контакт 34)
 
     
  • Коли значення введення / виводу (I / O) високого значення, світлодіод включений.
  •  
  • Коли значення введення / виводу (I / O) найнижчого значення, світлодіод вимкнений.
  •  
 
 LD3 PWR : червоний світлодіод вказує, що частина з мікроконтролером харчується і +5 У харчування подається.
 
 
Кнопки
 В1 USER : кнопка користувача підключена до введення / висновок PC13 (висновок 2) мікроконтролера STM32.
 В2 RESET : ця кнопка підключається до NRST , і використовується для скидання мікроконтролера STM32.
 
 Примітка: Сині і чорні пластикові ковпачки на кнопках можуть бути видалені в разі необхідності, наприклад, коли Шилд або плата розширення підключається зверху Nucleo. Це дозволить уникнути тиску на кнопки і отже можливого постійного випадкового натискання
 

 
 
Перемичка JP6 (IDD)
Перемичка JP6 , позначена IDD , використовується для вимірювання споживання струму мікроконтролером, для цього видаліть перемичку і, підключіть амперметр.
 
     
  • Перемичка Включена: STM32 мікроконтролер харчується (за замовчуванням).
  •  
  • Перемичка ВИКЛ: амперметр повинен бути підключений для вимірювання струму мікроконтролера STM32. Якщо ні амперметра, STM32 мікроконтролер не харчується.
  •  
 
 
Вбудований ST-LINK/V2-1
Внутрісхемний відладчик / програматор ST-LINK/V2-1 підтримує тільки SWD для пристроїв STM32.
Зміни в порівнянні з ST-LINK/V2 версією:
Нові можливості, підтримувані в ST-LINK/V2-1:
 
     
  • Драйвера USB перенумеровані
  •  
  • Інтерфейс віртуального порту COM по USB
  •  
  • Інтерфейс Пристрої зберігання даних по USB
  •  
  • USB менеджер пітаніея
  •  
Особливості які не підтримує ST-LINK/V2-1:
 
     
  • SWIM інтерфейс. (потрібно для програмування STM8)
  •  
  • Мінімальна підтримуване напруга додатків обмежено до 3 В
  •  
Режими роботи вбудованого ST-LINK/V2-1:
              
Стан перемичок Значення
обидві CN2 перемички одягнені ST-LINK/V2-1 працює програмуючи мікроконтролер на платі (за замовчуванням)
обидві CN2 перемички зняті ST-LINK/V2-1 працює програмуючи мікроконтролер за зовнішнім роз'єму CN4 (підтримується SWD)
Терморегулятори роз'єму SWD:
                                     
Pin CN4 Значення
1 VDD_TARGET VDD для влаштування
2 SWCLK SWD такт
3 GND Земля
4 SWDIO SWD введення / висновок даних
5 NRST скидання програмованого МК
6 SWO Не використовується
 
 
Поділ друкованої плати
STM32 Nucleo друкована плата платформи ділиться на дві частини: ST-LINK частину і цільова MCU частина, які можна розділити, щоб зменшити розмір плати. У цьому випадку залишилися цільова MCU частина може харчуватися тільки по VIN, E5V і 3,3 V на роз'ємі ST Morpho CN7 або VIN і 3,3 на Arduino CN6. При цьому все ще можна використовувати ST-LINK частина щоб програмувати головний мікроконтролер за допомогою проводів між CN4 SWD і роз'ємах на ST Morpho (SWCLK CN7 пін-15 і SWDIO CN7 пін-13 ).
 
 
Режими живлення плати.
Джерело живлення здійснюється або від комп'ютера через кабель USB або від зовнішнього джерела: VIN (7В-12В), E5V (5 В) або +3 V3 висновки харчування на CN6 або CN7.
ST-LINK/V2-1 підтримує живлення платформи по USB, сам програматор при цьому споживає струм до 100 мА.
 
Вся плата STM32 Nucleo включаючи плати розширення може харчуватися від ST-LINK USB за умови що сумарний струм споживання не перевищуватиме 300мА (Включаючи споживання ST-LINK 100 мА) при виконанні цих умов червоний світлодіод LD3 включений і мікро контролер працює. Якщо струм споживання вище, то необхідно використовувати зовнішнє джерело живлення для всього проекту або тільки для плат розширення (не забуваючи про спільну землю).
 
Коли плата буде живитися від USB (U5V) перемичка повинна бути підключена між контактами 1 і 2 JP5 в положення U5V. JP1 перемичка може бути встановлена ​​тільки в разі коли плата живиться від USB і максимальне споживання струму на U5V не повинно перевищувати 100 мА (у тому числі всілякі плати розширень або Arduino Shield).
 
VIN (7В-12В) або E5V (5В-5, 5В) може використовуватися в якості зовнішнього джерела живлення в разі, коли струм споживання Nucleo і платами розширень перевищує допустимий струм для USB. У цьому стані все ще можна використовувати підключення по USB, для програмування або налагодження, але спочатку обов'язково підключіть плату до джерела живлення використовуючи VIN або E5V, після чого підключіть кабель USB до ПК.
 
При живленні від VIN або E5V алгоритм включення живлення повинен дотримуватися:
 
     
  • Підключіть перемичку між контактами 2 і 3 JP5.
  •  
  • Переконайтеся, що JP1 вилучена.
  •  
  • Підключіть зовнішнє джерело живлення до VIN або E5V.
  •  
  • Напруга на зовнішньому джерелі живлення 7 V <VIN <12 В до VIN або 5 В для E5V.
  •  
  • Переконайтеся, що LD3 включений.
  •  
  • Підключіть ПК до гнізда USB CN1.
  •  
Якщо цей порядок не дотримується, то плата може харчуватися спочатку по VBUS потім по VIN або E5V, при цьому може вийти з ладу порт USB на комп'ютері або виникнуть глюки мікроконтролера (! Те ж саме ставитися до кнопки скидання!)
Коли плата буде живитися від VIN або E5V, конфігурація перемичок повинна бути наступна:
 
     
  • Перемичка на JP5 між pin 2 і pin 3.
  •  
  • Перемичка видалена на JP1.
  •  
Зовнішній джерела живлення:
                      
Вхід живлення Контакти Рознімань Напруга Ток Обмеження
VIN CN6 pin 8, CN7 pin 24 від 7V до 12V 800 mA 800 mA якщо Vin = 7 V, 450 mA якщо 7 V <Vin (<або =) 9 V, 250 mA якщо 9 V <Vin (<або =) 12 V
E5V CN7 pin 6 від 4.75V до 5.25V 500 mA
 
(Власне мікро манул закінчено. Можна видихнути і продовжити)
 
Для інших досить запам'ятати що на платі є перемичка JP5 і у неї є два положення, харчування мікроконтролера від USB (положення U5V не більше 300mA) або від зовнішнього джерела (E5V) живлення наприклад від 5 Вольт підключених до CN7 (самі Лівий разьем, контакти пін -6 E5V і пін-8 GND). Схема роз'ємів
 
І так ми підключилися і побачили що в нашому комп'ютері визначився змінний носій, це ознака того що все зроблено правильно і все працює. Перевірити чи коректно працює сам мікроконтролер можна Понатискавши призначену для користувача кнопку, при кликання по ній, частота мерехтіння користувальницького світлодіода повинна змінюватися. Награвшись з світлодіодом йдемо далі.
 
Тепер саме час створити нашу першу програму в Embed і прошити нею наш контролер.
Подібні підрозділи я буду прибирати під сполер, щоб економити місце.
 Перша програма і перше програмування
Перша програма і перше програмування
 
Створення проекту програми в Mbed
На сторінці свого профілю в Mbed відкриваємо сторінку з нашою платформою, далі використовуючи картинки як допомога, робимо наступні:
(1) Відкриваємо онлайн компілятор
 
(2-3) Створюємо проект під назвою "Blinky LED test for the ST Nucleo boards" і натискаємо "OK"
 
 
(4 — 5) Відкриваємо і компілюємо бінарний файл (5).
 
Після чого нам буде запропоновано зберегти це бінарник (процедура залежить від вашого браузера). Отриманий бінарник ми просто копіюємо або переміщаємо на змінний носій Nucleo, причому якщо відразу після копіювання оновити зміст змінного носія то ви його вже не зможете побачити, що свідчить що мікро контролер пере-прошитий! (Під час прошивки ви побачите як весело блимає світлодіод LED_COM)
 
 
Пост писався всю ніч і незабаром буде доповнений прикладами, хочу відзначити що будь-які розширення від Arduino з легкістю підходять і під Nucleo, зі скетчами теж не виникає проблем.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.