CN116166329A - 芯片基于sram启动的最小交互系统的配置方法 - Google Patents
芯片基于sram启动的最小交互系统的配置方法 Download PDFInfo
- Publication number
- CN116166329A CN116166329A CN202211716229.6A CN202211716229A CN116166329A CN 116166329 A CN116166329 A CN 116166329A CN 202211716229 A CN202211716229 A CN 202211716229A CN 116166329 A CN116166329 A CN 116166329A
- Authority
- CN
- China
- Prior art keywords
- sram
- easyboot
- chip
- file
- minimum
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开一种芯片基于SRAM启动的最小交互系统的配置方法,包括如下步骤:S1、配置easyboot;S2、添加开发板的头文件;S3、添加自己开发板的板级文件夹;S4、配置ucommod协议;S5、SRAM系统中集成ucommod协议,编译,最终得到最小交互系统。优点:本发明,在SRAM启动过程中,设计了基于UART的最小交互系统,通过UART传输下载文件到SRAM的功能,只要串口显示正常,就可以通过主机的串口工具和芯片的串口进行文件传输,在简单的硬件条件下(ATE机台测试)也能实现实时加载,高效测试。
Description
技术领域
本发明涉及一种芯片基于SRAM启动的最小交互系统的配置方法。
背景技术
基于MIPS架构的核启动时会从地址0xbfc00000处取指,这是不用高速缓存的kseg1区的物理地址0x1fc00000。Boot启动程序一般都存储在flash(spi、qspi、nor等)上,芯片上电后,根据设置好的启动模式,会跳转到flash上的执行。首先对核完成必要的初始化,完成DDR初始化,完成堆栈初始化,然后将操作系统或测试程序拷贝到DDR上,最后跳转到DDR上运行。因此传统的启动步骤包括如下内容:
a)分支到主ROM中的代码,
b)配置状态寄存器,
c)完成DDR初始化,
d)状态打印与监测,
e)分配栈空间,
f)跳转运行在DDR上。
传统技术缺点:
在芯片调试初期,特别在回片测试阶段,需要快速验证所有IO接口通道,以确定芯片设计功能是否正常。由于DDR调试难度较大,存在着不确定因素,常成为测试瓶颈,导致测试进度不可控。
在DDR调试完成后,为提高测试效率,首先会进行网络接口调试。等网络调通后,其它测试程序可以依靠网络的ftp或tftp协议上传到内存中进行测试。芯片网络结合网络协议栈的调试比较复杂,特别是某些测试场景下,硬件不支持网络,如芯片的ATE机台测试。在此情况下,每次测试都需要将测试代码烧写到flash的另一块区域,由boot引导程序将它拷贝到DDR上再执行,效率极低。
发明内容
本发明要解决的技术问题是:基于SRAM启动模式,跳过了DDR调试过程,将DDR瓶颈问题解除,即使短期内DDR无法正常工作,也不会影响其他IO接口的测试;本发明提出一种芯片基于SRAM启动的最小交互系统的配置方法,在SRAM启动过程中,设计了基于UART的最小交互系统,通过UART传输下载文件到SRAM的功能,只要串口显示正常,就可以通过主机的串口工具和芯片的串口进行文件传输,在简单的硬件条件下(ATE机台测试)也能实现实时加载,高效测试。
采取的技术方案如下:
一种芯片基于SRAM启动的最小交互系统的配置方法,所述SRAM启动的最小交互系统是指将系统尽可能的裁剪,满足系统启动和交互调试要求的最小设计,当前的最小系统我们称为简化版boot,为easyboot;
所述芯片基于SRAM启动的最小交互系统的配置方法,包括如下步骤:
S1、配置easyboot;
S2、添加开发板的头文件;
S3、添加自己开发板的板级文件夹;
S4、easyboot下,配置串口的串口命令行ucommod协议,进行文件传输;
S5、将步骤S4中的串口命令行ucommod协议添加到SRAM系统中,编译easyboot,得到最终的最小系统easyboot.bin文件,即sram启动下最小交互系统。
本发明的芯片基于SRAM启动的最小交互系统的配置方法,在SRAM启动过程中,设计了基于UART的最小交互系统,通过UART传输下载文件到SRAM的功能,只要串口显示正常,就可以通过主机的串口工具和芯片的串口进行文件传输,在简单的硬件条件下(ATE机台测试)也能实现实时加载,高效测试。
对本发明技术方案的进一步优选,S1中,使用easyboot之前首先要配置easyboot,先配置,再编译,那么这里就需要一个配置文件,要根据开发板创建配置文件,这个配置文件的目录是easyboot/configs,根据需求进行配置。利用配置文件,隔离了硬件的耦合性。
对本发明技术方案的进一步优选,S4中,串口有交互命令用来报告芯片的各种状态和通过串口协议完成命令行方式的交互;串口命令行协议包括输入信息侦听、命令解析和文件接收。传输稳定,可靠性高,保证数据传输的准确性。
对本发明技术方案的进一步优选,S5的配置串口进行文件传输的流程包括如下步骤:
S51、设计kernel链接脚本;
S52、跳转进入Uart传输模块;
S53、Uart侦听输入信息;
S54、命令解析,当输入信息不能识别,则跳转S52;反之,则进入S55;
S55、Uart文件接收准备;
S56、接收并判断结束标识,当结束标识显示完成则进入S57;反之则跳转S55;
S57、存储到SRAM跳转执行;
S58、结束。
S5的配置串口进行文件传输的流程,通用性好,可以和各种标准串口工具兼容;实现简单,可运用于所有带SRAM芯片的测试。
对本发明技术方案的进一步优选,所述SRAM启动方法,芯片启动时有固定的启动地址,启动地址可以在芯片启动前进行配置;具体的SRAM启动方法如下:
步骤1、Uart参数配置,报告初始化过程的状态;
步骤2、将状态寄存器设置成为某种已知的有意义的状态;
步骤3、在SRAM区域分配堆栈,设计全局符号地址;
步骤4、初始化堆栈sp寄存器指向栈空间区域的顶端,要求8字节对齐;
步骤5、在初始化并且对RAM空间的完整性进行快速自检前,启动代码只能使用寄存器;
步骤6、在调用c函数之前,编译系统和运行时系统配合,把可写的数据初始化从ROM复制到RAM;
步骤7、初始化缓存,跳转到romStart;
步骤8、调用标准的C工程运行代码,进入Uart传输回调接口;
步骤9、传输回调将内核程序拷贝到SRAM;
步骤10、跳转到SRAM指定地址并执行。
本发明的SRAM启动方法,基于SRAM启动方法,跳过了DDR调试过程,将DDR瓶颈问题解除,即使短期内DDR无法正常工作,也不会影响其他IO接口的测试,提高了调试效率,加速测试进程。
对本发明技术方案的进一步优选,所述启动地址,对于Mips架构的芯片,芯片会从0xBFC00000处取指,物理地址就是0x1FC00000,处于非缓存的kseg1内存区域;所述SRAM启动方法中的启动地址,跳转到主ROM代码,非缓存的异常入口在0xBFC00100,这个地方没有足够的空间存放完整的启动代码,必须做一个跳转。在功能完整性前提下,实现最小开销。
对本发明技术方案的进一步优选,S1中,使用easyboot之前首先要配置easyboot,先配置,再编译,就需要一个配置文件,要根据开发板创建配置文件,这个配置文件的目录是easyboot/configs,根据需求进行配置。利用配置文件,隔离了硬件的耦合性。
对本发明技术方案的进一步优选,S2中,easyboot的裁剪移植基本都是在头文件中进行的,开发板头文件的目录是在easyboot/include/configs下。头文件和源代码分开,目录更清晰。
对本发明技术方案的进一步优选,S3中,在easyboot/board目录下有SoC厂商的文件夹,这个文件夹中有一些文件,其中最重要的两个文件就是Makefile文件和板子的.c文件,Makefile文件控制着.c文件的编译。实现了同一套代码,通过Makefile完成不同功能。
本发明与现有技术相比,其有益效果是:
本发明的方法,释放了回片测试过程中的瓶颈,提供了并行测试的可实施方案;设计最小交互系统方案,解决特殊测试环境下测试效率低下问题;通用性好,可运用于所有带SRAM芯片的测试;移植性高,最小交互系统 可移植到DDR启动系统中。
附图说明
图1是本实施例方法的流程图。
图2是本实施例方法中配置串口进行文件传输的流程示意图。
图3是本实施例方法中的SRAM启动方法的流程示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
为使本发明的内容更加明显易懂,以下结合附图1-附图3和具体实施方式做进一步的描述。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本实施例系一种芯片基于SRAM启动的最小交互系统的配置方法,所述SRAM启动的最小交互系统是指将系统尽可能的裁剪,满足系统启动和交互调试要求的最小设计,当前的最小系统我们称为简化版boot,为easyboot;芯片基于SRAM启动的最小交互系统的配置方法,包括如下步骤:
S1、配置easyboot;
S2、添加开发板的头文件;
S3、添加自己开发板的板级文件夹;
S4、easyboot下,配置串口的串口命令行ucommod协议,进行文件传输;
S5、将步骤S4中的串口命令行ucommod协议添加到SRAM系统中,编译easyboot,得到最终的最小系统easyboot.bin文件,即sram启动下最小交互系统。
S1中,使用easyboot之前首先要配置easyboot,先配置,再编译,那么这里就需要一个配置文件,要根据开发板创建配置文件,这个配置文件的目录是easyboot/configs,根据需求进行配置。
S4中,串口有交互命令用来报告芯片的各种状态和通过串口协议完成命令行方式的交互;串口命令行协议包括输入信息侦听、命令解析和文件接收。
如图2所示,S5的配置串口进行文件传输的流程包括如下步骤:
S51、设计kernel链接脚本;
S52、跳转进入Uart传输模块;
S53、Uart侦听输入信息;
S54、命令解析,当输入信息不能识别,则跳转S52;反之,则进入S55;
S55、Uart文件接收准备;
S56、接收并判断结束标识,当结束标识显示完成则进入S57;反之则跳转S55;
S57、存储到SRAM跳转执行;
S58、结束。
S2中,easyboot的裁剪移植基本都是在头文件中进行的,开发板头文件的目录是在easyboot/include/configs下。
S3中,在easyboot/board目录下有SoC厂商的文件夹,这个文件夹中有一些文件,其中最重要的两个文件就是Makefile文件和板子的.c文件,Makefile文件控制着.c文件的编译。
如图3所示,SRAM启动方法,芯片启动时有固定的启动地址,启动地址可以在芯片启动前进行配置;具体的SRAM启动方法如下:
步骤1、Uart参数配置,报告初始化过程的状态;
步骤2、将状态寄存器设置成为某种已知的有意义的状态;
步骤3、在SRAM区域分配堆栈,设计全局符号地址;
步骤4、初始化堆栈sp寄存器指向栈空间区域的顶端,要求8字节对齐;
步骤5、在初始化并且对RAM空间的完整性进行快速自检前,启动代码只能使用寄存器;
步骤6、在调用c函数之前,编译系统和运行时系统配合,把可写的数据初始化从ROM复制到RAM;
步骤7、初始化缓存,跳转到romStart;
步骤8、调用标准的C工程运行代码,进入Uart传输回调接口;
步骤9、传输回调将内核程序拷贝到SRAM;
步骤10、跳转到SRAM指定地址并执行。
启动地址,对于Mips架构的芯片,芯片会从0xBFC00000处取指,物理地址就是0x1FC00000,处于非缓存的kseg1内存区域;所述SRAM启动方法中的启动地址,跳转到主ROM代码,非缓存的异常入口在0xBFC00100,这个地方没有足够的空间存放完整的启动代码,必须做一个跳转。
S1中,使用easyboot之前首先要配置easyboot,先配置,再编译,就需要一个配置文件,要根据开发板创建配置文件,这个配置文件的目录是easyboot/configs,根据需求进行配置。
应用实施例
在HC4080芯片中,从仿真验证环境开始,到FPGA测试,加速器测试,到最后的回片测试,基于SRAM启动的最小交互系统easyboot都发挥了重要作用,特别是回片测试和芯片筛选的机台测试,极大加速了测试进程。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (9)
1.一种芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,所述SRAM启动的最小交互系统是指将系统尽可能的裁剪,满足系统启动和交互调试要求的最小设计,当前的最小系统我们称为简化版boot,为easyboot;
所述芯片基于SRAM启动的最小交互系统的配置方法,包括如下步骤:
S1、配置easyboot;
S2、添加开发板的头文件;
S3、添加自己开发板的板级文件夹;
S4、easyboot下,配置串口的串口命令行ucommod协议,进行文件传输;
S5、将步骤S4中的串口命令行ucommod协议添加到SRAM系统中,编译easyboot,得到最终的最小系统easyboot.bin文件,即sram启动下最小交互系统。
2.根据权利要求1所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,S1中,使用easyboot之前首先要配置easyboot,先配置,再编译,那么这里就需要一个配置文件,要根据开发板创建配置文件,这个配置文件的目录是easyboot/configs,根据需求进行配置。
3.根据权利要求1所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,S4中,串口有交互命令用来报告芯片的各种状态和通过串口协议完成命令行方式的交互;串口命令行协议包括输入信息侦听、命令解析和文件接收。
4.根据权利要求3所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,S5的配置串口进行文件传输的流程包括如下步骤:
S51、设计kernel链接脚本;
S52、跳转进入Uart传输模块;
S53、Uart侦听输入信息;
S54、命令解析,当输入信息不能识别,则跳转S52;反之,则进入S55;
S55、Uart文件接收准备;
S56、接收并判断结束标识,当结束标识显示完成则进入S57;反之则跳转S55;
S57、存储到SRAM跳转执行;
S58、结束。
5.根据权利要求1所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,所述SRAM启动方法,芯片启动时有固定的启动地址,启动地址可以在芯片启动前进行配置;具体的SRAM启动方法如下:
步骤1、Uart参数配置,报告初始化过程的状态;
步骤2、将状态寄存器设置成为某种已知的有意义的状态;
步骤3、在SRAM区域分配堆栈,设计全局符号地址;
步骤4、初始化堆栈sp寄存器指向栈空间区域的顶端,要求8字节对齐;
步骤5、在初始化并且对RAM空间的完整性进行快速自检前,启动代码只能使用寄存器;
步骤6、在调用c函数之前,编译系统和运行时系统配合,把可写的数据初始化从ROM复制到RAM;
步骤7、初始化缓存,跳转到romStart;
步骤8、调用标准的C工程运行代码,进入Uart传输回调接口;
步骤9、传输回调将内核程序拷贝到SRAM;
步骤10、跳转到SRAM指定地址并执行。
6.根据权利要求5所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,所述启动地址,对于Mips架构的芯片,芯片会从0xBFC00000处取指,物理地址就是0x1FC00000,处于非缓存的kseg1内存区域;所述SRAM启动方法中的启动地址,跳转到主ROM代码,非缓存的异常入口在0xBFC00100,这个地方没有足够的空间存放完整的启动代码,必须做一个跳转。
7.根据权利要求1所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,S1中,使用easyboot之前首先要配置easyboot,先配置,再编译,就需要一个配置文件,要根据开发板创建配置文件,这个配置文件的目录是easyboot/configs,根据需求进行配置。
8.根据权利要求1所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,S2中,easyboot的裁剪移植基本都是在头文件中进行的,开发板头文件的目录是在easyboot/include/configs下。
9.根据权利要求1所述的芯片基于SRAM启动的最小交互系统的配置方法,其特征在于,S3中,在easyboot/board目录下有SoC厂商的文件夹,这个文件夹中有一些文件,其中最重要的两个文件就是Makefile文件和板子的.c文件,Makefile文件控制着.c文件的编译。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211716229.6A CN116166329A (zh) | 2022-12-29 | 2022-12-29 | 芯片基于sram启动的最小交互系统的配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211716229.6A CN116166329A (zh) | 2022-12-29 | 2022-12-29 | 芯片基于sram启动的最小交互系统的配置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166329A true CN116166329A (zh) | 2023-05-26 |
Family
ID=86417527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211716229.6A Pending CN116166329A (zh) | 2022-12-29 | 2022-12-29 | 芯片基于sram启动的最小交互系统的配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166329A (zh) |
-
2022
- 2022-12-29 CN CN202211716229.6A patent/CN116166329A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1185578C (zh) | 易于测试和调试程序的中央处理单元 | |
CN106598632B (zh) | 一种光模块的固件升级方法及装置 | |
US7882492B2 (en) | Intelligent computer program debugger, and system and method for implementing the same | |
EP0547840A2 (en) | Event handling in a high level programming language environment | |
US20050188262A1 (en) | Simultaneous execution of test suites on different platforms | |
US20030212983A1 (en) | Method and system for modifying executable code to add additional functionality | |
CN104050080B (zh) | 用户态调试linux内核的方法及系统 | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
US8776024B2 (en) | Software application fine-tuning method, system, and corresponding computer program product | |
CN107577477B (zh) | 一种基于dtb文件的多平台软件版本自适应方法及系统 | |
CN109739769A (zh) | Bootrom加载功能自动化测试方法及装置 | |
CN110543427A (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN112748959A (zh) | 嵌入式系统启动方法、闪存烧录方法与系统更新方法 | |
CN105446886B (zh) | 一种计算机程序调试方法和装置 | |
CN113742215A (zh) | 一种自动配置和调用测试工具进行测试分析的方法及系统 | |
CN103176903B (zh) | MapReduce分布式系统程序的测试方法及设备 | |
CN116166329A (zh) | 芯片基于sram启动的最小交互系统的配置方法 | |
CN100359485C (zh) | 嵌入式系统的测试装置及测试方法 | |
JP2008135008A (ja) | プログラムモジュール検証方式 | |
Ma et al. | Analyzing distributed Java applications by automatic centralization | |
CN115344268A (zh) | 一种多平台嵌入式开发环境编译方法及装置 | |
CN113900693A (zh) | 一种固件升级方法、装置、系统、电子设备及存储介质 | |
CN111858359B (zh) | 可执行文件的工程代码位置获取方法和装置 | |
CN109783417B (zh) | 一种串口通讯装置及方法 | |
CN109947407B (zh) | 一种数据获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230704 Address after: 211899 floor 6, tower C, Tengfei building, No. 88, Jiangmiao Road, Jiangbei new area, Nanjing, Jiangsu Applicant after: Jiangsu Huachuang Micro System Co.,Ltd. Applicant after: The 14th Research Institute of China Electronics Technology Group Corporation Address before: 211899 floor 6, tower C, Tengfei building, No. 88, Jiangmiao Road, Jiangbei new area, Nanjing, Jiangsu Applicant before: Jiangsu Huachuang Micro System Co.,Ltd. |
|
TA01 | Transfer of patent application right |