MPLAB Harmony - ecom.cz · PDF filepro vývoj firmware pro PIC32 Nový...

Preview:

Citation preview

MPLAB Harmony

● Idea

● Instalace

Více podrobností naleznete na

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

nejen k MPLAB Harmony

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ě

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

IdeaMPLAB Harmony

Flexible

InteroperableCompatible

MPLAB®

Harmony

ModularRe-Usable

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

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

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

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.

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)

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

Vysvětlení pojmů

Super-loop pulled - supersmyčka Interrupt Driven -

Vysvětlení pojmůRTOS Based

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)

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

Knihovny Harmony 1.0

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

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

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.

19

Děkuji za pozornost

Konec

Recommended