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

📄 command.c

📁 arm开发很好的例程
💻 C
字号:


#include "bios.h"
#include "stdio.h"
#include "uart.h"
#include "xmodem.h"
#include "command.h"
#include "flash.h"
#include "utils.h"
#include "29dl640.h"

UNS32 Down_func(void)
{
	UNS32 size;
	my_printf("Please send App Program File!\n\r");
	size = xmodem_down(0x1000);
	put_str("\n\rDownload is Ok!\n\r",0);
	return size;
}



void Write_Flash_func(UNS32 size)
{
	UNS16 i;
	my_printf("Flash is programming...\n\r");
	my_printf("Eraseing...\n\r");
	for( i = 0;size > Sector_address[i] ;i++)
	{
		Flash_sector_erase(Sector_address[i]);
		put_char('.');
			
	}
	my_printf("\n\rprogramming...\n\r");
	Flash_write(size);
	my_printf("\n\rFlash Program is Ok!\n\r");
	
}


void  Read_Flash_ID_func(void)
{
	UNS16 ID_Buffer[4];
	
	Flash_read_id(ID_Buffer);
	
	my_printf("Flash: \n\r\tManufacture's code: 0x%04x",ID_Buffer[0]);
	my_printf("\n\r\tDevice code: 0x%04x",ID_Buffer[1]);
	my_printf("\n\r\tExtended Device code: 0x%04x\t0x%04x\n\r",ID_Buffer[2],ID_Buffer[3]);
	
}

void Verify_Flash_func(UNS32 size)
{
	UNS32 address;
	
	UNS8 String[16];
	
	address = Flash_Verify(size);
	my_printf("Flash is verifing...\n\r");
	
	if ( address != (size>>1) )
	{
		my_printf("Verify is error at Address: 0x%x\n\r",address);
	}
	else
		my_printf("Verify is Pass!Address:0x%x\n\r",address);
		
	
}


void Read_Flash_func(void)
{
	UNS16 *ptr= (UNS16 *)0x20000000;
	S8 buf[16];
	UNS32 address;
	UNS32 size;
	UNS16 i;
	UNS16 temp;
	
	my_printf("Input start address:");
	get_str(buf,sizeof(buf));
	sscanf((const char *)buf,"0x%x",&address);
	my_printf("\n\rInput size:",address);
	get_str(buf,sizeof(buf));
	sscanf((const char *)buf,"0x%x",&size);
	
	my_printf("\n\rResult:  Start Address:0x%x\tSize:0x%x\n\r",address,size);
	ptr += address;
	size >>= 4;
	for( i=0;i<size;i++)
	{
		for( temp = 0;temp <8;temp ++)
		{
			my_printf("0x%04x,",*ptr);
			ptr++;
		}
		my_printf("\n\r");
	}
}



void GoTo_func(void)
{
	my_printf("Start the App Program ...");
	//0xFFE02004
	
	asm("						\
		P5.h = 0xFFE0;		\
		P5.l = 0x2004;        \
		P0.l=0x1000;            \
		P0.h=0x0000;            \
		[P5]=P0;                \
		P1=[P5];                \
		JUMP(P1);               \
								\
	");
}

⌨️ 快捷键说明

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