CN103927195A - 一次性可编程芯片otp的升级方法 - Google Patents
一次性可编程芯片otp的升级方法 Download PDFInfo
- Publication number
- CN103927195A CN103927195A CN201310694569.8A CN201310694569A CN103927195A CN 103927195 A CN103927195 A CN 103927195A CN 201310694569 A CN201310694569 A CN 201310694569A CN 103927195 A CN103927195 A CN 103927195A
- Authority
- CN
- China
- Prior art keywords
- otp
- time programmable
- programmable chip
- function
- built
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明适用于电子技术领域,提供了一种一次性可编程芯片OTP的升级方法,所述方法包括:预设一非易失性存储空间;所述一次性可编程芯片OTP的外设发生变化时,在所述非易失性存储装置中烧录入对应的库函数;所述一次性可编程芯片OTP启动时调用所述库函数。借此,本发明可以有效解决OTP对外设的兼容性问题。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种一次性可编程芯片OTP的升级方法。
背景技术
目前很多嵌入式控制器芯片出于成本考虑,均会考虑在芯片出厂时烧写一块OTP ROM用于存放芯片上电后开始阶段的启动代码,由于是一次性烧录在芯片的,所以对于稳定性和兼容性要求很高,CODE Size也会尽量短小精悍。通常情况下,OTP是不会考虑外设兼容性的,而只需要能保证正常启动Bootloader或Firmware就可以了。
当OTP ROM运行依赖的外设发生了改变,考虑到OTP是一次性烧录不能改变的,传统的做法往往不得不在新批次生产芯片时更新OTP ROM,从而加大了成本的支出和维护的难度。
综上可知,现有的一次性可编程芯片OTP,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种一次性可编程芯片OTP的升级方法,可以有效解决OTP对外设的兼容性问题。
为了实现上述目的,本发明提供一种一次性可编程芯片OTP的升级方法,所述方法包括:
预设一非易失性存储空间;
所述一次性可编程芯片OTP的外设发生变化时,在所述非易失性存储装置中烧录入对应的库函数;
所述一次性可编程芯片OTP启动时调用所述库函数。
根据本发明的一次性可编程芯片OTP的升级方法,所述一次性可编程芯片OTP启动时调用所述库函数的步骤包括:
读取并拷贝所述库函数到指定的随机存储器;
从所述随机存储器中调用并执行所述库函数。
根据本发明的一次性可编程芯片OTP的升级方法,所述一次性可编程芯片OTP与库函数的交互窗口只有一个。
根据本发明的一次性可编程芯片OTP的升级方法,所述库函数的执行指令为单独生成。
根据本发明的一次性可编程芯片OTP的升级方法,所述非易失性存储空间通过在所述一次性可编程芯片OTP的外部设置一非易失性存储空间实现。
根据本发明的一次性可编程芯片OTP的升级方法,所述一次性可编程芯片OTP具有一默认的子函数库。
本发明通过预设一非易失性的存储空间,当一次性可编程芯片OTP的外设发生改变时,用户可以将需要的库函数烧录入所述非易失性存储空间。且当一次性可编程芯片OTP启动时可以从所述非易失性存储空间调用并执行对应的库函数,以实现相应的功能,借此有效解决OTP对外设的兼容性问题。
附图说明
图1是本发明一实施例的OTP资源分布示意图;
图2是本发明一实施例的OTP的升级方法流程图;
图3是本发明一实施例的OTP应用方法流程图;
图4是本发明另一实施例的OTP应用方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种一次性可编程芯片OTP的资源分布图,所述一次性可编程芯片OTP应用于嵌入式控制器芯片。图中的OTP ROM10即对应本发明中的一次性可编程芯片OTP,是一次性烧录器件。非易失性存储装置20为独立于一次性可编程芯片OTP之外的器件,其提供本发明所述的非易失性存储空间,RAM30为本发明预设的随机存储器。
再参见图2,本发明提供了一种一次性可编程芯片OTP的升级方法,其可以通过如图1所示的资源实现,该方法包括:
步骤S201,预设一非易失性存储空间。该非易失性存储空间可以进行多次擦写处理,根据不同需求烧录不同的程序。如前所述,该非易失性存储空间可以通过在OTP外部设置一非易失性存储装置实现。
步骤S202,所述一次性可编程芯片OTP的外设发生变化时,在所述非易失性存储装置中烧录入对应的库函数。一次性可编程芯片OTP内部存储有芯片启动开始阶段的启动代码,且启动代码与芯片的外设具有很大关联,当OTP的外设发生变化时,OTP本身的启动代码不能被改写,本发明通过在非易失性存储空间烧录对应外设的函数库,借此实现OTP的升级,以更好的兼容新的外设。
步骤S203,所述一次性可编程芯片OTP启动时调用所述库函数。具体的,当芯片启动,OTP运行时,其先读取并拷贝对应的库函数到指定的随机存储器(RAM),然后从RAM调用执行这些库函数以实现对应的功能。
需要说明的是,本发明中库函数的执行指令是单独生成的,OTP Code在编译链接时,相对于库函数是独立的,也不会对库函数进行符号解析等链接行为,两者间不存在调用及链接的关系,为此,本发明提前建立如下约定,确保不发生冲突和异常:
1)对于库函数代码编译,库函数代码尽可能的简单,编译不做过多优化,并且少用或不使用函数参数及全局变量,并保持让一次性可编程芯片OTP与库函数的交互窗口有且只有一个,即:库函数入口。
进一步的,在编译库函数时,其代码段以及RAM的资源分配符合OTP的要求,每个库函数入口地址定位在OTP指定的位置,所有RAM资源限定在OTP指定的区域,如果要使用全局变量与OTP通信,则这些变量必须通过约定定位在OTP指定的位置。
2)本发明在编译OTP时,保证预留且不占用库函数资源。结合图1,所述的库函数资源包括:RO指令段,RW/ZI/STACK段,全局变量区域。
本发明的一实施例中,假定OTP运行时按序调用func_1、func_2、…func_n,然后跳转进入Bootloader或Firmware,当需要调用库函数时,首先要保证库函数代码已经读取并拷贝到预留好的指定RAM中,此时,OTP对应的PC直接跳转到RAM中对应的函数入口调用即可,子函数负责调用返回。
图3是本发明一实施例的OTP升级后的应用流程图,该实施例中,func_1、func_2、…func_n在OTP ROM10里具有一组默认的实现(子函数库),具体应用时,首先检测默认的子函数库里是否具有需要调用的函数,若有则直接即行调用,否则转到外部的非易失性存储空间进行调用。该方法主要应用于OTP ROM10资源充分且兼容性比较高的情况,若OTP ROM10的资源不够丰富,则采用如图4所示的应用流程。
参见图4,该实施例中的func_1、func_2、…func_n完全会依赖外部的非易失性存储器20中的库函数,OTP只是预留好程序跳转的位置,起调度作用,即需要什么样的库函数,直接从非易失性存储空间的库函数中调取。需要说明的是,在调用库函数前,须保证库函数已从非易失性存储装置20读取到指定的RAM30中,OTP除了读取外设功能外,其他功能均可以通过库函数实现。本实施例中,OTP只需占用很小的资源,即可实现最大程度的灵活性。
综上所述,本发明通过预设一非易失性的存储空间,当一次性可编程芯片OTP的外设发生改变时,用户可以将需要的库函数烧录入所述非易失性存储空间。且当一次性可编程芯片OTP启动时可以从所述非易失性存储空间调用并执行对应的库函数,以实现相应的功能,借此有效解决OTP对外设的兼容性问题。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种一次性可编程芯片OTP的升级方法,其特征在于,所述方法包括:
预设一非易失性存储空间;
所述一次性可编程芯片OTP的外设发生变化时,在所述非易失性存储装置中烧录入对应的库函数;
所述一次性可编程芯片OTP启动时调用所述库函数。
2.根据权利要求1所述的一次性可编程芯片OTP的升级方法,其特征在于,所述一次性可编程芯片OTP启动时调用所述库函数的步骤包括:
读取并拷贝所述库函数到指定的随机存储器;
从所述随机存储器中调用并执行所述库函数。
3.根据权利要求1或2所述的一次性可编程芯片OTP的升级方法,其特征在于,所述一次性可编程芯片OTP与库函数的交互窗口只有一个。
4.根据权利要求3所述的一次性可编程芯片OTP的升级方法,其特征在于,所述库函数的执行指令为单独生成。
5.根据权利要求1所述的一次性可编程芯片OTP的升级方法,其特征在于,所述非易失性存储空间通过在所述一次性可编程芯片OTP的外部设置一非易失性存储空间实现。
6.根据权利要求5所述的一次性可编程芯片OTP的升级方法,其特征在于,所述一次性可编程芯片OTP具有一默认的子函数库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694569.8A CN103927195B (zh) | 2013-12-17 | 2013-12-17 | 一次性可编程芯片otp的升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310694569.8A CN103927195B (zh) | 2013-12-17 | 2013-12-17 | 一次性可编程芯片otp的升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103927195A true CN103927195A (zh) | 2014-07-16 |
CN103927195B CN103927195B (zh) | 2017-10-20 |
Family
ID=51145427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310694569.8A Active CN103927195B (zh) | 2013-12-17 | 2013-12-17 | 一次性可编程芯片otp的升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927195B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598408A (zh) * | 2015-02-05 | 2015-05-06 | 深圳芯邦科技股份有限公司 | 一种一次性可编程只读存储器数据烧录方法 |
CN105653332A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市芯海科技有限公司 | 一种可修正otp烧录问题的mcu系统及烧录方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201083993Y (zh) * | 2007-09-25 | 2008-07-09 | 上海海尔集成电路有限公司 | 一种微控制器 |
CN201270530Y (zh) * | 2008-08-05 | 2009-07-08 | 捷顶微电子(上海)有限公司 | 协议处理系统 |
CN101604248A (zh) * | 2009-07-20 | 2009-12-16 | 北京海尔集成电路设计有限公司 | 一种修正只读存储器中程序的嵌入式系统及其实现方法 |
WO2011017844A1 (zh) * | 2009-08-14 | 2011-02-17 | 东南大学 | 一种在芯片层实现应用程序安全升级的方法 |
CN102866864A (zh) * | 2012-08-24 | 2013-01-09 | 深圳市江波龙电子有限公司 | 实现一次性可编程存储的方法和存储设备 |
CN103412781A (zh) * | 2013-08-27 | 2013-11-27 | 信利光电股份有限公司 | 一次性可编程芯片的烧录方法 |
-
2013
- 2013-12-17 CN CN201310694569.8A patent/CN103927195B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201083993Y (zh) * | 2007-09-25 | 2008-07-09 | 上海海尔集成电路有限公司 | 一种微控制器 |
CN201270530Y (zh) * | 2008-08-05 | 2009-07-08 | 捷顶微电子(上海)有限公司 | 协议处理系统 |
CN101604248A (zh) * | 2009-07-20 | 2009-12-16 | 北京海尔集成电路设计有限公司 | 一种修正只读存储器中程序的嵌入式系统及其实现方法 |
WO2011017844A1 (zh) * | 2009-08-14 | 2011-02-17 | 东南大学 | 一种在芯片层实现应用程序安全升级的方法 |
CN102866864A (zh) * | 2012-08-24 | 2013-01-09 | 深圳市江波龙电子有限公司 | 实现一次性可编程存储的方法和存储设备 |
CN103412781A (zh) * | 2013-08-27 | 2013-11-27 | 信利光电股份有限公司 | 一次性可编程芯片的烧录方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598408A (zh) * | 2015-02-05 | 2015-05-06 | 深圳芯邦科技股份有限公司 | 一种一次性可编程只读存储器数据烧录方法 |
CN105653332A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市芯海科技有限公司 | 一种可修正otp烧录问题的mcu系统及烧录方法 |
CN105653332B (zh) * | 2015-12-30 | 2019-05-24 | 深圳市芯海科技有限公司 | 一种可修正otp烧录问题的mcu系统及烧录方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103927195B (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN111045714B (zh) | 一种固件更新方法、装置、耳机及计算机可读存储介质 | |
CN105718281B (zh) | 一种触摸屏固件升级方法及装置 | |
CN101937351A (zh) | 一种自动安装应用软件的方法和系统 | |
CN102609274B (zh) | 一种系统快速启动运行方法及电视机 | |
CN104349192A (zh) | 智能电视的工厂及用户数据的自动烧写方法及系统 | |
CN103106092A (zh) | 终端设备中系统软件升级方法和装置 | |
CN106095480A (zh) | 一种光模块固件升级的方法及装置 | |
CN102662749A (zh) | 一种双Boot切换的实现方法及装置 | |
CN103853586A (zh) | 一种在uefi层实现无线网卡驱动的方法 | |
WO2019022827A1 (en) | SYSTEMS AND METHODS FOR PROVIDING A RETOUCHABLE ROM MICROLOGICIEL | |
CN105354071A (zh) | 一种嵌入式软件兼容硬件的方法 | |
CN110753088B (zh) | 一种系统部署方法及装置 | |
CN104199691A (zh) | 一种基于安卓平台的开机自启动apk的方法及终端 | |
CN104156252A (zh) | 一种应用软件安装方法及装置 | |
CN107463388A (zh) | 一种uefi无盘启动方法 | |
CN106303707A (zh) | 一种版本烧录方法、系统及终端 | |
CN106020901A (zh) | 一种应用程序入口配置方法及终端 | |
CN103377079A (zh) | 终端及其应用运行装置和方法,运行应用程序的方法 | |
CN106648792A (zh) | 一种在服务器上安装虚拟化操作系统的方法和装置 | |
CN103514014A (zh) | 一种嵌入式终端设备引导系统的设计方法 | |
CN103927195A (zh) | 一次性可编程芯片otp的升级方法 | |
CN103079107A (zh) | 机顶盒的操作系统的加载方法及机顶盒 | |
CN103853608A (zh) | 一种双Boot切换的实现方法 | |
CN104965733A (zh) | 一种批量禁用/停止应用程序的方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |