Sari la conținut
ELFORUM - Forumul electronistilor

Familia PIC18F - Intrebari diverse


Blacksmith

Postări Recomandate

In datasheet la PIC18F scrie ca valoarea registrului FSR2 (FSR2H:FSR2L) este considerata adresa de start pentru ACCESS BANK. Am incarcat in FSR2 adresa 0x200 si am dat un [ movlw 0xFF / movwf 0x05, ACCESS ].Inloc sa imi scrie la adresa 0x205 ( adica 0x200 (ca acolo incepe ACCESS BANK-ul) + 0x05) imi scrie la adresa (absoluta) 0x005. :smt021De ce ?

Link spre comentariu
  • Răspunsuri 18
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Blacksmith

    8

  • puiu

    5

  • Abram Burel

    2

  • sofian

    1

Top autori în acest subiect

Bine ai venit in lumea programarii PIC-urilor!E amuzant, nu-i asa? :smt016 E cam cum ai vrea sa te scarpini in cap si de fapt te scarpini in fund, ca ai uitat sa specifici in care jumatate a corpului vrei sa te scarpini.La PIC-uri nu e suficient sa ii dai doar adresa, trebuie sa il duci de manuta la adresa, adica sa ai grija singur de comutatul paginilor de memorie. Cu 18F nu m-am jucat dar am asa o banuiala ca e la fel...

Link spre comentariu

Am gasit de ce nu merge .... Chestia asta cu remap-area Access Bank-ului merge doar cind e activat setul de instructiuni extinse ( XINST din CONFIG) :crazy:

 

Dar acum dupa ce am activat XINST imi da un fel de eroare dupa compilare: :smt017

 

Posted Image

 

Cum adica "was not built using extended"? ... ca eu cind i-am dat BUILT era chiar al dracului de activat extended-ul !

Link spre comentariu

Mda ... nu e de ajuns sa activezi bit-ul XINS din CONFIG pentru a folosi instructiunile extinse.

Mai trebuie setat si in MPLAB optiunea sa foloseasca instructiunile extinse la compilare. (XINST-u fiind doar pentru activare)

 

Bun , am setat si in MPLAB "extended mode" dar acum nu se mai compileaza si imi zice asa :

 

Executing: "C:\MCC18\bin\mplink.exe" /l"C:\mcc18\lib" "rm18f4550 - HID Bootload.lkr" "Objects\user.o" "Objects\main.o" "Objects\usb_descriptors.o" "Objects\usb_device.o" "Objects\usb_function_generic.o" /u_CRUNTIME /u_EXTENDEDMODE /z__MPLAB_BUILD=1 /w /o"USB Device - MCHPUSB - Generic Driver - C18 - PICDEM FSUSB.cof"

MPLINK 4.21, Linker

Copyright © 2008 Microchip Technology Inc.

Error - mixing extended and non-extended mode modules not allowed.

Errors : 1

 

Link step failed.

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

Release build of project `C:\Microchip Solutions\MCHPUSB\PIC Firmware\USB Device - MCHPUSB - Generic Driver - C18 - PICDEM FSUSB.mcp' failed.

Tue Sep 02 15:57:14 2008

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

BUILD FAILED

As fi bucuros daca as purta o discutie dinamica, nu un monolog ... :smt009
Link spre comentariu

Adevarul e ca ne place sa te ascultam (mai bine zis, citim).Pe de alta parte, progresezi destul de rapid, se pare :)Nu ma pricep prea bine, dar eroarea aia spune ca ai unul sau mai multe module in mod extended si unul sau mai multe "normale" si ca chestia asta... nu e voie. Daca nu e, nu e. Trece-le pe toate intr-unul din moduri.

Link spre comentariu

Am reusit ! :yahoo: Am trecut cu succes in modul Extended si accesarea memoriei prin ACCESS BANK e minunata. :smt055 Doar setezi FSR2 cu adresa unde vrei sa inceapa ACCESS BANK-ul si ai 96 registri de uz general + toti SFR in acelasi bank ! Adio " bsf STATUS, RP0 " ... :smt039Deci pentru a trece in modul Extended trebuie sa faci 3 chestii :1. Setezi in CONFIG bitul XINST2. In MPLAB la meniul Project -> Build Options -> Project -> MPASM Suite : bifezi Extended Mode.si.... :evil4:3. Incluzi in proiect "Linker Script"-ul (ex. : 18f4550.lkr) pentru modul Extended, ca sint 2 : unul normal si unul pt extended. Cel pentru extended are un "_e" la sfirsit ( ex: 18f4550_e.lkr ).

Link spre comentariu

Am o intrebare: Cele afirmate mai sus sunt valabile pentru familia lui PIC18F? Intreb deoarece eu lucram in momentul respectiv cu PIC18F6680 si nu am gasit in datasheetul lui acest lucru. De asemenea am lucrat cu PIC18F452 si PIC18F458 si nici aici nu am gasit lucrul respectiv. E vorba de o optiune care o au numai unele microcontrolere din familia 18F?

Link spre comentariu

Imi pare rau dar in DS30491C-page 62 care o utilizez pentru PIC18F6585/8585/6680/8680 nu este scris asa ceva. (PIC18FXX8X)N-am inteles aluzia referitor la PIC18F452. Esti mirat ca nu are functia sau nu ai auzit de el. Eu mai cred ca am 1 sau 2 bucati si am folosit informatiile din DS39564B pentru PIC18FXX2.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări