便携式电子设备及其固件下载程序下载方法

文档序号:7723717阅读:160来源:国知局
专利名称:便携式电子设备及其固件下载程序下载方法
技术领域
本发明涉及一种电子设备及其通讯方法,特别是关于一种便携式电子设备及其固件下载程序下载方法。
背景技术
随着电子技术的迅速发展,手机、个人数字助理(PDA)等便携式电子设备得到了 广泛使用。便携式电子设备通常配置有专用的硬件,来接收主机传来的固件下载程序。所 述固件下载程序用于将固件从主机下载到固态存储器,例如闪存上。与此同时,现代企业的竞争越来越激烈,为了能在竞争中立于不败之地,生产厂家 力求设计出体积更小、成本更低的产品,从而考虑用软件实现部分硬件的功能。对于便携式 电子设备来说,如何在没有接收固件下载程序的专用硬件的情况下从主机下载固件下载程 序成为一个难题。

发明内容
鉴于以上内容,有必要提供一种便携式电子设备,能够在没有接收固件下载程序 的专用硬件的条件下,从主机下载固件下载程序。此外,还有必要提供一种便携式电子设备固件下载程序下载方法,能够在没有接 收固件下载程序的专用硬件的条件下,从主机下载固件下载程序。一种便携式电子设备,能够在没有接收固件下载程序的专用硬件的条件下,从主 机下载固件下载程序,该便携式电子设备包括连接响应模块,用于收到主机的连接请求后 返回连接响应,与主机建立连接;同步响应模块,用于收到主机的同步请求后返回同步响 应,确认准备好接收数据;参数设定响应模块,用于收到主机的参数设定请求后返回参数设 定响应,报告参数设定请求中指定的传输参数是否正确;参数查询响应模块,用于收到主机 的参数查询请求后返回参数查询响应,对参数查询请求中查询的传输参数作出应答,所述 主机的参数查询请求在收到参数设定响应报告指定参数正确后发出;数据传输响应模块, 用于收到主机的数据传输请求后接收传送的数据,所述传送的数据包括包含固件下载程 序内容的数据块、数据块的字节数及写入地址,所述主机的数据传输请求在收到参数查询 响应回复所查询的传输参数后发出;校验响应模块,用于收到主机的校验请求后返回校验 响应,报告数据校验结果;地址通知响应模块,用于收到主机的地址通知请求后返回地址通 知响应,报告地址通知请求中固件下载程序的起始地址是否正确,所述主机的地址通知请 求在收到校验响应报告校验正确后发出;及结束响应模块,用于收到主机的结束请求后返 回结束响应,与主机断开连接。—种便携式电子设备固件下载程序下载方法,能够在没有接收固件下载程序的专 用硬件的条件下,从主机下载固件下载程序,该方法包括步骤收到主机的连接请求后返回 连接响应,与主机建立连接;收到主机的同步请求后返回同步响应,确认准备好接收数据; 收到主机的参数设定请求后返回参数设定响应,报告参数设定请求中指定的传输参数是否正确;收到主机的参数查询请求后返回参数查询响应,对参数查询请求中查询的传输参数 作出应答,所述主机的参数查询请求在收到参数设定响应报告指定参数正确后发出;收到 主机的数据传输请求后接收传送的数据,所述传送的数据包括包含固件下载程序内容的 数据块、数据块的字节数及写入地址,所述主机的数据传输请求在收到参数查询响应回复 所查询的传输参数后发出;收到主机的校验请求后返回校验响应,报告数据校验结果;收 到主机的地址通知请求后返回地址通知响应,报告地址通知请求中固件下载程序的起始地 址是否正确,所述主机的地址通 知请求在收到校验响应报告校验正确后发出;及收到主机 的结束请求后返回结束响应,与主机断开连接。本发明能够在没有接收固件下载程序的专用硬件的条件下,从主机下载固件下载 程序到便携式电子设备,并且能够根据需要有弹性地调整和修改固件下载程序的下载方 案,简单高效地实现固件下载程序的下载。


图1为本发明便携式电子设备及与其通讯的主机的功能模块图。图2为本发明便携式电子设备固件下载程序下载方法的流程图。图3为本发明便携式电子设备固件下载程序下载方法的数据流图。
具体实施例方式参阅图1所示,是本发明便携式电子设备及与其通讯的主机的功能模块图。所述便携式电子设备12通过通用串行总线(Universal Serial Bus,USB)、通用 异步接收或发送装置(Universal Asynchronous Receiver 或 Transmitter,UART),或者其 他适用的方式与主机11相连。该便携式电子设备12可以是手机、个人数字助理(PDA)、数 码相机,或者是其他需要从主机11下载固件下载程序的电子设备。所述固件下载程序用于 将固件从主机下载到便携式电子设备12的固态存储器,例如闪存上。受便携式电子设备12 硬件条件的限制,通常情况下,主机11将需要传输的固件下载程序分成若干个数据块进行 传送,每个数据块包含部分的固件下载程序内容。所述主机11包括连接模块110、同步模块111、参数设定模块112、参数查询模块 113、数据传输模块114、校验模块115、地址通知模块116及结束模块117。所述便携式电子 设备12包括连接响应模块120、同步响应模块121、参数设定响应模块122、参数查询响应模 块123、数据传输响应模块124、校验响应模块125、地址通知响应模块126及结束响应模块 127。功能模块110117由主机11的主机处理器118执行,功能模块120127由便携式电子 设备12的设备处理器128执行。在本实施例中,便携式电子设备12加电或复位后,设备处 理器128从固态存储器(如闪存)的起始位置(如0x00000000)取指令开始执行。因此, 在便携式电子设备12启动之前,将所述功能模块120-127固化在便携式电子设备12的固 态存储器的起始位置。下面对主机11及便携式电子设备12的各个功能模块逐一说明。标号301-316参 看图3所示的便携式电子设备固件下载程序下载方法的数据流图。所述连接模块110用于发送连接请求301,与便携式电子设备12建立连接。所述连接响应模块120用于返回连接响应302,与主机11建立连接。
所述同步模块111用于发送同步请求303,通知便携式电子设备12准备接收数据。所述同步响应模块121用于返回同步响应304,确认准备好接收数据。所述参数设定模块112用于发送参数设定请求305,将指定的传输参数传递给便 携式电子设备12。在本实施例中,指定的传输参数包括连接方式以及启用或关闭数据确认。 连接方式可以是USB、UART或其他适用的方式。如果连接方式是UART,参数设定模块112指 定的传输参数还包括数据传输的波特率。启用或关闭数据确认确定是否需要对每次传输的 数据块作出确认。若启用数据确认,便携式电子设备12每次收到数据块都需要作出确认, 主机11收到便携式电子设备12的确认后再传输下一个数据块。否则,若关闭数据确认,则 主机11连续地将所需传输固件下载程序的各个数据块发送给便携式电子设备12。所述参数设定响应模块122用于返回参数设定响应306,报告指定的传输参数是 否正确。若便携式电子设备12支持所指定的传输参数,参数设定响应模块122报告指定参 数正确。否则,若不支持所指定的传输参数,则报告指定参数错误。例如,若指定的波特率 为306250,若便携式电子设备12不支持该波特率,则报告指定的波特率错误。若主机11收到的参数设定响应306报告指定参数错误,则参数设定模块112重新 发送参数设定请求305。所述参数查询模块113用于收到参数设定响应306报告指定参数正确后,发送参 数查询请求307,将查询的传输参数传递给便携式电子设备12。在本实施例中,查询的传输 参数包括数据块的最大字节数。数据块的最大字节数即是便携式电子设备12每次所能写 入数据缓冲区的最大字节数。若启用数据确认,则查询的传输参数还包括等待确认的最大 等待时间。也就是说,每次发送数据块后,若主机U在最大等待时间内没有收到确认信息, 则主机11重新发送该数据块。所述参数查询响应模块123用于返回参数查询响应308,对所查询的传输参数作 出应答。在本实施例中,若收到合法的参数查询请求,则参数查询响应模块122回复所查询 的传输参数。若接收到非法的参数查询请求,例如,所查询的传输参数不在可供查询的传输 参数范围内,则参数查询响应模块122返回参数查询响应308报告参数查询错误,举例来 说,假设可供查询的传输参数包括数据块的最大字节数以及等待确认的最大等待时间,若 参数查询请求中查询的传输参数是数据传输的波特率,则该参数查询请求是非法的参数查 询请求。若主机11收到的参数查询响应308报告参数查询错误,则参数查询模块112重新 发送参数查询请求307。概括地说,所述参数设定模块112、参数设定响应模块122、参数查询模块113及参 数查询响应模块123对主机11与便携式电子设备12之间进行固件下载程序下载所必需的 传输参数进行协商,以便能够顺利地进行固件下载程序下载。 所述数据传输模块114用于收到参数查询响应模块122回复所查询的传输参数 后,发送数据传输请求309,将数据传送给便携式电子设备12。传送的数据包括包含固件 下载程序内容的数据块、数据块的字节数、写入地址及本次数据传输的校验码。本次数据传 输的校验码可以采用校验和,也可以采用循环冗余校验码。所述写入地址是便携式电子设 备12的内存地址。所述数据传输响应模块124用于接收数据传输模块114传送的数据。具体而言,数据传输响应模块124根据本次数据传输的校验码判断本次数据传输收到的数据是否与 发送的数据一致,根据数据块的字节数从数据传输请求309中取出数据块,并根据写入地 址将数据块写入内存。当启用数据确认时,数据传输响应模块124还用于返回数据传输响 应310,报告数据接收情况。若数据接收成功,则数据传输响应模块124返回数据传输响应 310报告数据接收成功。若数据接收失败,则数据传输响应模块124返回数据传输响应310 报告数据接收失败。若主机11收到的数据传输响应310报告数据接收失败,则数据传输模块114重新 发送数据传输请求309。所述校验模块115用于发送校验请求311,将发送端总校验码传送给便携式电子 设备12以进行数据校验。在本实施例中,所述发送端总校验码通过对各次数据传输的校验 码进行某种运算得到。例如,对各次数据传输的校验码进行异或运算而得。所述校验响应模块125用于返回校验响应312,报告数据校验结果。具体而言,便 携式电子设备12根据收到的数据计算接收端总校验码,若接收端总校验码与发送端总校 验码一致,则校验响应模块125报告校验正确;否则,若不一致,则报告校验错误。若主机11收到的校验响应模块125报告校验错误,则数据传输模块114重新发送 数据传输请求309。所述地址通知模块116用于收到校验响应模块125报告校验正确后,发送地址通 知请求313 ,将固件下载程序的起始地址通知便携式电子设备12。便携式电子设备12根据 该起始地址即可执行该固件下载程序。所述地址通知响应模块126用于返回地址通知响应314,报告收到的起始地址是 否正确。若该起始地址正确,即该起始地址为有效的内存地址,则地址通知响应314报告地 址正确;否则,若该起始地址错误,则地址通知响应314报告地址错误。若主机11收到的地址通知响应模块126报告地址错误,则地址通知模块116重新 发送地址通知请求313。所述结束模块117用于发送结束请求315,与便携式电子设备12断开连接。所述结束响应模块127用于返回结束响应316,与主机11断开连接。参阅图2所示,是本发明便携式电子设备固件下载程序下载方法的流程图。为了 便于叙述和理解,结合图3所示的便携式电子设备固件下载程序下载方法的数据流图进行 说明。步骤S201,连接模块110发送连接请求301,与便携式电子设备12建立连接。例 如,连接模块Iio发送“AT+DL”。步骤S202,连接响应模块120返回连接响应302,与主机11建立连接。例如,连接 响应模块返回“ OK”。步骤S203,同步模块111发送同步请求303,通知便携式电子设备12准备接收数 据。例如,同步模块111发送“T+S”。步骤S204,同步响应模块121返回同步响应304,确认准备好接收数据。例如,若 收到“T+S”,则同步响应模块121返回“R+S”确认准备好接收数据。步骤S205,参数设定模块112发送参数设定请求305,将指定的传输参数传递给便 携式电子设备12。例如,参数设定模块112发送“T+P”,将指定的传输参数传递给便携式电子设备12。在本实施例中,指定的传输参数包括连接方式以及启用或关闭数据确认。连接 方式可以是USB、UART或其他适用的方式。如果连接方式是UART,参数设定模块112指定 的传输参数还包括数据传输的波特率。启用或关闭数据确认确定是否需要对每次传输的数 据块作出确认。若启用数据确认,便携式电子设备12每次收到数据块都需要作出确认,主 机11收到便携式电子设备12的确认后再传输下一个数据块。否则,若关闭数据确认,则主 机11连续地将所需传输固件下载程序的各个数据块发送给便携式电子设备12。以下以启 用数据确认为例进行说明。
步骤S206,参数设定响应模块122返回参数设定响应306,报告指定的传输参数是 否正确。若便携式电子设备12支持所指定的传输参数,参数设定响应模块121返回“R+P” 报告指定参数正确。否则,若不支持所指定的传输参数,则返回“R-P”报告指定参数错误。 例如,若指定的波特率为306250,若便携式电子设备12不支持该波特率,则返回“R-P”报告 指定的波特率错误。若主机11收到的参数设定响应306报告指定参数错误,则返回步骤S205,参数设 定模块112重新发送参数设定请求305。步骤S207,参数查询模块113发送参数查询请求307,将查询的传输参数传递给便 携式电子设备12。例如,参数查询模块113发送“T+Q”传递所查询的传输参数。在本实施 例中,查询的传输参数包括数据块的最大字节数。数据块的最大字节数即是便携式电子设 备12每次所能写入数据缓冲区的最大字节数。若启用数据确认,则查询的传输参数还包括 等待确认的最大等待时间。也就是说,每次发送数据块后,若主机11在最大等待时间内没 有收到确认信息,则主机11重新发送该数据块。步骤S208,参数查询响应模块123返回参数查询响应308,对所查询的传输参数作 出应答。在本实施例中,若收到合法的参数查询请求,则参数查询响应模块122回复所查询 的传输参数。例如,收到“T+Q”后,若是合法的参数查询请求,则参数查询响应模块122发 送“R+Q”回复所查询的传输参数。若接收到非法的参数查询请求,例如,所查询的传输参数 不在可供查询的传输参数范围内,则参数查询响应模块122返回参数查询响应308报告参 数查询错误,例如,发送“R-Q”报告参数查询错误。举例来说,假设可供查询的传输参数包 括数据块的最大字节数以及等待确认的最大等待时间,若参数查询请求中查询的传输参数 是数据传输的波特率,则该参数查询请求是非法的参数查询请求。若主机11收到的参数查询响应308报告参数查询错误,则返回步骤S207,参数查 询模块112重新发送参数查询请求307。经过步骤S205-S207,主机11与便携式电子设备12之间协商好进行固件下载程序 下载所必需的传输参数,从而能够顺利地进行固件下载程序下载。步骤S209,数据传输模块114发送数据传输请求309,将包含固件下载程序内容的 数据块、数据块的字节数、写入地址及本次数据传输的校验码的数据传送给便携式电子设 备12。例如,数据传输模块114发送“T+W”将数据块、数据块的字节数、写入地址及本次数 据传输的校验码传送给便携式电子设备12。本次数据传输的校验码可以采用校验和,也可 以采用循环冗余校验码。步骤S210,数据传输响应模块124接收数据传输模块114传送的数据,并返回数 据传输响应310,报告数据接收情况。具体而言,数据传输响应模块124根据本次数据传输的校验码判断本次数据传输收到的数据是否与发送的数据一致,根据数据块的字节数从数 据传输请求309中取出数据块,并根据写入地址将数据块写入内存。若数据接收成功,则数 据传输响应模块124返回数据传输响应310报告数据接收成功。例如,若收到“T+W”,则发 送“R+W”报告数据接收成功。若数据接收失败,则数据传输响应模块124返回数据传输响 应310报告数据接收失败。例如,若写入地址错误,则发送“R-W”报告该写入地址错误。若主机11收到的数据传输响应310报告数据接收失败,则返回步骤S209,数据传 输模块114重新发送数据传输请求309。重复执行步骤S209-S210,直到将该固件下载程序 的所有数据块传送完毕。步骤S211,校验模块115发送校验请求311,将发送端总校验码传送给便携式电子 设备12以进行数据校验。例如,校验模块115发送“T+C”将发送端总校验码传送给便携式 电子设备12。在本实施例中,所述发送端总校验码通过对各次数据传输的校验码进行某种 运算得到。例如,对各次数据传输的校验码进行异或运算而得。步骤S212,校验响应模块125返回校验响应312,报告数据校验结果。具体而言, 便携式电子设备12根据收到的数据计算接收端总校验码,若接收端总校验码与发送端总 校验码一致,则校验响应模块125发送“R+C”报告校验正确;否则,若不一致,则发送“R-C” 报告校验错误。若主机11收到的校验响应模块125报告校验错误,则返回步骤S211,数据传输模 块1 14重新发送数据传输请求309。步骤S213,地址通知模块116发送地址通知请求313,将固件下载程序的起始地址 通知便携式电子设备12。例如,地址通知模块116发送“T+B”将固件下载程序的起始地址 通知便携式电子设备12。便携式电子设备根据该起始地址即可执行该固件下载程序。步骤S214,地址通知响应模块126返回地址通知响应314,报告收到的起始地址是 否正确。若该起始地址正确,即该起始地址为有效的内存地址,则地址通知响应314报告地 址正确;否则,若该起始地址错误,则地址通知响应314报告地址错误。例如,若收到“T+B”, 地址通知响应模块126发送“R+B”报告地址正确,或者发送“R-B”报告地址错误。若主机11收到的地址通知响应模块126报告地址错误,则返回步骤S213,地址通 知模块116重新发送地址通知请求313。步骤S215,结束模块117发送结束请求315,与便携式电子设备12断开连接。例 如,结束模块117发送“T+A”与便携式电子设备12断开连接。步骤S216,结束响应模块127返回结束响应316,与主机11断开连接。例如,若收 到“T+A”,则结束响应模块127发送“R-”与主机11断开连接。
权利要求
一种便携式电子设备,能够在没有接收固件下载程序的专用硬件的条件下,从主机下载固件下载程序,其特征在于,该便携式电子设备包括连接响应模块,用于收到主机的连接请求后返回连接响应,与主机建立连接;同步响应模块,用于收到主机的同步请求后返回同步响应,确认准备好接收数据;参数设定响应模块,用于收到主机的参数设定请求后返回参数设定响应,报告参数设定请求中指定的传输参数是否正确;参数查询响应模块,用于收到主机的参数查询请求后返回参数查询响应,对参数查询请求中查询的传输参数作出应答,所述主机的参数查询请求在收到参数设定响应报告指定参数正确后发出;数据传输响应模块,用于收到主机的数据传输请求后接收传送的数据,所述传送的数据包括包含固件下载程序内容的数据块、数据块的字节数及写入地址,所述主机的数据传输请求在收到参数查询响应回复所查询的传输参数后发出;校验响应模块,用于收到主机的校验请求后返回校验响应,报告数据校验结果;地址通知响应模块,用于收到主机的地址通知请求后返回地址通知响应,报告地址通知请求中固件下载程序的起始地址是否正确,所述主机的地址通知请求在收到校验响应报告校验正确后发出;及结束响应模块,用于收到主机的结束请求后返回结束响应,与主机断开连接。
2.如权利要求1所述的便携式电子设备,其特征在于,所述指定的传输参数包括启用 或关闭数据确认。
3.如权利要求2所述的便携式电子设备,其特征在于,所述数据传输响应模块还用于 当启用数据确认时,返回数据传输响应,报告数据接收情况。
4.如权利要求1所述的便携式电子设备,其特征在于,所述查询的传输参数包括数据 块的最大字节数。
5.如权利要求1所述的便携式电子设备,其特征在于,所述传送的数据还包括本次数 据传输的校验码。
6.一种便携式电子设备固件下载程序下载方法,能够在没有接收固件下载程序的专用 硬件的条件下,从主机下载固件下载程序,其特征在于,该方法包括步骤收到主机的连接请求后返回连接响应,与主机建立连接; 收到主机的同步请求后返回同步响应,确认准备好接收数据; 收到主机的参数设定请求后返回参数设定响应,报告参数设定请求中指定的传输参数 是否正确;收到主机的参数查询请求后返回参数查询响应,对参数查询请求中查询的传输参数作 出应答,所述主机的参数查询请求在收到参数设定响应报告指定参数正确后发出;收到主机的数据传输请求后接收传送的数据,所述传送的数据包括包含固件下载程 序内容的数据块、数据块的字节数及写入地址,所述主机的数据传输请求在收到参数查询 响应回复所查询的传输参数后发出;收到主机的校验请求后返回校验响应,报告数据校验结果;收到主机的地址通知请求后返回地址通知响应,报告地址通知请求中固件下载程序的 起始地址是否正确,所述主机的地址通知请求在收到校验响应报告校验正确后发出;及收到主机的结束请求后返回结束响应,与主机断开连接。
7.如权利要求6所述的便携式电子设备固件下载程序下载方法,其特征在于,所述指 定的传输参数包括启用或关闭数据确认。
8.如权利要求7所述的便携式电子设备固件下载程序下载方法,其特征在于,所述步 骤收到主机的数据传输请求后接收传送的数据之后还包括若启用数据确认,则返回数据 传输响应,报告数据接收情况。
9.如权利要求6所述的便携式电子设备固件下载程序下载方法,其特征在于,所述查 询的传输参数包括数据块的最大字节数。
10.如权利要求6所述的便携式电子设备固件下载程序下载方法,其特征在于,所述数 据传输请求还包括本次数据传输的校验码。
全文摘要
一种固件下载程序下载方法,该方法为便携式电子设备与主机建立连接,并且协商下载固件下载程序所必需的传输参数,然后按照所协商的传输参数传送包含固件下载程序内容的数据。本发明还提供一种能够下载固件下载程序的便携式电子设备。本发明能够在没有接收固件下载程序的专用硬件的条件下,从主机下载固件下载程序到便携式电子设备,并且能够根据需要有弹性地调整和修改下载方案,简单高效地实现固件下载程序的下载。
文档编号H04M1/725GK101841594SQ20091030091
公开日2010年9月22日 申请日期2009年3月17日 优先权日2009年3月17日
发明者陈纪宪 申请人:深圳富泰宏精密工业有限公司;奇美通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1