• 怎样在fastboot 里面加入新的命令


    fastboot 是android 默认的一种debug 方法。它的优点是在进入linux kernel 之前就可以操作。

    默认fastboot 支持的命令:
    usage: fastboot [ <option> ] <command>
    commands:
      update <filename>                                  reflash device from update.zip
      flashall                                                     flash boot + recovery + system
      flash <partition> [ <filename> ]              write a file to a flash partition
      erase <partition>                                     erase a flash partition
      format <partition>                                   format a flash partition
      getvar <variable>                                    display a bootloader variable
      boot <kernel> [ <ramdisk> ]                   download and boot kernel
      flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
      devices                                                     list all connected devices
      continue                                                    continue with autoboot
      reboot                                                       reboot device normally
      reboot-bootloader                                      reboot device into bootloader
      help                                                           show this help message
    options:
      -w                                       erase userdata and cache (and format if supported by partition type)
      -u                                        do not first erase partition before formatting
      -s <specific device>             specify device serial number or path to device port
      -l                                         with "devices", lists device paths
      -p <product>                             specify product name
      -c <cmdline>                             override kernel commandline
      -i <vendor id>                           specify a custom USB vendor id
      -b <base_addr>                         specify a custom kernel base address
      -n <page size>                           specify the nand page size. default: 2048
      -S <size>[K|M|G]                       automatically sparse files greater than size.  0 to disable
                                               
    fastboot 提供了扩展的命令符号 
    fastboot oem command args
    以下以fastboot oem hello test 来说明怎样扩展
    (1).在alps/bootable/bootloader/lk/app/mt_boot/fastboot.c 
    的fastboot_init 函数中加入一个新的register
    //第一个參数是命令的名称
    //第二个參数是命令的运行函数
    //第三个參数是在security IC 中是否还提供此命令
    fastboot_register("oem hello", cmd_oem_hello, FALSE);
     
    (2). 实现cmd_oem_hello 函数
    void cmd_oem_hello(const char *arg, void *data, unsigned size) {
        //注意args 是以command 结束開始。即" args"
        if(!strncmp(arg, " OK", strlen(" OK"))){
            fastboot_okey("OK");
        }else{
            fastboot_fail("Not OK");
        }
    }
     
    (3). 与PC 端交互
    您能够使用以下已经定义好的三个函数与PC 端交互
    fastboot_okey(const char* result);
    fastboot_fail(const char* reason);
    fastboot_info(const char* reason);                                  
    注意这三个打印字符串的长度都不能超过64-1-4 = 59 个字符
  • 相关阅读:
    Colidity-- NumberOfDiscIntersections
    Colidity--Triangle
    Colidity--CountDiv
    Colidity--MinAvgTwoSlice
    Colidity--GenomicRangeQuery
    Colidity--PassingCars
    操作系统--内存管理方式
    蓝桥杯练习系统—算法训练 P1102
    蓝桥杯练习系统—基础练习 完美的代价
    2n皇后问题
  • 原文地址:https://www.cnblogs.com/llguanli/p/6821684.html
Copyright © 2020-2023  润新知