

Lähtökohtana pari asiaa:
Olen itse lisännyt ohjelmaan tuen PIC-assemblylle, tulosta voit katsoa tästä... Tämän väriloiston luo pic.syntax tiedosto. Lisää kuvia työympäristöstäni... Polttelen softat pikkiin prommerilla, joka on kytketty rinnakkaisporttiin...
Mutta takaisin asiaan.
Periaatteessa on kokonaistyössä on kaksi vaihtoehtoa:
Ominaisuus, joka helpottaa työskentelyämme on "virtuaalikonsolien" käyttö. Näiden avulla saamme monta "istuntoa" järjestelmään. Yhdessä voimme editoida picolla tekstiä, toisessa meillä voi olla kääntö/prommaus menossa, ja kolmannessa vaikkapa "minicom" terminaali.
(Ja kaikki tämä siis vaikkapa 386SX koneessa ;=O) Virtuaalikonsolien vaihto/käyttö tapahtuu painamalla ALT ja "funktionäppäin" eli esim. Alt-F2. Konsoleita voi olla käytössä F1-F6 asti. F7 on ensimmäinen "graafinen" ikkuna (esim. KDE).
Tarvittavat "PIC-spesifiset" softat ovat siis:
tai vaihtoehtoisesti
Tarvittavat vaiheet:
#ifdef LINUX
if (getuid()!=0) {
puts("pp: must be root to run pp (needs I/O access)");
exit(1);
}
#endif
pois. Tämän jälkeen komennolla 'make' voit kääntää ohjelman uudelleen.
HUOM !!!! tämä on tietoturva-aukko monen käyttäjän järjestelmissä ! Tällä muutoksella saat pp:n käynnistymään ilman että käyttäjän täytyy olla "root".
Lisäksi sinun täytyy antaa kirjoitusoikeus käyttäjälle lp* laitteeseen... Esim. 'chmod a+rw /dev/lp0' Huomaa, että annat tällä kenelle tahansa oikeudet vaikkapa poistaa lp-laite !!!! Toinen vaihtoehto on käyttää ohjelmaa root-käyttäjänä. Valinta on sinun ;)
Oma koneeni käyttää seuraavia asetuksia:
#!/bin/bash export PPSETUP=3 export PPDELAY=1 export PPLPT=0 /home/henkka/bin/pp $*
Tällä konfiguraatiolla pp tulostaa seuraavaa:
Hardware setup: 7407/PNP using LPT1 at 0378 (delay = 1)Eli käytän 7407 piiriin pohjautuvaa prommeria. Mahdollisia vaihtoehtoja voi etsiä vaihtamalla 'PPSETUP' parametria.
Tarvittavat vaiheet:
Usage: picasm [-o<objname> ] [-l <listfile> ] [-s] [-ihx8m/ihx16]
[-pic device] [-w[n]] <filename>
Esimerkkiohjelma, joka vilkuttaa RA0:n kytkettyä lediä:
; eka.asm
; vilkuttaa RA0:n kytkettyä lediä.
device pic16f84
config CP=off,WDT=on,PWRT=on,OSC=xt
;määrittelyt
porta equ 0x05
ncount equ 0x0d
mcount equ 0x0e
f equ 1
;alkupiste
org 0x000
;alku
start movlw 0x00
tris porta
clrf porta
;pyörityksen alkupiste
go bsf porta,0
call delay
call delay
call delay
bcf porta,0
call delay
goto go
;pyörityksen loppu
;viive
delay movlw 0xff
movwf mcount
loadn movlw 0xff
movwf ncount
repeat decfsz ncount,f
goto repeat
decfsz mcount,f
goto loadn
return
end
Kun olet kirjoittanut ohjelman esim. pico editorilla, käännät sen komennolla
'picasm eka.asm'
Tämän jälkeen sinulla pitäisi olla vastaava 'eka.hex' tiedosto, joka näyttää tältä:
:1000000000306500850105140A200A200A20051029 :100010000A200328FF308E00FF308D008D0B0E2844 :060020008E0B0C28080005 :02400E00F53F7C :00000001FF
Poltto tapahtuu komennolla
'mypp -e! eka.hex'
olettaen että 'mypp.sh' löytyy komentopolustasi. (Ellei löydy, voit kopioida sen vaikka kotihakemistosi 'bin' hakemistoon.) Tässä '-e' pyyhkii PIC:n ohjelmamuistin ja '!' kertoo ettei käyttäjältä odoteta "varmistusta".
Voit myös täyttää vieraskirjan
Pic'n Technicues kirjan lähdekoodi
Pic'n Up the Space kirjan lähdekoodi
Serial Pic'n kirjan lähdekoodi
Edellämainitut koodit on otettu sivuilta
www.sq-1.com
Historia:
18.9.1999 lisätty laskuri ao. linkin vuoksi ;)
18.9.1999 huomattu linkki Prosessori-lehdessä
18.7.1999 lisätty kirjojen lähdekoodit
25.6.1999 lisätty vieraskirja-linkki
23.6.1999 lisätty pcb-linkki
4.6.1999 lisätty cooledit-linkki.
23.5.1999 dokumentti luotu.
h yty dot net