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

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

?? jnand.cmm

?? QUALCOMM JNAND DRIVER
?? CMM
?? 第 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="&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一区二区三区免费野_久草精品视频
一本大道久久精品懂色aⅴ| 欧美性xxxxx极品少妇| 91久久国产最好的精华液| 制服丝袜亚洲色图| 国产精品美女久久福利网站| 五月婷婷久久丁香| 福利91精品一区二区三区| 欧美一区二区三区视频免费播放| 国产精品每日更新| 久久福利视频一区二区| 欧美日韩国产系列| 亚洲天堂网中文字| 国产成人综合亚洲网站| 日韩亚洲国产中文字幕欧美| 亚洲一区在线视频观看| youjizz久久| 国产午夜精品久久久久久久| 蜜桃免费网站一区二区三区| 欧美人牲a欧美精品| 亚洲综合自拍偷拍| 91免费视频网| 中文字幕制服丝袜一区二区三区| 久久成人免费网站| 日韩欧美中文字幕公布| 日本成人在线电影网| 欧美三级蜜桃2在线观看| 一个色综合av| 欧美日韩一区三区| 天天做天天摸天天爽国产一区| 在线观看91视频| 一区二区三区在线播放| 色欧美片视频在线观看在线视频| 中文字幕一区二区三区精华液| 成人永久aaa| 国产精品国产三级国产aⅴ原创| 丁香婷婷综合色啪| 欧美激情一区二区三区全黄| 国产成人午夜精品影院观看视频| 欧美经典三级视频一区二区三区| 国产91色综合久久免费分享| 久久久久久久综合| 国产精品性做久久久久久| 中文字幕免费一区| 99久久婷婷国产| 亚洲图片有声小说| 这里只有精品免费| 美国十次了思思久久精品导航| 久久亚洲私人国产精品va媚药| 国产成人精品影视| 丝袜美腿一区二区三区| 欧美一区二视频| 国产精品亚洲综合一区在线观看| 国产精品久久久久久久久免费桃花| 色综合久久久久久久久| 图片区日韩欧美亚洲| 欧美大片国产精品| jlzzjlzz亚洲日本少妇| 亚洲国产va精品久久久不卡综合| 日韩手机在线导航| 不卡电影一区二区三区| 首页欧美精品中文字幕| 久久久99久久| 欧美日韩国产小视频在线观看| 精品一区二区三区在线视频| 中文字幕在线不卡一区二区三区| 欧美日韩三级在线| 国产成人在线免费观看| 亚洲成a人v欧美综合天堂| 久久品道一品道久久精品| 色成年激情久久综合| 久久精品二区亚洲w码| 亚洲免费在线观看视频| 精品国免费一区二区三区| 91视频免费观看| 久久精品国产亚洲aⅴ| 亚洲欧美日韩在线| 精品人伦一区二区色婷婷| 欧美中文字幕一区二区三区亚洲| 黄网站免费久久| 亚洲国产另类精品专区| 中文欧美字幕免费| 日韩精品影音先锋| 欧美中文一区二区三区| 粉嫩一区二区三区在线看| 日韩黄色免费电影| 一区二区三区在线不卡| 欧美国产精品一区| 欧美变态tickling挠脚心| 欧美性大战久久久久久久蜜臀| 成人午夜免费电影| 日韩电影在线看| 亚洲va中文字幕| 伊人开心综合网| 国产精品久久久久aaaa| 欧美一个色资源| 91精品国产综合久久香蕉麻豆| 91在线观看视频| 成人sese在线| 成人免费黄色大片| 懂色av一区二区夜夜嗨| 精品一区精品二区高清| 午夜在线成人av| 一区二区三区四区不卡在线| 国产精品久久久久影院| 国产精品免费视频一区| 精品久久五月天| 精品国产乱码久久久久久1区2区| 欧美午夜在线观看| 欧美天堂亚洲电影院在线播放| eeuss国产一区二区三区| 国产精品18久久久| 国产九色精品成人porny| 国产一区二区不卡| 毛片不卡一区二区| 精品中文字幕一区二区| 青青草97国产精品免费观看 | 精久久久久久久久久久| 日韩中文字幕1| 午夜影院久久久| 欧美aaaaaa午夜精品| 男男成人高潮片免费网站| 奇米777欧美一区二区| 久久99久久精品欧美| 久久国产成人午夜av影院| 麻豆精品在线观看| 国产美女精品一区二区三区| 国产成人免费视频一区| 99精品视频在线播放观看| jlzzjlzz国产精品久久| 91久久线看在观草草青青| 国产精品视频一二三区| 中文字幕中文字幕一区| 亚洲国产精品嫩草影院| 三级一区在线视频先锋| 日本视频一区二区三区| 国产一区二区美女| 91污在线观看| 欧美日韩国产首页在线观看| 精品国产青草久久久久福利| 日本一区二区视频在线观看| 亚洲欧美另类综合偷拍| 视频一区欧美精品| 国产精品99久久久久久有的能看 | 日本电影亚洲天堂一区| 在线免费亚洲电影| 欧美一区二区三区四区五区 | 亚洲大片一区二区三区| 狂野欧美性猛交blacked| 国产69精品久久久久777| 色欧美日韩亚洲| 亚洲精品一区二区三区香蕉| 亚洲欧洲精品一区二区三区 | 亚洲一区精品在线| 久久99国产精品尤物| 91啦中文在线观看| 日韩精品一区二区三区四区| 亚洲欧洲韩国日本视频| 另类小说综合欧美亚洲| 97久久精品人人做人人爽| 欧美xxxxx裸体时装秀| 亚洲视频一区在线| 久久99国产精品免费网站| 在线精品国精品国产尤物884a| 久久精品夜夜夜夜久久| 丝袜诱惑亚洲看片| 91丨九色丨蝌蚪丨老版| 国产性色一区二区| 男人的天堂久久精品| 欧美自拍偷拍午夜视频| 久久久亚洲国产美女国产盗摄 | 91麻豆精品国产91久久久久久| 中文一区二区完整视频在线观看 | 精品国精品自拍自在线| 亚洲影院久久精品| jiyouzz国产精品久久| 久久久久久一级片| 美国精品在线观看| 欧美日韩视频一区二区| 亚洲三级小视频| 丁香五精品蜜臀久久久久99网站| 欧美大片一区二区三区| 五月婷婷久久丁香| 欧美性videosxxxxx| 亚洲免费色视频| 99久久久国产精品| 国产欧美视频在线观看| 国产一区不卡在线| 久久一留热品黄| 国产一区二区福利| 久久影院视频免费| 精品在线亚洲视频| 欧美电视剧在线看免费| 日韩中文字幕91| 日韩小视频在线观看专区| 免费视频最近日韩| 日韩欧美国产麻豆| 国内久久精品视频| 亚洲精品在线免费观看视频| 国产乱人伦精品一区二区在线观看| 日韩欧美一区在线观看|