《一种获取嵌入式软件版本信息的方法.pdf》由会员分享,可在线阅读,更多相关《一种获取嵌入式软件版本信息的方法.pdf(8页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103019932 A (43)申请公布日 2013.04.03 CN 103019932 A *CN103019932A* (21)申请号 201210488667.1 (22)申请日 2012.11.26 G06F 11/36(2006.01) (71)申请人 山东省科学院自动化研究所 地址 250014 山东省济南市历下区科院路 19 号 (72)发明人 马建辉 王知学 刘源杨 王岗 (74)专利代理机构 济南圣达知识产权代理有限 公司 37221 代理人 张勇 (54) 发明名称 一种获取嵌入式软件版本信息的方法 (57) 摘要 本发明公开了一种获取嵌入式软件。
2、版本信息 的方法, 首先设计电路实现按键检测和 LED 驱动 复用IO脚, 当IO脚为输入方向时, 通过IO状态的 读取可以检测按键的按下和弹起状态, 当 IO 脚为 输出方向时, 可以设置高低电平实现 LED 的亮灭 控制。 具体应用时, 首先设置IO脚为输入方向, 周 期检测按键操作, 检测到有效的按键按下操作后, 当按键弹起时将 IO 脚设置为输出方向, 以 PWM 的 方式驱动 LED, 通过不同的闪烁频率、 间歇时间和 闪烁次数进行软件版本的显示, 显示完成后再次 设置IO脚为输入方向。 本发明通过MCU的单个IO 管脚及简单的软件程序便实现嵌入式软件版本信 息的读取, 占用软硬件资。
3、源很少 ; 通过按键的方 式触发读取软件版本信息操作, 避免了复杂的诊 断协议和诊断接口。 (51)Int.Cl. 权利要求书 1 页 说明书 4 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 4 页 附图 2 页 1/1 页 2 1. 一种获取嵌入式软件版本信息的方法, 其特征是, 首先利用按键、 LED、 限流电阻 R1 和上拉电阻 R2 四个元件搭建电路, 然后设置 IO 脚为输入方向, 周期检测按键操作, 检测到 有效的按键按下操作后, 当按键弹起时将 IO 脚设置为输出方向, 以 PWM 的方式驱动 LED, 通 过不同的闪。
4、烁频率、 间歇时间和闪烁次数进行软件版本的显示, 显示完成后再次设置 IO 脚 为输入方向。 2. 一种获取嵌入式软件版本信息的方法, 其特征是, 具体步骤为 : 步骤一 : 连接硬件电路 : 电阻 R2 和 LED 灯并联之后一端与电阻 R1 和按键连接, 按键与 电源连接, 电阻 R1 接地, 电阻 R2 和 LED 灯并联之后另一端与 IO 脚连接 ; 步骤二 : 设置 IO 脚输入方向, 启动定时采样周期 ; 步骤三 : 采样周期定时到达后, 读取 IO 状态, 如果 IO 状态为 1, 进入步骤四, 否则不进 行任何操作 ; 步骤四 : 判断三次采样周期读取到的 IO 状态是否全为 。
5、1, 如果是, 进入步骤五, 否则进 入步骤三 ; 步骤五 : 采样周期定时到达, 读取 IO 状态, 如果 IO 状态为 0, 进入步骤六, 否则不进行 任何操作 ; 步骤六 : 停止采样周期定时, 设置 IO 脚为输出方向, 根据版本号常量与 x 和 y 的关系, 计算 x 和 y, 进入步骤七 ; 步骤七 : 以一定的 PWM 形式输出 x 个周期的方波脉冲, 进入步骤八 ; 步骤八 : 设置 IO 状态为 0, 启动 3s 间歇定时, 定时到达后进入步骤九 ; 步骤九 : 以一定的 PWM 形式输出 y 个周期的方波脉冲, 进入步骤十 ; 步骤十 : 设置 IO 状态为 0, 返回步骤。
6、二。 3. 如权利要求 2 所述一种获取嵌入式软件版本信息的方法, 其特征是, 所述步骤二中 的采样周期为 20ms。 4. 如权利要求 2 所述一种获取嵌入式软件版本信息的方法, 其特征是, 所述版本常量 与 x 和 y 的关系为 : x=VERSION/10 和 y=VERSION%10。 5. 如权利要求 2 所述一种获取嵌入式软件版本信息的方法, 其特征是, 所述步骤七 中 PWM 的频率为 2Hz、 占空比为 50%。 6. 如权利要求 2 所述一种获取嵌入式软件版本信息的方法, 其特征是, 所述步骤九中 PWM 的频率为 1Hz、 占空比为 50%。 权 利 要 求 书 CN 10。
7、3019932 A 2 1/4 页 3 一种获取嵌入式软件版本信息的方法 技术领域 0001 本发明涉及嵌入式系统技术领域, 尤其涉及一种获取嵌入式软件版本信息的方 法。 背景技术 0002 在嵌入式软件的开发阶段, 需要经过多次设计迭代并进行充分测试以提高软件可 靠性和完善产品性能。采用软件版本的形式对设计过程建立里程碑, 以版本标号的形式对 各个软件版本进行标识和区分, 然后在计算机上以文档管理的形式或者通过专业的版本控 制工具对各个版本软件的源代码及其二进制文件进行整理及控制是一种有效的软件开发 管理方式并已被广泛采用。在开发过程中, 为了提高设计效率, 开发和测试并行进行, 为了 测试。
8、缺陷、 查找缺陷原因或定位缺陷的引入时间, 可能需要对不同版本的软件进行测试。 当 测试出某个缺陷后, 需要定位当前运行软件的版本号进行进一步分析, 由于硬件版本的相 对固定性, 无法通过检查硬件电路的手段来判断当前运行软件的版本, 如果软件本身包含 版本信息, 通过一种手段从软件中获得版本信息, 便可以解决上述问题。 0003 中 国 发 明 专 利 : 一 种 在 嵌 入 式 软 件 中 记 录 版 本 信 息 的 方 法 (申 请 号 : 200710074006.3) , 提供了一种分析代码二进制文件读取软件版本信息的方法, 在代码二进 制文件的固定地址处存储版本信息, 读取版本信息时。
9、, 根据代码二进制文件的格式查找出 文件中存储版本信息的位置, 从而读取版本信息, 这种方式需要分析者有权限读取代码二 进制文件, 并且由于需要根据文件类型及格式进行文件分析, 所以需要比较专业的知识和 工具, 效率也比较低, 本发明采用预留的 MCU IO 管脚进行软件版本的获取, 通过在单个 IO 管脚上实现按键检测与 LED 驱动的复用, 按键触发嵌入式设备输出当前软件版本信息, 设 备以特定方式 LED 脉冲闪烁的表现形式输出版本信息。这种方式避免了对代码二进制文件 的专业分析和数据查找, 可以高效直观得在测试现场获取版本信息, 而且因为其简单易实 现、 占用资源少, 在嵌入式设备领域。
10、具有广泛的适用性。 发明内容 0004 本发明的目的就是为了解决上述问题, 提供一种获取嵌入式软件版本信息的方 法, 它具有简单易实现、 占用资源少的优点。 0005 为了实现上述目的, 本发明采用如下技术方案 : 0006 一种获取嵌入式软件版本信息的方法, 首先利用按键、 LED、 限流电阻 R1 和上拉电 阻 R2 四个元件搭建电路, 然后设置 IO 脚为输入方向, 周期检测按键操作, 检测到有效的按 键按下操作后, 当按键弹起时将 IO 脚设置为输出方向, 以 PWM 的方式驱动 LED, 通过不同的 闪烁频率、 间歇时间和闪烁次数进行软件版本的显示, 显示完成后再次设置 IO 脚为输。
11、入方 向。 0007 一种获取嵌入式软件版本信息的方法, 具体步骤为 : 0008 步骤一 : 连接硬件电路 : 电阻 R2 和 LED 灯并联之后一端与电阻 R1 和按键连接, 按 说 明 书 CN 103019932 A 3 2/4 页 4 键与电源连接, 电阻 R1 接地, 电阻 R2 和 LED 灯并联之后另一端与 IO 脚连接 ; 0009 步骤二 : 设置 IO 脚为输入方向, 启动定时采样周期 ; 0010 步骤三 : 采样周期定时到达后, 读取 IO 状态, 如果 IO 状态为 1, 进入步骤四, 否则 不进行任何操作 ; 0011 步骤四 : 判断三次采样周期读取到的 IO 。
12、状态是否全为 1, 如果是, 进入步骤五, 否 则进入步骤三 ; 0012 步骤五 : 采样周期定时到达, 读取 IO 状态, 如果 IO 状态为 0, 进入步骤六, 否则不 进行任何操作 ; 0013 步骤六 : 停止采样周期定时, 设置IO脚为输出方向, 根据版本号常量VERSION和公 式 x=VERSION/10 和 y=VERSION 10 计算 x 和 y, 进入步骤七 ; 0014 步骤七 : 以频率为 2Hz、 占空比为 50的 PWM 形式输出 x 个周期的方波脉冲, 进入 步骤八 ; 0015 步骤八 : 设置 IO 状态为 0, 启动 3s 间歇定时, 定时到达后进入步骤。
13、九 ; 0016 步骤九 : 以频率为 1Hz、 占空比为 50的 PWM 形式输出 y 个周期的方波脉冲, 进入 步骤十 ; 0017 步骤十 : 设置 IO 状态为 0, 返回步骤二。 0018 设计电路实现按键检测和 LED 驱动复用 IO 脚, 当 IO 脚为输入方向时, 通过 IO 状 态的读取可以检测按键的按下和弹起状态, 当 IO 脚为输出方向时, 可以设置高低电平实现 LED 的亮灭控制。具体应用时, 首先设置 IO 脚为输入方向, 周期检测按键操作, 检测到有效 的按键按下操作后, 当按键弹起时将 IO 脚设置为输出方向, 以 PWM 的方式驱动 LED, 通过不 同的闪烁频。
14、率、 间歇时间和闪烁次数进行软件版本的显示, 显示完成后再次设置 IO 脚为输 入方向。 0019 软件版本标号采用带小数点的浮点数形式, 格式为 x.y, x 和 y 的取值区间为 0, 9, 共计可包含 0.1-9.9 的 99 个版本, 由于浮点数运算存在误差, 在每次软件定版时, 在软 件程序中以一个 1-99 的整型常量 VERSION 来表示版本号, VERSION=(x.y)*10, 从版本号常 量 VERSION 中提取 x 和 y 的计算公式如下 : 0020 x=VERSION/10 (1-1) 0021 y=VERSION 10 (1-2) 0022 x 等于版本号常量除。
15、以 10 的模, y 等于版本号常量除以 10 的余数。 0023 硬件电路包括按键、 LED、 限流电阻 R1 和上拉电阻 R2 四个元件。IO 脚设置为输入 方向时, 按键按下, 限流电阻 R1 端电压为 VCC, LED 截止处于熄灭状态, 由于上拉电阻 R2 的 作用, IO 脚电平为高, 状态值为 1, 当按键弹起, 限流电阻 R1 端电压为 0, LED 截止, IO 脚电 平为低, 状态值为0。 IO设置为输出方向时, 在按键处于弹起状态的条件下, IO电平为高时, LED 导通点亮, IO 电平为低时, LED 截止熄灭, 当按键按下时, LED 截止熄灭。可选择红、 黄、 蓝。
16、不同颜色的LED, 不同颜色LED的导通电压不同, 决定所使用的限流电阻R1的阻值也不相 同, 同时调整限流电阻 R1 阻值, 可以调节 LED 灯的亮度。该电路可以在嵌入式设备上直接 实现, 也可以通过嵌入式设备的预留端口在设备外部实现。 0024 本发明的有益效果 : 0025 1通过 MCU 的单个 IO 管脚及简单的软件程序便可以实现嵌入式软件版本信息的 说 明 书 CN 103019932 A 4 3/4 页 5 读取, 占用软硬件资源很少 ; 0026 2 通过按键的方式触发读取软件版本信息操作, 避免了复杂的诊断协议和诊断接 口 ; 0027 3通过 LED 脉冲闪烁的方式输出软。
17、件版本信息, 直观方便 ; 0028 4电路设计和程序设计简单, 可以方便地在不同的嵌入式设备上实现, 具有广泛 的适用性 ; 附图说明 0029 图 1 为本发明的硬件电路图 ; 0030 图 2 为本发明方法的软件设计流程图。 具体实施方式 0031 下面结合附图与实施例对本发明作进一步说明。 0032 如图 2 所示, 一种获取嵌入式软件版本信息的方法, 具体步骤为 : 0033 步骤一 : 连接硬件电路 : 电阻 R2 和 LED 灯并联之后一端与电阻 R1 和按键连接, 按 键与电源连接, 电阻 R1 接地, 电阻 R2 和 LED 灯并联之后另一端与 IO 脚连接 ; 0034 步。
18、骤二 : 设置 IO 脚输入方向, 启动定时采样周期 ; 0035 步骤三 : 采样周期定时到达后, 读取 IO 状态, 如果 IO 状态为 1, 进入步骤四, 否则 不进行任何操作 ; 0036 步骤四 : 判断三次采样周期读取到的 IO 状态是否全为 1, 如果是, 进入步骤五, 否 则进入步骤三 ; 0037 步骤五 : 采样周期定时到达, 读取 IO 状态, 如果 IO 状态为 0, 进入步骤六, 否则不 进行任何操作 ; 0038 步骤六 : 停止采样周期定时, 设置IO脚为输出方向, 根据版本号常量VERSION和公 式 x=VERSION/10 和 y=VERSION 10 计算。
19、 x 和 y, 进入步骤七 ; 0039 步骤七 : 以频率为 2Hz、 占空比为 50的 PWM 形式输出 x 个周期的方波脉冲, 进入 步骤八 ; 0040 步骤八 : 设置 IO 状态为 0, 启动 3s 间歇定时, 定时到达后进入步骤九 ; 0041 步骤九 : 以频率为 1Hz、 占空比为 50的 PWM 形式输出 y 个周期的方波脉冲, 进入 步骤十 ; 0042 步骤十 : 设置 IO 状态为 0, 返回步骤二。 0043 设计电路实现按键检测和 LED 驱动复用 IO 脚, 当 IO 脚为输入方向时, 通过 IO 状 态的读取可以检测按键的按下和弹起状态, 当 IO 脚为输出方。
20、向时, 可以设置高低电平实现 LED 的亮灭控制。具体应用时, 首先设置 IO 脚为输入方向, 周期检测按键操作, 检测到有效 的按键按下操作后, 当按键弹起时将 IO 脚设置为输出方向, 以 PWM 的方式驱动 LED, 通过不 同的闪烁频率、 间歇时间和闪烁次数进行软件版本的显示, 显示完成后再次设置 IO 脚为输 入方向。 0044 软件版本标号采用带小数点的浮点数形式, 格式为 x.y, x 和 y 的取值区间为 0, 9, 共计可包含 0.1-9.9 的 99 个版本, 由于浮点数运算存在误差, 在每次软件定版时, 在软 说 明 书 CN 103019932 A 5 4/4 页 6 。
21、件程序中以一个 1-99 的整型常量 VERSION 来表示版本号, VERSION=(x.y)*10, 从版本号常 量 VERSION 中提取 x 和 y 的计算公式如下 : 0045 x=VERSION/10 (1-1) 0046 y=VERSION 10 (1-2) 0047 x 等于版本号常量除以 10 的模, y 等于版本号常量除以 10 的余数。 0048 如图 1 所示, 硬件电路包括按键、 LED、 限流电阻 R1 和上拉电阻 R2 四个元件。IO 脚设置为输入方向时, 按键按下, 限流电阻 R1 端电压为 VCC, LED 截止处于熄灭状态, 由于 上拉电阻 R2 的作用, 。
22、IO 脚电平为高, 状态值为 1, 当按键弹起, 限流电阻 R1 端电压为 0, LED 截止, IO 脚电平为低, 状态值为 0。IO 设置为输出方向时, 在按键处于弹起状态的条件下, IO 电平为高时, LED 导通点亮, IO 电平为低时, LED 截止熄灭, 当按键按下时, LED 截止熄灭。 可选择红、 黄、 蓝不同颜色的LED, 不同颜色LED的导通电压不同, 决定所使用的限流电阻R1 的阻值也不相同, 同时调整限流电阻 R1 阻值, 可以调节 LED 灯的亮度。该电路可以在嵌入 式设备上直接实现, 也可以通过嵌入式设备的预留端口在设备外部实现。 0049 上述虽然结合附图对本发明的具体实施方式进行了描述, 但并非对本发明保护范 围的限制, 所属领域技术人员应该明白, 在本发明的技术方案的基础上, 本领域技术人员不 需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。 说 明 书 CN 103019932 A 6 1/2 页 7 图 1 说 明 书 附 图 CN 103019932 A 7 2/2 页 8 图 2 说 明 书 附 图 CN 103019932 A 8 。