|
本帖最后由 杜比 于 2024-12-18 00:27 编辑
烧写固件的主要过程:
- cpu0 -program_cachelock pmon_bin/gzrom-dtb.bin
- #program_cachelock pmon_bin/gzrom-dtb.bin
- #spi_memen
- #letl en 1
- #expr 0x8000000016010000+0x4
- #d1q 0x8000000016010004 1
- #letl o 0x47
- #do if 1
- #expr 0x8000000016010000+0x4
- #expr 0x47|1
- #m1 0x8000000016010004 0x47
- #loop_break
- #ret
- #letl file pmon_bin/gzrom-dtb.bin
- #echo_on
- #stop
- #setconfig usb_ejtag.put_speed 0x400
- #setconfig callbin.stacksize 0x1000
- #setconfig helpaddr 0x900000001c000000
- #setconfig put.pack_size 0x10000
- #call cache_init_and_lock
- #call cache_init
- #setconfig core.nocache 0
- #setconfig cacheflush.nohelp_size 0x1000000
- #set csr0 0xb0
- #set csr180 0x800000000000000f
- #set csr181 0x900000000000001f
- #setconfig core.nocache 1
- #ret
- #call fixup_window
- #d4q 0x8000000016000100 1
- #expr 0x10f20020|0x20
- #m4 0x8000000016000100 0x10f20020
- #m8 0x8000000016000090 0x000000001c0000f2 0x000000001c0000f2
- #ret
- #call cache_lock
- #m8 0x8000000016000200 0x800000001c000000
- #m8 0x8000000016000240 0xfffffffffffc0000
- #ret
- #smemset8 0x900000001c000000 0 0x800
- #setconfig helpaddr 0x900000001c000000
- #setconfig callbin.stacksize 0x1000
- #test cache_init_and_lock == cache_init_and_lock
- #do if 1
- #expr 0x40000-0x800
- #memset8 0x900000001c000800 0 0x3f800
- #end
- #ret
- #setconfig core.nocache 1
- #test program_cachelock == sprogram_cachelock_spi
- #if 0 letl s 's'
- #test program_cachelock == fprogram_cachelock_spi
- #if 0 letl s 'f'
- #save
- ##setconfig flash.type byte
- #setconfig flash.type page
- #setconfig spi.inited 0
- #spi_memen 0
- #letl en 0
- #expr 0x8000000016010000+0x4
- #d1q 0x8000000016010004 1
- #letl o 0x47
- #do if 0
- #expr 0x8000000016010000+0x4
- #expr 0x47&~1
- #m1 0x8000000016010004 0x46
- #end
- #ret
- #call spi_init 4
- #letl d 4
- #expr 0x8000000016010000+0x1
- #m1 0x8000000016010001 0xc0
- #expr 0x8000000016010000+0x4
- #expr 4<<4
- #m1 0x8000000016010004 0x40
- #expr 0x8000000016010000+0x3
- #expr (0x5&~3)|((4>>2)&3)
- #m1 0x8000000016010003 0x5
- #expr 0x8000000016010000+0x6
- #m1 0x8000000016010006 0x1
- #expr 0x8000000016010000+0x0
- #expr (0x51&~3)|(4&3)
- #m1 0x8000000016010000 0x50
- #m4 0xdb000000000fff00 0x8000000016010000
- #setconfig spi.inited 1
- #ret
- #erase
- ## 绿灯开始闪烁
- #test -s pmon_bin/gzrom-dtb.bin
- #letl len 1044980
- #letl once 0x20000
- #letl i 0
- #expr 0<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0 131072
- 0x0000000000000000 (0)
- 0x0000000000010000 (65536)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0+0x20000
- #letl i 0x20000
- #expr 0x20000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0x20000
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0x20000 131072
- 0x0000000000020000 (131072)
- 0x0000000000030000 (196608)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0x20000+0x20000
- #letl i 0x40000
- #expr 0x40000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0x40000
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0x40000 131072
- 0x0000000000040000 (262144)
- 0x0000000000050000 (327680)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0x40000+0x20000
- #letl i 0x60000
- #expr 0x60000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0x60000
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0x60000 131072
- 0x0000000000060000 (393216)
- 0x0000000000070000 (458752)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0x60000+0x20000
- #letl i 0x80000
- #expr 0x80000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0x80000
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0x80000 131072
- 0x0000000000080000 (524288)
- 0x0000000000090000 (589824)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0x80000+0x20000
- #letl i 0xa0000
- #expr 0xa0000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0xa0000
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0xa0000 131072
- 0x00000000000a0000 (655360)
- 0x00000000000b0000 (720896)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0xa0000+0x20000
- #letl i 0xc0000
- #expr 0xc0000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0xc0000
- pack: 1,time : 6, download_size : 0x20000, download rate=21845 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0xc0000 131072
- 0x00000000000c0000 (786432)
- 0x00000000000d0000 (851968)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0xc0000+0x20000
- #letl i 0xe0000
- #expr 0xe0000<1044980
- #do while 0x1
- #put pmon_bin/gzrom-dtb.bin 0x900000001c010000 0x20000 0xe0000
- pack: 1,time : 6, download_size : 0x1f1f4, download rate=21246 B/S
- ##setconfig log.disas 1
- ##log /tmp/log-$i.txt
- #test program_cachelock == program_cachelock_bin
- #do if 0
- #Sprogram 0x900000001c010000 0xe0000 127476
- 0x00000000000e0000 (917504)
- 0x00000000000f0000 (983040)
- #end
- ##letl s s
- ##setconfig log.disas 0
- ##log
- #end
- #expr 0xe0000+0x20000
- #letl i 0x100000
- #expr 0x100000<1044980
- #do while 0x0
- #setconfig helpaddr 0x900000000000f000
- #setconfig put.pack_size 0x100000
- #ret
- cpu0 -
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|