亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ubl.c

?? TI DM6446 EVM 串口下載程序 使用環(huán)境:windows dos環(huán)境或者linux 使用前需安裝mono
?? C
字號:
/* --------------------------------------------------------------------------
    FILE        : ubl.c 				                             	 	        
    PURPOSE     : Main User Boot Loader file
    PROJECT     : DaVinci User Boot-Loader and Flasher
    AUTHOR      : Daniel Allred
    DATE	    : Dec-18-2006  
 
    HISTORY
        v1.0 completion 							 						      
 	        Daniel Allred - Jan-22-2006
 	    v1.1
 	        DJA - Feb-1-2007 - Added dummy entry point make NAND UBL work
 	                           with the CCS flashing utility from SDI. This
 	                           fakeentry is located at 0x20 at runtime and
 	                           simply redirects to the true entry point, boot().
 	                                                                      
 ----------------------------------------------------------------------------- */

#include "ubl.h"
#include "dm644x.h"
#include "uart.h"
#include "util.h"

#ifdef UBL_NOR
#include "nor.h"
#endif

#ifdef UBL_NAND
#include "nand.h"
#endif

Uint32 gEntryPoint;
BootMode gBootMode;

void selfcopy()
{
	// Self copy setup 
	extern Uint32 __selfcopysrc, __selfcopydest, __selfcopydestend;
		
	//Enable ITCM
	asm(" MRC p15, 0, r0, c9, c1, 1");
	asm(" MOV r0, #0x1");
	asm(" MCR p15, 0, r0, c9, c1, 1");
		
	//Enable DTCM
	asm(" MRC p15, 0, r0, c9, c1, 0");
	asm(" MOV r0, #0x8000");
	asm(" ORR r0, r0, #0x1");
	asm(" MCR p15, 0, r0, c9, c1, 0");
	
	VUint32* src = &(__selfcopysrc);
	VUint32* dest = &(__selfcopydest);
	VUint32* destend = &(__selfcopydestend);

	// Copy the words
	while (dest < destend)
	{
		*dest = *src;
		dest++;
		src++;
	}
	
	//Jump to the normal entry point 
	boot();	
}

void fake_entry()
{
    boot();
}

void boot()
{   
	asm(" MRS	r0, cpsr");
	asm(" BIC	r0, r0, #0x1F");    // CLEAR MODES
	asm(" ORR	r0, r0, #0x13");    // SET SUPERVISOR mode
	asm(" ORR   r0, r0, #0xC0");    // Disable FIQ and IRQ
	asm(" MSR	cpsr, r0");       
	
	// Set the IVT to low memory, leave MMU & caches disabled 
	asm(" MRC	p15, 0, r1, c1, c0, 0");
 	asm(" BIC	r0,r0,#0x00002000");
	asm(" MCR	p15, 0, r1, c1, c0, 0");
	
	// Stack setup (__topstack symbol defined in linker script)
	extern Uint32 __topstack;
	register Uint32* stackpointer asm ("sp");	
	stackpointer = &(__topstack);
	
    // Call to main code
    main();
    
    // Jump to entry point
	APPEntry = (void*) gEntryPoint;
    (*APPEntry)();	
}

Int32 main(void)
{
	// Read boot mode 
	gBootMode = (BootMode) ( ( (SYSTEM->BOOTCFG) & 0xC0) >> 6);
	
	if (gBootMode != NON_SECURE_UART)
    {
        // Turn on the UART since it's not on by default in NOR 
        // or NAND boot modes
        waitloop(1000);
        LPSCTransition(LPSC_UART0,PSC_ENABLE);
    }
    else
    {
        // Wait until the RBL is done using the UART. 
        while((UART0->LSR & 0x40) == 0 );
    }

	// Platform Initialization
	DM644xInit();

	// Set RAM pointer to beginning of RAM space
	set_current_mem_loc(0);

	// Send some information to host
    UARTSendData((Uint8 *) "TI UBL Version: ",FALSE);
    UARTSendData((Uint8 *) UBL_VERSION_STRING,FALSE);
    UARTSendData((Uint8 *) ", Flash type: ", FALSE);
    UARTSendData((Uint8 *) UBL_FLASH_TYPE, FALSE);
	UARTSendData((Uint8 *) "\r\nBooting PSP Boot Loader\r\nPSPBootMode = ",FALSE);
	
	/* Select Boot Mode */
	switch(gBootMode)
	{
#ifdef UBL_NAND
		case NON_SECURE_NAND:
		{
			//Report Bootmode to host
			UARTSendData((Uint8 *) "NAND\r\n",FALSE);

			// copy binary or S-record of application from NAND to DDRAM, and decode if needed
			if (NAND_Copy() != E_PASS)
			{
				UARTSendData((Uint8 *) "NAND Boot failed.\r\n", FALSE);
				goto UARTBOOT;
			}
			else
			{
				UARTSendData((Uint8 *) "NAND Boot success.\r\n", FALSE);
			}
			break;
		}
#endif		
#ifdef UBL_NOR
		case NON_SECURE_NOR:
		{
			//Report Bootmode to host
			UARTSendData((Uint8 *) "NOR \r\n", FALSE);

			// Copy binary or S-record of application from NOR to DDRAM, then decode
			if (NOR_Copy() != E_PASS)
			{
				UARTSendData((Uint8 *) "NOR Boot failed.\r\n", FALSE);
				goto UARTBOOT;
			}
			else
			{
				UARTSendData((Uint8 *) "NOR Boot success.\r\n", FALSE);
			}
			break;
		}
#endif		
		case NON_SECURE_UART:
		{
			//Report Bootmode to host
			UARTSendData((Uint8 *) "UART\r\n", FALSE);
            goto UARTBOOT;
			break;
		}
		default:
		{
UARTBOOT:	UART_Boot();
			break;
		}
	}
		
	UARTSendData((Uint8*)"   DONE", TRUE);
	
	waitloop(10000);

	// Disabling UART timeout timer
    while((UART0->LSR & 0x40) == 0 );
	TIMER0->TCR = 0x00000000;

	return E_PASS;    
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品网站一区| 国产视频911| 亚洲成人动漫精品| 欧美日韩国产成人在线免费| 亚洲一级片在线观看| 在线成人小视频| 毛片基地黄久久久久久天堂| 26uuu久久综合| 不卡av在线免费观看| 亚洲欧美日韩国产综合| 欧美三级电影在线看| 欧美aaa在线| 中文字幕欧美国产| 国产欧美精品一区二区三区四区 | 99久久精品情趣| 亚洲一区二区三区小说| 欧美一区二区三区免费在线看| 狠狠色狠狠色综合| 亚洲欧洲美洲综合色网| 欧美性大战xxxxx久久久| 日本亚洲一区二区| 国产三级久久久| 日本二三区不卡| 国产麻豆精品95视频| 亚洲视频一区在线观看| 欧美女孩性生活视频| 国产成人在线视频网址| 亚洲激情一二三区| 精品久久久久一区| 色综合久久中文综合久久97| 日韩国产成人精品| 国产精品久久久久久久久搜平片 | 国产精品美女久久久久av爽李琼| 日本丰满少妇一区二区三区| 久久精品国产免费| 亚洲欧美一区二区三区孕妇| 日韩欧美一区二区视频| 色婷婷亚洲一区二区三区| 热久久国产精品| 中文字幕在线观看不卡| 欧美大黄免费观看| 日本精品免费观看高清观看| 韩国一区二区三区| 日韩在线观看一区二区| 最新中文字幕一区二区三区| 日韩欧美激情在线| 欧美色图12p| 91亚洲精品久久久蜜桃网站 | 91精品一区二区三区在线观看| 不卡一区二区三区四区| 激情深爱一区二区| 日本欧美大码aⅴ在线播放| 一级中文字幕一区二区| 国产精品伦理一区二区| 精品国产免费视频| 日韩三级视频在线看| 欧美视频第二页| 99国产精品国产精品毛片| 国产精品一区二区在线播放 | 精品亚洲成av人在线观看| 中文字幕制服丝袜成人av| 欧美成人福利视频| 3d成人h动漫网站入口| 色婷婷香蕉在线一区二区| 精品久久久久久久人人人人传媒 | 在线观看中文字幕不卡| 不卡一卡二卡三乱码免费网站| 国产自产高清不卡| 麻豆精品视频在线| 久久国产精品区| 另类欧美日韩国产在线| 免费在线观看精品| 日本最新不卡在线| 蜜桃久久精品一区二区| 奇米精品一区二区三区在线观看| 日日夜夜精品免费视频| 亚洲午夜久久久久中文字幕久| 亚洲女人小视频在线观看| 亚洲视频一区二区免费在线观看| 国产精品萝li| 亚洲精品日韩专区silk | 亚洲一区二区三区激情| 亚洲国产精品影院| 亚洲成a人v欧美综合天堂下载| 亚洲国产色一区| 日韩二区在线观看| 紧缚捆绑精品一区二区| 国产一区二区调教| 国产999精品久久久久久绿帽| 丁香婷婷综合网| 99re热视频精品| 欧美日韩大陆一区二区| 欧美一区二区三区公司| 久久婷婷国产综合国色天香| 日本一区二区三区四区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品视频自拍| 日日摸夜夜添夜夜添精品视频 | 精品国产乱码久久久久久1区2区 | 亚洲精品伦理在线| 日韩和欧美一区二区三区| 久久国产剧场电影| 不卡的av中国片| 欧美日本在线看| 精品999在线播放| 亚洲欧美日韩国产一区二区三区| 一区二区三区四区五区视频在线观看| 日韩av中文字幕一区二区三区| 精品一区二区三区在线观看国产| 国产东北露脸精品视频| 91精品福利视频| 欧美成人一区二区三区在线观看| 日本一区二区综合亚洲| 午夜在线成人av| 成人一区二区三区中文字幕| 欧美三级电影在线观看| 久久久久久久精| 亚洲动漫第一页| 粉嫩绯色av一区二区在线观看| 日本韩国一区二区三区| 久久美女高清视频 | 日本va欧美va瓶| 波多野结衣在线aⅴ中文字幕不卡| 在线看一区二区| 久久这里都是精品| 亚洲一二三四区| 风间由美性色一区二区三区| 欧美日韩高清在线播放| 中文字幕一区av| 国产在线不卡一区| 欧美日韩亚洲丝袜制服| 国产欧美日韩另类视频免费观看| 偷拍日韩校园综合在线| 成人18视频在线播放| 日韩欧美中文一区| 亚洲一级不卡视频| av一本久道久久综合久久鬼色| 精品国产99国产精品| 亚洲高清一区二区三区| 99麻豆久久久国产精品免费优播| 欧美成人国产一区二区| 午夜欧美2019年伦理| 99久久er热在这里只有精品15| 精品国产一区二区三区忘忧草| 午夜精品视频在线观看| 99久久777色| 中文字幕精品三区| 国产不卡视频在线播放| 日韩美女视频一区二区在线观看| 亚洲精品高清视频在线观看| 成人亚洲一区二区一| 久久综合久久综合亚洲| 七七婷婷婷婷精品国产| 欧美高清精品3d| 亚洲国产综合91精品麻豆| 99久久久无码国产精品| 久久久久久9999| 国产精品自在欧美一区| 精品国产麻豆免费人成网站| 蜜桃视频一区二区三区| 日韩限制级电影在线观看| 亚洲v日本v欧美v久久精品| 色哟哟精品一区| 一区二区三区不卡在线观看| 色综合天天综合| 夜夜揉揉日日人人青青一国产精品| 91小视频在线| 一区二区三区日韩欧美精品 | 欧美日韩美少妇| 天堂资源在线中文精品| 欧美丝袜自拍制服另类| 午夜视频一区二区| 日韩三级精品电影久久久| 麻豆国产精品视频| 久久蜜臀精品av| 不卡的电影网站| 亚洲永久精品国产| 欧美日韩精品一区二区| 日韩中文字幕麻豆| 欧美mv日韩mv| 粉嫩绯色av一区二区在线观看| 国产精品久久久久一区二区三区共| 99久久99久久精品免费观看| 亚洲乱码一区二区三区在线观看| 欧美午夜一区二区三区| 日韩精品一二区| 国产喂奶挤奶一区二区三区| 成人午夜激情片| 亚洲国产一二三| 日韩精品影音先锋| 国产精品1024| 一区二区三区四区精品在线视频| 欧美视频第二页| 国产一区二区三区免费看| 国产精品人妖ts系列视频| 91福利视频在线| 美女被吸乳得到大胸91| 中文在线一区二区| 欧美伦理视频网站| 国产99一区视频免费|