一种基于PMON固件的MIPS架构系统的快速启动方法与流程

未命名 08-25 阅读:153 评论:0

一种基于pmon固件的mips架构系统的快速启动方法
技术领域
1.本发明涉及软件功能优化技术领域,尤其涉及一种基于pmon固件的mips架构系统的快速启动方法。


背景技术:

2.mips架构(mips architecture,为microprocessor without interlocked piped stages architecture的缩写),是一种采取精简指令集(risc)的处理器架构,广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。
3.pmon作为mips架构处理器常用的固件,集成了基础固件的基本功能,包括对mips架构处理器的初始化,外部接口设备的初始化,包括gpio、内存、usb、pcie等。龙芯平台所用的pmon版本基于pmon2000开发而来,添加了硬盘支持、ext文件系统支持、显卡支持,功能得到了很大完善。
4.然而,目前通常配置下pmon的启动速度较慢。再增加系统启动以及应用软件加载运行的时间后,其实际启动时间不能符合部分时间敏感性应用场景的要求。


技术实现要素:

5.本发明提供一种基于pmon固件的mips架构系统的快速启动方法,其目的在于提升pmon的启动速度,使其符合时间敏感性应用场景的要求。
6.为了实现上述目的,本发明采用的一种技术方案是:
7.一种基于pmon固件的mips架构系统的快速启动方法,所述方法包括:处理器初始化配置步骤,内存控制器初始化步骤,程序拷贝搬运步骤,构造函数相关步骤,pci设备探测步骤,设备驱动步骤,以及引导操作系统步骤;
8.其特征在于,所述方法包括以下改进中的至少一项:
9.(a)所述内存控制器初始化步骤中,将自动ddr训练配置为关闭状态,将ddr参数传入ddr初始化函数中,以进行ddr初始化;
10.(b)所述内存控制器初始化步骤中,将内存测试配置为关闭状态;
11.(c)所述构造函数相关步骤中,初始化命令中仅保留flash相关命令和网络相关命令,将其他命令的加载配置为关闭状态;
12.(d)所述构造函数相关步骤中,将文件系统初始化配置为关闭状态;
13.(e)所述pci设备探测步骤中,将pci设备探测过程中的打印语句配置为关闭状态;
14.(f)所述设备驱动步骤中,将cpu主频计算配置为关闭状态,并预设cpu主频;
15.(g)所述设备驱动步骤中,裁剪非必要的或不影响快速启动的设备驱动;
16.(h)所述设备驱动步骤中,建立的环境变量的数量减少至少一个;或
17.(i)所述引导操作系统步骤中,将spiflash划分为分区1和分区2,所述分区1为pmon镜像,所述分区2为操作系统镜像。
18.在一个实施方案中,所述设备驱动步骤中被裁剪的驱动选自vga驱动与sd卡驱动
至少之一。
19.本发明的优点在于提升pmon的启动速度,使其符合时间敏感性应用场景的要求。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1:本发明一个实施例提供的一种基于pmon固件的mips架构系统的快速启动方法的示意图。
具体实施方式
22.下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.在本文中,“至少一项”表示一项或一项以上。
24.在本文中,“包括”、“包含”、“含有”和“具有”等用语是开放性的,不排除额外的未列举的元素、步骤或成分。
25.参考图1,基于pmon固件的mips架构系统的启动方法,其包括:处理器初始化配置步骤,内存控制器初始化步骤,程序拷贝搬运步骤,构造函数相关步骤,pci设备探测步骤,设备驱动步骤,引导操作系统步骤。在可选实施例中,以上步骤为依次执行。
26.处理器初始化配置步骤用于保证pmon的基本运行环境。在可选实施例中,处理器初始化配置步骤包括关中断,配置异常向量,初始化cpu内存寄存器,初始化tlb以及处理器自身的io配置。
27.内存控制器初始化步骤用于实现内存控制器的初始化。在现有技术中通常采用自动ddr训练的方式进行ddr初始化,并进行内存测试。
28.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在内存控制器初始化步骤中,将自动ddr训练配置为关闭状态,将产品板参数复制给s1,将s1传入ddr初始化函数中,以进行ddr初始化。
29.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在内存控制器初始化步骤中,将内存测试配置为关闭状态。
30.程序拷贝搬运步骤包括加载自身进内存,并转入内存运行。
31.构造函数相关步骤包括构造函数的初始化,执行构造函数,建立基本的数据结构。在可选实施例中,所述构造函数通常包括命令初始化函数、文件系统初始化函数和可执行文件类型初始化函数。初始化的各种命令繁多,因而使得启动速度较慢。
32.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在构造函数相关步骤中,仅保留flash相关命令和网络相关命令,将其他命令的加载配置为关闭状态。
33.此外,对于部分领域(例如机载显示领域)采用的操作系统,文件系统初始化的必
要性不高,而启动速度则会被拖慢。
34.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在构造函数相关步骤中,将文件系统初始化配置为关闭状态。
35.pci设备探测步骤包括遍历地址以检测地址上的pci设备,向检测到的所述pci设备分配资源并初始化,所述资源包括io和内存请求。
36.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在pci设备探测步骤中,将pci设备探测过程中的打印语句配置为关闭状态。
37.设备驱动步骤用于构造驱动框架,初始化设备以及建立环境变量。现有技术中使用的方法是计算cpu主频,效率较低;此外,现有技术中的默认环境变量数量较多。
38.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在设备驱动步骤中,将cpu主频计算配置为关闭状态,并预设cpu主频。
39.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在设备驱动步骤中,裁剪非必要的或不影响快速启动的设备驱动。
40.就一个可选实施例,所述设备驱动步骤中被裁剪的驱动选自vga驱动与sd卡驱动至少之一。
41.参考图1,就一个可选实施例,本发明包括以下提升启动速度的改进:在设备驱动步骤中,建立的环境变量的数量减少至少一个。
42.参考图1,对于引导操作系统步骤,就一个可选实施例,本发明包括以下提升启动速度的改进:所述引导操作系统步骤中,将spiflash划分为分区1和分区2,所述分区1为pmon镜像,所述分区2为操作系统镜像。spiflash读速度快,可以很好地提升启动速度,使得pmon在引导操作系统过程中得到一定优化;同时,该分区方法还能节省存储空间。
43.参考图1,所述方法可以包括以上九项改进中的一项、两项、三项、四项、五项、六项、七项、八项或全部九项,以提升启动速度。
44.以上改进对于提升pmon的启动速度的提升效果可以通过测试证明。
45.本发明通过一种测试方法测试上述任一项改进后的pmon的启动速度。具体地,本发明采用高精度事件定时器(high precision event timer,hpet)定义一组定时器。该组定时器由一个向上累加的主计时器和一组比较器构成。设计计时函数countmipstime()的步骤为首先对hpet控制器进行初始化,使hpet计时器开始工作,接着读出此时主计时器的值,并将此值保存。通过比较两次countmipstime()中主计时器的值,根据计时器频率即可得到两次的时间差。将该函数分别插到每个步骤的起始和结束点。这样可得到每个步骤的启动时间和总体启动时间。
46.根据测试,在实现机载显示器的osd菜单显示功能时,不包括以上任一一项改进的龙芯2k1000处理器单pmon的启动速度为20s以上,而采用以上全部改进后,pmon的启动速度减少到2s左右,具有显著的提升启动速度的技术效果。此外,采用前述改进后,pmon的镜像大小由1m左右变成了500多kb。
47.另外,以上虽然是对于pmon固件的改进,但这些改进也可以适用在uboot等其他固件上,并达到提升启动速度的技术效果。
48.以上对本发明进行了详尽介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于
本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,对本发明的变更和改进将是可能的,而不会超出附加权利要求所规定的构思和范围,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种基于pmon固件的mips架构系统的快速启动方法,所述方法包括:处理器初始化配置步骤,内存控制器初始化步骤,程序拷贝搬运步骤,构造函数相关步骤,pci设备探测步骤,设备驱动步骤,以及引导操作系统步骤;其特征在于,所述方法包括以下改进中的至少一项:(a)所述内存控制器初始化步骤中,将自动ddr训练配置为关闭状态,将ddr参数传入ddr初始化函数中,以进行ddr初始化;(b)所述内存控制器初始化步骤中,将内存测试配置为关闭状态;(c)所述构造函数相关步骤中,初始化命令中仅保留flash相关命令和网络相关命令,将其他命令的加载配置为关闭状态;(d)所述构造函数相关步骤中,将文件系统初始化配置为关闭状态;(e)所述pci设备探测步骤中,将pci设备探测过程中的打印语句配置为关闭状态;(f)所述设备驱动步骤中,将cpu主频计算配置为关闭状态,并预设cpu主频;(g)所述设备驱动步骤中,裁剪非必要的或不影响快速启动的设备驱动;(h)所述设备驱动步骤中,建立的环境变量的数量减少至少一个;或(i)所述引导操作系统步骤中,将spiflash划分为分区1和分区2,所述分区1为pmon镜像,所述分区2为操作系统镜像。2.根据权利要求1所述的方法,其特征在于,所述设备驱动步骤中被裁剪的驱动选自vga驱动与sd卡驱动至少之一。

技术总结
本发明提供一种基于PMON固件的MIPS架构系统的快速启动方法,包括在内存控制器初始化步骤、构造函数相关步骤、PCI设备探测步骤、设备驱动步骤、引导操作系统步骤等步骤至少之一中作出改进。本发明能够提升PMON的启动速度,使其符合时间敏感性应用场景的要求。使其符合时间敏感性应用场景的要求。使其符合时间敏感性应用场景的要求。


技术研发人员:程骥思 吴佳彬 赵振华 张锋
受保护的技术使用者:苏州长风航空电子有限公司
技术研发日:2022.12.30
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐