18
MPLAB Harmony Idea Instalace Více podrobností naleznete na http://microchip.wikidot.com/training:start nejen k MPLAB Harmony

MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

  • Upload
    leliem

  • View
    230

  • Download
    1

Embed Size (px)

Citation preview

Page 1: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

MPLAB Harmony

● Idea

● Instalace

Více podrobností naleznete na

http://microchip.wikidot.com/training:start

nejen k MPLAB Harmony

Page 2: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Harmony

Flexible

InteroperableCompatible

MPLAB®

Harmony

ModularRe-Usable

● Komplexní vývojové prostředíPružný a robustní framework (aplikační rámec) pro vývoj firmware pro PIC32Nový přístup ke spolupráci se třetími stranamiVrstvená a modulární architektura

● Podpora třetích stran Knihovny rozšiřující a doplňující možnosti stávajících při zachování kompatibility Možnost nákupu na jednom místě Podpora na jednom místě

Page 3: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

VrstvyMPLAB Harmony

PLIB PLIB PLIB PLIB PLIB

Driver Driver Driver Driver Driver

Driver

Driver

CommonSystem

ServicesMiddleware

Middleware

Plug-in

Plug-in

Application(s)

System Configuration

RTOS

OSAL

RTOSConfiguration

• Celkové výsledné chování• Žádný přímý přístup k HW, zajišťuje

přenositelnost mezi MCU

Application Layer

Common System Services

• Složitější knihovny poskytující vyšší funkce (TCP/IP, grafika apod.)

• Poskytují abstraktní API

Middleware

• Jednoduché abstraktní rozhraní k perifériím

• Spravuje přístup k HW pro zabránění konfliktů

Device Drivers

• Knihovny provádějící přístup přímo k HW

• Poskytují společné rozhraní pro všechny MCU od Microchipu

Peripheral Libraries (PLIB)

• Spravuje zdroje a moduly pro předejití konfliktů

• Poskytuje běžné funkce, aby se zabránilo vzniku duplicit

Page 4: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

IdeaMPLAB Harmony

Flexible

InteroperableCompatible

MPLAB®

Harmony

ModularRe-Usable

● Portability - přenositelnost● Configurability - konfigurovatelnost● Modularity – modulárnost● Compatibility - kompatibilita● Flexibility - pružnost

Page 5: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Přenositelnost

● Kód či část kódu je přenositelná na jiný MCU s funkčním Harmony

● Podmínka: aplikace nesmí přistupovat přímo k HW● Výhody: Úspora času při vývoji dalšího obdobného zařízení Přehledný zdrojový kód

● Nevýhoda: Méně optimální strojový kód

Page 6: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Konfigurovatelnost

● MPLAB Harmony ConfiguratorGrafický nástroj na konfiguraci HarmonyNastavení HW, systému, periférií a jejich knihoven, driverů a middleware

● Nastavení probíhá po jednotlivých vrstvách● Konfigurace je závislá na HW● Je uložená v souborech system_config.h, system_init.h, system_tasks.c, system_interrupt.c

Page 7: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Modulárnost

● Každý modul je, co nejvíce uzavřený s definovaným rozhraním, připomína HW

● Každý modul si alokuje své vlastní potřebné zdroje

● Modul lze snadno přidat či odebrat● Některé systémové moduly umožňují callbackModul z vyšší vrstvy zadá podmínky, při kterých má být zavolána funkce vyšší vrstvy z nižší vrstvy. Modul si vede seznamy funkcí, která má volat. Například lze tak využít systémový timer.

Page 8: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Kompatibilita

● Moduly jsou stavově řízené, každý má vlastní stavové řízení

● Mají inicializaci a volání (tasks)● Žádná funkce v modulu nesmí způsobit čekání programu● Hlavní program neřeší stavy jednotlivých modulů, pro něj jsou jednostavové

● Moduly kompatibilní pro kooperativní multitasking● Hlavní program se může skládat z inicializace a hlavní nekonečné supersmyčky (super-loop polled)

Page 9: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Pružnost

● Stejné pro různé řízení běhu programus RTOS, bez OS – smyčka, řízené přerušením

● Drivery – statické nebo dynamické, s jedním nebo více klienty

Page 10: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Vysvětlení pojmů

Super-loop pulled - supersmyčka Interrupt Driven -

Page 11: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Vysvětlení pojmůRTOS Based

Page 12: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Vysvětlení pojmůStatic or Dynamic Drivers

Pro každou periférii vlastní modul Modul pro jednu periférii je menší a rychlejší než dynamickýDRV_USART0_ReadByte()

Jeden modul pro všechny periférie Menší kód pro více periférii Aplikace není tolik svázána s konkrétní instancí/periférií DRV_USART_ReadByte(HANDLE0)

Page 13: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Vysvětlení pojmůSingle or Multiple Client

Jeden modul/vlákno smí používatdriver Minimální nároky na paměť

Více modulů/vláken mohou sdílet driver a periférii/periférie. Vhodné je to pro komunikaci se zařízeními na sběrnici. Nutné dodělat přerozdělování dat jednotlivým klientům, je na to již hotové API

Page 14: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Knihovny Harmony 1.0

Page 15: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Knihovny Harmony 1.0

Bluetooth – pouze Stack, lze aktivovat SPP profil

Cryptographic – šifrovací a kódovací, podporuje AES, ECC,Huffman, HMAC, MD5, RSA, SHA, 3DES

Drivers – Grafické řadiče, grafické displeje, I2S, Capture, Compare, NVM, PMP, RTCC, SD Card, SPI, Timer, USART

Graphics Library – grafická knihovna

Math Library – přidání DSP s pevnou desetinnou čárkou pro PIC32MZ

Operating System Abstraction Layer (OSAL) – Univerzální rozhraní k RTOS

Peripheral Library – knihovny pro přístup k HW

System Services – Konzole, Debug (konzole), File System, DMA, přerušení atd.

TCPIP Stack – Základní stack s podporou DHCP, DNS, HTTP server, ICMP Server, SNTP client atd.

USB Library – USB Host CDC a MSD, USB Device Audio, CDC, HID a MSD

Page 16: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Doplňky 3. stran

Free RTOS – RTOS zdarma pod GPL, placený je manuál

inter Niche – embTCP (IPv4)embDUAL (IPv4 a IPv6)embHTTPembTelnetembFTP

Wittenstein – OpenRTOS – komerční klon FreeRTOS, není třeba plnit podmínky GPL

WolfSSL – cyaSSL – implementace SSL 3.0, TSL 1.2, DTSL 1.2 pro PIC32MX nebo PIC32MZ

Page 17: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

Instalace Harmony

Stáhněte z www.microchip.com/harmony pro svůj operační systém

Spusťte instalátor – pozor pod Linuxem musíte jako uživatel

Spustíte MPLAB X IDE

Menu Tools -> Plugins vám otevře správce doplňků do IDE

Přepněte se do záložky Available Plugins, zaškrtnete MPLAB Harmony Configurator a Graphics Display Designer X a stiskněte tlačítko Install.

Průvodce vás provede další instalací. Po instalaci je nutné MPLAB X IDE restartovat.

Page 18: MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový přístup ke spolupráci se třetími stranami Vrstvená a modulární architektura

19

Děkuji za pozornost

Konec