• 1
  • 2

Vývojový software

Napísal: Patrik Slučiak (Diallix).


1.
---------------------------------------------------------------------
Názov programu: Proteus
Autor: --
Jazyk: --
Licencia: trialware
Popis:    Výborný software pre vývoj a návrch schém zariadení. Software obsahuje modul ISIS pre simuláciu návrhov
             v reálnom čase vrátane MCU.

Download: >>PROTEUS<<

---------------------------------------------------------------------

USB Software

Napísal: Patrik Slučiak (Diallix).


1.
---------------------------------------------------------------------
Názov programu: USBDeview
Autor: Nir
Jazyk: --
Licencia: freeware
Popis:    Software, ktorý zobrazuje pripojené zariadenia v rozhraní USB - ich triedu, podtriedu, ID, typ zariadenia
             a mnoho ďalšieho. Zároveň umožňuje správu pripojených zariadení.

Download: >>USBDeview<<

---------------------------------------------------------------------

Terminal Software

Napísal: Patrik Slučiak (Diallix).


1.
---------------------------------------------------------------------
Názov programu: Hercules
Autor: --
Jazyk: --
Licencia: freeware
Popis:     Softwarový Terminál podporujúci rozhranie RS-232.
              Terminál poskytuje mnoho nastavení a možností využitia. Výborný pri komunikácií s HW Terminálom.

Download: >>Hercules Terminal<<

---------------------------------------------------------------------


2.
---------------------------------------------------------------------
Názov programu: Hyper Terminal
Autor: -- MS Windows Corp.
Jazyk: --
Licencia: freeware
Popis:     Klasický Softwarovy terminál HT

Download

---------------------------------------------------------------------

LCD Software

Napísal: Patrik Slučiak (Diallix).


1.
---------------------------------------------------------------------
Názov programu: LCD Simulátor
Autor: DjLCDSIM
Jazyk: Java Script
Licencia: freeware
Popis:     Ide o online simulátor LCD modulu. Umožňuje kompletnú simuláciu ovládania/oživenia LCD vrátane nastavenia
              konfigurácie znakovej/riadiacej sady. Simulácia je obmedzená na výpis, na LCD. Čítanie z LCD displeja
              (z DDRAM) nie je implementované.

Odkaz: >> LCD Sim <<
---------------------------------------------------------------------


2.
---------------------------------------------------------------------
Názov programu: LCD Custom Character Designer
Autor: ETC
Jazyk: --
Licencia: freeware
Popis:     Program, ktorý ponúka možnosť individuálneho oživovania segmentov v jednom LCD poli.
              Umožňuje vytvárať vlastné vzory v LCD segmentoch.

Download

---------------------------------------------------------------------

Microprocessor Lab

Napísal: Patrik Slučiak (Diallix).

MPLAB je integrované, vývojové prostredie (IDE), obsahujúce sadu nástrojov, určené pre vývoj aplikačného rozhrania pre obsluhu mikrokontrolérov Michrochip Pic a procesorov dsPIC

Obsahuje množstvo funkcií pre pokročilú konfiguráciu (nastavovanie konfiguračných bitov, simulátory, generátory impulzov,...).
MPLAB rozširuje sadu podporovateľných programátorov a umožňuje kontrolér priamo z vývojového prostredia naprogramovať. Jednotlivé kontroléry komunikujú s prostredím prostredníctvom vývojových kitov.

Pri našom vývoji využijeme prostredie na písanie programov a kompiláciu kódu do objektového súboru .hex .
Je zrejmé, že potrebujeme adekvátny kompilátor, no hlavne správnu prvotnú konfiguráciu prostredia.


1. Inštalácia MPLAB

   Download: MPLAB 8.92 - Download
   Alternatívny odkaz: odkaz
   Alternatívny odkaz: odkaz
-------------------------------------------------

1.1 pri inštalácií zvoľte zložku: "C:\Program Files (x86)\Microchip" .


2. Inštalácia kompilátoru C30

   Download: C30 3.31 Download
   Alternatívny odkaz: odkaz
-------------------------------------------------

2.1 pri inštalácií zvoľte zložku: "C:\Program Files (x86)\Microchip\MPLAB C30" .


3. Inštalácia Firmware

   Download: Download
-------------------------------------------------

3.1 pri inštalácií zvoľte zložku: "C:\microchip_solutions_v2013-06-15", kde v2013-06-15 je dátum vydania aktuálnej verzie.



4. Konfigurácia

4.1 Po inštalácií všetkých troch častí, spustíme MPLAB IDE mplab.exe.

4.2 Vytvoríme nový súbor File --> New

4.3 Vytvorime nový projekt:
     Project --> Project Wizard --> Next --> (vyberieme procesor) --> Nastavenie kompilátora -->
     --> Next -->  Create New Project File
(zvolíme názov súboru a uložíme, napr. c:\Skuska\projekt.mcp) --> Next
     --> Next -->  Finish










Nastavenie ciest kompilátora:

(pic30-as.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-as.exe
(pic30-gcc.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-gcc.exe
(pic30-ld.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-ld.exe
(pic30-ar.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-ar.exe

(Konfigurácia kompilátora existujúceho projektu - Project --> Select Language Toolsuite... )












4.4 Nastavenie relatívnych ciest prostredia:







Do položky Output Directory namapujeme adresár pre ukladanie pomocných súborov a pre hlavný súbor .HEX .







Do položky Intermediary Directory namapujeme adresár pre ukladanie pomocných súborov kompilácie ".o" .







Do položky Include Search Path namapujeme adresáre obsahujúce súbory a zložky s podsúbormi, ktoré includujeme.
Do tejto položky namapujeme zložku Microchip\Include v inštalačnej zložke inštalovaného Firmware a samotnú zložku nášho projektu, tj. koreňová zložka obsahujúca súbor "*.mcp", v našom prípade C:\Skuska .







Do položky Library Search Path namapujeme adresár obsahujúci všetke podporované knižnice daného kompilátora.
Mapujeme zložku lib, ktorá sa nachádza v inštalačnej zložke kompilátora C30.




4.5 Nastavenie pamäti HEAP:

Heap, takzvaná "halda" je druh voľnej pamäte. Ide o oblasť vymedzenej pamäti. Vlastnosťou tochto pamäťového miesta (oblasti) je to, že je využívaná dynamicky, to znamená, že pri štarte programu nie je jasné aká kapacita a či vôbec neaká kapacita bude z tochto miesta využitá. Tá sa využíva (ak vôbec) pri behu programu.
Dalo by sa to popísať ako "Ak budú stlačené 3 tlačidla, dynamicky alokuj pole pre ďalšie 2 tlačidla". Vidíme, že ak nie sú stlačené všetke tri tlačidlá, k alokácií nedôjde.
V tomto smere máme určitú neobmedzenosť, keďže programátor pri písaní kódu nevie, koľko tlačidiel bude stlačených a nemusí riešiť zbytočné využitie flash pamäte.

Ako je už zrejmé, využívajú ju referencie pointrov a napríklad spomenutá dynamická alokácia poľa.

Pri MPLAB je však nutné manuálne vymedziť veľkosť HEAPU, aby kompilátor pri preklade dynamického kódu mohol adekvátne HEAP priradiť.

Nastavenie: Pravým klik na projekt --> Build Options --> MPLAB LINK30 --> Heap size

Nastavením Heapu sa vyhradí veľkosť dynamickej, pamäťovej oblasti.
Po prekročení veľkosti dynamického alokovania sa MCU resetuje.



Pri resetovaní heapu z dôvodu použitia väčšieho počtu dynamických premenných (malej veľkosti Heapu), veľkosť zvýšime.

 






5. Loadnutie súborov .h, .c


5.1 Loadnutie source files ".s", ".c"

Klik pravým tlačidlom myši na položku Source Files --> Create Files.
Pri logickom mapovaní zložiek (namespace) --> Create Subfolder

 









5.2 Loadnutie headers files ".inc", ".h"

Klik pravým tlačidlom myši na položku Header Files


Napespace sú mapované na samostatné zložky.















Spomalenie Delay

Napísal: Patrik Slučiak (Diallix).

Spomalenie, (funkcia Delay()) je závislé od vnútornej frekvencie nastaveného oscilátora. Keďže procesor umožňuje
po delení rôzne frekvencie, nastavenie oneskorenia klasickým cyklom "for", a spomalenie na jeden inštrukčný
cyklus procesora príkazom asm("nop") by bolo veľmi neefektívne.

 

Headers - config_diall.h

Napísal: Patrik Slučiak (Diallix).



Config_diall.h
---------------------------------------------------------------------
Podporované procesory: PIC24FJ64GB002PIC24FJ64GA002, PIC24FJ64GB004 
Typ prostredí: MCU Config, Global Types, Debug Mode, Threading
Posledná revízia: 12.04. 2021
Autor: Diallix

Download

---------------------------------------------------------------------


Config_diall.h je knižnica implementujúca Hardwarovú abstrakčnú vrstvu HAL (Hardware Abstract Layer), pre prácu s MCU.
Ďalej implementuje niekoľko konfiguračných prostredí poskytujúcich informácie a funkcie pre uľahčenie práce s mikroprocesormi.


MCU Config - obsahuje kompletnú množinu nastavení a informácií o podporovanom procesore. Obsahuje množiny nepožitých pinov, USB vstupov, vstupy externých oscilátorov, nastavenia pre A/D konfiguráciu, definíciu jednotlivých portov.

Global Types - obsahuje deklaráciu mnohých, používaných údajových typov, deklaráciu makier a implementuje užitočné funkcie.
Ďalej asocializuje ďalšie potrebné knižnice pre jazyk C a preto ich nie je potrebné načitávať v main.c .
Funkcie & Makrá:
---> Delay - článok >> Tu <<
---> INIT - článok >> Tu <<
---> Riadenie registrov a A/D prevodníkov - článok >> Tu <<
---> Random - článok >> Tu <<

Debug Mode - toto podprostredie umožňuje detekovať chyby konfigurácie. Je možné nastaviť defaultné nastavenie signalizačnej LED, ktorá signalizuje chybu pri behu procesora v zapojení. Detekuje chyby používania
nepodporovaných registrov, pretečenia zásobníkov/polí alebo zlého časovania, ktoré sa za behu procesora nedajú zistiť. Všetky chyby sú ukladané do štruktúry. Zlé inicializovanie portov končí chybou 189.
Toto podprostredie nie je ešte úplne implementované.

Threading - umožňuje spúšťať metódy pod vlastným vláknom. Viac informácií >> Tu <<


Config_diall.h podporuje dva režimy nastavenia prostredia. Prvým režimom je NoTypeDef a druhým OnlyGlobalDef. Prvý režim sa používa vtedy, ak chceme definovať údajové typy, ktoré definuje samotný Config_diall.h. Pri definovaní makra __NoTypeDef__ nebudú údajové typy použité - budú použité typy knihovien, ktoré rozširuje Config_diall.h

Druhý režim nám umožňuje definovať makro __OnlyTypeDef__. Pri definovaní makra hovoríme, že používame nepodporovaný procesor ale chceme využívať pomocné makrá a funkcie headeru Config_diall.h. Pokiaľ by sme použili nepodporovaný procesor a nedefinovali toto makro, kompilácia skončí chybou!

Nastavenie režimov sa prevádza v súbore main.c :

 

main.c

#define __NoTypeDef__

#include "config_diall.h"

... Code ...



main.c

#define __OnlyGlobalDef__

#include "config_diall.h"

... Code ...

 




















Headers - config_words.h

Napísal: Patrik Slučiak (Diallix).



Config_words.h
---------------------------------------------------------------------
Podporované procesory: PIC24FJ64GB002,PIC24FJ64GA002,PIC24FJ64GB004
Typ prostredí: USB, Others
Posledná revízia: 19.01. 2021
Autor: Diallix

Download

---------------------------------------------------------------------

Tento header obsahuje konfiguráciu konfiguračný bitov pre nastavenie MCU Podrobný článok >>TU<<

Jednotlivé nastavenia pre určité režimy v zapojeniach sa zaktivizujú prostredníctvom makier, definovaných v jednotlivých moduloch.
Pre všetky ostatné zapojenia (zapojenia, ktoré nemajú definované detekčné makrá), sa použije defaultná konfigurácia.

Header stačí v hlavnom súbore main.c len includovať. Konfigurácia sa načitá sama.
!! Je nutné header includovať ako posledný v poradí z pomedzi všetkých headerov !!

 

main.c

#include config_diall.h
#include (..ostatne headere..)
#include config_words.h
 
 

 

O Stránke

Napísal: Patrik Slučiak (Diallix).

 

Obsah tochto webu vznikol a je ako súčasť dcérskeho projektu Diallix.net | Diallix Software (C) ,
Projekt webu je zameraný na elektrotechniku, a to návody, projekty, vývoj modulov pre mikprocesory, ktorého súčasťou sú projekty, návody a recenzie z tejto oblasti.

Web ďalej obsahuje teoretické znalosti ohľadom fungovania mikrokontrolérov, ktoré sú názorne ukázané na ukážkach a kódu. 

Domény

K tejto stránke, ako projektového celku, sa viažu ďalej domény:

                       http://www.electrowild.net
                       http://www.electrowild.com