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

📄 blink_code.asm

📁 BLACKFIN BF533 的启动初试化程序
💻 ASM
字号:
/******************************************************************************

(C) Copyright 2003 - Analog Devices, Inc.  All rights reserved.

File Name:		Boot_Blink_Code.ASM

Date Modified:	7/08/03		Rev 1.0
				
Purpose:	   	This blink example is being used to explain how to create a
				loader file.  The loader file will be programmed into the flash
				on the ADSP-BF533 Ez-Kit Lite.  Upon RESET, code will be booted
				into the start of L1 memory.
					
				
*******************************************************************************/

#include <defBF533.h>

/******************************************************************************
FLASH A Port B Controls:  0 = LED OFF; 1 = LED ON
Bit0:	LED4
Bit1:	LED5
Bit2:	LED6
Bit3:	LED7
Bit4:	LED8
Bit5:	LED9
*******************************************************************************/

#define Flash_A_Registers 	0x20270000	//Base Address for Flash A Registers
#define PortB_Data_Out 		0x00000005	//offset
#define PortB_Data_Dir 		0x00000007	//offset

#define Delay 				0x1FFFFFF	//Loop Delay

.section program;
START:

P0.H = HI(EBIU_AMGCTL);
P0.L = LO(EBIU_AMGCTL);
R0.L = W[P0];

//Enable all AMS Banks
R1 = 0xE;
R0 = R0 | R1;
W[P0] = R0.L;	

//Set all Flags as Outputs
P1.H = HI(Flash_A_Registers);
P1.L = LO(Flash_A_Registers) + PortB_Data_Dir;
R0 = 0xFF;
B[P1] = R0;

//Turn On LEDs
P1.H = HI(Flash_A_Registers);
P1.L = LO(Flash_A_Registers) + PortB_Data_Out;

R0 = 0x15;

//Initialize Loop Counter
P2.H = HI(Delay);
P2.L = LO(Delay);

Blink_Loop:
	//Write Port B
	B[P1] = R0;
	
	LSETUP(Delay_Start, Delay_End) LC0 = P2;
		Delay_Start:
		Delay_End: NOP;
		
	//Toggle LEDs
	R0 = ~R0;
JUMP Blink_Loop;

//End Label
START.END:	NOP;

⌨️ 快捷键说明

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