Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
pic-as
F6FCO a écrit :Est ce que Mplab 8.92 fonctionne sur Linux ? Pas trouvé d'infos correctes sur ce sujet.
Salut F6FC0. Je pense qu'il est possible de faire tourner Mplab 8.92 32biis sur un linux récent via wine32 et en installant l'architecture i386
Code : Tout sélectionner
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine32 wineMais ne le fait pas tu va polluer ta distrib pour rien car tu pourra coder/compiler. (En théorie)
Mais il te sera impossible de programmer le pic via pickit car wine ne pourra pas accéder à la couche USB. C'est plus du "bricolage" qu'autre chose
Après pour programmer le pic tu peux passer par pk2cmd mais tout se fait uniquement en ligne de commande et seulement compatible pickit 2
Mplab x ipe reste une alternative en 64bits je pense
@++
pic-as
pic-as
Bonjour
Je ne montre que ce bout, plus simple à lire.
Pour les deux dernières lignes il me sort "syntaxe error". Une idée ?
En fin de journée je suis pas très opérationnel . . .
Je ne montre que ce bout, plus simple à lire.
Code : Tout sélectionner
#define pmcon1 PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD
. . .
bcf pmcon1, 0
bsf pmcon1, 1Pour les deux dernières lignes il me sort "syntaxe error". Une idée ?
En fin de journée je suis pas très opérationnel . . .
pic-as
pic-as
Et hop :
Je précise que dans le fichier .S pmcon1et PMCON1 sont de la même couleur (par défaut bleu clair).
Et pour la ligne 71 : END se trouve ligne 70, 71 est "vide" est il y a du code derrière. Le END a été placé là pour que la suite ne soit pas prise en compte . . .
Code : Tout sélectionner
CLEAN SUCCESSFUL (total time: 64ms)
"/opt/microchip/xc8/v3.10/pic-as/bin/pic-as" -mcpu=PIC16F1719 -c \
-o build/default/production/_ext/569843250/chargeur.o \
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S \
-mdfp="/opt/microchip/mplabx/v6.20/packs/Microchip/PIC12-16F1xxx_DFP/1.7.242/xc8" -msummary=+mem,+psect,-class,-hex,-file,-sha1,-sha256,-xml,-xmlfull -fmax-errors=20 -mwarn=0 -xassembler-with-cpp
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:62:: error: (876) syntax error
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:63:: error: (876) syntax error
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:71:: error: (876) syntax error
make: *** [nbproject/Makefile-default.mk:104: build/default/production/_ext/569843250/chargeur.o] Error 1
BUILD FAILED (exit value 2, total time: 220ms)Je précise que dans le fichier .S pmcon1et PMCON1 sont de la même couleur (par défaut bleu clair).
Et pour la ligne 71 : END se trouve ligne 70, 71 est "vide" est il y a du code derrière. Le END a été placé là pour que la suite ne soit pas prise en compte . . .
pic-as
pic-as
pic-as
Le fichier est en cours d'écriture, le voilà avec la sortie mplabx à jour.
/* en-tête pour les 16fxxx
En l'occurence 16f1719
Possibles : 16f84a 16f877a 16f1615 16f1719 16f1947 16f18875 */
PROCESSOR 16F1719
; CONFIG 1
CONFIG FOSC = INTOSC ; Oscillator Selection Bits (INTOSC oscillator: I/O function on CLKIN pin)
CONFIG WDTE = SWDTEN ; Watchdog Timer Enable (WDT controlled by the SWDTEN bit in the WDTCON register)
CONFIG PWRTE = ON ; Power-up Timer Enable (PWRT enabled)
CONFIG MCLRE = ON ; MCLR Pin Function Select (MCLR/VPP pin function is MCLR)
CONFIG CP = OFF ; Flash Program Memory Code Protection (Program memory code protection is disabled)
CONFIG BOREN = SBODEN ; Brown-out Reset Enable (Brown-out Reset controlled by the SBOREN bit in the BORCON register)
CONFIG CLKOUTEN = OFF ; Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
CONFIG IESO = OFF ; Internal/External Switchover Mode (Internal/External Switchover Mode is disabled)
CONFIG FCMEN = ON ; Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)
; CONFIG 2
CONFIG WRT = OFF ; Flash Memory Self-Write Protection (Write protection off)
CONFIG PPS1WAY = ON ; Peripheral Pin Select one-way control (The PPSLOCK bit cannot be cleared once it is set by software)
CONFIG ZCDDIS = ON ; Zero-cross detect disable (ZCD disabled. ZCD can be enabled by setting the ZCDSEN bit of ZCDCON)
CONFIG PLLEN = ON ; Phase Lock Loop enable (4x PLL is enabled)
CONFIG STVREN = ON ; Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
CONFIG BORV = HI ; Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), high trip point selected.)
CONFIG LPBOR = ON ; Low-Power Brown Out Reset (Low-Power BOR is disabled)
CONFIG DEBUG = ON ; In-Circuit Debugger Mode (In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger)
CONFIG LVP = OFF ; Low-Voltage Programming Enable (High-voltage on MCLR/VPP must be used for programming)
#include <xc.inc>
PSECT resetVec,class=CODE,delta=2
resetVec:
goto test_rst
/*******************
**** test reset ****
********************/
; définition registres - la flashHE concerne uniquement les bit 7-0 de chaque mot mémoire
; les registres STATUS et PCON seront écrits aux adresses consécutives 3f80 et 3f81
; STATUS bkx - pcon bk1
; le reste bk3
test_rst:
#define pmcon1 PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD
#define pmcon2 PMCON2
#define pmadrl PMADRL
#define pmdatl PMDATL
#define pcon PCON ; STKOVF STKUNF *** RWDT RMCLR RI POR BOR
; définition variables
psect udata_bank3
rst_h_0: ds 1 ; 0x020 contient STATUS actuel
rst_l_0: ds 1 ; contient PCON actuel
rst_h_pre: ds 1 ; contient STATUS précédent
rst_l_pre: ds 1 ; contient PCON précédent
; lecture flash
banksel PMADRL
movlw 80h ; adresse premier mot en high-endurance flash
movwf pmadrl
bcf pmcon1, 0
bsf pmcon1, 1
nop
nop
movf pmdatl, w
movwf rst_h_pre
PSECT isrVec,class=CODE,delta=2
isr:
END
CLEAN SUCCESSFUL (total time: 58ms)
"/opt/microchip/xc8/v3.10/pic-as/bin/pic-as" -mcpu=PIC16F1719 -c \
-o build/default/production/_ext/569843250/chargeur.o \
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S \
-mdfp="/opt/microchip/mplabx/v6.20/packs/Microchip/PIC12-16F1xxx_DFP/1.7.242/xc8" -msummary=+mem,+psect,-class,-hex,-file,-sha1,-sha256,-xml,-xmlfull -fmax-errors=20 -mwarn=0 -xassembler-with-cpp
make: *** [nbproject/Makefile-default.mk:104: build/default/production/_ext/569843250/chargeur.o] Error 1
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:60:: error: (876) syntax error
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:61:: error: (876) syntax error
BUILD FAILED (exit value 2, total time: 107ms)
pic-as
#define pmcon1 PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD
C'est le commentaire à droite du define qui pose problème, en l'enlevant cela marche. pic-as et ses surprises ...
Avec la directive equ c'est bon
pmcon1 equ PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD
C'est censé être le même préprocesseur que le C, mais j'en doute.
Ah ok, c'est bien le même préprocesseur, il faut mettre // et c'est bon
#define pmcon1 PMCON1 // *** CFGS LWLO FREE WRERR WREN WR RD
/* */ // et ; sont acceptés pour les commentaires, sauf pour le préprocesseur qui ne reconnait pas ;
Modifié en dernier par satinas le dim. 11 janv. 2026 16:03, modifié 1 fois.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 16 invités


