书签 分享 收藏 举报 版权申诉 / 13

一种在线编程方法及装置.pdf

  • 上传人:a***
  • 文档编号:1296657
  • 上传时间:2018-04-13
  • 格式:PDF
  • 页数:13
  • 大小:674.28KB
  • 摘要
    申请专利号:

    CN201710188205.0

    申请日:

    2017.03.27

    公开号:

    CN106886444A

    公开日:

    2017.06.23

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效 IPC(主分类):G06F 9/445申请日:20170327|||公开

    IPC分类号:

    G06F9/445

    主分类号:

    G06F9/445

    申请人:

    北京润科通用技术有限公司

    发明人:

    张睿文

    地址:

    100192 北京市海淀区知春路7号致真大厦5层

    优先权:

    专利代理机构:

    北京集佳知识产权代理有限公司 11227

    代理人:

    王宝筠

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种在线编程方法及装置,该方法包括:获取第一Hex文件及第二Hex文件;获取第一Hex文件中的有效信息及第二Hex文件里的有效信息,所述有效信息为编程时所用到的信息;创建第三Hex文件,第三Hex文件包括第一Hex文件中的有效信息及第二Hex文件里的有效信息;通过ISP方式、利用第三Hex文件对Bootloader区及Application区编程。本申请方案,通过创建第三Hex文件,并将第一Hex文件与第二Hex文件合并至第三Hex文件中,从而实现了只通过ISP方式对Bootloader区及Application区进行编程,以此节省了电子产品的编程过程耗费的时间,提高了生产效率。

    权利要求书

    1.一种在线编程方法,其特征在于,包括:
    获取第一Hex文件及第二Hex文件;
    获取所述第一Hex文件中的有效信息及所述第二Hex文件里的有效信息,所述有效信息
    为编程时所用到的信息;
    创建第三Hex文件,所述第三Hex文件包括所述第一Hex文件中的有效信息及所述第二
    Hex文件里的有效信息;
    通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述Application区编程。
    2.根据权利要求1所述的方法,其特征在于,通过ISP方式、利用所述第三Hex文件对所
    述Bootloader区及所述Application区编程之前,还包括:
    根据预先设计的IAP的实现方式,向所述第三Hex文件中添加符合Hex文件规定的标志
    位。
    3.根据权利要求2所述的方法,其特征在于,还包括:
    向所述第三Hex文件中添加结束标识信息。
    4.根据权利要求2或3所述的方法,其特征在于,还包括:
    判断所述第三Hex文件中的信息是否有效;
    若是,执行通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程的步骤。
    5.根据权利要求4所述的方法,其特征在于,所述判断所述第三Hex文件中的信息是否
    有效,包括:
    将所述第三Hex文件中的信息与所述第一Hex文件及所述第二Hex文件中的有效信息进
    行对比,判断所述第三Hex文件是否包含所述第一Hex文件中的有效信息及所述第二Hex文
    件中的有效信息。
    6.一种在线编程装置,其特征在于,包括:
    第一获取单元,用于获取第一Hex文件及第二Hex文件;
    第二获取单元,用于获取所述第一Hex文件中的有效信息及所述第二Hex文件里的有效
    信息,所述有效信息为编程时所用到的信息;
    创建单元,用于创建第三Hex文件,所述第三Hex文件包括所述第一Hex文件中的有效信
    息及所述第二Hex文件里的有效信息;
    编程单元,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程。
    7.根据权利要求6所述的装置,其特征在于,还包括:
    第一添加单元,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程之前,根据预先设计的IAP的实现方式,向所述第三Hex文件中添加符合
    Hex文件规定的标志位。
    8.根据权利要求7所述的装置,其特征在于,还包括:
    第二添加单元,用于向所述第三Hex文件中添加结束标识信息。
    9.根据权利要求7或8所述的装置,其特征在于,还包括:
    判断单元,用于判断所述第三Hex文件中的信息是否有效;
    执行单元,用于当所述判断单元确定所述第三Hex文件中的信息有效时,执行通过ISP
    方式、利用所述第三Hex文件对所述Bootloader区及所述Application区编程的步骤。
    10.根据权利要求9所述的装置,其特征在于,所述判断单元,包括:
    判断子单元,用于将所述第三Hex文件中的信息与所述第一Hex文件及所述第二Hex文
    件中的有效信息进行对比,判断所述第三Hex文件是否包含所述第一Hex文件中的有效信息
    及所述第二Hex文件中的有效信息。

    说明书

    一种在线编程方法及装置

    技术领域

    本发明涉及软件编程技术领域,特别是涉及一种在线编程方法及装置。

    背景技术

    电子产品的在线编程目前有两种实现方法:ISP(In-system Programming,在系统
    编程)和IAP(In Application Programming,在应用编程)。ISP一般是通过单片机专用的串
    行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器
    映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后
    将控制从一个存储体转向另一个。

    电子产品的MCU的Flash(程序存储区)通常被分为3块:Bootloader(引导装载程
    序)区、Application(应用程序)区和Flag(标志)区。现有技术中,对电子产品在线编程时,
    通常先通过ISP的方式将第一Hex文件注入Bootloader区,然后运行Bootloader部分的代
    码,使用IAP的方式将第二Hex文件注入Application区,从而实现对电子产品的在线编程。

    发明人在对现有技术的研究过程中发现,现有技术的方案需要采用ISP与IAP组合
    的方式才能实现对电子产品的在线编程,然而,对于一些低功耗的电子产品或者通讯速率
    较低的电子产品,由于IAP过程本身效率较低,所以ISP与IAP组合编程的方式会使得编程过
    程的时间相当长、而且操作也不方便,生产效率较低。

    发明内容

    为解决上述技术问题,本发明实施例提供了一种在线编程方法及装置,以解决现
    有技术中在线编程时间长的问题,技术方案如下:

    一种在线编程方法,包括:

    获取第一Hex文件及第二Hex文件;

    获取所述第一Hex文件中的有效信息及所述第二Hex文件里的有效信息,所述有效
    信息为编程时所用到的信息;

    创建第三Hex文件,所述第三Hex文件包括所述第一Hex文件中的有效信息及所述
    第二Hex文件里的有效信息;

    通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述Application区
    编程。

    优选地,通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程之前,还包括:

    根据预先设计的IAP的实现方式,向所述第三Hex文件中添加符合Hex文件规定的
    标志位。

    优选地,还包括:

    向所述第三Hex文件中添加结束标识信息。

    优选地,还包括:

    判断所述第三Hex文件中的信息是否有效;

    若是,执行通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程的步骤。

    优选地,所述判断所述第三Hex文件中的信息是否有效,包括:

    将所述第三Hex文件中的信息与所述第一Hex文件及所述第二Hex文件中的有效信
    息进行对比,判断所述第三Hex文件是否包含所述第一Hex文件中的有效信息及所述第二
    Hex文件中的有效信息。

    一种在线编程装置,包括:

    第一获取单元,用于获取第一Hex文件及第二Hex文件;

    第二获取单元,用于获取所述第一Hex文件中的有效信息及所述第二Hex文件里的
    有效信息,所述有效信息为编程时所用到的信息;

    创建单元,用于创建第三Hex文件,所述第三Hex文件包括所述第一Hex文件中的有
    效信息及所述第二Hex文件里的有效信息;

    编程单元,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程。

    优选地,还包括:

    第一添加单元,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区及
    所述Application区编程之前,根据预先设计的IAP的实现方式,向所述第三Hex文件中添加
    符合Hex文件规定的标志位。

    优选地,还包括:

    第二添加单元,用于向所述第三Hex文件中添加结束标识信息。

    优选地,还包括:

    判断单元,用于判断所述第三Hex文件中的信息是否有效;

    执行单元,用于当所述判断单元确定所述第三Hex文件中的信息有效时,执行通过
    ISP方式、利用所述第三Hex文件对所述Bootloader区及所述Application区编程的步骤。

    优选地,所述判断单元,包括:

    判断子单元,用于将所述第三Hex文件中的信息与所述第一Hex文件及所述第二
    Hex文件中的有效信息进行对比,判断所述第三Hex文件是否包含所述第一Hex文件中的有
    效信息及所述第二Hex文件中的有效信息。

    本申请实施例提供的技术方案,通过创建第三Hex文件,并将第一Hex文件与第二
    Hex文件合并至第三Hex文件中,从而实现了只通过ISP方式对Bootloader区及Application
    区进行编程,以此节省了电子产品的编程过程耗费的时间,提高了生产效率。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
    有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本
    发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可
    以根据这些附图获得其他的附图。

    图1为本发明实施例所提供的一种在线编程方法的一种流程示意图;

    图2为本发明实施例所提供的一种在线编程方法的另一种流程示意图;

    图3为本发明实施例所提供的一种在线编程装置的一种结构示意图;

    图4为本发明实施例所提供的一种在线编程装置的另一种结构示意图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
    整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本
    发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实
    施例,都属于本发明保护的范围。

    本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第
    四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
    解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除
    了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
    变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
    品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这
    些过程、方法、产品或设备固有的其它步骤或单元。

    在介绍本申请实施例之前,先对Hex文件进行简单介绍:

    Hex文件作为文本文件,包含地址和数据,它的格式如下:

    Hex整个文件以行为单位,每行以冒号开头,内容全部为十六进制码(以ASCII码显
    示)。Hex文件的每一行按照如下方法理解内容,例如:

    :020000040000FA,可以看做0x02 0x00 0x00 0x04 0x00 0x00 0xFA;

    其中,冒号后第一个0x02,表示数据长度为2;第二个和第三个0x00 0x00,表示地
    址为0x0000;第四个0x04,表示数据类型,有以下几类:

    “00”:数据记录

    “01”:文件结束记录

    “02”:扩展段地址记录

    “03”:开始段地址记录

    “04”:扩展线性地址记录

    “05”:开始线性地址记录

    第五个之后的0x00 0x00,表示数据;

    最后一个0xFA,表示校验码,每行的最后一个是校验码,校验码计算方式为取各字
    节的二进制算术和,不计超出256的溢出值,然后用0x100减去算术和得到校验码。

    由于每行标识数据地址的只有2Byte,所以数据地址所包含的数据最大只能到
    64KB,为了保存高地址的数据,就需要扩展线性地址记录。如果这行的数据类型是0x04,那
    么,这行的数据就是随后数据的基地址。例如:

    :020000040005F6;

    :1000000018F09FE518F09FE518F09FE518F09FE5C0;

    :1000100018F09FE5805F20B9F0FF1FE518F09FE51D;

    第一行,是扩展线性历史记录,里面的数据0x0005就是基地址;第二行是数据记
    录,里面的地址值是0x0000,那么数据18F09FE518F09FE518F09FE518F09FE5要写入FLASH中
    的地址为(0x0005<<16)|0x0000,也就是写入FLASH的0x50000这个地址。同样,第三行的数
    据的写入地址为0x50000。当一个Hex文件的数据超过64KB的时候,文件中就会出现多个扩
    展线性地址。

    文件结束记录是每一个Hex文件的最后一行。例如:

    :00000001FF;

    这样的一行数据内容是固定的,数据长度为0,地址为0。

    一般的在线编程过程就是计算机通过读取Hex文件,按照MCU的规定协议发送给
    MCU,然后MCU按照上述Hex文件的格式,解析出地址以及该地址内对应的数据,将数据写入
    Flash中规定的区域。

    请参阅图1,图1为本申请实施例提供的一种在线编程方法的一种实现流程图,所
    述方法包括:

    步骤S101、获取第一Hex文件及第二Hex文件;

    第一Hex文件可以为Bootloader.hex文件,第二Hex文件可以为Application.hex。

    第一Hex文件指的是,现有技术中采用ISP方式对Bootloader区进行编程时所使用
    的Hex文件;第二Hex文件指的是,现有技术中采用IAP方式对Application区编程时所使用
    的Hex文件。

    其中,使用第一Hex文件对Bootloader区编程指的是,解析第一Hex文件中的地址
    以及地址所对应的数据,并将解析出的数据写入Bootloader区中,同理地,使用第二Hex文
    件对Application区编程指的是,解析第二Hex文件中的地址以及地址所对应的数据,并将
    解析出的数据写入Application区中。

    步骤S102、获取所述第一Hex文件里的有效信息及所述第二Hex文件里的有效信
    息;

    所述有效信息为编程时所用到的信息,如所述有效信息可以为所述第一Hex文件
    或第二Hex文件里除结束行之外的信息。

    步骤S103、创建第三Hex文件,所述第三Hex文件包括所述第一Hex文件中的有效信
    息及所述第二Hex文件里的有效信息;

    需要说明的是,创建的第三Hex文件也可以是不包括第一Hex文件中的有效信息及
    所述第二Hex文件里的有效信息的空白文档,此时,创建第三Hex文件的步骤可以在步骤
    S101之前执行,也可以在步骤S101与步骤S102之间执行。当通过步骤S101及步骤S102获取
    第一Hex文件中的有效信息及所述第二Hex文件里的有效信息后,可以将获取的第一Hex文
    件中的有效信息及第二Hex文件里的有效信息添加至第三Hex文件中。

    在获取到第一Hex文件及第二Hex文件的有效信息后,将该有效信息放入到创建的
    第三Hex文件中,以利用第三Hex文件对Bootloader区及Application区进行编程。

    以下举例说明实际应用时,步骤S101-步骤S103的实现:

    创建空白文本文档,以将其作为第三Hex文件,同时将其重命名为BT+APP.hex,通
    过记事本打开第一Hex文件,即Bootloader.hex文件,将表示文件结束的最后一行“:
    00000001FF”删除,并全选复制第一Hex文件中其它的行至BT+APP.hex文件中,同样地,对于
    第二Hex文件,即Application.hex文件,也将其除表示文件结束的最后一行之外的其它行
    全选复制到BT+APP.hex文件中。

    步骤S104、通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程。

    本申请实施例提供的技术方案,通过创建第三Hex文件,并将第一Hex文件与第二
    Hex文件合并至第三Hex文件中,从而实现了只通过ISP方式对Bootloader区及Application
    区进行编程,以此节省了电子产品的编程过程耗费的时间,提高了生产效率。

    请参阅图2,图2为本申请实施例提供的一种在线编程方法的一种实现流程图,所
    述方法包括:

    步骤S201、获取第一Hex文件及第二Hex文件;

    步骤S202、获取所述第一Hex文件中的有效信息及所述第二Hex文件里的有效信
    息;

    步骤S203、创建第三Hex文件,所述第三Hex文件包括所述有效信息;

    步骤S204、根据预先设计的IAP的实现方式,向所述第三Hex文件中添加符合Hex文
    件规定的标志位;

    由于本申请的第三Hex文件是由第一Hex文件与第二Hex文件生成的,而并不是由
    编译器直接生成的,所以,根据用户的需要,还可以在第三Hex文件中添加所需要的标志位。

    由于现有技术中只在采用IAP方式编程时才用到标志位,所以,本实施例通过IAP
    的实现方式确定需要向第三Hex文件中添加的标志位。

    以在地址0x8006010加入的标志位0x5533为例说明:

    每次系统上电或重启时,bootloader会读取地址0x8006010的值,若其值为
    0x5533,则跳转到Application中运行。

    执行IAP的在线编程时,首先需要擦除地址0x8006010的值0x5533,然后系统重启。
    由于已擦除地址0x8006010的值0x5533,所以bootloader不能检测到0x5533,从而程序不能
    跳转执行Application区中的代码,当IAP的在线编程完成后,重新在0x8006010写入
    0x5533,然后程序跳转至Application区运行。

    可见,在执行IAP的在线编程时,会写入标志位,所以,根据IAP的实现方式,可以确
    定需要添加的标志位。

    在添加标志位时,需要按照Hex文件的规定确定标志位的写入地址和长度,并计算
    标志位对应的扩展线性地址和地址。

    比如要在地址0x8006010加入标志位0x5533,在地址0x8010020加入标志位0x01,
    则第一个标志位0x5533的扩展线性地址为0x800,基地址为0x6010,数据长度为2,所以要加
    入的行是:

    :020000040800F2(校验码F2=0x100-0x2-0x4-0x8)

    :02601000553306

    那么标志位0x01对应的Hex行是:

    :020000040801F1

    :0100200001DE。

    步骤S205、向所述第三Hex文件中添加结束标识信息;

    由于复制到第三Hex文件中的信息只是第一Hex文件与第二Hex文件中的有效信
    息,所以,还需要向第三Hex文件中添加结束标识信息。

    另外,如果想在Flash中加入其它的产品信息,如设备号,生产日期等,均可按照标
    志位的方式加入到第三Hex文件中。

    步骤S206、将所述第三Hex文件中的信息与所述第一Hex文件及所述第二Hex文件
    中的有效信息进行对比,判断所述第三Hex文件是否包含所述第一Hex文件及所述第二Hex
    文件中的有效信息,若是,执行步骤S207;

    由于在将第一Hex文件中的有效信息与第二Hex文件中的有效信息合并到第三Hex
    文件中时,有可能存在因误操作造成对有效信息的破坏,所以,在利用第三Hex文件进行编
    程之前,需要通过文本对比工具将第三Hex文件种的信息与第一Hex文件及第二Hex文件中
    的有效信息进行对比,以判断第三Hex文件中是否包含了第一Hex文件及第二Hex文件中的
    有效信息。

    步骤S207、通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所述
    Application区编程。

    可选的,步骤S201-S203的执行过程与上述实施例提供的步骤S101-S103的执行过
    程相同,有关步骤S201-S203的详细过程,请参见上述对步骤S101-S103的描述,在此不做赘
    述。

    本申请实施例提供的技术方案,通过创建第三Hex文件,并将第一Hex文件与第二
    Hex文件合并至第三Hex文件中,从而实现了只通过ISP方式对Bootloader区及Application
    区进行编程,以此节省了电子产品的编程过程耗费的时间,提高了生产效率。另外,采用本
    实施例的方案,可以根据用户的需求添加需要的标志位,提高了用户体验。

    请参阅图3,图3为本申请实施例提供的在线编程装置的一种结构示意图,该装置
    结构示意图中的各单元的工作过程参照图1对应的实施例中方法的执行过程,该装置包括:

    第一获取单元301,用于获取第一Hex文件及第二Hex文件;

    第二获取单元302,用于获取所述第一Hex文件中的有效信息及所述第二Hex文件
    里的有效信息,所述有效信息为编程时所用到的信息;

    创建单元303,用于创建第三Hex文件,所述第三Hex文件包括所述有效信息;

    编程单元304,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所
    述Application区编程。

    本申请实施例提供的技术方案,通过创建第三Hex文件,并将第一Hex文件与第二
    Hex文件合并至第三Hex文件中,从而实现了只通过ISP方式对Bootloader区及Application
    区进行编程,以此节省了电子产品的编程过程耗费的时间,提高了生产效率。

    请参阅图4,图4为本申请实施例提供的在线编程装置的一种结构示意图,该装置
    结构示意图中的各单元的工作过程参照图2对应的实施例中方法的执行过程,该装置包括:

    第一获取单元401,用于获取第一Hex文件及第二Hex文件;

    第二获取单元402,用于获取所述第一Hex文件中的有效信息及所述第二Hex文件
    里的有效信息,所述有效信息为编程时所用到的信息;

    创建单元403,用于创建第三Hex文件,所述第三Hex文件包括所述有效信息;

    第一添加单元404,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区
    及所述Application区编程之前,根据预先设计的IAP的实现方式,向所述第三Hex文件中添
    加符合Hex文件规定的标志位。

    第二添加单元405,用于向所述第三Hex文件中添加结束标识信息。

    判断子单元406,用于将所述第三Hex文件中的信息与所述第一Hex文件及所述第
    二Hex文件中的有效信息进行对比,判断所述第三Hex文件是否包含所述第一Hex文件中的
    有效信息及所述第二Hex文件中的有效信息。

    编程单元407,用于通过ISP方式、利用所述第三Hex文件对所述Bootloader区及所
    述Application区编程。

    本申请实施例提供的技术方案,通过创建第三Hex文件,并将第一Hex文件与第二
    Hex文件合并至第三Hex文件中,从而实现了只通过ISP方式对Bootloader区及Application
    区进行编程,以此节省了电子产品的编程过程所耗费的时间,提高了生产效率。另外,采用
    本实施例的方案,可以根据用户的需求添加需要的标志位,提高了用户体验。

    对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见
    方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述
    作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以
    是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可
    以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通
    技术人员在不付出创造性劳动的情况下,即可以理解并实施。

    在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没
    有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性
    的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或
    子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单
    元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系
    统,或一些特征可以忽略,或不执行。

    另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本申请的范围
    内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦
    合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以
    是电性,机械或其它的形式。

    以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人
    员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
    视为本发明的保护范围。

    关 键  词:
    一种 在线 编程 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种在线编程方法及装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1296657.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1