Android转WP7教程:安全刷机步骤详解

需积分: 9 0 下载量 193 浏览量 更新于2024-09-13 收藏 225KB DOC 举报
本文档主要介绍了如何将ZTE N880E Android手机刷入Windows Phone (WP) 7系统的过程,这是一个非常特殊的改造步骤,因为通常Android设备无法直接刷入WP8系统。以下是详细的步骤: 1. 准备工作: - 手机设备:ZTE N880E是必备的硬件,确保其稳定性和兼容性。 - 软件工具:包括eMMC SoftwareDownload用于下载和eMMC参数bkandrst.exe用于备份和恢复设备参数。 - 版本要求:需要确保手机当前运行的是Android 2.3版本,如需降级,需从官方获取降级包,避免直接使用过渡版本导致硬件损坏。 - SD卡:用于存储升级包和WP软件。 2. 备份参数: - 在刷机前,务必对手机参数进行备份,防止数据丢失。通过FTM界面(Fast Track Mode)连接到电脑,运行FTMBackup.exe进行备份。 3. 升级至过渡版本: - 将现有Android系统升级至过渡版本,通常通过SD卡上的update.zip文件完成。 - 设备会自动重启并显示更新状态,更新后即处于过渡状态。 4. 下载WP软件版本: - 安装WP 7驱动程序,进入下载模式,这通常涉及长按电源键和音量键的组合。 - 使用QPST(Qualcomm Phone Software Toolkit)工具下载WP软件版本,确保正确选择RAW程序0和PATCH0。 - 下载成功后,会看到"complete"提示。 5. 恢复参数: - 重新插入USB并进入所谓的"烟囱模式"(Chimney Mode),这是一种特殊模式用于恢复参数。 - 使用参数bkandrst.exe工具,按照提示恢复NV(Non-Volatile Memory)存储,然后重新开机,进入新的WP 7系统。 这个过程需要用户有一定的技术基础,尤其是对设备的底层操作和文件管理有一定了解。刷机过程存在风险,操作不当可能导致设备无法恢复,因此在尝试前应确保充分理解并谨慎操作。此外,由于WP7的市场已经逐渐萎缩,可能需要寻找专门针对此型号和系统的刷机包,并可能需要联系专业人员指导。

帮我把下面一段C++代码改写成python代码:#include "Trade.h" #include "WPrice.h" #include <algorithm> double normalCDF(double x) // Phi(-∞, x) aka N(x) { return std::erfc(-x / std::sqrt(2)) / 2; //erfc()是互补误差函数,该返回值表示标准正态分布下var小于x的概率,即N(x) } CTrade::CTrade(double tick) : wp_bid(0.01), wp_ask(0.01), m_tick(tick), m_TimeRound(50) { newday(NULL); } CTrade::~CTrade() { } void CTrade::OnBook(const BTRec& btRec) { wp.setGamma(0.1); wp_bid = wp.getWP(&btRec.Bids); wp_ask = wp.getWP(&btRec.Asks); if (wp_mid > 0){ //wp_mid初始化为-1,仅遇到第一条BTRec记录时条件为false double wp_now = (wp_bid + wp_ask) / 2; //updated wp_mid int volume = btRec.volume; //volume between two orderbook records double ratio = normalCDF((wp_now - wp_mid) / (2 * m_tick)); //m_tick = tick = 0.2 double buyvolume = ratio*volume, sellvolume = (1 - ratio)*volume; m_TimeRound.update(buyvolume, sellvolume, btRec.rec_time.timestamp); //volume moving average if (mv_volume < 0) { mv_volume = volume; mv_buyvolume = buyvolume; } else{ mv_volume += 0.002*(volume - mv_volume); mv_buyvolume += 0.002*(buyvolume - mv_buyvolume); } // round trip volatility if (time_ini < 0 || btRec.rec_time.timestamp - time_ini >= time_scale){ if (time_ini>0){ double dp = wp_now - wp_ini; volatility += 0.05*(dp*dp - volatility); } time_scale = m_TimeRound.getTime() * 1000; //in milliseconds time_ini = btRec.rec_time.timestamp; wp_ini = wp_now; } } wp_mid = (wp_bid + wp_ask) / 2; } void CTrade::newday(const char* p) { wp_mid = -1; m_TimeRound.newday(p); volatility = 16 * m_tick*m_tick; time_slapse = -1, time_scale = -1, wp_ini = -1, time_ini = -1; mv_buyvolume = mv_volume = -1; }

2023-05-15 上传