想都不用想,肯定你代码有问题。
# -*- coding: utf-8 -*-__author__ = 'lpe234'
__date__ = '2014-12-28'
def foo(list, num):
if num == 1:
list.append(0)
elif num == 2:
foo(list, 1)
list.append(1)
elif num > 2:
foo(list, num - 1)
list.append(list[-1]+list[-2])
mylist = []
foo(mylist, 10)
print mylist
输出:
C:\Python27\python.exe D:/mstore_apns/test/d.py[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Process finished with exit code 0
高通平台modem部分mbn文件的OTA和PDC升级方法
最近需要采用一种移动物联网卡,发现在apns-conf.xml增加了对应apn信息后,部分设备采用新的xml就可以支持新卡,但部分设备还不行,同一个系统,不行的设备,我先插入张移动
1.OTA方式
比如China_CMCC_Commercial_Volte_OpenMkt_mcfg_sw.mbn文件位于/system/etc/xxxmbn/目录下,就只需要把mbn文件放在升级包的/system/etc/xxxmbn/目录下即可。
升级的方式,不能降级(比如Version版本0x05012016不能降级为0x05012014),这是高通的策略,感觉这个限制不是很合理,不知道为什么?知道的朋友麻烦告知一声缘由。
2.使用PDC工具加载和激活
PDC工具之前为QPSTsoftware download的子功能,现在作为一个单独的app包含在QPST中。
Device下拉目录中的网卡,出现各运营商的mbn
下面已电信卡为例操作
2.1 去激活和移除mbn
(1) 去激活mbn
去激活后Sub0的状态由Active变为Inactive。
(2) 移除mbn
2.2 加载、选择和激活mbn
(1) 加载mbn
(2) 选择mbn配置
选择后Sub0的状态有Inactive变为Pending
(3) 激活mbn
激活后,Sub0的状态有Pending变为Active,然后需要重启。
加载和激活是否成功,看Subx和Version的信息
3.modemst1、modemst2、fsg和mbn的关系
modemst1/modemst2/fsg这三个分区主要用于存放高通QCN,QCN简单的理解为和modem关系很大的一些参数。
adb reboot bootloader
fastboot erase modemst1
fastboot erase modemst2
我删除OpenMkt-Commerical-CT后,重启系统会重新生成,我重新删除后,擦除这两个分区后重启,我观察了OpenMkt-Commerical-CT的Version由之前的0x0501131D变为0x0501131F,说明系统modem部分默认带有这个版本的mbn。另外我烧录fsg
fastboot flash fsg fs_image.tar.gz.mbn.img
fastboot reboot
发现版本重新变回0x0501131D,说明fsg分区对应的EFS文件fs_image.tar.gz.mbn.img包含有mbn文件。