本发明涉及计算机,具体涉及一种xilinx-z7-ps修改启动模式方法和装置。
背景技术:
1、xilinx-z7芯片是一种基于zynq-7000 all programmable soc(系统级芯片)的fpga 系列产品。zynq-7000系列将可编程逻辑(fpga)与双核或四核arm cortex-a9处理器系统(ps模块)集成在单个芯片上,提供了高性能的处理能力和灵活的硬件可编程性。ps模块(processor system)为处理器系统,是一个集成的处理单元,通常包含一个或多个arm处理器核心、内存控制器、以及其他外围接口,如ddr内存接口、以太网、usb、pcie等。在z7系列中,ps模块部分通常包含双核或四核的arm cortex-a9处理器,用于运行操作系统和应用程序代码,处理复杂的控制和数据处理任务。
2、现有的,xilinx-z7芯片的ps模块启动模式选择一般是通过对相关引脚进行配置,这些引脚由硬件固定或采用拨码开关选择,当需要切换启动模式时,需要重新焊接上下拉电阻,改变对应的高低电平,或者通过拨码开关手动调节。这种方式中,如果芯片板卡放置在机箱中,无论是焊接电阻还是调节拨码开关,都很麻烦;而且手动焊接有损坏板卡的风险,甚至在较为复杂的环境下,比如震动等场景,拨码开关不够稳定,很容易误触发,导致设备无法正常启动。
技术实现思路
1、本发明的目的在于提供一种xilinx-z7-ps修改启动模式方法和装置,解决ps在选择ps模块启动模式时灵活性以及稳定性欠佳的问题,本发明通过将配置引脚全部接入mcu,由mcu来进行控制,更灵活且稳定。
2、为实现上述目的,本技术提供以下方案:
3、一方面,本技术提供一种xilinx-z7-ps修改启动模式方法,在mcu上电后执行以下步骤:
4、s1、从eeprom中读取ps模块启动模式的配置状态标记,根据所述配置状态标记对ps模块的启动模式进行配置并在配置完成后给ps模块发送上电指令;
5、s2、监测ps模块上电后的启动状态,根据启动状态设置ps模块的下一次启动模式配置;
6、s3、将ps模块的下一次启动模式配置固化到eeprom中,并将eeprom中ps模块启动模式的配置状态标记刷新为已更新。
7、进一步地,步骤s1中对ps模块的启动模式进行配置的过程为:
8、s11、若读取的配置状态标记为未配置,则按照默认的启动模式配置对ps模块的模式配置引脚进行配置;
9、s12、若读取的配置状态标记为已更新,则从eeprom中获取本次ps模块启动的启动模式配置;
10、s13、加载本次ps模块启动的启动模式配置,对ps模块的模式配置引脚进行配置。
11、进一步地,步骤s1还包括步骤:
12、对ps模块的模式配置引脚配置完成后,清空eeprom中ps模块启动模式的配置状态标记,将配置状态标记修改为未配置。
13、进一步地,启动模式包括flash启动模式和sd卡启动模式,默认的启动模式配置为flash启动模式。
14、进一步地,步骤s2中设置ps模块的下一次启动模式配置的具体过程为:
15、s21、若启动状态为ps模块能正常启动,则从ps模块接收下发的启动模式配置,对下发的启动模式配置进行解析,得到下一次启动模式配置;
16、s22、若启动状态为ps模块不能正常启动,则通过mcu的串口命令设置ps模块的下一次启动模式配置。
17、第二方面,本技术提供一种xilinx-z7-ps修改启动模式装置,包括:
18、eeprom,用于接收mcu下发的ps模块的下一次启动模式配置,将ps模块的下一次启动模式配置存储到对应地址中并刷新ps模块模式的配置状态标记为已更新;
19、mcu,用于从eeprom中读取ps模块启动模式的配置状态标记,根据所述配置状态标记对ps模块的启动模式进行配置并在配置完成后给ps模块发送上电指令;
20、还用于监测ps模块上电后的启动状态,根据启动状态设置ps模块的下一次启动模式配置;
21、xilinx-z7-ps包括ps模块,用于接收到上电指令后根据配置的启动模式从对应位置加载ps模块启动需要的固件启动ps模块;监测ps模块的启动状态,将监测到的启动状态发送给mcu。
22、进一步地,xilinx-z7-ps通过sdio接口访问sd模块以及通过qspi接口访问flash模块,sd模块中存放有sd卡启动模式下ps模块启动需要的固件,flash模块中存放有flash启动模式下ps模块启动需要的固件。
23、进一步地,mcu根据配置状态标记对ps模块的启动模式进行配置的过程为:
24、若读取的配置状态标记为未配置,则按照默认的启动模式配置对ps模块的模式配置引脚进行配置;
25、若读取的配置状态标记为已更新,则从eeprom中获取本次ps模块启动的启动模式配置,加载本次ps模块启动的启动模式配置,对ps模块的模式配置引脚进行配置。
26、进一步地,默认的启动模式配置为flash启动模式。
27、进一步地,若监测到ps模块的启动状态为正常启动,则ps模块通过i2c访问mcu,向mcu下发ps模块的下次启动模式配置;
28、若监测到ps模块的启动状态为不能正常启动,则mcu通过串口输入串口命令设置ps模块的下一次启动模式配置。
29、本技术的构思为:
30、现有的,ps模块的启动模式修改一般在制造芯片板卡时就直接将模式固定住,然后在该模式接口的引脚处焊接上下拉电阻,ps模块上电后根据上下拉电阻选择的模式自动加载固定好的启动模式,或者外接拨码开关,通过拨码开关手动调节,当需要切换启动模式时,由于上下拉电阻已固定,则需要重新焊接上下拉电阻,改变对应的高低电平。重新焊接电阻,由于电阻引脚很小,焊接时易损坏板卡,而采用拨码开关,容易受外界环境影响,造成拨码开关不稳定,导致误触发,设备无法正常启动。
31、而本技术中通过去掉用于切换启动模式的上下拉电阻,将ps模块的所有引脚全部接入mcu,ps模块和mcu通过i2c总线通信,每次ps启动时,mcu通过访问eeprom,获取当前ps期望启动的启动模式,并在获得启动模式后通过gpio来配置ps模式配置引脚,然后通过ps模块的上电状态为ps模块配置下一次启动的启动模式,并固化到eeprom中。可以看出,通过mcu控制ps模块需要切换的启动模式,这样每次需要切换时,就可以直接通过mcu来对ps模块的引脚直接配置,无需重新焊接上下拉电阻也无需使用编码开关,使得ps模块启动模式的选择更具灵活性以及稳定性。
32、本发明具有的有益效果:
33、本技术通过将ps模块的所有引脚全部接入mcu,通过mcu来直接配置和控制,mcu通过读取ps模块的配置状态标记,配置ps模块的引脚,使得ps模块通过期望的启动模式启动,无需重新焊接上下拉电阻也无需使用编码开关,使得ps模块启动模式的选择更具灵活性以及稳定性。
1.一种xilinx-z7-ps修改启动模式方法,其特征在于,在mcu上电后执行以下步骤:
2.根据权利要求1所述的一种xilinx-z7-ps修改启动模式方法,其特征在于,步骤s1中对ps模块的启动模式进行配置的过程为:
3.根据权利要求2所述的一种xilinx-z7-ps修改启动模式方法,其特征在于,步骤s1还包括步骤:
4.根据权利要求2所述的一种xilinx-z7-ps修改启动模式方法,其特征在于,启动模式包括flash启动模式和sd卡启动模式,默认的启动模式配置为flash启动模式。
5.根据权利要求1所述的一种xilinx-z7-ps修改启动模式方法,其特征在于,步骤s2中设置ps模块的下一次启动模式配置的具体过程为:
6.一种xilinx-z7-ps修改启动模式装置,其特征在于,包括:
7.根据权利要求6所述的一种xilinx-z7-ps修改启动模式装置,其特征在于,xilinx-z7-ps通过sdio接口访问sd模块以及通过qspi接口访问flash模块,sd模块中存放有sd卡启动模式下ps模块启动需要的固件,flash模块中存放有flash启动模式下ps模块启动需要的固件。
8.根据权利要求6所述的一种xilinx-z7-ps修改启动模式装置,其特征在于,mcu根据配置状态标记对ps模块的启动模式进行配置的过程为:
9.根据权利要求8所述的一种xilinx-z7-ps修改启动模式装置,其特征在于,默认的启动模式配置为flash启动模式。
10.根据权利要求8所述的一种xilinx-z7-ps修改启动模式装置,其特征在于,若监测到ps模块的启动状态为正常启动,则ps模块通过i2c访问mcu,向mcu下发ps模块的下次启动模式配置;
