一种利用机顶盒对机顶盒进行写片 / 升级的方法 【技术领域】
本发明涉及软件的写片 / 升级方法, 特别是涉及一种机顶盒的写片 / 升级方法。背景技术 现有技术中, 生产机顶盒时, 先通过 PC 机连接专用的 FLASH 写片机, 将机顶盒的应 用程序写入 FLASH, 再将主板的材料和 FLASH 送到贴片厂贴片。 这种方法要求机顶盒程序要 提前设计好, 写片机价格昂贵, 数量有限, 而且专用 FALAH 烧写适配器引脚比较精密, 使用 次数多了会导致插座与芯片管脚间接触不良。由于程序要提前设计好, 这就对软件设计有 时间限制, 而且不方便更改或者更新程序。
发明内容
本发明的目的在于克服现有技术之不足, 提供一种利用机顶盒对机顶盒进行写片 / 升级的方法, 而不需要用到 PC 机和专用写片设备。 本发明解决其技术问题所采用的技术方案是 : 一种利用机顶盒对机顶盒进行写片 / 升级的方法, 其包括如下步骤 :
A、 预先将机顶盒使用的监控程序和应用程序存储在预先指定的 PC 机中 ;
B、 将预先指定的 PC 机的串口与指定用来作为母机而进行写片的第一机顶盒的串 口通过串口线相连接 ;
C、 利用 PC 机将监控程序和应用程序传输到第一机顶盒中, 并保存在第一机顶盒 的 FLASH 中 ;
D、 将第一机顶盒的串口与作为准备写入程序的第二机顶盒的串口通过串口线相 连接 ;
E、 由第一机顶盒根据先监控程序后应用程序的顺序将监控程序和应用程序传发 送给第二机顶盒 ;
F、 在第一机顶盒的控制下, 第二机顶盒自动完成程序的写片过程。
优选的, 所述的步骤 C 包括如下 :
C1、 由 PC 机的显示界面提供具有多个可供点选的机顶盒型号的选项, 并接受点选 输入 ;
C2、 选择 PC 机的串口, 实现与所述的指定用来作为母机而进行写片的第一机顶盒 的通信连接 ;
C3、 根据步骤 C1 的点选结果, PC 机的 CPU 处理器从预先存储有多套监控程序和应 用程序的存储器中调出与点选输入的机顶盒型号相一致的监控程序和应用程序, 并将该监 控程序和应用程序调至 PC 机的内存 ;
C4、 PC 机的 CPU 处理器自动将调入内存的监控程序和应用程序的数据压缩 ;
C5、 压缩完成后, PC 机的显示界面提供写片的操作选项, 并在该选项被点选时, 将 所述的监控程序和应用程序通过 PC 机与第一机顶盒之间的串口线传输给第一机顶盒, 并
保存在第一机顶盒的 FLASH 中。
优选的, 所述步骤 E 包括如下 :
E1、 第一机顶盒和第二机顶盒分别上电 ;
E2、 第一机顶盒的 CPU 处理器完成对自身 I/O 口初始化 ;
E3、 第一机顶盒的 CPU 处理器对内部定时器 T2 进行初始化处理 ;
E4、 第一机顶盒的 CPU 处理器对自身的串口进行初始化处理 ;
E5、 第一机顶盒的 CPU 处理器对来自第二机顶盒发送的接收命令字字符是否是预 先设定值进行判断, 如果是继续下一步骤, 否则, 继续接收来自第二机顶盒发送的接收命令 字字符 ;
E6、 第一机顶盒的 CPU 处理器将其 FLASH 中的监控程序调出并发送给第二机顶 盒;
E7、 第一机顶盒的 CPU 处理器对来自第二机顶盒发送的接收数据字符是否是指定 的 ID 进行判断, 如果是继续下一步骤, 否则, 继续接收来自第二机顶盒发送的接收数据字 符;
E8、 第二机顶盒开始擦除动作, 第一机顶盒的 LED 显示部分同步显示第二机 顶盒 的擦除动作 ;
E9、 第一机顶盒的 CPU 处理器对第二机顶盒的擦除动作是否完成进行判断, 如果 是继续下一步骤, 否则, 继续同步显示第二机顶盒的擦除动作 ;
E10、 第一机顶盒的 CPU 处理器将其 FLASH 中的应用程序调出并发送给第二机顶 盒; 同时, 第一机顶盒的 LED 显示部分显示已发送的标识 ;
E11、 第一机顶盒的 CPU 处理器在应用程序发送完后, 向第二机顶盒发送数据已发 送完的信息 ;
E12、 第一机顶盒的 CPU 处理器接收第二机顶盒发送的累加和信息 ;
E13、 第一机顶盒的 CPU 处理器对接收的第二机顶盒发送的累加和信息是否正确 进行判断, 如果正确则由第一机顶盒的 LED 显示部分显示写片完成的标识, 如果错误则由 第一机顶盒的 LED 显示部分显示写片错误的标识。
优选的, 所述步骤 F 包括如下 :
F1、 第二机顶盒的 CPU 处理器读取本机的 FLASH 的 ID ;
F2、 第二机顶盒的 CPU 处理器向第一机顶盒发送 ID ;
F3、 第二机顶盒的 CPU 处理器接收第一机顶盒发送的命令字 ;
F4、 第二机顶盒的 CPU 处理器对接收的第二机顶盒发送的命令字字符是否是预先 设定值进行判断, 如果是继续下一步骤, 否则, 继续接收来自第二机顶盒发送的命令字字 符;
F5、 第二机顶盒开始擦除其自身的 FLASH ;
F6、 第二机顶盒在完成擦除其自身的 FLASH 后, 向第一机顶盒发送命令字 ;
F7、 第二机顶盒设定其自身的 FLASH 的首地址 ;
F8、 第二机顶盒开始接收第一机顶盒发送的应用程序的数据 ;
F9、 第二机顶盒的 CPU 处理器对当前接收页内是否为空数据进行判断, 如果是则 将地址页加 1 后返回步骤 F8, 否则, 继续下一步骤 ;F10、 第二机顶盒的 CPU 处理器对当前接收页是否为最后一页进行判断, 如果是则 数据写入完毕, 继续下一步骤, 否则, 写入当前页数据并将地址页加 1 后 返回步骤 F8 ;
F11、 第二机顶盒的 CPU 处理器读取累加和, 并将累加和的值发送给第一机顶盒。
本发明的有益效果是, 由于采用了利用机顶盒来对机顶盒进行写片 / 升级, 而不 需要用到 PC 机和专用写片设备, 节约成本和提高生产效率。用机顶盒做为升级机, 可在出 厂前才写好最后的定版程序, 为生产和软件设计赢得时间, 还可以方便更改为不同程序, 提 高操作的方便性和实用性。
以下结合附图及实施例对本发明作进一步详细说明 ; 但本发明的一种利用机顶盒 对机顶盒进行写片 / 升级的方法不局限于实施例。 附图说明
图 1 是 PC 机对机顶盒烧写监控程序和应用程序流程图 ; 图 2 是第一机顶盒向第二机顶盒写片 / 升级流程图 ; 图 3 是第二机顶盒在第一机顶盒控制下写片 / 升级流程图 ; 图 4 是定时器中断服务子程序流程图 ;具体实施方式
实施例, 本发明的一种利用机顶盒对机顶盒进行写片 / 升级的方法, 包括如下步骤: A、 预先将机顶盒使用的监控程序和应用程序存储在预先指定的 PC 机中 ;
B、 将预先指定的 PC 机的串口与指定用来作为母机而进行写片的第一机顶盒的串 口通过串口线相连接 ;
C、 利用 PC 机将监控程序和应用程序传输到第一机顶盒中, 并保存在第一机顶盒 的 FLASH 中 ;
D、 将第一机顶盒的串口与作为准备写入程序的第二机顶盒的串口通过串口线相 连接 ;
E、 由第一机顶盒根据先监控程序后应用程序的顺序将监控程序和应用程序传发 送给第二机顶盒 ;
F、 在第一机顶盒的控制下, 第二机顶盒自动完成程序的写片过程。
为使本发明的目的, 技术方案和优点更加清楚, 下面结合附图对本发明作进一步 的详细描述。
图 1 为 PC 机对机顶盒烧写监控程序和应用程序流程图, 具体步骤包括如下 :
步骤 C1、 由 PC 机的显示界面提供具有多个可供点选的机顶盒型号的选项, 并接受 点选输入, 通过点选输入, 选择所需要写片 / 升级的机顶盒型号 ( 如图 1 的框 101 所示 ) ;
步骤 C2、 选择 PC 机的串口, 实现 PC 机与所述的指定用来作为母机而进行写片的第 一机顶盒的通信连接 ( 如图 1 的框 102 所示 ) ;
步骤 C3、 根据步骤 C1 的点选结果, PC 机的 CPU 处理器从预先存储有多套监控程序 和应用程序的存储器中调出与点选输入的机顶盒型号相一致的监控程序和应用程序, 并将 该监控程序和应用程序调至 PC 机的内存 ( 如图 1 的框 103 所示 ) ;
步骤 C4、 PC 机的 CPU 处理器自动将调入内存的监控程序和应用程序的数据压缩 ( 如图 1 的框 104 所示 ) ;
步骤 C5、 压缩完成后, PC 机的显示界面提供写片的操作选项, 在操作选项中, 选择 “机对机升级” 选项, 并在该选项被点选时, 将监控程序和应用程序通过 PC 机与第一机顶 盒之间的串口线传输给第一机顶盒, 并保存在第一机顶盒的 FLASH 中 ( 如图 1 的框 105 所 示 )。
完成步骤 C5 后, PC 机的显示界面显示成功计数值, 计数值是指成功写入作为母机 的第一机顶盒的数目 ( 如图 1 的框 106 所示 )。
图 2 是第一机顶盒向第二机顶盒写片 / 升级流程图, 具体步骤包括如下 :
步骤 E1、 第一机顶盒和第二机顶盒分别上电 ;
步骤 E2、 第一机顶盒的 CPU 处理器完成对自身 I/O 口初始化 ( 如图 2 的框 201 所 示);
步骤 E3、 第一机顶盒的 CPU 处理器对内部定时器 T2 进行初始化处理 ( 如图 2 的 框 202 所示 ) ;
步骤 E4、 第一机顶盒的 CPU 处理器对自身的串口进行初始化处理 ( 如图 2 的框 203 所示 ) ; 步骤 E5、 第一机顶盒的 CPU 处理器对来自第二机顶盒发送的接收命令字字符是否 是预先设定值进行判断, 如果是继续下一步骤, 否则, 继续接收来自第二机顶盒发送的接收 命令字字符 ( 如图 2 的框 204 所示 ) ;
步骤 E6、 第一机顶盒的 CPU 处理器将其 FLASH 中的监控程序调出并发送给第二机 顶盒 ( 如图 2 的框 205 所示 ) ;
步骤 E7、 第一机顶盒的 CPU 处理器对来自第二机顶盒发送的接收数据字符是否是 指定的 ID 进行判断, 如果是继续下一步骤, 否则, 继续接收来自第二机顶盒发送的接收数 据字符 ( 如图 2 的框 206 所示 ) ;
步骤 E8、 第二机顶盒开始擦除动作, 第一机顶盒的 LED 显示部分同步显示标识 “E” , 表示第二机顶盒开始执行擦除动作 ( 如图 2 的框 207 所示 ) ;
步骤 E9、 第一机顶盒的 CPU 处理器对第二机顶盒的擦除动作是否完成进行判断, 如果是继续下一步骤, 否则, 继续同步显示第二机顶盒的擦除动作 ( 如图 2 的框 208 所示 ) ;
步骤 E10、 第一机顶盒的 CPU 处理器将其 FLASH 中的应用程序调出并发送给第二机 顶盒 ; 同时, 第一机顶盒的 LED 显示部分显示标识 “P” , 表示第一机顶盒的 CPU 处理器将应 用程序已发送给第二机顶盒 ( 如图 2 的框 209 所示 ) ;
步骤 E11、 第一机顶盒的 CPU 处理器在应用程序发送完后, 向第二机顶盒发送数据 已发送完的信息 ( 如图 2 的框 210 所示 ) ;
步骤 E12、 第一机顶盒的 CPU 处理器接收第二机顶盒发送的累加和信息 ( 如图 2 的 框 211 所示 ) ;
步骤 E13、 第一机顶盒的 CPU 处理器对接收的第二机顶盒发送的累加和信息是否 正确进行判断, 如果错误则由第一机顶盒的 LED 显示部分显示标识 “E” , 表示写片错误, 如 果正确则由第一机顶盒的 LED 显示部分显示标识 “---” , 表示写 片完成 ( 如图 2 的框 212、 框 213 及框 214 所示 )。
图 3 是第二机顶盒在第一机顶盒控制下写片 / 升级流程图, 具体步骤包括如下 : 步骤 F1、 第二机顶盒的 CPU 处理器读取本机的 FLASH 的 ID( 如图 3 的框 301 所 步骤 F2、 第二机顶盒的 CPU 处理器向第一机顶盒发送 ID( 如图 3 的框 302 所示 ) ; 步骤 F3、 第二机顶盒的 CPU 处理器接收第一机顶盒发送的命令字 ( 如图 3 的框 303示);
所示 ) ; 步骤 F4、 第二机顶盒的 CPU 处理器对接收的第二机顶盒发送的命令字字符是否是 预先设定值进行判断, 如果是继续下一步骤, 否则, 继续接收来自第二机顶盒发送的命令字 字符 ( 如图 3 的框 304 所示 ) ;
步骤 F5、 第二机顶盒开始擦除其自身的 FLASH( 如图 3 的框 305 所示 ) ;
步骤 F6、 第二机顶盒在完成擦除其自身的 FLASH 后, 向第一机顶盒发送命令字 ( 如 图 3 的框 306 所示 ) ;
步骤 F7、 第二机顶盒设定其自身的 FLASH 的首地址 ( 如图 3 的框 307 所示 ) ;
步骤 F8、 第二机顶盒开始接收第一机顶盒发送的应用程序的数据 ;
步骤 F9、 第二机顶盒的 CPU 处理器对当前接收页内是否为空数据进行判断, 如果 是则将地址页加 1 后返回步骤 F8, 否则, 继续下一步骤 ( 如图 3 的框 308 所示 ) ;
步骤 F10、 第二机顶盒的 CPU 处理器对当前接收页是否为最后一页进行判断, 如 果是则数据写入完毕, 继续下一步骤, 否则, 写入当前页数据并将地址页加 1 后返回步骤 F8( 如图 3 的框 309 所示 ) ;
步骤 F11、 第二机顶盒的 CPU 处理器读取累加和, 并将累加和的值发送给第一机顶 盒 ( 如图 3 的框 310 所示 )。
图 4 是定时器中断服务子程序流程图, 具体步骤包括如下 :
步骤 G1、 第一机顶盒的 CPU 处理器关闭所有 LED 位码 ( 如图 4 的框 401 所示 )。
步骤 G2、 第一机顶盒的 CPU 处理器发送 LED 段码 ( 如图 4 的框 402 所示 )。
步骤 G3、 第一机顶盒的 CPU 处理器发送 LED 位码 ( 如图 4 的框 403 所示 )。
步骤 G4、 第一机顶盒的 CPU 处理器执行写片时间的显示 ( 如图 4 的框 404 所示 )。
上述实施例仅用来进一步说明本发明的一种利用机顶盒对机顶盒进行写片 / 升 级的方法, 但本发明并不局限于实施例, 凡是依据本发明的技术实质对以上实施例所作的 任何简单修改、 等同变化与修饰, 均落入本发明技术方案的保护范围内。