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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jnand.bak

?? QUALCOMM JNAND DRIVER
?? BAK
?? 第 1 頁 / 共 3 頁
字號:
;============================================================================
;  Name:
;    JNAND.CMM
;
;  Description:
;    FLASH Programming Script file for Lauterbach JTAG/ICD TRACE32.
;
;    There is a combination of JTAG/ICD FLASH.* commands and our own
;    extensions to those commands used.  Because of the nature of the NAND
;    flash, we must send a "preparation" command before FLASH.program
;    command, and then a "finish" command after, to tell the JNAND program
;    that the last page of code should be flushed to the NAND flash
;    and to write the boot information block.
;
;  Execution:
;    Inside the debugger, type at the command line: "do jnand".  Make
;    menu choices as directed.
;
;  Command line args handled by JNAND:
;
;     JNAND [DEBUG] [NOMENU | FACTORY] [BUILDID]
;
;       DEBUG is optional but MUST be first if used.  Will make JNAND verbose
;
;       NOMENU is used by JNLOAD and will cause both bootloader and code
;               build to be loaded with no intervention and JNAND to become 
;               very quiet
;
;       FACTORY is used to put JNAND into Factory Programming Mode
;         (FACTORY mode does not use the BUILDID parameter at all)
;
;           (NOMENU and FACTORY are mutually exclusive and must be first
;             or second, but DEBUG still must be first if present)
;
;       BUILDID is a valid ELF file and can be in the format of:
;         SNTA
;         SNTA.elf
;         ..\..\somedirectory\somewhere\SNTA  (or SNTA.elf)
;         C:\somepath\somedir\SNTA            (or SNTA.elf)
;
;       If no path is given, JNAND will assume ..\..\build\ms
;       If no BUILDID is given, JNAND will provide a file chooser window
;         with its base in ..\..\build\ms
;
;
; Copyright (c) 2002-2004 by QUALCOMM, Incorporated.  All Rights Reserved.
;----------------------------------------------------------------------------
;============================================================================
;
;                        EDIT HISTORY FOR MODULE
;
; $Header: //depot/asic/MSMSHARED/tools/jnand/jnand.cmm#12 $ $DateTime: 2004/04/10 08:58:33 $ $Author: dionh $
;
; when       who     what, where, why
; -------    ---     --------------------------------------------------------
; 04/10/04   drh     Fix bug that causes failure when code size overlaps
;                    parameter block address
; 10/23/03   drh     Move knowledge of size of DMSS image to generated file
;                    Merge JNLOAD changes in. JNLOAD is now only a shell
; 09/16/03   drh     Allow programming of first 8mb of NAND flash
; 07/25/03   drh     Fix minor typo in Area window clearing variable.
;                    Allow programming of first 8mb of NAND flash
; 07/01/03   drh     Add variable to control AREA window clearing
;                    Take out warning about SYS.U
; 06/18/03   drh     Added warnings for work arounds on Jaguar
; 03/25/04   drh     Close all windows except area window.
; 02/06/03   pg      Moved from ASWP402 server to ASWP401 server.
; 12/18/02   drh     Change erase length to 6mb.
;                    Get boot_loader.elf from its home directory
; 10/03/02   drh     Correct comments about how to invoke this script
; 09/20/02   drh     Changed path to where to find DMSS images
; 07/13/02   drh     Added copyright notice to tool banner
; 07/12/02   drh     Major rewrite to account for two programming modes, DMSS
;                    and boot block programming.  Made things very subroutine
;                    call oriented.
; 07/08/02   drh     Moved all sys.* directives out of this file and into
;                    jnand_msm_init.cmm since some of them have to be done
;                    after some basic hardware setup.
; 07/06/02   drh     Take out all hard coded addresses and CPU type.  Read
;                    in from jnand_param.cmm which is generated during build
;                    process 
; 07/05/02   drh     Created
;============================================================================;


; This structure is used to communcate between TRACE32 Debugger and
; our FLASH plug-in.
; struct type_jtag_flash_param {
;    uint32 flashaddr;   // offset 0x00
;    uint32 flashwidth;  // offset 0x04
;    uint32 width;       // offset 0x08
;    uint32 offset;      // offset 0x0C
;    uint32 addr;        // offset 0x10 in: address of the flash to write/erase
;    uint32 size;        // offset 0x14 in: size of data to write/erase
;    uint32 reserved;    // offset 0x18
;    uint32 status;      // offset 0x1C in: 1=program, 2=erase, 5=erase, out: 0=o.k., 0x100=fail
;    byte   data[0x20000]; /offset 0x20	// give 128K worth of buffer
;                            // this is where TRACE32 will store data that
;                            // we'll be writing to the FLASH
; };






;============================================================================
; Declare variables used
;============================================================================
local &ELFname
local &ELFdir
local &ElfImage
local &arg1 &arg2 &arg3
local &MenuMode
local &DoDebug 
local &ProcessElfName
local &Verbose
local &OSPwd
local &SymbolArg
local &ClearWin
local &Choice
 


;============================================================================
; Set up some defaults for some variables
;============================================================================
&MenuMode="STD"       ; Present normal JNAND menu
&DoDebug="no"         ; Do not do debugging      
&ProcessElfName="yes" ; Processs the ELF file name
&Verbose="no"         ; Do not present status messages as we process
&ClearWin="yes"       ; Remove all windows before starting
&SymbolArg="/NOSYMBOL" ; Don't load any symbols.

;============================================================================
; Get the arguments passed in.
;============================================================================
ENTRY &arg1 &arg2 &arg3


gosub ProcessCmdLine


;============================================================================
; For normal use set up the screen with only area window for reports 
; For debug purposes, don't clear
; In both cases, make sure we have an area window
;============================================================================
if "&ClearWin"=="yes"  
  (  
    WinCLEAR
    WinPage.Reset
    WINPOS 0. 0. 80% 80%
  )

area

if "&ClearWin"=="yes"  
  (  
    area.RESET 
  )

;TEST JKMIN
;TERM.VIEW
;TERM.WRITE TERM.OUT
;============================================================================
; Set some MSM specific variables used later in flash.target command
;    &JnandCodeAddr=
;    &JnandParamAddr=
;    &JnandCpuType=
;============================================================================
 do jnand_param


;============================================================================
; 1) Set variables used to set up the JTAG debugger for this MSM
; 2) Init important MSM/ASB registers
;    use existing external script that is MSM specific
;============================================================================
 do jnand_msm_init


;-------------------------------------------------------------------------------
; Set some variables used later on to peek and poke parameter block
;   This script file is sourced by both jnand.cmm and jnandtest.cmm
;-------------------------------------------------------------------------------
do jnand_addr_init.cmm


;============================================================================
; Present User with correct menu or no menu
;============================================================================

if "&MenuMode"=="FACTORY"
(
  gosub FactoryMenu
)
else
(
  if "&MenuMode"=="NOMENU"
  (
    gosub DoNoMenu
  )
  else
  (
    if "&MenuMode"=="STD"
    (
      gosub NormalMenu
    )
    else
    (
      print "Invalid menu mode &MenuMode selected"
      enddo
    )
  )
)

enddo
 
 
 
 
 
 
 

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;
;  SUBROUTINES
;
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 
 
;=====================================================
; --- Function to Program DMSS Image
;===================================================== 
CodeImage:

	 ; set up addresses used with FLASH.* commands
	 &RomBegin=&JnandCodeRomBegin
	 &RomEnd=&JnandCodeRomEnd
	 gosub CreateRom
	 
	 
	 ;--------------------------------------------------------
	 ; Initialize the JNAND program - must succeed
	 ;  will probe flash and set up first block for writing
	 ; We have to set this command up by hand as it is one
	 ;  that we added to the flash.* protocol and JTAG does
	 ;  not know about it.
	 ;--------------------------------------------------------
	 ;
   if "&Verbose"=="yes"
   (
	  print "Probing flash and validating boot info blocks"
	 )
   &Command="Flash Initialize for Code Image Programming"
	 data.set &ParmCmd %LONG &InitCmd
	 data.set &ParmAddr			%LONG 0x8000
	 r.s pc &StartAddr
	 go
	 gosub check_status  ;; will not return if error
   &ElfImage="&ELFdir\&ELFname"
	 gosub DoProgramming  
	
	
	 ;--------------------------------------------------------
	 ; Verify spans and checksum
	 ;--------------------------------------------------------
	 ;
   ;if "&Verbose"=="yes"
   ;(
;	   print "Verifying flash image with spans from boot info block"
 ;  )
;	 &Command="Flash Verify"
;	 data.set &ParmCmd %LONG &VerifyCmd
;	 r.s pc &StartAddr
;	 go
;	 gosub check_status  ;; will not return if error
	 
	 
;	 gosub CleanUp 
 ;  if "&Verbose"=="yes"
  ; (
;;	   print "Flash is programmed and verified" 
  ; )
;return


;=====================================================
; --- Function to Program Boot Block
;=====================================================
BootOnly: 

	 ; set up addresses used with FLASH.* commands
	 &RomBegin=&JnandBootRomBegin
	 &RomEnd=&JnandBootRomEnd
	 gosub CreateRom
	 
	 
	 ;--------------------------------------------------------
	 ; Initialize the JNAND program - must succeed
	 ;  will probe flash and set up first block for writing
	 ; We have to set this command up by hand as it is one
	 ;  that we added to the flash.* protocol and JTAG does
	 ;  not know about it.
	 ;--------------------------------------------------------
	 ;
   if "&Verbose"=="yes"
   (
	   print "Probing flash and validating boot info blocks"
	 )
   &Command="Flash Initialize for Boot Block Programming"
	 data.set &ParmCmd %LONG &InitBootCmd
	 r.s pc &StartAddr
	 go

	 gosub check_status  ;; will not return if error 
	 &ElfImage=".\boot_loader.elf"
	 gosub DoProgramming  
	
	
	 ;--------------------------------------------------------
	 ; Verify spans and checksum
	 ;--------------------------------------------------------
	 ;
   if "&Verbose"=="yes"
   (
	   print "Verifying flash image in boot block"
	 )
   &Command="Flash Verify"
	 data.set &ParmCmd %LONG &VerifyCmd
	 r.s pc &StartAddr
	 go
	 gosub check_status  ;; will not return if error
	   
	 gosub CleanUp 
	 
   if "&Verbose"=="yes"
   (
	   print "Flash Boot Block is programmed"                                             
   )
return





;=====================================================
; --- Function to check command status return
;       and exit if 0x100
;=====================================================
check_status:
	 wait !run()
	
	 &Result=data.long(A:&ParmStatus)
	 if &Result==0x100
	 (
	   print " " 
	   print "---- &Command failed"
	   &Result=data.long(A:&ParmReserved)
	   print "     Extended status is &Result"
	   print " "
	   print "EXITING due to failed command:: &Command"
	   end
	 )
	 else
	 (
     if "&Verbose"=="yes"
     (
       print "+++++ &Command Succeeded"  
     )
	 )
return



;=====================================================
; --- Function to report statistics
;=====================================================
report_stats:
  if "&Verbose"=="no"
  (
    return
  )
	 print "  Statistics Report:"
	 &ReportInt=data.long(A:&ReportBytesGap)
	 print "    Gaps due to gaps in image  &ReportInt"
	 &ReportInt=data.long(A:&ReportBlocksGap)
	 print "    Gaps due to bad blocks     &ReportInt"
	 &ReportInt=data.long(A:&ReportImageSize)
	 print "    Total size of code image   &ReportInt"
return




;=====================================================
; --- Function to Program flash part but not verify
;=====================================================
DoProgramming:

	 ;--------------------------------------------------------
	 ; Call erase function.  Will only erase blocks 1 and 2
	 ; where we will put the boot info block. If either of
	 ; these fail, then the flash is unusable and we bail out
	 ; The parameters passed are ignored but to satisfy the JTAG
	 ;  ICD, they must match the flash.create command above
	 ;--------------------------------------------------------
	 ;
   

   if "&Verbose"=="yes"
   (
	   print "Erasing Flash Boot Info Blocks"
	 )
   &Command="Flash Erase Boot Info Blocks"
   
	 flash.erase &RomBegin--&RomEnd
	 
	 gosub check_status  ;; will not return if error
	
	 ;--------------------------------------------------------
	 ; put into program mode 
	 ;--------------------------------------------------------
	 flash.program all
	 
	 ;--------------------------------------------------------
	 ; actual flash programming happens here
	 ;--------------------------------------------------------
	 &Command="Flash Program"
	 
	 ; print "Select file to program in browser: "
	 d.load.elf &ElfImage &SymbolArg
	 
	 gosub check_status  ;; will not return if error
	 
	 ;--------------------------------------------------------
	 ; OK we're finished, turn off programming mode.
   ; If we do not turn it off, any data writes within
   ; the address range of the defined ROM will be taken
   ; as flash programming commands and this will cause
   ; failures if the code size overlaps the parameter
   ; block address.
	 ;--------------------------------------------------------
	 flash.program off
	
	 ;--------------------------------------------------------
	 ; Finalize the JNAND program - must succeed
	 ;  writes out the last code block and any boot info blocks
	 ; We have to set this command up by hand as it is one
	 ;  that we added to the flash.* protocol and JTAG does
	 ;  not know about it.
	 ;--------------------------------------------------------
	 ;
   if "&Verbose"=="yes"
   (   
	   print "Finalizing flash programming"
   )
	 &Command="Flash Finalize"
	 data.set &ParmCmd %LONG &FinishCmd
	 r.s pc &StartAddr
	
	 go
	 gosub check_status  ;; will not return if error
	
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品bt天堂精选| 国产一区二区三区不卡在线观看 | 69p69国产精品| 亚洲午夜三级在线| 欧美狂野另类xxxxoooo| 亚洲h在线观看| 91精品国产综合久久福利| 日本成人在线看| 日韩欧美色综合| 国产成人自拍高清视频在线免费播放| 久久久欧美精品sm网站| 91在线视频播放地址| 国产精品亲子伦对白| 91美女精品福利| 亚洲国产精品麻豆| 欧美电影免费观看高清完整版在| 国产麻豆午夜三级精品| 一区二区中文字幕在线| 欧美亚洲一区三区| 乱一区二区av| 国产精品视频一二三区| 欧美色偷偷大香| 久久av资源网| 国产精品灌醉下药二区| 欧美日韩在线精品一区二区三区激情| 日韩av不卡一区二区| 国产日韩欧美综合在线| 欧美亚洲高清一区二区三区不卡| 日本麻豆一区二区三区视频| 国产精品午夜电影| 欧美日韩日日骚| 国产成人综合亚洲91猫咪| 亚洲另类一区二区| 久久综合色婷婷| 欧美亚洲综合网| 国产精品资源在线看| 亚洲最大色网站| 国产欧美一区二区在线| 欧美色综合天天久久综合精品| 久久成人18免费观看| 亚洲啪啪综合av一区二区三区| 欧美日韩视频在线一区二区 | 午夜日韩在线观看| 国产亚洲精久久久久久| 欧美日韩国产小视频| 成人免费精品视频| 麻豆精品久久精品色综合| 亚洲美女屁股眼交3| 久久久午夜精品| 这里只有精品电影| 日本精品一区二区三区高清 | 成人午夜在线视频| 日韩国产欧美视频| 一区二区在线观看不卡| 久久久久久夜精品精品免费| 欧美日韩一区二区三区四区| 成人av电影在线观看| 久久超碰97人人做人人爱| 亚洲国产aⅴ天堂久久| 国产精品二三区| 国产日本欧洲亚洲| 亚洲精品在线电影| 日韩欧美国产一二三区| 7777女厕盗摄久久久| 在线观看网站黄不卡| 99riav一区二区三区| 成人中文字幕在线| 国产成人精品免费看| 经典三级一区二区| 青草av.久久免费一区| 丝袜美腿亚洲综合| 午夜电影一区二区| 亚洲综合久久久久| 亚洲午夜私人影院| 亚洲第一主播视频| 亚洲高清久久久| 亚洲第四色夜色| 亚洲bdsm女犯bdsm网站| 亚洲成人免费观看| 香蕉影视欧美成人| 日韩av电影天堂| 麻豆精品视频在线观看| 寂寞少妇一区二区三区| 国产在线看一区| 国产精品伊人色| 丁香亚洲综合激情啪啪综合| 国产成人亚洲综合色影视| 高清不卡一区二区在线| 成人在线视频一区二区| 国产成人自拍网| 99re这里只有精品视频首页| 91欧美激情一区二区三区成人| 成人99免费视频| 91福利国产精品| 在线播放视频一区| 日韩精品一区国产麻豆| 久久久久一区二区三区四区| 欧美激情综合在线| 亚洲人成网站影音先锋播放| 亚洲毛片av在线| 性久久久久久久久久久久| 美国十次综合导航| 国产91精品在线观看| 91视视频在线观看入口直接观看www| 成人动漫精品一区二区| 欧日韩精品视频| 日韩一区二区三区av| 国产婷婷一区二区| 亚洲欧美日韩国产一区二区三区| 亚洲精品视频自拍| 日本亚洲天堂网| 国产一区二区三区高清播放| 色综合久久综合网欧美综合网| 欧美亚洲综合在线| 久久这里只有精品首页| 亚洲免费视频成人| 老司机午夜精品99久久| 99久久婷婷国产综合精品电影| 日本高清不卡aⅴ免费网站| 欧美一级黄色录像| 国产精品久久久久桃色tv| 爽爽淫人综合网网站| 国产精品亚洲专一区二区三区| 日本精品一区二区三区四区的功能| 日韩三级精品电影久久久 | 麻豆精品一区二区综合av| 国产乱码精品1区2区3区| 欧洲色大大久久| 久久日韩精品一区二区五区| 亚洲永久免费av| 国产成人综合视频| 日韩一二在线观看| 亚洲精品乱码久久久久久| 国产在线播放一区二区三区| 欧美在线一二三四区| 中文字幕乱码久久午夜不卡| 毛片不卡一区二区| 欧美在线不卡视频| 国产精品乱码一区二区三区软件| 日韩精品电影一区亚洲| 色综合久久中文综合久久97| 精品国产乱码久久久久久图片| 一区二区三区四区精品在线视频| 国产精品一区二区在线观看网站| 欧美三级三级三级爽爽爽| 国产精品不卡视频| 国产成人免费xxxxxxxx| 日韩午夜电影av| 亚洲第一综合色| 色欧美片视频在线观看| 中文字幕不卡在线观看| 国产一区二区三区日韩| 日韩视频永久免费| 日本怡春院一区二区| 欧美中文字幕一二三区视频| 成人欧美一区二区三区小说 | 1区2区3区国产精品| 国产精品996| 欧美精品一区二区高清在线观看 | 美腿丝袜亚洲色图| 欧美日韩你懂得| 亚洲一二三四区不卡| 91亚洲国产成人精品一区二区三 | 自拍偷自拍亚洲精品播放| 国产成人免费在线观看| 2021中文字幕一区亚洲| 极品少妇一区二区三区精品视频 | 久久综合久久99| 精久久久久久久久久久| 精品第一国产综合精品aⅴ| 久久99这里只有精品| 日韩精品一区二区三区在线| 毛片av一区二区三区| 精品日韩成人av| 久久66热偷产精品| 久久欧美中文字幕| 成人app在线观看| 亚洲天堂精品视频| 欧美亚洲免费在线一区| 亚洲国产精品久久艾草纯爱| 欧美日韩视频专区在线播放| 日韩不卡在线观看日韩不卡视频| 欧美日韩精品欧美日韩精品一| 五月婷婷久久丁香| 欧美成人国产一区二区| 国产一区二区在线观看视频| 国产欧美一区二区精品秋霞影院 | 亚洲一区在线观看视频| 欧美色区777第一页| 人人狠狠综合久久亚洲| 日韩你懂的在线观看| 国产综合色精品一区二区三区| 国产亚洲人成网站| 91视频一区二区| 视频一区二区三区中文字幕| 日韩精品中午字幕| 成人免费视频免费观看| 亚洲精品第1页| 91精品国产综合久久久久久久| 韩日精品视频一区|