Odeslat nové téma Odpovědět na téma  [ Příspěvků: 25 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 9:24 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
Zdravím, naprogramoval jsem dlouhý program, ale není až tak dlouhý, že by překročil 2Kb. Po převodu na soubor hex má velikost kolem 1800 bajtů. v procesoru 16F628A, který má 2048bajtů, provede kolaps a v procesoru 16F877A s 8192bajtů to funguje bez problému. A přitom když to dám na programovací program, tak pod konce programu je ještě několik řádků s 3FFF.
Viz Obrázek
I podle Data sheetu tam mám dost místa. Dokonce v PIC IDE Simulátoru to jede bez problému.
Ted otázka v čem je problém? Nebo se ty paměti také rozdělují pomocí BANKy? Pokud ano, prosím uveďte jak. Stejně ten program se vejde podle datasheetu do jendé BANKy. Podle Datasheetu by se vešel i klidně 16F627A. Děkuji

2x P.S. Na 16F628A jsem zkusil jiný kratší program a funguje. RAM paměti taky nemám mnoho, jen 15 řádků.

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 11:54 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 1975
Bydliště: Vysočina, ČR
Nikdo se k tomu nehlásí (a ani se nedivím, je to trochu guláš). Ale co mě tak napadá. Nepíšeš v čem to programuješ a nevím co znamená "...provede kolaps...". Pokud ti ale překladač (při správně vybraném procesoru) vytvoří soubor HEX, nejedná se asi o chybové hlášení ale zřejmě o varovnou zprávu. Problém nemusí souviset s velikostí paměti programu a zpráva nemusí být ani důležitá. Měl bys ale zjistit co se mu nelíbí.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 13:00 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
ellet píše:
Nikdo se k tomu nehlásí (a ani se nedivím, je to trochu guláš). Ale co mě tak napadá. Nepíšeš v čem to programuješ a nevím co znamená "...provede kolaps...". Pokud ti ale překladač (při správně vybraném procesoru) vytvoří soubor HEX, nejedná se asi o chybové hlášení ale zřejmě o varovnou zprávu. Problém nemusí souviset s velikostí paměti programu a zpráva nemusí být ani důležitá. Měl bys ale zjistit co se mu nelíbí.


Omlouvám se :oops: píšu jak tatar. Programuju to v Asembleru v MPLAB X IDE. Naprogramuju to na procesor, bez problému, ale když ten procesor spustím, dělá to nesmysli. Změním jen nastavení procesoru a naprogramuju na ten větší 16F877A, tak to spustí bez problému, funguje bez chyb. Sice je to ted pro mě prkotina. Ale zajímá mě pro budoucnost, aby jsem někde neudělal chybu. Jak to známe, aby jsme ten procesor netrápili ;)

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 13:15 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 1975
Bydliště: Vysočina, ČR
A na případnou opravu řádku:
#include ... a vhodný INC soubor snad při změně procesoru nezapomínáš.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 13:50 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
ellet píše:
A na případnou opravu řádku:
#include a vhodný INC soubor snad při změně procesoru nezapomínáš.


Samozřejmě nezapomínám, několikrát jsem to zkontroloval. Klidně sem můžu vložit, jak ten program vypadá. Programoval jsem i na krátkém programu, se stejním INC a #include se stejným vstupem i výstupem a tam to funguje. Ops: Až ted. Asi jsem našel chybu, v DECFSZ 20h má být i s (,F). :oops: Ale stejně jsem to celý překopíroval na 16F877A a nastavil jsem Inc a Config i inic. A tam to fungovalo. Doma to znovu zkusím jestli to s tím F nenadělalo paseku. Dám vědět večer.

Ještě mě zajímá ta hláška v Erroru "Message[302] C:\test.asm 32 : Register in operand not in bank 0. Ensure that bank nits are correct." Co to znamená? V inicializaci mám nastaveno v bank1 kvůli nastavení portu. Píše mi to tu tři řádky u TRISA TRISB a PCON.

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 14:14 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 1975
Bydliště: Vysočina, ČR
Cserv píše:
....Message[302]....

....tě jen informuje, že jsi mimo banku 0. Jde to vypnout , vložením řádku:
errorlevel -302
ale to už jsou snad témata i na jiný server.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: stř 27.04.2016 14:30 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
ellet píše:
....tě jen informuje, že jsi mimo banku 0. Jde to vypnout , vložením řádku:
errorlevel -302
ale to už jsou snad témata i na jiný server.

Jo jo už jsem to našel a vyzkoušel, fakt to funguje :twisted:
Dík a ještě večer dám vědět jestlo to bylo s tím F. Ted koukám na program pro procesor 16F877A a tam je stejná chyba s tím F. Takže nejspíš to tím nebude. Ještě jsem našel s příponou LST po převedení MPASM a píše tam úplně na konci "Program Memory Words Used: 258" "Program Memory Words Free: 1790" Takže přeplněná pamět to určitě nebude :cry:

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: čtv 28.04.2016 8:00 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
Omlouvám se včera večer jsem nestíhal, tak jsem si to vzal do práce. Tak první pokus, znovu natáhnout ten opravený program. nezdařil, dělalo to nesmylsli, ale asi jsem tam toho nahrabal hodně a možná udělal mnoho chyb. Zkusil jsem celý zdroj zkopírovat z 16F877A, přidal jsem tam ty chybějící F a ono to funguje 8O To mě nějak hlava nebere. 8O Jinak díky za vše, hlavně té -302 aspon jsem o něco chytřejší :D Ještě mám otázku, jak zjistím kolik místa tam ještě mám? To je ono ten s příponou LST úplně na konci?

EDIT: Ted jsem zjistil, že s tím F to nebylo, když jsem se podíval do HEX souboru, tak kódy mají stejné.

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: čtv 28.04.2016 9:16 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 1975
Bydliště: Vysočina, ČR
Cserv píše:
... To je ono ten s příponou LST úplně na konci?...

Ano, na konci souboru LST je velikost obsazené i volné paměti programu.
A jinak blahopřeji k úspěchu, někdy to prostě chvíli trvá... :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: čtv 28.04.2016 19:19 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
Ještě mám otázku, vím že to je mimo OT, ale když programujete, tak nejdřív kreslíte Blokový diagram? Nebo to už programujete z hlavy? Díky za odpověd.

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: čtv 28.04.2016 22:30 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 1975
Bydliště: Vysočina, ČR
Cserv píše:
Ještě mám otázku, vím že to je mimo OT, ale když programujete, tak nejdřív kreslíte Blokový diagram? Nebo to už programujete z hlavy? Díky za odpověd.

Blikání ledkou jde udělat snadno z hlavy :) ale složitější věc bez vývojového diagramu (nebo kopenogramu) a aby práce byla trochu efektivní - nejde. Takže já čmárám po papírech...(někdy jen části).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: pát 29.04.2016 7:08 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
ellet píše:
Blikání ledkou jde udělat snadno z hlavy :) ale složitější věc bez vývojového diagramu (nebo kopenogramu) a aby práce byla trochu efektivní - nejde. Takže já čmárám po papírech...(někdy jen části).


Díky, no blikačky ledky, či takový jednoduchý, to jo, to je jasný. Takže vývojový diagram fakt pomáhá na složitejší programy? Je fakt, že při programování se začínám strácet, horší je, že mě někdo vyruší a už nevím kde jsem :D Takže nejpíš jdu studovat nejdřív ten vývojový diagram. :oops:

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: pát 29.04.2016 10:15 
Protřelejší uživatel
Protřelejší uživatel

Registrován: 23.5.2015
Příspěvky: 161
Bydliště: České Budějovice
Obrázky: 37
Sorry za OT - ten program je nějaká semestrálka na průmyslovce? Protože v roce 2016 používat vykopávku PIC16 a ještě to programovat v assembleru, mi přijde jako slušný masochismus :twisted:

Pokud chceš s tím PICem tvořit něco víc než blikání LEDkou, sežeň si co nejdřív překladač Cčka, ať se s tím aspoň nemusíš dřít v assembleru, který je konkrétně u PICů 16x naprosto debilní. Třeba CCS má i free verzi, kde je sice dost omezený výběr podporovaných součástek, ale pokud si dobře pamatuju tak 16F877 tam byla.

Jestli je cílem naučit se assembler, tak existuje spousta procesorů s mnohem lepší architekturou - ARM Cortex-M, MSP430 od Texasu, Atmel AVR... snad cokoliv je lepší než PIC, co má 2 paměťové banky, 1 pracovní registr, HW stack s kapacitou neuvěřitelných 8 slov, 4 takty oscilátoru/strojový cyklus atd. (nemluvím teď o PIC32, ty mají MIPS jádro a je to úplně jiná liga ;) ).


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: pát 29.04.2016 12:03 
Celkem nový uživatel
Celkem nový uživatel

Registrován: 12.7.2013
Příspěvky: 86
Bydliště: Praha - Žižkov
Obrázky: 15
rc_wolf píše:
Sorry za OT - ten program je nějaká semestrálka na průmyslovce? Protože v roce 2016 používat vykopávku PIC16 a ještě to programovat v assembleru, mi přijde jako slušný masochismus :twisted:

Pokud chceš s tím PICem tvořit něco víc než blikání LEDkou, sežeň si co nejdřív překladač Cčka, ať se s tím aspoň nemusíš dřít v assembleru, který je konkrétně u PICů 16x naprosto debilní. Třeba CCS má i free verzi, kde je sice dost omezený výběr podporovaných součástek, ale pokud si dobře pamatuju tak 16F877 tam byla.

Jestli je cílem naučit se assembler, tak existuje spousta procesorů s mnohem lepší architekturou - ARM Cortex-M, MSP430 od Texasu, Atmel AVR... snad cokoliv je lepší než PIC, co má 2 paměťové banky, 1 pracovní registr, HW stack s kapacitou neuvěřitelných 8 slov, 4 takty oscilátoru/strojový cyklus atd. (nemluvím teď o PIC32, ty mají MIPS jádro a je to úplně jiná liga ;) ).


No umím jedině v asembleru, trochu jsem dělal i v C. Jen chci vytvořit program, pro zapnutí a vypnutí PC a další periferie, v tom bude i obsahovat, rozsvětlění a zhasínání světla, nad pracovním stolem. A ještě mě zalíbila světelné dýchání v tlačítku. Vypínání a zapínání PC a další jeho periferie, to je jednoduchý. Rosvětlování a dýchání, jsem mi povedlo udělat jen na jednom tlačítku a ted to chci dát vše do jednoho programu teda do jednoho procesoru. :D Podle mě pak stačí ten PIC. A kdyby jsem chtěl programovat novější procesory, tak to by jsem musel opět nastudovat :/ A na to nemám čas. Ted jsem vyhledal CCS a chtělo po mě registraci, takže asi Free to nebude. :cry:

_________________
Graupner MX-12 HoTT, Beta 1400, Funcub 1400, T-Rex 450Pro


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: PIC kvůli velikosti souboru kolaps
PříspěvekNapsal: pát 29.04.2016 13:08 
Protřelejší uživatel
Protřelejší uživatel

Registrován: 23.5.2015
Příspěvky: 161
Bydliště: České Budějovice
Obrázky: 37
Hmm, koukám že CCS asi změnil licenční politiku a free verzi už nenabízí. V jakém IDE to programuješ? Nové verze MPLABu by měly obsahovat překladač přímo od Microchipu (akorát ve free verzi bez optimalizací).
http://www.microchip.com/mplab/mplab-x-ide

Případně ti můžu poslat starou verzi CCS, někde bych jí ještě měl mít uloženou.

Citace:
Podle mě pak stačí ten PIC.

Na to co popisuješ stačit bude, ale i tak silně doporučuju to programovat v Cčku, protože v něm ten program napíšeš tak 10x rychleji. Assembler má smysl jen u aplikací extrémně náročných na výkon (komprese videa, firmware BLheli :) ) - a na ty zase nebudeš používat PIC.

Citace:
A kdyby jsem chtěl programovat novější procesory, tak to by jsem musel opět nastudovat :/ A na to nemám čas.

Úplně bez studia to sice nepůjde, ale k moderním MCU existují C/C++ frameworky které ti poskytují vysokou míru abstrakce nad hardwarem - například známé Arduino. Tutoriálů a výukových článků k tomu najdeš na internetu tuny, i v češtině, takže se neboj ;) A časově to naopak bude výrazná úspora oproti trápení se v hrozném PICovém assembleru!


Nahoru
 Profil Soukromé album  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 25 ]  Přejít na stránku 1, 2  Další

 


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 10 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  

 

  Powered by phpBB® Forum Software © phpBB Group  Český překlad – phpBB.cz 

 

NAVRCHOLU.cz