problem mit schreiben einer Powerup routine für c-compiler von hitec
-
Hallo, Ich möchte eine Powerup routine schreiben.
Die routina selbst habe ich bereits in assembler.
aber die einbindung im gesamt system bereitet mir gerade extreme schwierigkeiten.
der compiler meldet immer folgenden fehler:
Error [802] F:\@led-it-light\@Kunden\illumics\Taschenlampe\programmierung\taschenlampe\funtionierende programme\programm ohne sleep funktioniert\power ab\powerup.as; 8. ungültige Adresse hinter END Anweisungich habe schon alles mögliche probiert aber leider gehts nicht.
laut Hitec muss man nur eine datei mit dem namen Powerup.as schreiben die mit einer "goto start
end Powerup" endet.
beim compilierenzeigt mir das system den obigen fehler.
[/code]
der datei powerup.as
processor 10F222global start, powerup
powerup
asm
btfsc 3,7
btfsc 6,3
endasm
goto start
end powerupnachdem ich leider keine ahnung von c- habe brauche ich mal eine kleine erklärende hand zu diesem File.
Der rest des Programms wird über eine c-Translator Flowcode4 erzeugt.
zwar selbst für mich etwas umständlich könnte mann sicherlich optimieren aber für die aufgaben reicht es.
Maxich hänge hier zur erklärung noch die dateui Sartup.as hin damit mann erkennen kann was ich eigentlich brauche.
; HI-TECH C Compiler for PIC10/12/16 MCUs V9.82 ; Copyright (C) 1984-2011 HI-TECH Software ;Licensed for evaluation purposes only. ;This licence will expire on Thu, 11 Aug 2011 ; Auto-generated runtime startup code for prelink stage. ; ; Compiler options: ; ; -otkl007.cof -mtkl007.map --summary=default --output=default \ ; TKL007.p1 startup.obj --chip=10F222 -P --runtime=default \ ; --opt=default -g --asmlist --errformat=Error [%n] %f; %l.%c %s \ ; --msgformat=Advisory[%n] %s --warnformat=Warning [%n] %f; %l.%c %s ; processor 10F222 global _main,start,_exit,reset_vec fnroot _main psect config,class=CONFIG,delta=2 psect idloc,class=IDLOC,delta=2 psect code,class=CODE,delta=2 psect powerup,class=CODE,delta=2 psect reset_vec,class=CODE,delta=2 psect maintext,class=CODE,delta=2 C set 0 Z set 2 PCL set 2 INDF set 0 STATUS equ 3 FSR equ 4 OSCCAL equ 0x5 psect reset_wrap,class=ENTRY,delta=2 psect text,class=CODE,delta=2 psect functab,class=ENTRY,delta=2 psect init,class=ENTRY,delta=2 psect cinit,class=ENTRY,delta=2 psect end_init,class=ENTRY,delta=2 psect clrtext,class=ENTRY,delta=2 psect jmp_tab,class=ENTRY,delta=2 psect strings,class=STRING,delta=2 psect reset_vec,class=CODE,delta=2 reset_vec: ds 1 ;oscillator constant would be pre-programmed here psect reset_wrap reset_wrap: movwf 5 ;calibrate oscillator clrf FSR ; No powerup routine psect init start _exit psect end_init global start_initialization ljmp start_initialization ;jump to C runtime clear & initialization psect bank0,class=BANK0,space=1 psect ram,class=RAM,space=1 psect abs1,class=ABS1,space=1 psect common,class=COMMON,space=1 psect sfr0,class=SFR0,space=1 end start