广岛秋泽 2016-03-23 902浏览量
开头:
注意:本文章并不是做GSM 嗅探必须的,平时我们刷机叫软刷是刷到内存里面的,断电就消失了,这个是硬刷,刷到flash里面的,断电不消失,开机就运行的。
本文章经过作者实测可行,这只是单个应用程序,官方还有多个应用程序菜单
这篇教程解释了怎样把应用程序刷到C118手机里面。你一定要仔细的阅读每一个细节,否则你的手机可能会变砖。即使你遵循本教程,您可能也会变砖,如果你遇到电缆问题,弱电池或软件故障,目前firmare还不支持电池充电功能。
总共需要三部分:
内存布局:
osmocom flash 布局:
注意:C118 bootloader和OSMOCOM loader将位于同一flash页面!
准备工作
解锁 Osmocom loader 的flash write:
$ cd src/target/firmware/
$ edit Makefile
开启下面的编译选项:
CFLAGS += -DCONFIG_FLASH_WRITE
CFLAGS += -DCONFIG_FLASH_WRITE_LOADER
更改loader
diff --git a/src/target/firmware/apps/loader/main.c b/src/target/firmware/apps/loader/main.c index 2ff6f9c..e488c98 100644 --- a/src/target/firmware/apps/loader/main.c +++ b/src/target/firmware/apps/loader/main.c @@ -438,6 +438,9 @@ static void key_handler(enum key_codes code, enum key_states state) puts("Resetting due to keypress.\n"); device_reset(); break; + case KEY_MENU: + device_jump((void *)0x10000); + break; default: break; }
编译
make
安装
引导手机到downloading 到RAM
$ cd src
$ host/osmocon/osmocon -p /dev/ttyUSB0 -m c123xor target/firmware/board/compal_e88/loader.compalram.bin
你将看到类似以下输出:
Received PROMPT1 from phone, responding with CMD read_file(target/firmware/board/compal_e88/loader.compalram.bin): file_size=18436, hdr_len=4, dnload_len=18443 Received PROMPT2 from phone, starting download handle_write(): 4096 bytes (4096/18443) handle_write(): 4096 bytes (8192/18443) handle_write(): 4096 bytes (12288/18443) handle_write(): 4096 bytes (16384/18443) handle_write(): 2059 bytes (18443/18443) handle_write(): finished Received DOWNLOAD ACK from phone, your code is running now! Received DOWNLOAD ACK from phone, your code is running now! OSMOCOM Loader (revision osmocon_v0.0.0-1322-g43c588b-modified) ====================================================================== Running on compal_e88 in environment compalram Found flash of 2097152 bytes at 0x0 with 2 regions
现在打开另一个终端
装载loader
备份loader
$ cd src $ host/osmocon/osmoload memdump 0x000000 0x2000 compal_loader.bin
测试flash:
首先我们将loader装载到错误的位置,如果失败,我们仍然还有原来的loader, 这样不会把手机搞成砖.
$ host/osmocon/osmoload funlock 0x010000 0x10000 $ host/osmocon/osmoload ferase 0x010000 0x10000 $ host/osmocon/osmoload fprogram 0 0x010000 compal_loader.bin $ host/osmocon/osmoload fprogram 0 0x012000 target/firmware/board/compal_e88/loader.e88loader.bin
如果上面没有出现错误之类的,下面我们就开始动真格的了
$ host/osmocon/osmoload funlock 0x000000 0x10000 $ host/osmocon/osmoload ferase 0x000000 0x10000 $ host/osmocon/osmoload fprogram 0 0x000000 compal_loader.bin $ host/osmocon/osmoload fprogram 0 0x002000 target/firmware/board/compal_e88/loader.e88loader.bin
装载应用程序
注意:在你把应用程序刷到手机里面你是要看一下你刷的应用程序的大小的,有多少你就清空多大的flash空间,我这里清空了64KB
$ host/osmocon/osmoload funlock 0x010000 0x20000 $ host/osmocon/osmoload ferase 0x010000 0x20000 $ host/osmocon/osmoload fprogram 0 0x010000 target/firmware/board/compal_e88/layer1.e88flash.bin
测试
如何使用:
让手机处于关于状态,连接后各个模块及线路,确保能误别出来,模块CP2102,如图所示:
cd src
host/osmocon/osmocon -p /dev/ttyUSB0
然后开机,出现蓝色空白屏幕,接着按菜单键,就是那个圆点,出现如下图所示表示成功
关于后面的步骤,就是其它的文章操作,一样了,就不多讲了.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
集结各类场景实战经验,助你开发运维畅行无忧