CN102375749A - 一种采用i2c总线快速下载和更新固件的方法 - Google Patents

一种采用i2c总线快速下载和更新固件的方法 Download PDF

Info

Publication number
CN102375749A
CN102375749A CN2010102641469A CN201010264146A CN102375749A CN 102375749 A CN102375749 A CN 102375749A CN 2010102641469 A CN2010102641469 A CN 2010102641469A CN 201010264146 A CN201010264146 A CN 201010264146A CN 102375749 A CN102375749 A CN 102375749A
Authority
CN
China
Prior art keywords
firmware
bus
register
address
read
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
Application number
CN2010102641469A
Other languages
English (en)
Other versions
CN102375749B (zh
Inventor
李霜
官志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN201010264146.9A priority Critical patent/CN102375749B/zh
Publication of CN102375749A publication Critical patent/CN102375749A/zh
Application granted granted Critical
Publication of CN102375749B publication Critical patent/CN102375749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种集成电路设计中固件更新的实现方法,采用I2C总线实现快速下载和更新固件。通过在传输固件数据前配置好I2C总线程序存储器首地址,在固件数据传输的过程中,程序存储器地址自动加1,无须每传输一个字节数据附加传输程序存储器地址信息。本发明能够降低设计中寄存器的占用空间,简化设计逻辑,且可支持单个和连续数据传输,能有效地提高数据传输效率,满足应用需求。本发明非常适用于软件设计规模比较小,或软件改动不大的应用环境。

Description

一种采用I2C总线快速下载和更新固件的方法
技术领域
本发明涉及集成电路中固件更新的方法,尤其涉及一种采用I2C总线快速下载和更新固件的方法。
背景技术
随着集成电路技术的发展,高集成化和固件化的系统集成设计SoC逐渐进入各种设计应用领域。在设计一个复杂的SoC芯片时,芯片软件的测试及调试通常是难点。有时为了不影响整个项目的进展,我们会采取通过软件升级的方法来达到目的。另外,由于应用环境的多样化,我们也经常需要升级SoC芯片内的固件,此时需要通过固件下载来实现。
固件下载的方法很多,不同的下载模式适用于不同的应用环境。对于软件规模比较小,或软件改动不大的环境,采用I2C快速下载的方式比较适合。基于I2C总线的特性,采用何种下载及更新固件的方法,既能保证下载速度又能提高数据传输效率成为本发明要解决的技术问题。
发明内容
本发明目的提供一种采用I2C总线快速下载和更新固件的方法,适用于软件规模小或软件改动不大的应用环境中。根据I2C总线的特性,减小占用寄存器的空间,简化逻辑,从而提升下载速度,提高传输效率。
一种采用I2C总线快速下载和更新固件的方法,包含以下内容:
(1)在传输固件数据前配置好I2C总线程序存储器首地址;
(2)分别定义固件模式寄存器、程序地址寄存器和固件数据寄存器;
(3)固件连续读/写模式中,当寄存器地址为固件数据寄存器时,寄存器地址不会自动加一,保持对固件数据寄存器地址持续读出/写入;
(4)固件连续读/写模式中,每读/写一次固件数据寄存器,程序地址寄存器自动加一;
(5)通过I2C总线连续读模式,实现固件数据连续被读出,除首选地址外不需额外配置程序地址寄存器,I2C总线每读走一个字节,程序存储器即读出下一个字节至固件数据寄存器;
(6)通过I2C总线连续写模式,实现固件连续下载,除首选地址外,不需额外配置程序地址寄存器,I2C总线每写入一个字节,程序存储器即更新一个字节;
(7)完成连续读操作和写操作及下载更新过程。
在上述步骤(2)中,固件模式寄存器定义下载的模式是写入固件或读出固件;程序地址寄存器分为程序高位地址寄存器和程序低位地址寄存器,定义下载或读出程序的首地址;固件数据寄存器定义要写入或读出的程序或固件数据。
I2C总线连续读/写读写模式是指符合I2C总线标准的连续读/写模式。固件连续读模式是指通过I2C总线连续读模式及特定的硬件设计,达到I2C总线每读一个字节,即可读出一个字节的固件。固件连续写模式是指通过I2C总线连续写的模式,及特定的硬件设计,达到I2C总线每写一个字节,即可下载一个字节的固件。
本发明支持I2C总线单个读或写数据模式,以及连续读或写数据模式。I2C总线每写一个字节,硬件立即下载一个字节至程序存储器;相同地,I2C总线每读完一个字节,硬件立即将下一个地址的数据准备好。
通过本发明提供的内容,能有效降低占用的寄存器空间,设计逻辑简单,且实现快速读写操作和数据下载,有效提高SoC系统的数据传输效率,满足固件更新的需求。
附图说明
图1采用I2C总线快速下载和更新固件的方法的示意图
图2固件连续读模式示意图
图3固件连续写模式示意图
具体实施方式:
以下结合各附图对本发明所提出的一种采用I2C总线快速下载和更新固件的方法进行详细的描述。
图1为I2C总线快速下载和更新固件的方法数据流向示意图。采用I2C总线的特点是芯片的管脚开销小,尤其适合于本身就需要采用I2C总线配置内部寄存器的SoC芯片。
在整个实施方法中,支持程序存储器首地址可配置。不需要更新或读出全部固件数据时,无须从“0”地址开始更新或读出所有数据,仅更新或读出所需部分数据即可,从而能快捷高效地达到更新或调试固件的需求。
在传输固件数据之前,将程序存储器首地址配置好,在固件数据传输的过程中,程序存储器地址会自动加1。即无须每传输一个字节数据附加传输程序存储器地址信息,从而提高了传输效率。
为实现固件下载需求,定义了固件模式寄存器,程序地址寄存器和固件数据寄存器,其中程序地址寄存器分为程序高位地址寄存器和程序地位地址寄存器。固件模式寄存器定义了下载的模式是读出固件还是写入固件;程序地址寄存器定义了读出或下载程序的首地址;固件数据寄存器存储了需要读出或写入的程序或固件数据。
通常的I2C总线连续读/写模式要求寄存器地址自动加一,我们定义的固件连续读/写模式为了快速下载固件,当寄存器地址为固件数据寄存器时,其寄存器地址不自动加一,保持对固件数据寄存器地址的持续写入。
在固件连续读的模式中,为了支持固件连续写模式,每读写一次固件数据寄存器,程序地址寄存器自动加一。通过类似于普通I2C总线连续写模式,实现固件连续下载的目的。除了首地址之外,不需要额外再配置程序地址寄存器,I2C总线每写入一个字节,程序存储器即更新一个字节,在I2C总线频率为400KHz的情况下,下载的速度可以达到40K字节每秒。
图2为固件连续读模式示意图,假设模式寄存器地址为0xa0,高位地址寄存器的地址为0xa1,低位地址寄存器的地址为0xa2,数据寄存器的地址为0xa3,程序存储器首地址为0x00,模式寄存器为1表示读取模式。如图2中所示,固件读分为两步:第一步通过I2C总线连续写模式配置固件模式寄存器和程序首地址。第二步通过I2C总线连续读模式连续不断地读出程序。
图3为固件连续写模式示意图,假设模式寄存器地址为0xa0,高位地址寄存器的地址为0xa1,低位地址寄存器的地址为0xa2,数据寄存器的地址为0xa3,要下载的固件首地址为0x00,模式寄存器为0表示下载模式。

Claims (6)

1.一种采用I2C总线快速下载和更新固件的方法,其特征在于:包含以下步骤:
(1)在传输固件数据前配置好I2C总线程序存储器首地址;
(2)分别定义固件模式寄存器、程序地址寄存器和固件数据寄存器;
(3)固件连续读/写模式中,当寄存器地址为固件数据寄存器时,寄存器地址不会自动加一,保持对固件数据寄存器地址持续读出/写入;
(4)固件连续读/写模式中,每读/写一次固件数据寄存器,程序地址寄存器自动加一;
(5)通过I2C总线连续读模式,实现固件数据连续被读出,除首选地址外不需额外配置程序地址寄存器,I2C总线每读走一个字节,程序存储器即读出下一个字节至固件数据寄存器;
(6)通过I2C总线连续写模式,实现固件连续下载,除首选地址外,不需额外配置程序地址寄存器,I2C总线每写入一个字节,程序存储器即更新一个字节;
(7)完成连续读操作和写操作及下载更新过程。
2.如权利要求1所述的一种采用I2C总线快速下载和更新固件的方法,其特征在于:所述定义固件模式寄存器是下载模式为写入固件或读出固件。
3.如权利要求1所述的一种采用I2C总线快速下载和更新固件的方法,其特征在于:所述定义程序地址寄存器是读出或下载程序的首地址。
4.如权利要求1所述的一种采用I2C总线快速下载和更新固件的方法,其特征在于:所述定义固件数据寄存器是要读出/写入的程序或是固件数据。
5.如权利要求1所述的一种采用I2C总线快速下载和更新固件的方法,其特征在于:支持单个读/写数据模式,以及连续读/写数据模式。
6.如权利要求1所述的一种采用I2C总线快速下载和更新固件的方法,其特征在于:I2C总线每写一个字节,硬件立即下载一个字节至程序存储器;I2C总线每读完一个字节,硬件立即将下一个地址的数据准备好。
CN201010264146.9A 2010-08-24 2010-08-24 一种采用i2c总线快速下载和更新固件的方法 Active CN102375749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010264146.9A CN102375749B (zh) 2010-08-24 2010-08-24 一种采用i2c总线快速下载和更新固件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010264146.9A CN102375749B (zh) 2010-08-24 2010-08-24 一种采用i2c总线快速下载和更新固件的方法

Publications (2)

Publication Number Publication Date
CN102375749A true CN102375749A (zh) 2012-03-14
CN102375749B CN102375749B (zh) 2014-06-18

Family

ID=45794393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010264146.9A Active CN102375749B (zh) 2010-08-24 2010-08-24 一种采用i2c总线快速下载和更新固件的方法

Country Status (1)

Country Link
CN (1) CN102375749B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943256B1 (en) 2013-08-08 2015-01-27 Cypress Semiconductor Corporation Serial data intermediary device, and related systems and methods
CN104424147A (zh) * 2013-09-10 2015-03-18 纬创资通股份有限公司 存取数据的方法及系统
CN106445573A (zh) * 2015-08-11 2017-02-22 杭州华为数字技术有限公司 固件升级方法、装置及高速外围设备互联集群系统
CN112463662A (zh) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
CN114791892A (zh) * 2021-01-25 2022-07-26 京东方科技集团股份有限公司 一种数据传输方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150684A1 (en) * 2005-12-22 2007-06-28 Fujitsu Limited Apparatus for transmitting data via the I2C bus, method of transmitting data via the I2C bus, and program for transmitting data via the I2C bus
CN101150476A (zh) * 2007-10-23 2008-03-26 中兴通讯股份有限公司 点对点通信的总线实现方法
CN101763331A (zh) * 2010-01-18 2010-06-30 中兴通讯股份有限公司 一种实现i2c总线控制的系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150684A1 (en) * 2005-12-22 2007-06-28 Fujitsu Limited Apparatus for transmitting data via the I2C bus, method of transmitting data via the I2C bus, and program for transmitting data via the I2C bus
CN101150476A (zh) * 2007-10-23 2008-03-26 中兴通讯股份有限公司 点对点通信的总线实现方法
CN101763331A (zh) * 2010-01-18 2010-06-30 中兴通讯股份有限公司 一种实现i2c总线控制的系统及方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943256B1 (en) 2013-08-08 2015-01-27 Cypress Semiconductor Corporation Serial data intermediary device, and related systems and methods
CN104424147A (zh) * 2013-09-10 2015-03-18 纬创资通股份有限公司 存取数据的方法及系统
CN104424147B (zh) * 2013-09-10 2017-09-22 纬创资通股份有限公司 存取数据的方法及系统
CN106445573A (zh) * 2015-08-11 2017-02-22 杭州华为数字技术有限公司 固件升级方法、装置及高速外围设备互联集群系统
CN112463662A (zh) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
CN112463662B (zh) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
CN114791892A (zh) * 2021-01-25 2022-07-26 京东方科技集团股份有限公司 一种数据传输方法和装置
CN114791892B (zh) * 2021-01-25 2024-08-06 京东方科技集团股份有限公司 一种数据传输方法和装置

Also Published As

Publication number Publication date
CN102375749B (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
CN105159731B (zh) 一种fpga配置文件远程升级的装置
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和系统
CN102184741A (zh) 一种烧写spi flash的方法
CN102375749B (zh) 一种采用i2c总线快速下载和更新固件的方法
CN110888599B (zh) 接口装置、用于虚拟化大容量存储的系统
CN202956753U (zh) 一种嵌入式系统中闪存芯片的编程装置及系统
CN104407882B (zh) 一种板卡装置
CN204331708U (zh) 一种便携式设备和一种主机系统
CN102520961A (zh) 片外在线可编程的soc系统及其控制方法
CN100498708C (zh) 一种通过个人计算机进行固件下载的方法及装置
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
CN101308450B (zh) Fifo控制电路及控制方法
CN102346677A (zh) Fpga程序的升级方法
CN105279127A (zh) 一种基于PCI或PCIe总线的FPGA程序下载系统及方法
CN104679559A (zh) 单片机在线编程的方法
CN103678194A (zh) 用于stm32程序isp下载的装置
CN104598276A (zh) 一种触摸屏固件在线升级方法及装置
CN111190855A (zh) 一种fpga多重远程配置系统及方法
CN102253844B (zh) 一种启动处理器的方法和设备
CN104050006A (zh) 一种fpga的更新系统及其更新方法
CN106383726B (zh) 一种基于图像视频传输接口的讯号适配器升级方法
CN109525276B (zh) 一种具备外部下载功能的多模数据链系统及方法
CN102467472A (zh) SoC芯片的BOOT启动装置和SoC芯片
CN109426511B (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
C14 Grant of patent or utility model
GR01 Patent grant