Új hozzászólás Aktív témák

  • And

    veterán

    válasz coco2 #5611 üzenetére

    Nem annyira szerencse kérdése, bár úgy is fel lehet fogni. Ha nincs meg a forrás, csak az égethető bináris, akkor a program egyszerűsége szabja meg, hogy az ajánlott 'új' típus viszi-e a régi programot. Az említett 16C71 -> 16F716 esetén például eleve nincs olyan sok speciális regiszter, és a leglényegesebbek mindkettőnél ugyanazon a címen / lapon vannak. De például az ADC-hez tartozókra ez már abszolút nem igaz. A szabadon felhasználható RAM-címeknek is van közös átfedésük, de nem sok. Még a konfigurációs szó legfontosabb bitjei is megegyeznek, ide értve az oszcillátor típusát és a watchdog-ot. Bár ezek külön kezelése még hex-fájlok esetén is megoldott az MPLAB-ban, nem kötelező a binárisban lévő konfig-beállítások használata, azoktól el lehet térni. Tehát egy csak digitális I/O-t használó program akár mehet is az újabb típuson, de jó eséllyel problémás lesz, ráadásul nem biztos, hogy a gond azonnal előjön, mikor a kontroller elindul.
    Ha adott a forrás (úgy tűnik, a kollégánál ez megvolt(?) ), akkor az SFR / RAM címek eltérésével nincs gond, mert a céltípus beállításával a fordító módosítja ezeket, hiszen ismeri az általa támogatott MCU-k memóriatérképét. Egy felülről nagyjából kompatibilis típusban pedig minden olyan FSR adott, ami az eredetiben is megvolt, legfeljebb akadnak újabbak is (a 16F716 például tartalmaz két újabb timert, egy CCP - capture/compare/pwm - modult, meg nagyobb RAM- és program tárterületet, ami a 16C71-ben nem volt). Tehát így egész kis vagy akár nulla lényegi (forrás-)programmódosítás árán migrálható a kód.
    Nemrég kellett egy sok éve 16F876-ra írt kódot az ajánlott utód 16F886-ra költöztetnem, az nem ment módosítás nélkül, mivel ADC-t használt, azok konfigurációja meg némileg eltér a két típus között: az újnál szabadabb portkiosztás vehető igénybe, ezért az ADCON0/1 regiszterek felépítése nem azonos. De a gyártó itt elég konkrét dokumentációt adott a migrációhoz, összeszedte az apró eltéréseket, hogy mire kell figyelni a váltásnál.

Új hozzászólás Aktív témák