怎样在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 个字符

时间: 2024-11-05 08:41:47

怎样在fastboot 里面加入新的命令的相关文章

如何在fastboot 里面添加新的命令

fastboot 是android 默认的一种debug 方法,它的好处是在进入linux kernel 之前即可操作. 默认fastboot 支持的命令: usage: fastboot [ <option> ] <command> commands: update <filename>                                  reflash device from update.zip flashall                   

vim创建新的命令

转自:http://man.chinaunix.net/newsoft/vi/doc/usr_5F40.html#usr_40.txt *40.1* 键映射 简单的映射已经在 |05.3| 介绍过了.基本的概念是将一系列的键输入转换成为另外 一个键输入序列.这是一个很简单,但是很有效的机制. 最简单的形式是将一个键输入序列映射到一个键上.由于那些除了 <F1> 外的功能键 都没有预先定义的功能,选择它们作为映射对象是很有效的.例如: :map <F2> GoDate: <Es

Vue Create 创建一个新项目 命令行创建和视图创建

开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0.0-rc.11 >>:vue create yanxiatingyu :xxxxx一段英文 >>:y >>:cd yanxiatingyu >>:npm run serve 浏览器输入:http://localhost:8080/ 假如浏览器能够打开,没有出现页面 可能你的端口被占用了. C:\Users\ruby&g

更新文件时间戳或创建新文件命令

更新文件时间戳或创建新文件 touch 文件有三个主要变动时间: modification time (mtime): 当文件内容数据被改变时,更新时间 status time (ctime): 当文件权限和属性被改变时,更新时间 access time (atime): 当文件被访问时,更新时间 touch [-acdmt] 文件 参数: -a: 仅修改访问时间 -c: 仅修改文件的时间,若该文件不存在则不创建新文件 -d: --date=日期和时间 指定要设定的修改日期时间 -m: 仅修改m

Android在Fastboot里添加命令

fastboot 是android 默认的一种debug 方法,它的好处是在进入linux kernel 之前 即可操作. 默认fastboot 支持的命令: <span style="font-size:14px;">usage: fastboot [ <option> ] <command> commands: update <filename> reflash device from update.zip flashall flas

Android手机fastboot刷机命令

先进入fastboot文件所在目录 连接硬件命令 fastboot devices 删除recover.boot,system同理 Fastboot erase recovery 重刷,boot,system同理 Fastboot flash recovery cn170.img 只需将boot.img和system.img刷入系统即可完成系统的刷新 恶补: FASTBOOT命令有 加载驱动 | fastboot devices | [这句意思估计是 加载fastboot驱动] 擦除 | fas

由Android的fastboot no permissions而引出的Linux特殊权限管理之:SUID、SGID、SBIT

前言 之所以会说到这几个特殊权限,是因为fastboot这个命令好像有点抽风,给人的感觉就是有时能用有时不能用,执行fastboot devices的错误提示: no permissions 为了找到问题的原因,就思考了一下. 这种问题一般主要发生在以下2种场景下: 1.复制并使用了新的fastboot可执行文件 2.改变了fastboot可执行文件的环境变量 为什么以上2种场景会产生这样的错误? which fastboot ll fastboot 执行这两条命令之后就可见端倪,原来由于复制或

【游戏设计模式】之二 实现撤消重做、回放系统的神器:命令模式

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/52663057 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 这篇文章将与大家一起探索游戏开发中命令模式的用法. 命令模式的成名应用是实现诸如撤消,重做,回放,时间倒流之类的功能.如果你想知道<Dota2>中的观战系统.<魔兽争霸3>中的录像系统.<守望先锋>

【推广】实用命令——tldr

碎碎念 如题,通常遇到一个新的命令需要查询其帮助的时候,一般使用`command -h`或者`man command`来查询,但是,有时候仅仅想知道这个命令怎么用,并不想知道具体含义啊(这个命令可能不常用,没有必要仔细阅读手册),于是,`tldr`出现了.而且,巨长无比的文档看起来就头疼. 安装 安装`tldr`之前,得先安装好`node.js`,然后使用命令 npm install tldr -g 使用 tldr command 就好了,第一次使用,需要联网下载一些数据,等一下就好了. 展示