开头:

注意:本文章并不是做GSM 嗅探必须的,平时我们刷机叫软刷是刷到内存里面的,断电就消失了,这个是硬刷,刷到flash里面的,断电不消失,开机就运行的。

本文章经过作者实测可行,这只是单个应用程序,官方还有多个应用程序菜单

这篇教程解释了怎样把应用程序刷到C118手机里面。你一定要仔细的阅读每一个细节,否则你的手机可能会变砖。即使你遵循本教程,您可能也会变砖,如果你遇到电缆问题,弱电池或软件故障,目前firmare还不支持电池充电功能。

总共需要三部分:

  1. 原bootloader,第一次刷我就把这个清空了,直接成砖了
  2. osmocom loader,这个是osmocom的loader
  3. 应用程序,这个可以是rssi,layer1 如果没有bootloader,手机就成砖了

内存布局:

  • 0x000000-0x00ffff: Flash page 0
  • 0x010000-0x01ffff: Flash page 1
  • … more Flash pages …
  • 0x800000-0x83ffff: Ram

osmocom flash 布局:

  • 0x000000-0x001fff: Compal loader
  • 0x002000-0x00ffff: OSMOCOM loader
  • 0x010000-……..: OSMOCOM application and storage

注意: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

测试

  1. 关闭手机
  2. 断开串口线
  3. 打开手机,你会看见一个空白的蓝色屏幕,这时你可不要以为手机成砖了,我第一次以后我手机又牺牲了,吓死人了.
  4. 按 Menu 按钮,开始应用程序,这时就出现了.关于Menu按钮,其实就是左右上面键中间的那个圆的.

如何使用:

让手机处于关于状态,连接后各个模块及线路,确保能误别出来,模块CP2102,如图所示:

cd src
host/osmocon/osmocon -p /dev/ttyUSB0

然后开机,出现蓝色空白屏幕,接着按菜单键,就是那个圆点,出现如下图所示表示成功

关于后面的步骤,就是其它的文章操作,一样了,就不多讲了.

本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/5310892.html  ,如需转载请自行联系原作者

刷固件Layer1到手机FLASH(硬刷)相关推荐

  1. 小米线刷包需要解压么_【连载】刷机教程之小米手机通用线刷教程

    看点:iPhone X原装屏与国产屏有哪些区别? 看点:换7P.8P屏幕:C11和DTP和DKH的区别 狮淘:维修师专属工具集合店,不锈钢拆机片5个只需9.9元!包邮 山猫潮品:工厂直供,正品行货,华 ...

  2. 【小米路由器3】breed刷机救砖-nand flash硬改SPI flash-编程器救砖(解决ttl无法救砖问题)

    大家好,我是老子姓李!(gzh:楠瘦) 本博文带来[小米路由器3]变砖,ttl无法救砖,硬改焊接一块SPI flash,使用编程器刷入小米路由器mini的breed最终成功救砖. 目录 1.引言 1. ...

  3. 三星S7572线刷固件、刷入三方recovery、获取root权限

    准备工具 S7572官方线刷固件S7572CAM 三星手机刷机工具odin3 三星手机USB驱动 S7572第三方Recovery SuperSU1.94卡刷包 线刷固件 1.安装三星手机USB驱动 ...

  4. 小米8 android 9.0 rom,小米手机安卓8.0安卓9.0 root卡刷教材安卓手机解密手机内存卡刷教程...

    小米手机安卓8.0安卓9.0 root卡刷教材安卓手机解密手机内存卡刷教程 步骤一 准备 Recovery 工具 提示: ①.安装第三方REC(电脑操作)如已安装可跳过 ②.如无法判断自己是否已安装第 ...

  5. XiaoMi手机MIX 2S线刷固件和刷入Recovery、Root

    mix 2s 固件下载地址 https://web.vip.miui.com/page/info/mio/mio/detail?postId=4865868&app_version=dev.2 ...

  6. EPS8266刷固件,清除Flash

    关于使用Arduino给8266烧录程序后,8266无法使用AT指令,刷固件教程 由于之前使用8266的时候,用过Arduino烧录过程序,导致无法使用AT指令集,本文将带给大家最详细的清除Flash ...

  7. 小米手机刷android one,小米手机(Mi One)刷机教程详解完整版 (刷MIUI官方刷机包)...

    升级方法一:MIUI在线完整包升级 MIUI完整包升级不需要清除数据,降级需要清除数据. MIUI在线完整包升级推荐在WLAN或3G环境下进行,点击小米手机桌面上系统更新程序. 登陆你的小米帐户,米聊 ...

  8. lumia535 刷Android,附教程:看看你的Lumia手机能不能刷安卓!

    原标题:附教程:看看你的Lumia手机能不能刷安卓! 感谢IT之家读者 王浩哲提供线索 感谢XDA论坛上的开发者为Android for Lumia开发工具和ROM. 开篇的话就不多写了,这次我们直入 ...

  9. android手机刷ios6,2017安卓手机刷机方法

    刷机可以全面清理手机内部软件系统,可以不受限制的在各版本中互刷,无需改CODE,也可实现降级.以下是学习啦小编为你精心整理的2017安卓手机刷机方法,希望你喜欢. 2017安卓手机刷机方法 1.在re ...

最新文章

  1. 清华大学人工智能研究院自然语言处理与社会人文计算研究中心成立,重磅推出两场前沿学术报告和三项特色开源成果...
  2. 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem D. Grumpy Cat 交互题
  3. PHP导出MySQL数据字典
  4. attribute java c_属性别名(Attribute Aliasing)
  5. js打乱数组的顺序_如何用 js 实现一个类似微信红包的随机算法
  6. javascript基础系列:javascript中的变量和数据类型(一)
  7. 同事:你居然还在用 try catch 处理异常? 有点Low啊
  8. 计算机拓展名cad,CAD用到的各种文件格式有哪些
  9. 免费网站源码 织梦模板下载
  10. Suse12网络设置
  11. [BZOJ3772]精神污染(主席树)
  12. 详解Linux运维工程师必备技能
  13. ssm毕设项目小型超市货物仓储管理系统w8wry(java+VUE+Mybatis+Maven+Mysql+sprnig)
  14. React Native布局实践:开发京东客户端首页(四)——首页功能按钮及控件封装
  15. 最近抖音火爆特效蚂蚁呀嘿制作教程。
  16. 我爱赚钱吧:你也可以通过建网站赚钱的④
  17. svn怎么执行清理命令_C盘又见红了?一个C盘清理强迫症教你真正有效的解决方法!...
  18. Python解释器和IDE的安装
  19. QML实现的支持动图的编辑器(比之前要好)
  20. Lanczos方法计算严格对角化格林函数

热门文章

  1. 限招2019应届计算机毕业生,2019年计算机专业应届毕业生自我鉴定
  2. vorwerk 机器人_福维克(Vorwerk)--吸尘器行业的quot;安利quot;
  3. git指定版本openwrt源码_[OpenWrt Wiki] LEDE源代码
  4. halcon算子盘点:Chapter 13:对象、Chapter 14 区域
  5. vuejs和php的区别,VueJS全面解析
  6. 【TypeScript】探索 var 和 let 关键字之间的差异
  7. 2021-01-07 matlab数值分析 线性代数的直接接法  追赶法
  8. fluent计算进出口的流量差
  9. git 推送本地分支到远程分支 git push origin
  10. E数据结构实验之查找五:平方之哈希表