芯片软件系统中实现内核程序自动实时生成的系统及方法

文档序号:6442410阅读:226来源:国知局
专利名称:芯片软件系统中实现内核程序自动实时生成的系统及方法
技术领域
本发明涉及芯片开发领域,特别涉及芯片软件系统程序生成技术领域,具体是指一种芯片软件系统中实现内核程序自动实时生成的系统及方法。
背景技术
目前,芯片方案开发只能在已有的开发环境中比如VC6.0或者芯片公司自己研发的仿真器中,方案开发者需要经过新建工程、源文件、头文件、用C语言或者汇编语言编写代码,经过编译、链接、调试等等步骤并保证一切正确之后才可以生成正确烧写目标文件。具体到用户使用CS53P87芯片进行遥控器方案开发时,需要根据不同的遥控器码型、晶振频率、是否使能接地键\LED灯、是否内置三极管等等特性建立不同的工程,源\头文件,编写不同的汇编代码,调试代码。据估算,完整的进行芯片方案开发会涉及几百种情况。如果用户需要针对个别按键或者个别模块进行单独测试,那方案开发的数量就无法无算。但是为了保证烧录进芯片里的程序能够正确工作,开发者就需要进行面面俱到的测试。因此用户在方案测试之前就需要进行数量庞大,开发周期长的方案开发工作,给测试带来很多不便。如何避免方案开发周期长、汇编程序调试复杂、方案多样、效率低、调试周期长等等问题就成了摆在内核程序开发者面前亟待解决的问题。现在的PC越来越普及,网络越来越发达,网络中毒案例也频频发生。如果用户拿到该内核工具而自身PC又存在安全风险就会造成该内核工具泄露,无授权传播。同时,对于某些用户,如果该用户与公司只是短期合作关系,公司出于长远考虑,并不能让此类用户无限制使用该内核工具。

发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够实现用户可以自己定制内核文件且即用即生成、优化方案开发过程、大大缩短方案开发周期、减少软件非法使用的风险、工作性能稳定可靠、适用范围较为广泛的芯片软件系统中实现内核程序自动实时生成的系统及方法。为了实现上述的目的,本发明的芯片软件系统中实现内核程序自动实时生成的系统及方法如下:该芯片软件系统中实现内核程序自动实时生成的系统,其主要特点是,所述的系统包括应用程序控制模块、USB密钥控制管理模块和用户交互管理模块,所述的应用程序控制模块与所述的USB密钥控制管理模块和用户交互管理模块均相连接。该芯片软件系统中实现内核程序自动实时生成的系统中的应用程序控制模块包括模版加载功能单元和文件输出功能单元,所述的用户管理模块依次通过所述的模版加载功能单元和文件输出功能单元与所述的USB密钥控制管理模块相连接。该芯片软件系统中实现内核程序自动实时生成的系统中的USB密钥控制管理模块包括USB通信控制单元和主控单元,所述的主控单元通过所述的USB通信控制单元与所述的应用程序控制模块相连接。该芯片软件系统中实现内核程序自动实时生成的系统中的主控单元为CS16F505
-H-* I I
心/T O该芯片软件系统中实现内核程序自动实时生成的系统中的USB通信控制单元为PDIUSBD12 USB 接口 芯片。该芯片软件系统中实现内核程序自动实时生成的系统中的用户交互管理模块包括功能信息选择单元和键值信息输入单元,所述的功能信息选择单元和键值信息输入单元均与所述的应用程序控制模块相连接。该基于上述的系统实现芯片软件系统中内核程序自动实时生成的方法,其主要特点是,所述的方法包括以下步骤:(I)系统进行初始化操作;(2)系统进行软件模版文件的生成处理;(3)系统进行USB密钥校验判断处理;(4)如果校验通过,则系统根据用户的输入信息,进行内核程序实时生成处理;否贝U,结束整个处理过程。该实现芯片软件系统中内核程序自动实时生成的方法中的进行软件模版文件的生成处理,包括以下步骤:(21)系统接收到外部输入的以遥控器键盘、红外发码模块、电源等为整体系统的遥控方案的原理图;(22)系统在芯片软件编译环境下建立新的工程;(23)系统完成以少量I/O 口实现多个按键的准确扫描与定位,并通过软件寄存器配置实现各种不同的硬件结构下的系统功能;(24)系统根据用户的操作,进行代码调试与系统整机测试;(25)系统生成模板文件,并通过修改指定地址下的数据更改预设硬件条件下遥控方案的用户码与数据码;(26)系统判断功能是否符合特定红外协议,且性能是否达到国家标准;(27)如果否,则返回步骤(24);如果是,则模版文件生成完毕。该实现芯片软件系统中内核程序自动实时生成的方法中的模版文件为tsk格式的二进制固化模板。该实现芯片软件系统中内核程序自动实时生成的方法中的系统进行USB密钥校验判断处理,包括以下步骤:(31)所述的应用程序控制模块进行初始化操作;(32)如果初始化失败,则不启动应用程序控制t旲块而直接退出;如果初始化成功,则系统检测是否找到USB密钥控制管理模块;(33)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断是否能够打开USB密钥设备;(34)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断发送PC系统时间是否成功;
(35)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断是否继续使用;(36)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断解密是否成功;(37)如果否,则不启动应用程序控制模块而直接退出;如果是,则启动应用程序控制I吴块。该实现芯片软件系统中内核程序自动实时生成的方法中的根据用户的输入信息进行内核程序实时生成处理,包括以下步骤:(41)系统判断用户选择功能信息是否成功;(42)如果否,则报错并退出;如果是,则寻找相应的模版文件;(43)如果未找到模版文件,则报错并退出;如果找到模版文件,则进行模版文件载入;(44)如果模版载入错误,则报错并退出;如果模版载入正确,则判断是否开放了数据输入;(45)如果否,则报错并退出;如果是,则判断用户是否输入数据;(46)如果否,则报错并退出;如果是,则系统读取相应的输入数据信息并处理;(47)如果未成功读取输入数据并处理,则报错并退出;如果成功读取输入数据并处理,则进行内核文件生成和输出;(48)如果未成功生成和输出内核文件,则报错并退出;如果成功生成和输出内核文件,则结束。采用了该发明的芯片软件系统中实现内核程序自动实时生成的系统及方法,由于其中可以与用户进行交互,且能够采集用户修改的数据进行处理,自动生成用户所需要的内核文件,并且即用即生成,大大优化了方案开发过程,同时可以完全可以脱离编译器,不需要进行繁琐的方案开发,在一定程度上避免了软件被非正常途径传播的风险,在战略方面,避免了短期客户的长期无限制使用工具的风险,从而大大缩短了方案开发周期,而且用户可以根据自身所需即用即生成内核文件,而且由于采用USB密钥启动,也减少了软件被泄露或者无授权传播造成的无限次使用的风险,工作性能稳定可靠、适用范围较为广泛。


图1为本发明的芯片软件系统中实现内核程序自动实时生成的系统整体架构示意图。图2a、2b为本发明的芯片软件系统中实现内核程序自动实时生成的系统中芯片内部硬件电路原理图。图3为本发明的实现芯片软件系统中内核程序自动实时生成的方法中进行软件模版文件的生成处理的流程图。图4为本发明的实现芯片软件系统中内核程序自动实时生成的方法中的用户界面示意图。图5为本发明的实现芯片软件系统中内核程序自动实时生成的方法中的进行USB密钥校验判断处理流程图。
图6为本发明的实现芯片软件系统中内核程序自动实时生成的方法中的根据用户的输入信息进行内核程序实时生成处理流程图。
具体实施例方式为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。请参阅图1、图2a和2b所示,该芯片软件系统中实现内核程序自动实时生成的系统,其总,所述的系统包括应用程序控制模块、USB密钥控制管理模块和用户交互管理模块,所述的应用程序控制模块与所述的USB密钥控制管理模块和用户交互管理模块均相连接。其中,所述的应用程序控制模块包括模版加载功能单元和文件输出功能单元,所述的用户管理模块依次通过所述的模版加载功能单元和文件输出功能单元与所述的USB密钥控制管理模块相连接。同时,所述的USB密钥控制管理模块包括USB通信控制单元和主控单元,所述的主控单元通过所述的USB通信控制单元与所述的应用程序控制模块相连接,所述的主控单元为CS16F505芯片,所述的USB通信控制单元为PDIUSBD12 USB接口芯片。不仅如此,该芯片软件系统中实现内核程序自动实时生成的系统中的用户交互管理模块包括功能信息选择单元和键值信息输入单元,所述的功能信息选择单元和键值信息输入单元均与所述的应用程序控制模块相连接。再请参阅图3至图6所示,该基于上述的系统实现芯片软件系统中内核程序自动实时生成的方法,其中包括以下步骤:(I)系统进行初始化操作;(2)系统进行软件模版文件的生成处理,包括以下步骤:(a)系统接收到外部输入的以遥控器键盘、红外发码模块、电源等为整体系统的遥控方案的原理图;(b)系统在芯片软件编译环境下建立新的工程;(c)系统完成以少量I/O 口实现多个按键的准确扫描与定位,并通过软件寄存器配置实现各种不同的硬件结构下的系统功能;(d)系统根据用户的操作,进行代码调试与系统整机测试;(e)系统生成模板文件,并通过修改指定地址下的数据更改预设硬件条件下遥控方案的用户码与数据码;该模版文件为tsk格式的二进制固化模板;(f)系统判断功能是否符合特定红外协议,且性能是否达到国家标准;(g)如果否,则返回步骤⑷;如果是,则模版文件生成完毕;(3)系统进行USB密钥校验判断处理,包括以下步骤:(a)所述的应用程序控制模块进行初始化操作;(b)如果初始化失败,则不启动应用程序控制t旲块而直接退出;如果初始化成功,则系统检测是否找到USB密钥控制管理模块;(c)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断是否能够打开USB密钥设备;(d)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断发送PC系统时间是否成功;
(e)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断是否继续使用;(f)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断解密是否成功;(g)如果否,则不启动应用程序控制模块而直接退出;如果是,则启动应用程序控制丰旲块;(4)如果校验通过,则系统根据用户的输入信息,进行内核程序实时生成处理;否贝U,结束整个处理过程,包括以下步骤:(a)系统判断用户选择功能信息是否成功;(b)如果否,则报错并退出;如果是,则寻找相应的模版文件;(C)如果未找到模版文件,则报错并退出;如果找到模版文件,则进行模版文件载A ;(d)如果模版载入错误,则报错并退出;如果模版载入正确,则判断是否开放了数据输入;(e)如果否,则报错并退出;如果是,则判断用户是否输入数据;(f)如果否,则报错并退出;如果是,则系统读取相应的输入数据信息并处理;(g)如果未成功读取输入数据并处理,则报错并退出;如果成功读取输入数据并处理,则进行内核文件生成和输出;(h)如果未成功生成和输出内核文件,则报错并退出;如果成功生成和输出内核文件,则结束。在实际使用当中,利用本发明的方法进行项目开发主要分三个阶段:模板文件开发,应用程序开发,USB密钥开发。(I)模板开发阶段:针对CS53P87芯片特性,提取方案开发的共性,初始化开放给用户的内容,在矽科的仿真器中,利用汇编语言编写代码,编译连接产生模板文件。(2)应用程序开发:使用VC6.0开发环境,搭建基于对话框应用程序主框架。在框架中设立与用户交互的功能界面、用于采集用户输入数据界面。用户需要在功能界面勾选所需要的功能,在数据界面填出想要的键值数据,应用程序即可生成用户自己定制的内核文件。(3)USB密钥开发:为了避免没有经过授权的用户擅自使用该工具,或者该工具被无限传播,制作了 USB密钥,联合该工具使用。USB密钥开发分两个阶段:USB密钥硬件开发,USB密钥与上位机通讯模块。USB密钥硬件开发使用无锡华润矽科微电子有限公司的芯片一CS16F505芯片做为主控芯片,使用Philips公司的USB接口芯片一PDIUSBD12芯片实现USB通信功能。对于模板开发,所有模板都基于一款四位MCU的红外遥控发射电路进行开发,该电路内置Ik 8bit OTP ROM,发射码由软件编程所得、载波频率及占空比可调,可选内置三极管/外置三极管驱动电路,无须外接元件最多可以实现78个按键。主要应用于TV、DVD、音响等特殊功能遥控场合等家电中。针对不同方案的不同硬件配置(包括:遥控器码型、晶振频率、是否使能接地键\LED灯、是否内置三极管),在矽科的仿真器中,利用汇编语言编写代码,开发相应的方案,调试并最终生成该方案对应的二进制tsk烧录文件,作为该硬件配置方案下的模板文件。每一个模板的红外用户码与每一个按键对应的键码值都储存在ROM区对应的地址内,所以只需要更改对应地址下的数据,就可更改红外用户码与键码值。典型硬件原理图请参阅图2a和2b所示。模板开发完成后,会将程序烧录至硬封电路,实装于遥控器整机进行系统测试。确保整机功能正常,性能能够达到国家标准。开发流程图请参阅图3所示。接下来是应用程序开发,USB密钥为免驱方式与PC连接,应用程序与USB密钥通讯方式采用HID通信协议。使用微软开发工具VC++6.0进行应用程序开发工具。利用MFC自带的AppWizard建立基于对话框的应用程序框架。在该对话框上设计并绘制与用户交互的界面,界面主要分两个部分(见系统组成图)一功能选择部分,键值输入部分。应用程序收集用户数据根据MFC消息映射原理,添加消息映射函数。消息映射函数主要实现以下功能:存储用户的功能选择;寻找并载入模板;收集用户的键值信息;数据处理输出到用户指定文件。相应的软件界面请参阅图4所示,其中,软件界面说明如下:界面左上部分为给用户进行选择的功能选项,右边梯田形状的部分为开放给用户的用于用户填充键值的输入界面。用户经过功能选择、载入模板和数据输入(可以不输入数据),点选“确定”按钮,即可以生成用户想要的内核文件了。应用程序内部与USB密钥交互,与用户交互流程以图表的形式请参阅图5和图6所示。对于USB密钥开发,USB密钥包括USB通信模块和主控模块,USB通信模块实现HID设备通讯,与主机之间通过8字节的自定义格式报告进行数据交换。下行数据为主机当前系统时钟,经过主控模块处理后,产生解密数据上传到主机,由主机进行判断是否启动应用程序。采用了上述的芯片软件系统中实现内核程序自动实时生成的系统及方法,由于其中可以与用户进行交互,且能够采集用户修改的数据进行处理,自动生成用户所需要的内核文件,并且即用即生成,大大优化了方案开发过程,同时可以完全可以脱离编译器,不需要进行繁琐的方案开发,在一定程度上避免了软件被非正常途径传播的风险,在战略方面,避免了短期客户的长期无限制使用工具的风险,从而大大缩短了方案开发周期,而且用户可以根据自身所需即用即生成内核文件,而且由于采用USB密钥启动,也减少了软件被泄露或者无授权传播造成的无限次使用的风险,工作性能稳定可靠、适用范围较为广泛。在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
权利要求
1.一种芯片软件系统中实现内核程序自动实时生成的系统,其特征在于,所述的系统包括应用程序控制模块、USB密钥控制管理模块和用户交互管理模块,所述的应用程序控制模块与所述的USB密钥控制管理模块和用户交互管理模块均相连接。
2.根据权利要求1所述的芯片软件系统中实现内核程序自动实时生成的系统,其特征在于,所述的应用程序控制模块包括模版加载功能单元和文件输出功能单元,所述的用户管理模块依次通过所述的模版加载功能单元和文件输出功能单元与所述的USB密钥控制管理模块相连接。
3.根据权利要求1所述的芯片软件系统中实现内核程序自动实时生成的系统,其特征在于,所述的USB密钥控制管理模块包括USB通信控制单元和主控单元,所述的主控单元通过所述的USB通信控制单元与所述的应用程序控制模块相连接。
4.根据权利要求3所述的芯片软件系统中实现内核程序自动实时生成的系统,其特征在于,所述的主控单元为CS16F505芯片。
5.根据权利要求3所述的芯片软件系统中实现内核程序自动实时生成的系统,其特征在于,所述的USB通信控制单元为PDIUSBD12 USB接口芯片。
6.根据权利要求1所述的芯片软件系统中实现内核程序自动实时生成的系统,其特征在于,所述的用户交互管理模块包括功能信息选择单元和键值信息输入单元,所述的功能信息选择单元和键值信息输入单元均与所述的应用程序控制模块相连接。
7.—种基于权利要求1所述的系统实现芯片软件系统中内核程序自动实时生成的方法,其特征在于,所述的方法包括以下步骤: (1)系统进行初始化操作; (2)系统进行软件模版文件的生成处理; (3)系统进行USB密钥校验判断处理; (4)如果校验通过,则系统根据用户的输入信息,进行内核程序实时生成处理;否则,结束整个处理过程。
8.根据权利要求7所述的实现芯片软件系统中内核程序自动实时生成的方法,其特征在于,所述的进行软件模版文件的生成处理,包括以下步骤: (21)系统接收到外部输入的以遥控器键盘、红外发码模块、电源等为整体系统的遥控方案的原理图; (22)系统在芯片软件编译环境下建立新的工程; (23)系统完成以少量I/O口实现多个按键的准确扫描与定位,并通过软件寄存器配置实现各种不同的硬件结构下的系统功能; (24)系统根据用户的操作,进行代码调试与系统整机测试; (25)系统生成模板文件,并通过修改指定地址下的数据更改预设硬件条件下遥控方案的用户码与数据码; (26)系统判断功能是否符合特定红外协议,且性能是否达到国家标准; (27)如果否,则返回步骤(24);如果是,则模版文件生成完毕。
9.根据权利要求8所述的实现芯片软件系统中内核程序自动实时生成的方法,其特征在于,所述的模版文件为tsk格式的二 进制固化模板。
10.根据权利要求7所述的实现芯片软件系统中内核程序自动实时生成的方法,其特征在于,所述的系统进行USB密钥校验判断处理,包括以下步骤: (31)所述的应用程序控制模块进行初始化操作; (32)如果初始化失败,则不启动应用程序控制模块而直接退出;如果初始化成功,则系统检测是否找到USB密钥控制管理模块; (33)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断是否能够打开USB密钥设备; (34)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断发送PC系统时间是否成功; (35)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断是否继续使用; (36)如果否,则不启动应用程序控制模块而直接退出;如果是,则判断解密是否成功; (37)如果否,则不启动应用程序控制 模块而直接退出;如果是,则启动应用程序控制模块。
11.根据权利要求7所述的实现芯片软件系统中内核程序自动实时生成的方法,其特征在于,所述的根据用户的输入信息进行内核程序实时生成处理,包括以下步骤: (41)系统判断用户选择功能信息是否成功; (42)如果否,则报错并退出;如果是,则寻找相应的模版文件; (43)如果未找到模版文件,则报错并退出;如果找到模版文件,则进行模版文件载入; (44)如果模版载入错误,则报错并退出;如果模版载入正确,则判断是否开放了数据输入; (45)如果否,则报错并退出;如果是,则判断用户是否输入数据; (46)如果否,则报错并退出;如果是,则系统读取相应的输入数据信息并处理; (47)如果未成功读取输入数据并处理,则报错并退出;如果成功读取输入数据并处理,则进行内核文件生成和输出; (48)如果未成功生成和输出内核文件,则报错并退出;如果成功生成和输出内核文件,则结束。
全文摘要
本发明涉及一种芯片软件系统中实现内核程序自动实时生成的系统,其中包括应用程序控制模块、USB密钥控制管理模块和用户交互管理模块,应用程序控制模块与USB密钥控制管理模块和用户交互管理模块均相连接。本发明还涉及一种基于该系统实现芯片软件系统中内核程序自动实时生成的方法。采用该种芯片软件系统中实现内核程序自动实时生成的系统及方法,大大优化了方案开发过程,在一定程度上避免了软件被非正常途径传播的风险,大大缩短了方案开发周期,而且用户可以根据自身所需即用即生成内核文件,而且由于采用USB密钥启动,也减少了软件被泄露或者无授权传播造成的无限次使用的风险,工作性能稳定可靠、适用范围较为广泛。
文档编号G06F21/51GK103176771SQ201110431830
公开日2013年6月26日 申请日期2011年12月21日 优先权日2011年12月21日
发明者顾晓红, 赵方方, 孙翼, 王会刚 申请人:无锡华润矽科微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1