⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1.s

📁 ucos如何移植到单片机mega128
💻 S
字号:
	.module test1.c
	.area text(rom, con, rel)
	.dbfile E:\study\ucos_ii\ucos2_iccavr\iccavr\ucos2_application\test1.c
	.dbfunc e main _main fV
	.even
_main::
	sbiw R28,3
	.dbline -1
	.dbline 35
; /*
; ********************************************************************************
; * Portierung des RTOS "礐/OS-II" von Jean J. Labrosse auf den ATmega103
; * 
; * Compiler:		IIC von imagecraft
; * File:			Test1.c (Testapplikation)
; * By:			Joerg Meyer
; * Revision:		0
; *
; *
; *
; ********************************************************************************
; */
; #define Test1_GLOBALS
; #include "includes.h"
; 
; 
; //******************************************************************************
; // Constants
; #define TaskStartPrio	10		// Task-Prioritaeten
; 
; 
; //*****************************************************************************
; // Variablen
; OS_STK	Task1Stack[OS_TASK_DEF_STK_SIZE];		// startup task stack
; OS_STK	Task2Stack[OS_TASK_DEF_STK_SIZE];	
; 
; //*****************************************************************************
; // Prototypes
; void Task1(void *pdata);
; void uart0_init(void);
; void Task3(void *data);
; //*****************************************************************************
; // Start
; void main(void){
	.dbline 36
; 	OSInit();		// OS init
	xcall _OSInit
	.dbline 38
; 
; 	OSTaskCreate(Task1,
	ldi R24,10
	std y+2,R24
	ldi R24,<_Task1Stack+127
	ldi R25,>_Task1Stack+127
	std y+1,R25
	std y+0,R24
	ldi R18,97
	ldi R19,0
	ldi R16,<PL_Task1
	ldi R17,>PL_Task1
	xcall _OSTaskCreate
	.dbline 43
; 				(void *)(int)'a',
; 				&Task1Stack[OS_TASK_DEF_STK_SIZE-1],
; 				TaskStartPrio);
; 	
; 	OSTaskCreate(Task3,
	ldi R24,11
	std y+2,R24
	ldi R24,<_Task2Stack+127
	ldi R25,>_Task2Stack+127
	std y+1,R25
	std y+0,R24
	ldi R18,98
	ldi R19,0
	ldi R16,<PL_Task3
	ldi R17,>PL_Task3
	xcall _OSTaskCreate
	.dbline 48
; 				(void *)(int)'b',
; 				&Task2Stack[OS_TASK_DEF_STK_SIZE-1],
; 				TaskStartPrio+1); 
; 	// init und start tick
; 	uart0_init();
	xcall _uart0_init
	.dbline 49
; 	TC2_Init();	
	xcall _TC2_Init
	.dbline 50
; 	DDRG |= 0x18; PORTG &=~(1<<PG3); PORTG &=~(1<<PG4);	
	lds R24,100
	ori R24,24
	sts 100,R24
	.dbline 50
	lds R24,101
	andi R24,247
	sts 101,R24
	.dbline 50
	lds R24,101
	andi R24,239
	sts 101,R24
	.dbline 51
; 	OSStart();		// start multitasking
	xcall _OSStart
	.dbline -2
L3:
	adiw R28,3
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e Task1 _Task1 fV
;           data -> R20,R21
	.even
_Task1::
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 56
; 
; }
; 
; //*****************************************************************************
; void Task1(void *data){
	.dbline 62
; //	char c = (int)data;
; 
; 	    
; 	// Timer/Counter#2 Overflow and Comp init
; 
; 		for (;;){
	.dbline 62
L11:
	.dbline 64
L12:
	.dbline 64
	sbis 0xb,5
	rjmp L11
	.dbline 65
	ldi R24,97
	out 0xc,R24
	.dbline 68
	ldi R16,5
	ldi R17,0
	xcall _OSTimeDly
	.dbline 70
	.dbline 62
	.dbline 62
	xjmp L12
X0:
	.dbline -2
L6:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r data 20 pV
	.dbend
	.dbfunc e Task3 _Task3 fV
;           data -> R20,R21
	.even
_Task3::
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 72
; //    	putchar(c);
; 		while(!(UCSR0A&0x20));
; 		UDR0 = 'a';
; //		PORTA = ~PORTA;
; //		DDRA = 0xff;
; 		OSTimeDly (5);
; 
; 	}
; }
; void Task3(void *data){
	.dbline 74
; //	char c = (int)data;
; 	for (;;){
	.dbline 74
L19:
	.dbline 76
L20:
	.dbline 76
	sbis 0xb,5
	rjmp L19
	.dbline 77
	ldi R24,98
	out 0xc,R24
	.dbline 80
	ldi R16,5
	ldi R17,0
	xcall _OSTimeDly
	.dbline 82
	.dbline 74
	.dbline 74
	xjmp L20
X1:
	.dbline -2
L14:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r data 20 pV
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\study\ucos_ii\ucos2_iccavr\iccavr\ucos2_application\test1.c
_Task2Stack::
	.blkb 128
	.dbsym e Task2Stack _Task2Stack A[128:128]c
_Task1Stack::
	.blkb 128
	.dbsym e Task1Stack _Task1Stack A[128:128]c
	.area func_lit
PL_Task3:	.word `_Task3
PL_Task1:	.word `_Task1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -