96SEO 2026-02-19 16:13 9
环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客

系统引导程序Bootloader_Patarw_Li的博客-CSDN博客
Bootloader是cpu在上电后执行的第一段代码用于初始化各类资源并且跳转到主程序上执行比如初始化sp寄存器将rom中的数据搬运到ram上清零bss段等等。
百度百科的词条中这样解释Bootloader“Bootloader是嵌入式系统在加电后执行的第一段代码在它完成CPU和相关硬件的初始化之后再将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间启动操作系统运行”。
一般系统引导程序都是固化在flash中因为ram断电即失上电后先执行引导程序再跳转到主程序上执行
引导程序大多都是使用汇编语言编写毕竟涉及到一些寄存器操作下面我会写一个简单的启动程序来帮助我们初始化栈指针sp、并且跳转到主程序执行。
inc目录下存放头文件kernel.c为主程序引导程序最终会跳转到这里执行start.S为引导程序Makefile为自动化构建脚本。
.equ类似于C语言里面的宏将STACK_SIZE设置成256。
.global关键字用来让一个符号对链接器可见可以供其他链接对象模块使用告诉编译器后续跟的是一个全局可见的名字变量/函数名。
.text指定后续内容为代码段。
_start是一个符号是汇编程序默认入口标号。
也是编译、链接后程序的起始地址。
_start必须定义成全局的以便存在于编译后的全局符号表中供其他程序如加载器寻找到。
la
为什么用大写的.S后缀而不用小写的.s呢因为使用GCC准确说是GCC调用了as汇编器处理汇编代码时汇编文件的后缀有两种.s与.S。
这两种文件都是汇编代码其区别在于
.s格式的汇编文件中只能包含纯粹的汇编代码汇编器只对其进行汇编操作没有预处理操作.S格式的汇编文件中还可以使用预处理命令汇编器会先进行预处理然后再进行汇编。
而我们的启动代码包含了头文件所以就需要用大写的.S结尾的汇编文件了。
${CROSS_COMPILE}objdumpSRCS_ASM
该脚本的工作是先把start.S和kernel.c编译成start.o和kernel.o目标文件然后再将start.o和kernel.o目标文件链接成os.elf文件最后再通过objcopy将os.elf文件变成二进制os.bin文件os.bin文件就是最后我们要放到板子上跑的程序。
可能有人会问为什么不直接把elf文件放到处理器上去运行下面对elf格式的文件做一些简单的介绍
下面是elf文件的格式可以看到除了中间一部分正文段和数据段以外还有一些其他的段比如ELF
Header里面描述了体系结构和操作系统等基本信息并指出Section
Table在汇编和链接过程中没有用到所以是可有可无的Section
但是cpu并不能识别这些信息只有一些特定的操作系统才能识别这些信息所以这些信息对处理器来说是没有用的而objcopy指令正是帮我们去掉这些处理器无法识别的内容留下的内容即为处理器可以识别的内容。
使用这个指令可以查看每条C语句对应的汇编代码以及每条指令的地址。
最后是kernel.c里面的内容这里面即可存放我们要运行的内容还是以我们的流水灯程序为例子
要进行上板测试首先得按照我前面的文章烧录riscv处理器程序到板子上
上板验证基于野火征途Pro开发板_Patarw_Li的博客-CSDN博客
然后执行make生成os.bin文件后通过python串口发送程序serial_utils目录下将os.bin文件烧录到处理器的memory上按住key1不动烧录完后松开烧录后即可看到流水灯现象。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback