一种基于FPGA的处理器启动方法和处理器技术

技术编号:24289576 阅读:19 留言:0更新日期:2020-05-26 20:00
本发明专利技术公开一种基于FPGA的处理器启动方法和处理器。本技术方案中,运行固化启动引导程序,从处理器内核地址空间中获取处理器映射的片外存储单元用于嵌入式程序映像文件下载的地址段;把地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元;运行片内指令存储单元中的嵌入式程序映像文件。当嵌入式程序需要更新时,本技术方案可避免重载处理器内核硬件设计,降低开发复杂度,提高开发效率。

A starting method and processor based on FPGA

【技术实现步骤摘要】
一种基于FPGA的处理器启动方法和处理器
本专利技术涉及FPGA
,尤其涉及一种基于FPGA的处理器启动方法和处理器。
技术介绍
现场可编程逻辑门阵列(Field-ProgrammableGateArray,FPGA)被广泛地应用到各个领域中。基于FPGA的处理器具有良好的扩展性,设计人员可根据不同应用场景自由扩展处理器的功能,有利于快速设计和使用。本技术方案的技术人员在研发时发现,现有的基于FPGA的处理器启动方法,在完成处理器内核硬件设计后,把启动引导程序和嵌入式程序映像文件写入片内指令存储单元的初始值中;当运行片内指令存储单元的初始值中的启动引导程序时,从该片内指令存储单元的初始值中运行嵌入式程序映像文件。现有技术在每次更新嵌入式程序时,需要重载处理器内核硬件设计,执行布局和布线,产生码流文件,重新把嵌入式程序映像文件写入内指令存储单元的初始值中,增加开发复杂度,降低开发效率。
技术实现思路
本专利技术实施例提供一种提高开发效率的基于FPGA的处理器启动方法和处理器。本专利技术实施例采用以下技术方案:第一方面,本专利技术实施例提供一种基于FPGA的处理器启动方法,包括:运行固化启动引导程序,从处理器内核地址空间中获取处理器映射的片外存储单元用于嵌入式程序映像文件下载的地址段;把地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元;运行片内指令存储单元中的嵌入式程序映像文件。作为一个可选实施例,把地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元,运行片内指令存储单元中的嵌入式程序映像文件,包括:a将读地址偏移量寄存器的数值初始化为0;b根据读地址偏移量寄存器的数值与地址段的起始地址,从片外存储单元中读取预置大小的数据;c根据预置大小的数据判断是否读完片外存储单元中的嵌入式程序映像文件;若文件读完,运行片内指令存储单元中的嵌入式程序映像文件;若文件没有读完,把预置大小的数据保存到片内指令存储单元,根据预置大小的数值修改读地址偏移量寄存器的数值,返回步骤b。作为一个可选实施例,根据预置大小的数值修改读地址偏移量寄存器的数值,返回步骤b,包括:根据预置大小的数值修改读地址偏移量寄存器的数值,判断读地址偏移量寄存器的数值是否达到最大预设值,若是,运行片内指令存储单元中的嵌入式程序映像文件,否则,返回步骤b。作为一个可选实施例,根据读地址偏移量寄存器的数值与地址段的起始地址,从片外存储单元中读取预置大小的数据,包括:把读地址偏移量寄存器的数值相对的16进制值与地址段的起始地址的16进制值相加,得到当前读取地址值,从片外存储单元的当前读取地址值开始读取预置大小的数据;根据预置大小的数据判断是否读完片外存储单元中的嵌入式程序映像文件,包括:判断预置大小的数据相对的2进制值是否全为1,若是,确认文件读完,否则,确认文件没有读完。作为一个可选实施例,根据预置大小的数值修改读地址偏移量寄存器的数值,包括:将预置大小的数值与读地址偏移量寄存器的数值相加,得到当前数值,把读地址偏移量寄存器的数值修改为当前数值。作为一个可选实施例,把预置大小的数据保存到片内指令存储单元,包括:从处理器内核地址空间中获取片内指令存储单元用于保存嵌入式程序映像文件的地址段;根据读地址偏移量寄存器的数值与该地址段的起始地址,在片内指令存储单元中写入预置大小的数据。作为一个可选实施例,根据读地址偏移量寄存器的数值与该地址段的起始地址,在片内指令存储单元中写入预置大小的数据,包括:把读地址偏移量寄存器的数值相对的16进制值与该地址段的起始地址的16进制值相加,得到当前写入地址值,在片内指令存储单元的当前写入地址值开始写入预置大小的数据。作为一个可选实施例,基于FPGA的处理器为由FPGA配置成的嵌入式处理器;运行固化启动引导程序,之前还包括:从处理器内核地址空间中获取处理器映射的片外存储单元用于FPGA码流文件下载的地址段,使用地址段对应片外存储单元中的FPGA码流文件把FPGA配置成嵌入式处理器;其中,嵌入式程序映像文件和FPGA码流文件复用同一个片外存储单元,处理器复用同一个外部存储单元接口从片外存储单元中加载嵌入式程序映像文件和FPGA码流文件。作为一个可选实施例,处理器内核地址空间还包括片内指令存储单元用于写入固化启动引导程序的地址段、以及数据存储单元和外部设备地址空间的地址段;处理器为第五代精简指令集架构的处理器;从片外存储单元中读取预置大小的数据,包括,使用基于第五代精简指令集架构的指令集定义的存储单元读指令、从片外存储单元中读取预置大小的数据;把预置大小的数据保存到片内指令存储单元,包括,使用基于第五代精简指令集架构的指令集定义的存储单元写指令、把预置大小的数据保存到片内指令存储单元;若文件读完,运行片内指令存储单元中的嵌入式程序映像文件,包括,使用基于第五代精简指令集架构的指令集定义的条件分支指令判断出文件读完,运行片内指令存储单元中的嵌入式程序映像文件;若是,运行片内指令存储单元中的嵌入式程序映像文件,包括,使用基于第五代精简指令集架构的指令集定义的条件分支指令判断出读地址偏移量寄存器的数值达到最大预设值,运行片内指令存储单元中的嵌入式程序映像文件。第二方面,本专利技术实施例提供一种基于FPGA的处理器,处理器包括片内指令存储单元,处理器用于执行上述任意一个可选实施例的方法。与现有技术相比,本专利技术实施例具有以下有益效果:本技术方案中,运行固化启动引导程序,从处理器内核地址空间中获取处理器映射的片外存储单元用于嵌入式程序映像文件下载的地址段;把地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元;运行片内指令存储单元中的嵌入式程序映像文件。本技术方案在处理器内核地址空间设置有处理器映射的片外存储单元用于嵌入式程序映像文件下载的地址段,在运行固化启动引导程序时可以在把地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元;当嵌入式程序需要更新时,下载器等设备先把嵌入式程序映像文件下载到片外存储单元中,然后该处理器在运行固化启动引导程序时,把嵌入式程序映像文件加载到片内指令存储单元中运行,避免重载处理器内核硬件设计,降低开发复杂度,提高开发效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例公开的应用场景示意图。图2是本专利技术实施例公开的基于FPGA处理器与片外存储单元连接示意图。图3是本专利技术实施例公开的片内指令存储单元示意图。图4是本专利技术实施例公开的基于FPGA的处理器启动方法流程图。图5是本专利技术实施例公开的另一基于FPGA的处理器启动方法流程图。具本文档来自技高网...

【技术保护点】
1.一种基于FPGA的处理器启动方法,其特征在于,包括:/n运行固化启动引导程序,从处理器内核地址空间中获取处理器映射的片外存储单元用于嵌入式程序映像文件下载的地址段;/n把所述地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元;/n运行片内指令存储单元中的所述嵌入式程序映像文件。/n

【技术特征摘要】
1.一种基于FPGA的处理器启动方法,其特征在于,包括:
运行固化启动引导程序,从处理器内核地址空间中获取处理器映射的片外存储单元用于嵌入式程序映像文件下载的地址段;
把所述地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元;
运行片内指令存储单元中的所述嵌入式程序映像文件。


2.根据权利要求1所述的方法,其特征在于,所述把所述地址段对应片外存储单元中的嵌入式程序映像文件加载到片内指令存储单元,运行片内指令存储单元中的所述嵌入式程序映像文件,包括:
a.将读地址偏移量寄存器的数值初始化为0;
b.根据所述读地址偏移量寄存器的数值与所述地址段的起始地址,从片外存储单元中读取预置大小的数据;
c.根据所述预置大小的数据判断是否读完片外存储单元中的嵌入式程序映像文件;若文件读完,运行片内指令存储单元中的所述嵌入式程序映像文件;若文件没有读完,把所述预置大小的数据保存到片内指令存储单元,根据所述预置大小的数值修改所述读地址偏移量寄存器的数值,返回所述步骤b。


3.根据权利要求2所述的方法,其特征在于,所述根据所述预置大小的数值修改所述读地址偏移量寄存器的数值,返回所述步骤b,包括:
根据所述预置大小的数值修改所述读地址偏移量寄存器的数值,判断所述读地址偏移量寄存器的数值是否达到最大预设值,若是,运行片内指令存储单元中的所述嵌入式程序映像文件,否则,返回所述步骤b。


4.根据权利要求3所述的方法,其特征在于,所述根据所述预置大小的数值修改所述读地址偏移量寄存器的数值,包括:
将所述预置大小的数值与所述读地址偏移量寄存器的数值相加,得到当前数值,把读地址偏移量寄存器的数值修改为当前数值。


5.根据权利要求2所述的方法,其特征在于:
所述根据所述读地址偏移量寄存器的数值与所述地址段的起始地址,从片外存储单元中读取预置大小的数据,包括:把所述读地址偏移量寄存器的数值相对的16进制值与所述地址段的起始地址的16进制值相加,得到当前读取地址值,从片外存储单元的当前读取地址值开始读取预置大小的数据;
所述根据所述预置大小的数据判断是否读完片外存储单元中的所述嵌入式程序映像文件,包括:判断所述预置大小的数据相对的2进制值是否全为1,若是,确认文件读完,否则,确认文件没有读完。


6.根据权利要求2所述的方法,其特征在于,所述把所述预置大小的数据保存到片内指令存储单元,包括:...

【专利技术属性】
技术研发人员:徐庆嵩刘建华刘锴李秦飞李锋杜金凤
申请(专利权)人:广东高云半导体科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1