mirror of
				https://github.com/pvvx/rtl00TstMinAmebaV35a.git
				synced 2025-07-31 20:31:06 +00:00 
			
		
		
		
	update
This commit is contained in:
		
							parent
							
								
									e757d94e17
								
							
						
					
					
						commit
						891cbcb716
					
				
					 9 changed files with 381 additions and 126 deletions
				
			
		
							
								
								
									
										3
									
								
								JLink-RTL00ConsoleROM.bat
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								JLink-RTL00ConsoleROM.bat
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| @echo off | ||||
| PATH=D:\MCU\SEGGER\JLink_V610a;%PATH% | ||||
| start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL00ConsoleROM.JLinkScript | ||||
|  | @ -1,6 +1,6 @@ | |||
| @echo off | ||||
| PATH=D:\MCU\GNU_Tools_ARM_Embedded\5.2_2015q4\bin;D:\MCU\SEGGER\JLink_V610a;%PATH% | ||||
| start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 1000  | ||||
| start JLinkGDBServer.exe -device Cortex-M3 -if SWD -ir -endian little -speed 3500  | ||||
| arm-none-eabi-gdb.exe -x flasher/gdb_wrflash.jlink | ||||
| taskkill /F /IM JLinkGDBServer.exe | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										6
									
								
								flasher/RTL00ConsoleROM.JLinkScript
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								flasher/RTL00ConsoleROM.JLinkScript
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| h | ||||
| loadbin flasher/RTL00Console_ROM.bin 0x10000ba8 | ||||
| r | ||||
| w4 0x40000210,0x4011117 | ||||
| g | ||||
| q | ||||
							
								
								
									
										
											BIN
										
									
								
								flasher/RTL00Console_ROM.bin
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								flasher/RTL00Console_ROM.bin
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										198
									
								
								flasher/gdb_flasher.jlink
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										198
									
								
								flasher/gdb_flasher.jlink
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,198 @@ | |||
| #################################### | ||||
| # J-LINK GDB SERVER initialization # | ||||
| #################################### | ||||
| define InitJlink | ||||
| printf "Jlink Init:\n" | ||||
| set verbose off | ||||
| set complaints 0 | ||||
| set confirm off | ||||
| set exec-done-display off | ||||
| show exec-done-display | ||||
| set trace-commands off | ||||
| #set debug aix-thread off | ||||
| #set debug dwarf2-die 0 | ||||
| set debug displaced off  | ||||
| set debug expression 0 | ||||
| set debug frame 0 | ||||
| set debug infrun 0 | ||||
| set debug observer 0 | ||||
| set debug overload 0 | ||||
| #set debugvarobj 0 | ||||
| set pagination off | ||||
| set print address off | ||||
| set print symbol-filename off | ||||
| set print symbol off | ||||
| set print pretty off | ||||
| set print object off | ||||
| #set debug notification off | ||||
| set debug parser off | ||||
| set debug remote 0 | ||||
| target remote localhost:2331 | ||||
| set remotetimeout 10000 | ||||
| monitor device Cortex-M3 | ||||
| monitor endian little | ||||
| monitor reset | ||||
| # Set max speed | ||||
| monitor speed 4000 | ||||
| set mem inaccessible-by-default off | ||||
| # Setup GDB FOR FASTER DOWNLOADS | ||||
| set remote memory-write-packet-size 8192 | ||||
| set remote memory-write-packet-size fixed | ||||
| end | ||||
| ############# | ||||
| # Boot_Flash | ||||
| define SetBootFlash | ||||
| printf "SetBoot = Flash:\n" | ||||
| monitor long 0x40000210 = 0x211157 | ||||
| end | ||||
| # Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )  | ||||
| define SetBootCall0 | ||||
| printf "SetBoot = Call0:\n" | ||||
| monitor long 0x40000210 = 0x80011117 | ||||
| end | ||||
| # Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )  | ||||
| define SetBootCall1 | ||||
| printf "SetBoot = Call1:\n" | ||||
| monitor long 0x40000210 = 0x20011117 | ||||
| end | ||||
| # Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 ) | ||||
| define SetBootCall2 | ||||
| printf "SetBoot = Call2:\n" | ||||
| monitor long 0x40000210 = 0x10011117 | ||||
| end | ||||
| # Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 ) | ||||
| define SetBootCall3 | ||||
| printf "SetBoot = Call3:\n" | ||||
| monitor long 0x40000210 = 0x8011117 | ||||
| end | ||||
| # Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 ) | ||||
| define SetBootCall4 | ||||
| printf "SetBoot = Call4:\n" | ||||
| monitor long 0x40000210 = 0x4011117 | ||||
| end | ||||
| # CPU CLK 166 MHz? | ||||
| define SetClk166MHz | ||||
| printf "SetCLK 166.66MHz:\n" | ||||
| monitor long 0x40000014 = 0x00000011  | ||||
| end | ||||
| # CPU CLK 83 MHz? | ||||
| define SetClk83MHz | ||||
| printf "SetCLK 83.33MHz:\n" | ||||
| monitor long 0x40000014 = 0x00000021  | ||||
| end | ||||
| ############### | ||||
| # System Init # | ||||
| ############### | ||||
| define SystemInit | ||||
| printf "System Init:\n" | ||||
| monitor long 0x40000304 = 0x1FC00002 | ||||
| monitor long 0x40000250 = 0x400 | ||||
| monitor long 0x40000340 = 0x0 | ||||
| monitor long 0x40000230 = 0xdcc4 | ||||
| monitor long 0x40000210 = 0x11117 | ||||
| monitor long 0x40000210 = 0x11157 | ||||
| monitor long 0x400002c0 = 0x110011 | ||||
| monitor long 0x40000320 = 0xffffffff | ||||
| end | ||||
| ############ | ||||
| # SPI Init # | ||||
| ############ | ||||
| define SPI_Init | ||||
| printf "Init SPI:\n" | ||||
| #enable spi flash peripheral clock | ||||
| set $Temp = {int}(0x40000230) | ||||
| set $Temp = ($Temp | 0x300) | ||||
| set {int}(0x40000230) = $Temp | ||||
| #enable spi flash peripheral | ||||
| set $Temp = {int}(0x40000210) | ||||
| set $Temp = ($Temp | 0x10) | ||||
| set {int}(0x40000210) = $Temp | ||||
| #select spi flash pinout (0 - internal), enable spi flash pins  | ||||
| set $Temp = {int}(0x400002C0) | ||||
| set $Temp = (($Temp & 0xFFFFFFF8) | 1) | ||||
| set {int}(0x400002C0) = $Temp | ||||
| #disable SPI FLASH operation | ||||
| monitor long 0x40006008 = 0 | ||||
| #disable all interrupts | ||||
| monitor long 0x4000602C = 0 | ||||
| #use first "slave select" pin | ||||
| monitor long 0x40006010 = 1 | ||||
| #baud rate, default value | ||||
| monitor long 0x40006014 = 2 | ||||
| #tx fifo threshold | ||||
| monitor long 0x40006018 = 0 | ||||
| #rx fifo threshold | ||||
| monitor long 0x4000601C = 0 | ||||
| #disable DMA | ||||
| monitor long 0x4000604C = 0 | ||||
| set $SPI_FLASH_BASE = 0x98000000 | ||||
| end | ||||
| ################### | ||||
| # SetFirwareSize # | ||||
| ################### | ||||
| define SetFirwareSize | ||||
| set $rambuffer = 0x10000300 | ||||
| printf "Get ImagesSize:\n" | ||||
| restore $arg0 binary $rambuffer 0 0x20 | ||||
| set $Image1Size = {int}($rambuffer+0x10) + 32 | ||||
| set $Image1LoadAddr = {int}($rambuffer+0x14) | ||||
| set $Image2Addr = {short}($rambuffer+0x18) * 1024 | ||||
| if $Image1Size != 0 && $Image1Size < 0x1000000 | ||||
|  if $Image2Addr == 0  | ||||
|   set $Image2Addr = $Image1Size + 32 | ||||
|  end  | ||||
|  printf "Image1Size = %d\n", $Image1Size | ||||
|  printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr | ||||
|  printf "Image2FlashAddr = 0x%08x\n", $Image2Addr | ||||
|  set $parms1 = $rambuffer - $Image2Addr | ||||
|  set $parms3 = $Image2Addr + 0x08 | ||||
|  restore $arg0 binary $parms1 $Image2Addr $parms3 | ||||
|  set $Image2Size = {int}($rambuffer) | ||||
|  set $Image2LoadAddr = {int}($rambuffer+0x4) | ||||
|  if $Image2Size != 0xFFFFFFFF || $Image2Size != 0 | ||||
|   set $Image2Size = $Image2Size + 16 | ||||
|   printf "Image2Size = %d\n", $Image2Size | ||||
|   printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr | ||||
|   set $FirmwareSize = $Image2Addr + $Image2Size | ||||
|   printf "FirmwareSize = %d\n", $FirmwareSize | ||||
|  else | ||||
|   set $Image2Size = 0 | ||||
|   printf "Image2 - None\n" | ||||
|   set $FirmwareSize = $Image1Size | ||||
|   printf "FirmwareSize = %d\n", $FirmwareSize | ||||
|  end | ||||
| else | ||||
|  set $Image1Size = 0 | ||||
|  set $Image2Size = 0 | ||||
|  set $Image2Addr = 0 | ||||
|  set $FirmwareSize = 0 | ||||
|  printf "Image not format Firmware!\n" | ||||
| end  | ||||
| end | ||||
| ##################### | ||||
| # Flash Images Info # | ||||
| ##################### | ||||
| define FlashImagesInfo | ||||
| printf "Flash Info:\n" | ||||
| set $Image1Size = {int}($SPI_FLASH_BASE + 0x10) + 32 | ||||
| set $Image1LoadAddr = {int}($SPI_FLASH_BASE + 0x14) | ||||
| if $Image1LoadAddr == 0xFFFFFFFF | ||||
| printf "Image1 - None\n" | ||||
| else | ||||
| set $Image2FlashAddr = {short}($SPI_FLASH_BASE + 0x18) * 1024 | ||||
| if $Image2FlashAddr == 0  | ||||
| $Image2FlashAddr = $Image1Size  | ||||
| end  | ||||
| set $Image2Size = {int}($Image2FlashAddr + $SPI_FLASH_BASE) | ||||
| set $Image2LoadAddr = {int}($Image2FlashAddr + $SPI_FLASH_BASE + 0x4) | ||||
| printf "Image1Size = %d\n", $Image1Size | ||||
| printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr | ||||
| printf "Image2FlashAddr = 0x%08x\n", $Image2FlashAddr | ||||
| if $Image2Size != 0xFFFFFFFF | ||||
| printf "Image2Size = %d\n", $Image2Size | ||||
| printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr | ||||
| else | ||||
| printf "Image2 - None\n" | ||||
| end | ||||
| end | ||||
| end | ||||
|  | @ -1,102 +1,16 @@ | |||
| #Message display setting | ||||
| #disable all messages | ||||
| 
 | ||||
| set verbose off | ||||
| set complaints 0 | ||||
| set confirm off | ||||
| set exec-done-display off | ||||
| show exec-done-display | ||||
| set trace-commands off | ||||
| #set debug aix-thread off | ||||
| #set debug dwarf2-die 0 | ||||
| set debug displaced off  | ||||
| set debug expression 0 | ||||
| set debug frame 0 | ||||
| set debug infrun 0 | ||||
| set debug observer 0 | ||||
| set debug overload 0 | ||||
| #set debugvarobj 0 | ||||
| set pagination off | ||||
| set print address off | ||||
| set print symbol-filename off | ||||
| set print symbol off | ||||
| set print pretty off | ||||
| set print object off | ||||
| #set debug notification off | ||||
| set debug parser off | ||||
| set debug remote 0 | ||||
| # | ||||
| # J-LINK GDB SERVER initialization | ||||
| # | ||||
| target remote localhost:2331 | ||||
| set remotetimeout 10000 | ||||
| monitor device Cortex-M3 | ||||
| monitor endian little | ||||
| monitor reset | ||||
| # Set max speed | ||||
| monitor speed 4000 | ||||
| set mem inaccessible-by-default off | ||||
| # Setup GDB FOR FASTER DOWNLOADS | ||||
| set remote memory-write-packet-size 4096 | ||||
| set remote memory-write-packet-size fixed | ||||
| #------------------------------------------------------------------ | ||||
| # Boot Flash | ||||
| monitor long 0x40000210 = 0x211157 | ||||
| # CPU CLK 83 MHz? | ||||
| monitor long 0x40000014 = 0x21 | ||||
| #------------------------------------------------------------------ | ||||
| # System init  | ||||
| monitor long 0x40000304 = 0x1FC00002 | ||||
| monitor long 0x40000250 = 0x400 | ||||
| monitor long 0x40000340 = 0x0 | ||||
| monitor long 0x40000230 = 0xdcc4 | ||||
| monitor long 0x40000210 = 0x11117 | ||||
| monitor long 0x40000210 = 0x11157 | ||||
| monitor long 0x400002c0 = 0x110011 | ||||
| monitor long 0x40000320 = 0xffffffff | ||||
| #------------------------------------------------------------------ | ||||
| # SPI Init | ||||
| #enable spi flash peripheral clock | ||||
| set $Temp = {int}(0x40000230) | ||||
| set $Temp = ($Temp | 0x300) | ||||
| set {int}(0x40000230) = $Temp | ||||
| #enable spi flash peripheral | ||||
| set $Temp = {int}(0x40000210) | ||||
| set $Temp = ($Temp | 0x10) | ||||
| set {int}(0x40000210) = $Temp | ||||
| #select spi flash pinout (0 - internal), enable spi flash pins  | ||||
| set $Temp = {int}(0x400002C0) | ||||
| set $Temp = (($Temp & 0xFFFFFFF8) | 1) | ||||
| set {int}(0x400002C0) = $Temp | ||||
| #disable SPI FLASH operation | ||||
| monitor long 0x40006008 = 0 | ||||
| #disable all interrupts | ||||
| monitor long 0x4000602C = 0 | ||||
| #use first "slave select" pin | ||||
| monitor long 0x40006010 = 1 | ||||
| #baud rate, default value | ||||
| monitor long 0x40006014 = 2 | ||||
| #tx fifo threshold | ||||
| monitor long 0x40006018 = 0 | ||||
| #rx fifo threshold | ||||
| monitor long 0x4000601C = 0 | ||||
| #disable DMA | ||||
| monitor long 0x4000604C = 0 | ||||
| #------------------------------------------------------------------ | ||||
| # GDB Jlink read fullflash | ||||
| # Init | ||||
| source -v flasher/gdb_flasher.jlink | ||||
| InitJlink | ||||
| SystemInit | ||||
| SPI_Init | ||||
| FlashInfo | ||||
| # Read FullFlash | ||||
| set $SPI_FLASH_BASE = 0x98000000 | ||||
| printf "Read FullFlash:\n" | ||||
| set $dumpstartaddr = $SPI_FLASH_BASE | ||||
| set $dumpendaddr = $SPI_FLASH_BASE + 0x100000 | ||||
| printf "start addr of dumping" | ||||
| p /x $dumpstartaddr | ||||
| printf "end addr of dumping" | ||||
| p /x $dumpendaddr | ||||
| printf "Start addr of dumping = 0x%08x\n", $dumpstartaddr | ||||
| printf "End addr of dumping = 0x%08x\n", $dumpendaddr | ||||
| dump binary memory ./build/bin/fullflash.bin $dumpstartaddr $dumpendaddr | ||||
| printf "FullFlash saved in ./build/bin/fullflash.bin - OK.\n" | ||||
| #------------------------------------------------------------------ | ||||
| # Boot Flash | ||||
| monitor long 0x40000210 = 0x211157 | ||||
| # Reset | ||||
| monitor reset | ||||
| monitor go | ||||
| quit | ||||
|  |  | |||
|  | @ -1,37 +1,11 @@ | |||
| # | ||||
| # J-LINK GDB SERVER initialization | ||||
| # | ||||
| target remote localhost:2331 | ||||
| set remotetimeout 10000 | ||||
| monitor device Cortex-M3 | ||||
| monitor endian little | ||||
| monitor reset | ||||
| # Set max speed | ||||
| monitor speed 4000 | ||||
| #set mem inaccessible-by-default on | ||||
| # Setup GDB FOR FASTER DOWNLOADS | ||||
| set remote memory-write-packet-size 8192 | ||||
| set remote memory-write-packet-size fixed | ||||
| # Boot Flash | ||||
| #monitor long 0x40000210 = 0x211157 | ||||
| # Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )  | ||||
| #monitor long 0x40000210 = 0x80011117 | ||||
| # Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )  | ||||
| #monitor long 0x40000210 = 0x20011117 | ||||
| # Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 ) | ||||
| monitor long 0x40000210 = 0x10011117 | ||||
| # Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 ) | ||||
| #monitor long 0x40000210 = 0x8011117 | ||||
| # Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 ) | ||||
| monitor long 0x40000210 = 0x4011117 | ||||
| # CPU CLK 166 MHz? | ||||
| #monitor long 0x40000014 = 0x00000011  | ||||
| # CPU CLK 83 MHz? | ||||
| #monitor long 0x40000014 = 0x00000021  | ||||
| # Load the program executable called "image.elf" | ||||
| source -v flasher/gdb_flasher.jlink | ||||
| InitJlink | ||||
| load build/obj/build.axf | ||||
| SetBootCall4 | ||||
| monitor reset | ||||
| #continue | ||||
| monitor go | ||||
| quit | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										160
									
								
								flasher/gdb_wrflash.jlink
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								flasher/gdb_wrflash.jlink
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,160 @@ | |||
| ############### | ||||
| # FlasherInit # | ||||
| ############### | ||||
| define FlasherInit | ||||
| set $rtl8710_flasher_capacity = 0 | ||||
| set $rtl8710_flasher_auto_erase = 1 | ||||
| set $rtl8710_flasher_auto_verify = 1 | ||||
| set $rtl8710_flasher_firmware_ptr = 0x10001000 | ||||
| set $rtl8710_flasher_buffer = 0x10008000 | ||||
| #262144 | ||||
| set $rtl8710_flasher_buffer_size = 425984 | ||||
| set $rtl8710_flasher_sector_size = 4096 | ||||
| set $rtl8710_flasher_auto_erase_sector = 0xFFFFFFFF | ||||
| end | ||||
| ############### | ||||
| # FlasherWait # | ||||
| ############### | ||||
| define FlasherWait | ||||
| set $fresult = {int}($rtl8710_flasher_buffer) | ||||
| while ($fresult != 0) | ||||
| set $fresult = {int}($rtl8710_flasher_buffer) | ||||
| end | ||||
| end | ||||
| ############### | ||||
| # FlasherLoad # | ||||
| ############### | ||||
| define FlasherLoad | ||||
| if $rtl8710_flasher_capacity == 0 | ||||
|  printf "initializing RTL8710 flasher\n" | ||||
|  restore $arg0 binary $rtl8710_flasher_firmware_ptr 0 968 | ||||
|  monitor reset | ||||
|  set $pc = $rtl8710_flasher_firmware_ptr | ||||
|  set $sp = 0x1ffffffc | ||||
|  set {int}($rtl8710_flasher_buffer + 0x08) = 0 | ||||
|  set {int}($rtl8710_flasher_buffer + 0x00) = 1 | ||||
|  #continue | ||||
|  monitor go | ||||
|  FlasherWait | ||||
|  set $id = {int}($rtl8710_flasher_buffer + 0x0C) | ||||
|  if ($id == 0x1420c2)  | ||||
|   set $rtl8710_flasher_capacity = 1 << (($id >> 16) & 0x0ff) | ||||
|   printf "Flash ID = 0x%08x : MX25L8006E (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10 | ||||
|  else  | ||||
|   set $rtl8710_flasher_capacity = 1024*1024) | ||||
|   error "Flash ID = 0x%08x : ?\n", $id | ||||
|  end | ||||
|  printf "RTL8710 flasher initialized\n" | ||||
| else | ||||
| printf "reinitializing RTL8710 flasher\n" | ||||
| end | ||||
| end | ||||
| ################## | ||||
| # FlasherWrBlock # | ||||
| ################## | ||||
| define FlasherWrBlock | ||||
| #printf "FlashWrBlock 0x%08x, 0x%08x\n", $arg0, $arg1  | ||||
| set {int}($rtl8710_flasher_buffer + 0x04) = 4 | ||||
| set {int}($rtl8710_flasher_buffer + 0x08) = 0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x10) = $arg0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x14) = $arg1 | ||||
| set {int}($rtl8710_flasher_buffer + 0x00) = 1 | ||||
| FlasherWait | ||||
| set $status = {int}($rtl8710_flasher_buffer + 0x08) | ||||
| if $status > 0 | ||||
|  error "write error, offset 0x%08x", $arg0 | ||||
| end | ||||
| end | ||||
| ################## | ||||
| # FlasherVrBlock # | ||||
| ################## | ||||
| define FlasherVrBlock | ||||
| #printf "FlashVrBlock 0x%08x, 0x%08x\n", $arg0, $arg1  | ||||
| set {int}($rtl8710_flasher_buffer + 0x04) = 5 | ||||
| set {int}($rtl8710_flasher_buffer + 0x08) = 0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x10) = $arg0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x14) = $arg1 | ||||
| set {int}($rtl8710_flasher_buffer + 0x00) = 1 | ||||
| FlasherWait | ||||
| set $status = {int}($rtl8710_flasher_buffer + 0x08) | ||||
| if $status > 0 | ||||
|  set $status = {int}($rtl8710_flasher_buffer + 0x0C) | ||||
|  set $status = {int}($status + $arg0) | ||||
|  error "verify error, offset 0x%08x", $status | ||||
| end | ||||
| end | ||||
| ################# | ||||
| # FlashSecErase # | ||||
| ################# | ||||
| define FlashSecErase | ||||
| #printf "FlashSecErase 0x%08x, 0x%08x\n", $rtl8710_flasher_buffer, $arg0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x04) = 2 | ||||
| set {int}($rtl8710_flasher_buffer + 0x08) = 0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x10) = $arg0 | ||||
| set {int}($rtl8710_flasher_buffer + 0x00) = 1 | ||||
| FlasherWait | ||||
| end | ||||
| ################ | ||||
| # FlasherWrite # | ||||
| ################ | ||||
| define FlasherWrite | ||||
| set $sector = 0 | ||||
| set $offset = 0 | ||||
| set $size = $arg2 | ||||
| while $offset < $size | ||||
|  set $len = $size - $offset | ||||
|  if $len > $rtl8710_flasher_buffer_size | ||||
|   set $len = $rtl8710_flasher_buffer_size | ||||
|  end | ||||
|  set $flash_offset = $arg1 + $offset | ||||
|  printf "write offset 0x%08x\n", $flash_offset | ||||
|  set $parms1 = $rtl8710_flasher_buffer + 0x20 - $offset - $arg1 | ||||
|  set $parms2 = $offset + $arg1 | ||||
|  set $parms3 = $offset + $len + $arg1 | ||||
|  restore $arg0 binary $parms1 $parms2 $parms3 | ||||
|  if $rtl8710_flasher_auto_erase != 0 | ||||
|   set $count_i = $flash_offset | ||||
|   while $count_i < ($flash_offset + $len) | ||||
|    set $sector = $count_i/$rtl8710_flasher_sector_size | ||||
|    if $rtl8710_flasher_auto_erase_sector != $sector | ||||
| 	set $parms1 = $sector * $rtl8710_flasher_sector_size | ||||
|     printf "erase sector %d at 0x%08x\n", $sector, $parms1  | ||||
|     FlashSecErase $parms1 | ||||
|     set $rtl8710_flasher_auto_erase_sector = $sector | ||||
|    end | ||||
|    set $count_i = $count_i + 1 | ||||
|   end | ||||
|  end | ||||
|  FlasherWrBlock $flash_offset $len | ||||
|  printf "wrote %d bytes at 0x%08x\n", $len, $flash_offset | ||||
|  if $rtl8710_flasher_auto_verify != 0 | ||||
|   printf "verify offset 0x%08x len %d\n", $flash_offset, $len | ||||
|   FlasherVrBlock $flash_offset $len | ||||
|  end | ||||
|  set $offset = $offset + $rtl8710_flasher_buffer_size | ||||
| end | ||||
| end | ||||
| ######################################### | ||||
| source -v flasher/gdb_flasher.jlink | ||||
| InitJlink | ||||
| SystemInit | ||||
| SetClk166MHz | ||||
| SPI_Init | ||||
| FlashImagesInfo | ||||
| SetFirwareSize build/bin/ram_all.bin | ||||
| if $FirmwareSize == 0 | ||||
|  error "FirmwareSize = 0!" | ||||
| end | ||||
| FlasherInit | ||||
| FlasherLoad flasher/rtl8710_flasher.bin | ||||
| if $Image1Size != 0 | ||||
|  printf "Write Image1 size %d to Flash addr 0x00000000:\n", $Image1Size | ||||
|  FlasherWrite build/bin/ram_all.bin 0 $Image1Size | ||||
|  if $Image2Size != 0 && $Image2Addr >= $Image1Size  | ||||
|   printf "Write Image2 size %d to Flash addr 0x%08x:\n", $Image2Size, $Image2Addr | ||||
|   FlasherWrite build/bin/ram_all.bin $Image2Addr $Image2Size | ||||
|  end | ||||
| end | ||||
| FlashImagesInfo | ||||
| quit | ||||
| 
 | ||||
							
								
								
									
										
											BIN
										
									
								
								flasher/rtl8710_flasher.bin
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								flasher/rtl8710_flasher.bin
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue