📄 aci32.asm
字号:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 32767
.word _bc_calc+0
.word 0
.word 64
.word -32768
.word 32767
.word 0
.word 0
.word 0
.word _rmp_cntl_calc+0
IS4 .set 164
.sym _vhz,_vhz,8,2,2624,.fake15
.globl _vhz
.word IS5,_dac
.word 768
.word 768
.word 768
.word 768
.word 2000
.word _F24X_EVM_DAC_Update+0
IS5 .set 6
.sym _dac,_dac,8,2,96,.fake0
.globl _dac
.word IS6,_wdog
.word _F24x_WD_Disable+0
.word _F24x_WD_ResetCounter+0
IS6 .set 2
.sym _wdog,_wdog,8,2,32,.fake3
.globl _wdog
.word IS7,_ilg2_vdc
.word 8191
.word 0
.word 0
.word 8191
.word 0
.word 0
.word 8191
.word 0
.word 0
.word 0
.word 1808
.word _F2407_ileg2_dcbus_drv_init+0
.word _F2407_ileg2_dcbus_drv_read+0
IS7 .set 13
.sym _ilg2_vdc,_ilg2_vdc,8,2,208,.fake16
.globl _ilg2_vdc
.word IS8,_drive
.word 0
.word _F24xx_drive_drv_init+0
.word _F24xx_drive_drv_calc+0
IS8 .set 3
.sym _drive,_drive,8,2,48,.fake17
.globl _drive
.globl _isr_ticker
.text
.sym _main,_main,32,2,0
.globl _main
.func 100
;>>>> void main()
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 6
;>>>> RstSystem();
;>>>> #if (BUILDLEVEL==LEVEL1)
;>>>> #if TARGET==F243
;>>>> pwm.period_max=667; /* This is based on 15kHz PWM frequency (20MHz) */
;>>>> #elif TARGET==F2407
CALL _RstSystem
.line 31
;>>>> pwm.period_max=1333; /* This is based on 15kHz PWM frequency (40MHz)*/
;>>>> #endif /* TARGET */
LDPK _pwm
SPLK #1333,_pwm
.line 38
;>>>> VFMRAS_TI_Init(&vhz);
LALK _vhz+0
SACL *+
CALL _VFMRAS_TI_Init
MAR *-
.line 43
;>>>> rtmon_init(); /* Call the monitor init function */
CALL _rtmon_init
.line 44
;>>>> enable_ints(); /* Set off the system running. */
CALL _enable_ints
.line 49
;>>>> while(drive.enable_flg==0)
LDPK _drive
LAC _drive
BNZ L2
L1:
.line 51
;>>>> drive.init(&drive);
LALK _drive+0
SACL *+
LDPK _drive+1
LAC _drive+1
CALA
MAR *-
.line 49
LDPK _drive
LAC _drive
BZ L1
L2:
.line 57
;>>>> pwm.init(&pwm);
;>>>> #if TARGET==F243
;>>>> EVIFRA=0xffff;
;>>>> #elif TARGET==F2407
LALK _pwm+0
SACL *+
LAC _pwm+5
CALA
MAR *-,AR3
.line 65
;>>>> EVAIFRA=0xffff;
;>>>> #endif /* TARGET */
LARK AR3,29743
SPLK #-1,*
.line 72
;>>>> dac.qptr0=&vhz.svgen.va;
LALK _vhz+28
LDPK _dac
SACL _dac
.line 73
;>>>> dac.qptr1=&vhz.svgen.vb;
LALK _vhz+29
SACL _dac+1
.line 74
;>>>> dac.qptr2=&vhz.svgen.vc;
LALK _vhz+30
SACL _dac+2
.line 75
;>>>> dac.qptr3=&vhz.svgen.alpha;
;>>>> #endif /* (BUILDLEVEL==LEVEL1) */
;>>>> #if (BUILDLEVEL==LEVEL2)
;>>>> #if TARGET==F243
;>>>> pwm.period_max=667; /* This is based on 15kHz PWM frequency (20MHz) */
;>>>> #elif TARGET==F2407
;>>>> pwm.period_max=1333; /* This is based on 15kHz PWM frequency (40MHz)*/
;>>>> #endif /* TARGET */
;>>>> VFMRAS_TI_Init(&vhz);
;>>>> rtmon_init(); /* Call the monitor init function */
;>>>> enable_ints(); /* Set off the system running. */
;>>>> while(drive.enable_flg==0)
;>>>> drive.init(&drive);
;>>>> pwm.init(&pwm);
;>>>> dac.qptr0=&vhz.svgen.va;
;>>>> dac.qptr1=&vhz.svgen.vb;
;>>>> dac.qptr2=&vhz.svgen.vc;
;>>>> dac.qptr3=&vhz.svgen.alpha;
;>>>> #endif /* (BUILDLEVEL==LEVEL2) */
;>>>> #if (BUILDLEVEL==LEVEL3)
;>>>> #if TARGET==F243
;>>>> pwm.period_max=667; /* This is based on 15kHz PWM frequency (20MHz) */
;>>>> #elif TARGET==F2407
;>>>> pwm.period_max=1333; /* This is based on 15kHz PWM frequency (40MHz)*/
;>>>> #endif /* TARGET */
;>>>> VFMRAS_TI_Init(&vhz);
;>>>> rtmon_init(); /* Call the monitor init function */
;>>>> enable_ints(); /* Set off the system running. */
;>>>> while(drive.enable_flg==0)
;>>>> drive.init(&drive);
;>>>> pwm.init(&pwm);
;>>>> dac.qptr0=&vhz.svgen.va;
;>>>> dac.qptr1=&vhz.svgen.vb;
;>>>> dac.qptr2=&vhz.svgen.vc;
;>>>> dac.qptr3=&vhz.svgen.alpha;
;>>>> ilg2_vdc.init(&ilg2_vdc);
;>>>> #endif /* (BUILDLEVEL==LEVEL3) */
;>>>> #if (BUILDLEVEL==LEVEL4)
;>>>> #if TARGET==F243
;>>>> pwm.period_max=667; /* This is based on 15kHz PWM frequency (20MHz) */
;>>>> #elif TARGET==F2407
;>>>> pwm.period_max=1333; /* This is based on 15kHz PWM frequency (40MHz)*/
;>>>> #endif /* TARGET */
;>>>> VFMRAS_TI_Init(&vhz);
;>>>> rtmon_init(); /* Call the monitor init function */
;>>>> enable_ints(); /* Set off the system running. */
;>>>> while(drive.enable_flg==0)
;>>>> drive.init(&drive);
;>>>> pwm.init(&pwm);
;>>>> cap.init(&cap);
;>>>> speed.shift = 6;
;>>>> speed.speed_scaler = 156;
;>>>> speed.rpm_max = 3600;
;>>>> dac.qptr0=&vhz.svgen.va;
;>>>> dac.qptr1=&vhz.svgen.vb;
;>>>> dac.qptr2=&vhz.svgen.vc;
;>>>> dac.qptr3=&vhz.svgen.alpha;
;>>>> ilg2_vdc.init(&ilg2_vdc);
;>>>> #endif /* (BUILDLEVEL==LEVEL4) */
;>>>> #if (BUILDLEVEL==LEVEL5)
;>>>> #if TARGET==F243
;>>>> pwm.period_max=667; /* This is based on 15kHz PWM frequency (20MHz) */
;>>>> #elif TARGET==F2407
;>>>> pwm.period_max=1333; /* This is based on 15kHz PWM frequency (40MHz)*/
;>>>> #endif /* TARGET */
;>>>> VFMRAS_TI_Init(&vhz);
;>>>> rtmon_init(); /* Call the monitor init function */
;>>>> enable_ints(); /* Set off the system running. */
;>>>> while(drive.enable_flg==0)
;>>>> drive.init(&drive);
;>>>> pwm.init(&pwm);
;>>>> cap.init(&cap);
;>>>> speed.shift = 6;
;>>>> speed.speed_scaler = 156;
;>>>> speed.rpm_max = 3600;
;>>>> dac.qptr0=&vhz.svgen.va;
;>>>> dac.qptr1=&vhz.svgen.vb;
;>>>> dac.qptr2=&vhz.svgen.vc;
;>>>> dac.qptr3=&vhz.svgen.alpha;
;>>>> ilg2_vdc.init(&ilg2_vdc);
;>>>> #endif /* (BUILDLEVEL==LEVEL5) */
;>>>> #if TARGET==F243
;>>>> EVIFRA=0x0ffff; /* Clear all Group A EV interrupt flags */
;>>>> #elif TARGET==F2407
LALK _vhz+26
SACL _dac+3
.line 379
;>>>> EVAIFRA=0x0ffff; /* Clear all EV1 Group A EV interrupt flags*/
;>>>> #endif
;>>>> while(1) /* Nothing running in the background at present */
SPLK #-1,*
L3:
.line 387
B L3
.endfunc 489,000000000H,1
.sym _c_int02,_c_int02,32,2,0
.globl _c_int02
.func 492
;>>>> void interrupt c_int02()
******************************************************
* FUNCTION DEF : _c_int02
******************************************************
_c_int02:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" CLRC XF ");
CLRC XF
.line 5
;>>>> isr_ticker++;
;>>>> #if (BUILDLEVEL==LEVEL1)
;>>>> #if TARGET==F243
;>>>> EVIFRA=0x0ffff; /* Clear all Group A EV interrupt flags */
;>>>> #elif TARGET==F2407
LDPK _isr_ticker
LAC _isr_ticker
ADDK 1
SACL _isr_ticker
.line 13
;>>>> EVAIFRA=0x0ffff; /* Clear all EV1 Group A EV interrupt flags*/
;>>>> #endif
LARK AR3,29743
MAR * ,AR3
SPLK #-1,* ,AR1
.line 19
;>>>> drive.calc(&drive);
LALK _drive+0
SACL *+
LAC _drive+2
CALA
MAR *-
.line 25
;>>>> VFMRAS_TI_Run(&vhz);
LALK _vhz+0
SACL *+
CALL _VFMRAS_TI_Run
MAR *-
.line 30
;>>>> dac.update(&dac);
;>>>> #endif /* BUILDLEVEL==LEVEL1*/
;>>>> #if (BUILDLEVEL==LEVEL2)
;>>>> #if TARGET==F243
;>>>> EVIFRA=0x0ffff; /* Clear all Group A EV interrupt flags */
;>>>> #elif TARGET==F2407
;>>>> EVAIFRA=0x0ffff; /* Clear all EV1 Group A EV interrupt flags*/
;>>>> #endif
;>>>> drive.calc(&drive);
;>>>> VFMRAS_TI_Run(&vhz);
;>>>> pwm.mfunc_c1=vhz.svgen.va;
;>>>> pwm.mfunc_c2=vhz.svgen.vb;
;>>>> pwm.mfunc_c3=vhz.svgen.vc;
;>>>> pwm.update(&pwm);
;>>>> dac.update(&dac);
;>>>> #endif /* BUILDLEVEL==LEVEL2*/
;>>>> #if (BUILDLEVEL==LEVEL3)
;>>>> #if TARGET==F243
;>>>> EVIFRA=0x0ffff; /* Clear all Group A EV interrupt flags */
;>>>> #elif TARGET==F2407
;>>>> EVAIFRA=0x0ffff; /* Clear all EV1 Group A EV interrupt flags*/
;>>>> #endif
;>>>> drive.calc(&drive);
;>>>> VFMRAS_TI_Run(&vhz);
;>>>> pwm.mfunc_c1=vhz.svgen.va;
;>>>> pwm.mfunc_c2=vhz.svgen.vb;
;>>>> pwm.mfunc_c3=vhz.svgen.vc;
;>>>> pwm.update(&pwm);
;>>>> ilg2_vdc.read(&ilg2_vdc);
;>>>> vhz.current_abc.a=ilg2_vdc.Imeas_a;
;>>>> vhz.current_abc.b=ilg2_vdc.Imeas_b;
;>>>> vhz.current_abc.c=ilg2_vdc.Imeas_c;
;>>>> vhz.Vbus=ilg2_vdc.Vdc_meas;
;>>>> dac.update(&dac);
;>>>> #endif /* BUILDLEVEL==LEVEL3*/
;>>>> #if (BUILDLEVEL==LEVEL4)
;>>>> #if TARGET==F243
;>>>> EVIFRA=0x0ffff; /* Clear all Group A EV interrupt flags */
;>>>> #elif TARGET==F2407
;>>>> EVAIFRA=0x0ffff; /* Clear all EV1 Group A EV interrupt flags*/
;>>>> #endif
;>>>> drive.calc(&drive);
;>>>> if((cap.read(&cap))==0) /* Call the capture read function */
;>>>> speed.time_stamp=cap.time_stamp; /* Read out new time stamp */
;>>>> speed.calc(&speed); /* Call the speed calulator */
;>>>> VFMRAS_TI_Run(&vhz);
;>>>> pwm.mfunc_c1=vhz.svgen.va;
;>>>> pwm.mfunc_c2=vhz.svgen.vb;
;>>>> pwm.mfunc_c3=vhz.svgen.vc;
;>>>> pwm.update(&pwm);
;>>>> ilg2_vdc.read(&ilg2_vdc);
;>>>> vhz.current_abc.a=ilg2_vdc.Imeas_a;
;>>>> vhz.current_abc.b=ilg2_vdc.Imeas_b;
;>>>> vhz.current_abc.c=ilg2_vdc.Imeas_c;
;>>>> vhz.Vbus=ilg2_vdc.Vdc_meas;
;>>>> dac.update(&dac);
;>>>> #endif /* BUILDLEVEL==LEVEL4*/
;>>>> #if (BUILDLEVEL==LEVEL5)
;>>>> #if TARGET==F243
;>>>> EVIFRA=0x0ffff; /* Clear all Group A EV interrupt flags */
;>>>> #elif TARGET==F2407
;>>>> EVAIFRA=0x0ffff; /* Clear all EV1 Group A EV interrupt flags*/
;>>>> #endif
;>>>> drive.calc(&drive);
;>>>> if((cap.read(&cap))==0) /* Call the capture read function */
;>>>> speed.time_stamp=cap.time_stamp; /* Read out new time stamp */
;>>>> speed.calc(&speed); /* Call the speed calulator */
;>>>> VFMRAS_TI_Run(&vhz);
;>>>> pwm.mfunc_c1=vhz.svgen.va;
;>>>> pwm.mfunc_c2=vhz.svgen.vb;
;>>>> pwm.mfunc_c3=vhz.svgen.vc;
;>>>> pwm.update(&pwm);
;>>>> ilg2_vdc.read(&ilg2_vdc);
;>>>> vhz.current_abc.a=ilg2_vdc.Imeas_a;
;>>>> vhz.current_abc.b=ilg2_vdc.Imeas_b;
;>>>> vhz.current_abc.c=ilg2_vdc.Imeas_c;
;>>>> vhz.Vbus=ilg2_vdc.Vdc_meas;
;>>>> dac.update(&dac);
;>>>> #endif /* BUILDLEVEL==LEVEL5*/
LALK _dac+0
SACL *+
LDPK _dac+5
LAC _dac+5
CALA
MAR *-
.line 254
;>>>> vhz.freq_testing_rpm = mul_q(vhz.freq_testing,15,3600,0,0);
LACK 0
SACL *+
SACL *+
LACK 3600
SACL *+
LACK 15
SACL *+
BLKD _vhz+3,*+
CALL _mul_q
SBRK 5
LDPK _vhz+4
SACL _vhz+4
.line 258
;>>>> vhz.speed_ref_rpm = mul_q(vhz.speed_ref,15,3600,0,0);
LACK 0
SACL *+
SACL *+
LACK 3600
SACL *+
LACK 15
SACL *+
BLKD _vhz+5,*+
CALL _mul_q
SBRK 5
LDPK _vhz+6
SACL _vhz+6
.line 261
;>>>> asm(" SETC XF ");
SETC XF
EPI0_2:
.line 263
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 754,000000000H,1
.sym _RstSystem,_RstSystem,32,2,0
.globl _RstSystem
.func 757
;>>>> void RstSystem(void)
******************************************************
* FUNCTION DEF : _RstSystem
******************************************************
_RstSystem:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR0
.line 8
;>>>> WSGR=WAIT_STATES; /* Initialize Wait State Generator */
LACK 64
SACL *
OUT * ,0ffffh,AR1
.line 9
;>>>> disable_ints(); /* Make sure the interrupts are disabled */
CALL _disable_ints
.line 10
;>>>> wdog.disable(); /* Vccp/Wddis pin/bit must be high */
LDPK _wdog
LAC _wdog
CALA
.line 11
;>>>> IMR=0x02; /* Set up interrupt mask to enable INT2
;>>>> until an explicit enable. */
;>>>> #if (TARGET==F243)
;>>>> SCSR=0x40c0; /* Init SCSR */
;>>>> EVIMRA=0x0200; /* Enable the timer underflow interrupt */
;>>>> #endif
;>>>> #if (TARGET==F2407)
LARK AR3,4
LACK 2
MAR * ,AR3
SACL *
.line 25
;>>>> SCSR1=0xc; /* Init SCSR */
LARK AR4,28696
ADRK 8
MAR * ,AR4
SAR AR3,* ,AR5
.line 26
;>>>> EVAIMRA=0x0200; /* Enable the timer underflow interrupt */
;>>>> #endif
LARK AR5,29740
SPLK #512,* ,AR1
EPI0_3:
.line 29
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 785,000000000H,1
.sym _phantom,_phantom,32,2,0
.globl _phantom
.func 788
;>>>> void interrupt phantom(void)
;>>>> static int phantom_count;
******************************************************
* FUNCTION DEF : _phantom
******************************************************
_phantom:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.sym _phantom_count,_phantom_count$1,4,3,16
.line 5
;>>>> phantom_count ++;
LDPK _phantom_count$1
LAC _phantom_count$1
ADDK 1
SACL _phantom_count$1
EPI0_4:
.line 14
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 801,000000000H,1
.sym _rtmon_init,_rtmon_init,32,2,0
.globl _rtmon_init
.func 807
;>>>> void rtmon_init(void)
******************************************************
* FUNCTION DEF : _rtmon_init
******************************************************
_rtmon_init:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" CALL MON_RT_CNFG ");
CALL MON_RT_CNFG
EPI0_5:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 810,000000000H,1
.sym _isr_ticker,_isr_ticker,4,2,16
.globl _isr_ticker
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global _enable_ints
.global I$$SAVE
.global I$$REST
.global _disable_ints
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -