图 1 为龙芯原始 PMON 初始化的代码流程,其中 C语言环境代码没有详细展开,事实上 C 语言的比重比汇编代码多很多。但是汇编代码的篇幅确实也是不小,这样对阅读代码有很大的障碍。粗略估算了一下,现有代码中,汇编能占到 1.5-2 万行。   现有的代码汇编风格并不是很好,有些代码甚至难以让人读懂。所以将代码结构从新整理是很有必要的。   总体上的思想是将 C 语言环境尽快搭建起来,让汇编代码压缩的最小。并且将所有的初始化变成模块,用树形结构来搭建 BIOS 启动的流程。配置信息类似于表的方式存在,今后在开机上电后龙芯 BIOS 也可以自检,如果当前主板配置和默认配置不匹配,那么将配置文件读入,进而使用配置文件的值来初始化。搭建 C 语言环境可以使用 CAR 技术,CAR 是 Cache As RAM 的缩写。C 语言运行需要栈,在初始化初期,内存不可用,如果想在该阶段使用 C 环境,那么可以使用 cache 作为栈,龙芯平台上可以将 cache 锁定,不让 cache 内容被交换出去,这样就可以让 cache 当做 RAM 来使用。
2022-11-02 22:52:00 387KB 控制器/处理器
1
mybatis获取SqlSession源代码流程
2022-02-21 15:20:36 338KB mybatis 源代码 sqlSession
1
自动代码生成流程图工具软件,包含安装源文件以及破解工具
2022-02-12 16:52:40 1.22MB C代码流程生
1
ATF BL1代码流程
2021-12-11 16:00:30 52KB ATF BL1 代码流程图
1
ATF BL1代码流程
2021-12-11 16:00:30 184KB ATF BL1 代码流程
1
完整的wpa_supplicant工具的代码流程解析
2021-11-22 09:48:46 403KB wpa wifi sta
1
qcom的ION,SMMU实现流程,已经DTS文件对应关系。不知道怎么搞的把下载所需积分改小后,系统会自动把积分改回来,如果觉得积分太多就联系我吧
2021-09-17 18:27:56 11.77MB qcom ION SMMU 代码流程
1
梳理了协议栈的代码流程,对协议栈开发帮助很大。
2021-08-25 18:08:54 90.49MB 协议栈
1
MySQL启动开始,看一下MySQL业务流程。 首先入口函数在目录sql/main.cc中: return mysqld_main(argc, argv); mysqld_main(argc, argv)函数,这个函数在sql/mysqld.cc中 MY_INIT(argv[0]); 函数位于sql/my_init.cc,用于初始化mysql内部的系统库,
2021-08-16 23:09:52 16KB mysql教程
1
MROUTER主要流程与代码解析
2021-07-21 21:00:46 1.95MB 代码流程
1