Mplab X (PIC utvecklingsmiljö)

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Mplab X (PIC utvecklingsmiljö)

Inlägg av BJ »

Jag tänkte att vi kunde ha en tråd om Mplab x.
Det här gäller Beta version 4.

Programmet finns här:
http://www.microchip.com/en_US/family/mplabx/index.html

Här är några sidor med information:

http://microchip.wikidot.com/mplab:_start
http://microchip.wikidot.com/mplab:what ... or-mplab-x
http://microchip.wikidot.com/mplab:how- ... plab-x-ide

Det står om olika installations-filer för olika linux-distributioner,
men just nu verkar det bara finnas en bin-fil.

Microchips forum, Mplab x:
http://www.microchip.com/forums/f238.aspx

För att få programmet att göra en map-fil när man bygger ett assembler-projekt
så får man välja
Run --> Set project configuration --> Customize...
Tryck på Mplink.
I rutan vid "generate map file" skriver man namnet på map-filen som man vill ha.
Filen hamnar i projekt-katalogen när man har byggt projektet.

Att ha kommentarer skrivna med ljusgrå text på vit bakgrund är inte så kul.
För att ändra:
Tools --> options --> Fonts & colors
Language = Assembler
Tryck på "Comment" och välj färg vid "Foreground".
Man får ha käll-filerna avstängda, annars låser sig programmet.
(Då verkar det vara xkill som gäller.)
Man får ändra färgen först, och öppna sina käll-filer sen.

Om man råkar stänga nån av Projects / Files / Services till vänster
i program-fönstret så kan man få tillbaka dom genom att välja rätt fönster
i Window-menyn, eller med Window --> reset windows.

För att titta på program-minnet som en assembler-listning:
Window --> Embedded memory --> Embedded memory 1
Välj "Memory: program" och "Format: symbol" längst ner där.
Då får man en assemblerad och länkad assembler-listning.
Variablerna visas fortfarande som symboler (namn), men
konstanter som är skrivna med assembler-direktiv är omgjorda till tal.
barbarossa
EF Sponsor
Inlägg: 544
Blev medlem: 8 december 2006, 11:18:14
Ort: Tågarp, Svalöv

Re: Mplab x

Inlägg av barbarossa »

Det verkar väldigt attraktivt. Användargränsnittet är det som hållit mig borta från MPLAB tidigare.
Användarvisningsbild
swesysmgr
Inlägg: 14924
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: Mplab x

Inlägg av swesysmgr »

Har du testat om det går att ha både MPlab 8 och X installerade samtidigt eller om de stör varandras drivrutiner/kommunikation med PICKit?
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: Mplab x

Inlägg av jonnorberg »

Wohoo OSX!
Då ska jag ta lite tid och kika på ifall min PicKit2 kommer funka.

EDIT: Ser ju mörkt ut för PicKit2 användare just nu. Kanske kommer...
Användarvisningsbild
Odur
Inlägg: 267
Blev medlem: 11 september 2005, 14:36:49
Ort: Borås

Re: Mplab x

Inlägg av Odur »

Från en moderator i Microchips forum:
PICKit 2 is not supported in MPLAB X Beta 4.1 It WILL be supported in upcoming releases.
En annan medlem på forumet skrev även att det kommer stöd för PICKit 2 i Beta 5.
barbarossa
EF Sponsor
Inlägg: 544
Blev medlem: 8 december 2006, 11:18:14
Ort: Tågarp, Svalöv

Re: Mplab x

Inlägg av barbarossa »

Det går att välja pickit2 i projektmenyn.
Användarvisningsbild
swesysmgr
Inlägg: 14924
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av swesysmgr »

Om någon vill köra MPLAB X på Win7 x64 och inte får kontakt med in PICKIT3 så installera först 32-bits versionen av Java SDK, då verkar allt funka.

Jag testade först att manuellt peka MPLAB X på 32-bits SDK med kommandoradsoptionen --jdk
home och då detekterades PICKIT3 korrekt men tappade samtidigt kopplingen till länkaren/make.

För att se om ens programmeringshårdvara hittas korrekt så gå till File -> Project properties -> Conf. Om en rad med ett serienummer finns under programmerarens typ i trädet (Pickit3 etc) så har den hittats korrekt.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av PopUnoNkoK »

Testar att sälla en fråga i denna tråd.

Alltså, jag sitter med MPLAB X på Mac och försöker skapa ett projekt till PIC 16F690.
Allt går bra tills jag vill lägga till Linker filen och templatefilen som jag brukar utgå ifrån. Alltså 16f690TPMO.asm.

När jag försöker lägga till filerna till projekter så hittar jag bara filer för 24fxxx och uppåt. Är det så att Microchip har tagit bort dessa?
Jag skulle förstås kunna kopiera från PCn men det känns inte som en smidig lösning.

Någon som har ett bra svar.

MVH Peter
Användarvisningsbild
hcb
Moderator
Inlägg: 5973
Blev medlem: 23 februari 2007, 21:44:50
Skype: hcbecker
Ort: Lystrup / Uppsala
Kontakt:

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av hcb »

Det ser inte bättre ut.

Kod: Markera allt

HCB-MBP% find . -name "*16?690*" -print
./mplabc18/v3.40/bin/LKR/16f690_g.lkr
./mplabc18/v3.40/mpasm/P16F690.INC
find: ./mplabc30/v3.30b/rollbackBackupDirectory: Permission denied
./mplabx/mpasmx/LKR/16f690_g.lkr
./mplabx/mpasmx/P16F690.INC
HCB-MBP% 
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av PopUnoNkoK »

Trots att jag kört Mac ett ganska bra tag nu är jag inte så haj på Terminal. (Antar att ditt "citat" är från ett terminalfönster) =)

Jag ser juh filerna där i din "logg" men samtidigt står det juh "Permission denied", plus att jag tolkar ditt "Det ser inte bättre ut." som att det inte funkar att få in dessa filer i ett projekt på ett smidigt sätt.

Är det det du kommit fram till.

Jobbigt i sånna fall.

Jaja.

Tack för svar.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av sodjan »

Är det inte fortfarande en "beta" ?
Användarvisningsbild
swesysmgr
Inlägg: 14924
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av swesysmgr »

PopUnoNkoK skrev:Alltså, jag sitter med MPLAB X på Mac och försöker skapa ett projekt till PIC 16F690.
Allt går bra tills jag vill lägga till Linker filen och templatefilen som jag brukar utgå ifrån. Alltså 16f690TPMO.asm.
I Windowsversionen ligger filen under "C:\ProgramFilesx86\Microchip\MPLABX\mpasmx\templates\Object" så de kanske bara flyttats till en annan plats på din mac? Dock med suffix .ASM istället för .asm, jag minns inte om filsystemet i OSX är case sensitive.

Det verkar konstigt att filerna skulle ha exkluderats just för en viss platform.
Användarvisningsbild
hcb
Moderator
Inlägg: 5973
Blev medlem: 23 februari 2007, 21:44:50
Skype: hcbecker
Ort: Lystrup / Uppsala
Kontakt:

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av hcb »

>Jag ser juh filerna där i din "logg" men samtidigt står det juh "Permission denied", plus att jag tolkar ditt "Det ser inte bättre ut." som att det inte funkar att få in dessa filer i ett projekt på ett smidigt sätt.

Nej, jag menade att den filen du var ute efter (16f690TPMO.asm) inte fanns med. Permission denied gäller bara en katalog i C30-installationen
Jag skall kika närmare på det senare idag eller i morgon.
Användarvisningsbild
hcb
Moderator
Inlägg: 5973
Blev medlem: 23 februari 2007, 21:44:50
Skype: hcbecker
Ort: Lystrup / Uppsala
Kontakt:

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av hcb »

Jag har nog inte fattat vad som krånglar för dig (jag är ingen fena på MPLAB, vare sig med eller utan X, så det är i den här ändan det går trögt).

Det var inte några problem att skapa ett projekt för 16F690, lägga till en tom källkodsfil (sånär som på ett "END") och bygga projektet. Detta med Beta 7.02.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: Mplab X (PIC utvecklingsmiljö)

Inlägg av PopUnoNkoK »

När jag på PCn i garaget skapar ett projekt med 16f690 så lägger jag till en fil som heter 16f690TMPO.asm.
Det är en template/mall som funkar bra för mig som utgångsläge.
Configbitar är satta, ISR inklusive sparande och hämtande av W, Status och Pclath är skriven och lite andra bitar. Denna typ av Template finns till alla PICar jag har programerat änså länge i MPLAB 8. Men jag hittar dem inte i MPLAB X.

Men det är väl bara att se till att ha några mallar sparade på lämpligt ställer.

Tack för hjälpen i alla fall

EDIT: La till koden här under.

Så här ser den filen ut.

Kod: Markera allt

;**********************************************************************
;   This file is a basic code template for object module code         *
;   generation on the PIC16F690. This file contains the               *
;   basic code building blocks to build upon.                         *
;                                                                     *
;   Refer to the MPASM User's Guide for additional information on     *
;   features of the assembler and linker (Document DS33014).          *
;                                                                     *
;   Refer to the respective PIC data sheet for additional             *
;   information on the instruction set.                               *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Filename:      xxx.asm                                           *
;    Date:                                                            *
;    File Version:                                                    *
;                                                                     *
;    Author:                                                          *
;    Company:                                                         *
;                                                                     *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Files required: P16F690.INC                                      *
;                                                                     *
;                                                                     *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Notes:                                                           *
;                                                                     *
;                                                                     *
;                                                                     *
;                                                                     *
;**********************************************************************

    list      p=16F690           ; list directive to define processor
    #include <p16F690.inc>        ; processor specific variable definitions

    errorlevel  -302              ; suppress message 302 from list file

    __CONFIG   _CP_OFF & _CPD_OFF & _BOR_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF 

; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See data sheet for additional information on configuration word settings.

;***** VARIABLE DEFINITIONS (examples)

; example of using Shared Uninitialized Data Section
INT_VAR     UDATA_SHR     
w_temp      RES     1       ; variable used for context saving 
status_temp RES     1       ; variable used for context saving
pclath_temp RES     1       ; variable used for context saving

;**********************************************************************
RESET_VECTOR    CODE    0x0000       ; processor reset vector
        goto    start                ; go to beginning of program

INT_VECTOR      CODE    0x0004       ; interrupt vector location

INTERRUPT

        movwf   w_temp            ; save off current W register contents
        movf    STATUS,w          ; move status register into W register
        movwf   status_temp       ; save off contents of STATUS register
        movf    PCLATH,w          ; move pclath register into W register
        movwf   pclath_temp       ; save off contents of PCLATH register



; isr code can go here or be located as a call subroutine elsewhere


        movf    pclath_temp,w     ; retrieve copy of PCLATH register
        movwf   PCLATH            ; restore pre-isr PCLATH register contents
        movf    status_temp,w     ; retrieve copy of STATUS register
        movwf   STATUS            ; restore pre-isr STATUS register contents
        swapf   w_temp,f
        swapf   w_temp,w          ; restore pre-isr W register contents
        retfie                    ; return from interrupt

MAIN_PROG       CODE

start

; remaining code goes here

        goto    start             ; loop forever

; initialize eeprom locations

EE      CODE    0x2100
        DE  0x00, 0x01, 0x02, 0x03

        END                       ; directive 'end of program'
Skriv svar