机顶盒里的固件有个关键文件被我改名了,现在无限重启中。TTL可以输出但是不能输入,无法使用按键中断uboot,只能插入U盘运行里面的脚本文件。研究了好几天,发现很多io命令都是修改文件内容的,不知道怎么修改文件名。>>1 help 
?       - alias for 'help'
ac      - set a new config to the bootargsadd_autotest- add_autotest   - Perform autotestadd_hsl - add_hsl   - autotest with hslbase    - print or set address offset
bdinfo  - print Board Info structure
bin2nand- bin2nand usbport withsparedata?1:0 binname partition_name - read binary files and restore it to nand>> help bin2nand 
bin2nand - bin2nand usbport withsparedata?1:0 binname partition_name - read binary files and restore it to nandUsage:
bin2nand command: bin2nand usbport withsparedata?1:0 binname partition_name
bininfo - bininfo -print parameter information of each partition and environmentboot    - boot default, i.e., run 'bootcmd'
bootargs_set- Set info exchange and set to boot args. 
bootcheck- bootcheck   - Do boot checkbootd   - boot default, i.e., run 'bootcmd'
bootlogo- bootlogo   - Display Logo_Musicbootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvideo- bootvideo   - Display Logo_Videocheckfile- check file exist in u disk,and set the partition.
chpart  - change active partition
cmp     - memory compare
config2env- Set config to environment.
config_raw_io- Config the target device for raw I/O
coninfo - print console devices and information
costar  - do oad update from the specified file that is in oad partitioncp      - memory copy
crc32   - checksum calculation
custar  - do usb update from the specified file that is in usb.dbg     - set debug message level. Default level is INFO
dbtable_init- dbtable_init   - let data  is ready (logo, music, panel, ursa).dc      - delete the specific cofig that is in the bootargsdelay   - delay time, time unit is msdestroy_logo- destroy_logo - Stop logo display dhcp    - boot image via network using DHCP/TFTP protocol
dmx_init- dmx_init     - initialize the demux settingdont_overwrite- This serial apis are for protecting the specific partitions are overwrited. ex: customer
This cmd is used to register which partition should not be overwritedont_overwrite_free- This serial apis are for protecting the specific partitions are overwrited. ex: customer
This cmd is used to free all registered partitions.dont_overwrite_init- This serial apis are for protecting the specific partitions are overwrited. ex: customer
This cmd is used to init this functiondraw_jpg- blt_jpg   - Blt JPGdraw_pixel- draw_pixel - draw a pixel with color draw_progress- draw_string - draw string with color draw_rect- draw_rect - draw rect with color draw_string- draw_string - draw string with color du      - du  - Disable UARTdynpart - dynamically calculate partition table based on <mtd-def>/'dynparts' and BBT (it is better to set the last partition size to SIZE_REMAINING)
ebist   - PHY loopback test
echo    - echo args to console
editenv - edit environment variable
edump   - EMAC Register settings dump
eloopback- Long loopback test
env     - environment handling commands
epd     - emac power down
estart  - EMAC start
exit    - exit script
false   - do nothing, unsuccessfully
fatfilesize- fatfilesize - load binary file from a dos filesystemfatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatpartload- fatpartload - load binary file from a dos filesystemfatwrite- fatwrite - write binary file to a dos filesystem
>> help fatwrite 
fatwrite - fatwrite - write binary file to a dos filesystem
Usage:
fatwrite <interface> <dev[:part]>  <addr> <filename> [bytes]
    - load binary file 'filename' from 'dev' on 'interface'
      to address 'addr' from dos filesystemfilelist- Dump the file list.filelisttest- This command is only for file list testfilepartload- load part of a file to RAM
force_overwrite- This serial apis are for force write and re-create partitions.
This cmd is used to register which partition should force overwriteforce_overwrite_init- This serial apis are for force write and re-create partitions.
This cmd is used to register which partition should force overwriteget_mboot_config- get mboot config from binary coverted from mboot_config.ini
get_mmap- get memory info from supernova's mmap
go      - start application at address 'addr'
gpio    - GPIO Command:
hdmi    - hdmi  - help    - print command description/usage
if_boot_to_pm- if boot to PMiminfo  - print header information for application image
imxtract- extract a part of a multi-image
initDbgLevel- Initial varaible 'dbgLevel' 
init_raw_io- init raw_io module
itest   - return true/false on integer compare
kernelProtect- kernelProtect  - Protect kernelkernelProtectBist- kernelProtectBist  - Protect kernel bistled     - See led commands
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadspi - load data from SPI
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
m2e     - Restore the address and len to env from supernova's mmapmacaddr - setup EMAC MAC addr
mbup    - mboot upgrademd      - memory display
memtest - Get the performance of memory
mm      - memory modify (auto-incrementing address)
mscompress7- Compress or decompress lzma files
msg     - print string - msg [string]mstar   - update kernal & root file system automatically by script file
mtdparts- define flash/nand partitions
mtest   - simple RAM read/write test
mversion- show changelist - mversion mw      - memory write (fill)
nand    - NAND sub-system>>1 nand 
nand - NAND sub-systemUsage:
nand info - show available NAND devices
nand device [dev] - show or set current device
nand read - addr off|partition size
nand write - addr off|partition size
    read/write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
nand erase[.spread] [clean] off size - erase 'size' bytes from offset 'off'
    With '.spread', erase enough for given file size, otherwise,
    'size' includes skipped bad blocks.
nand erase.part [clean] partition - erase entire mtd partition'
nand erase.chip [clean] - erase entire chip'
nand bad - show bad blocks
nand dump[.oob] off - dump page
nand scrub off size | scrub.part partition | scrub.chip
    really clean NAND erasing bad blocks (UNSAFE)
nand bad off [...] -  bad block(s) at offset (UNSAFE)
nand biterr off - make a bit error at offset (UNSAFE)nand dd nand2usb/usb2nand [usb port num] - dbnandbin - nandbin usbport withsparedata?1:0 oobsize dumpC/T?1:0 bin_name partition_name - read out the contents of nand and store it to usb disknandbin2- nandbin2 - read out ubi partition and environment parameter at once and store it to usb disknandbinall- nandbinall usbport withsparedata?1:0 oobsize dumpC/T?1:0- read out the whole contents of nand and store it to usb disknandclk - nandclk - tune nand clocknandinfo- nandinfo - show nand infonboot   - nboot   - boot from NAND devicencisbl  - write cis, bootloader and uboot or only CIS for ROM boot
ncishash- write cis and hash[0-2] for Secure ROM boot
net_miu - set miu setting on software upgradenm      - memory modify (constant address)
nsbootblk- Show how many block count sboot isnuttxProtect- nuttx Protect  - Protect nuttxoad     - oad - Software Upgrade(OAD) oad_get_size- oad_get_size - Get the file size from OAD download oaddvbc - oad - Software Upgrade(OAD) osd_create- osd_create - create osd layer osd_destroy- osd_destroy - destroy osd layer osd_flush- osd_flush - flush canvas to screen ostar   - ostar   - update softwave system automatically via oadota_zip_check- do OTA zip package check.panel_init- panel_init  - init panel by panel.inipanel_post_init- backligth on  - backlight onpanel_pre_init- panel_pre_init  - init panel by panel.iniping    - send ICMP ECHO_REQUEST to network host
pm51    - pm51 command: pm51 [option]pmProtect- runtime pm Protect  - Protect runtime PMpm_power_test- PM DC on/Off power testpop_raw_io_config- pop raw_io last config
printenv- print environment variables
push_raw_io_config- push raw_io current config
raw_io_status- get raw_io status
raw_read- Read the raw datas that store in the target device
Yo have to execute 'config_raw_io' before using this cmdraw_write- Write the raw datas that store in the target deviceYo have to execute 'config_raw_io' before using this cmdrecovery_wipe_partition- do recovery wipe data or cache.refreshcis- Rewrite cis for first factory bootreset   - Perform RESET of the CPU
riu     - riu  - riu commandrsv     - rsv - Set reserved block as bad or goodrun     - run commands in an environment variable
sar     - sar Command:
saveenv - save environment variables to persistent storage
setenv  - set environment variables
showtb  - Show register command table.    -  showtb [stage]> showtb 0 
No.  CmdName    Stage
1  refreshcis  STAGE_MSINIT
2  initDbgLevel  STAGE_MSINIT
3  dbtable_init  STAGE_MSINIT
4  updatemiureg  STAGE_MSINITshowvar - print local hushshell variables
sleep   - delay execution for some time
source  - run script from memory
spi2usb - Read data from spi to usb
sync_mmap- Sync the some id's address and len to env and bootargs from supernova's mmaptest    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
tuner_demodtype- tuner_demodtype     - set frontend typetuner_init- tuner_init     - frondend initializationtuner_tune- tuner_tune     - tune RF to check lock or notubi     - ubi commands
ubi2nand- ubi2nand - read ubi partition file and restore it to nandubibin  - ubibin - read out ubi partition and store it to usb diskubifsfilesize- get file size in UBIFS volume
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
u

解决方案 »

  1.   

    1、直接用uboot中的命令修改,这种办法好像行不通
    2、把固件读取到U盘,然后在PC上修改,再刷到机顶盒里。但是不知道用什么工具修改bin文件
    >> mtdparts device nand0 <edb64M-nand>, # parts = 5
     #: name                size            offset          mask_flags
     0: MBOOT               0x00260000      0x00180000      0
     1: MBOOTBAK            0x00260000      0x003e0000      0
     2: UBILD               0x00200000      0x00640000      0
     3: UBI                 0x07600000      0x00840000      0
     4: NA                  0x001c0000      0x07e40000      0active partition: nand0,0 - (MBOOT) 0x00260000 @ 0x00180000defaults:
    mtdids  : nand0=edb64M-nand
    mtdparts: mtdparts=nand:0x40000(NPT),0x40000(KL_BP),0x500000(KL),0x7500000(UBI)