【RISC-V】解决链接器加入全局变量优化后操作系统无法启动的问题

问题描述:我想在构建操作系统内核本身的链接器脚本中加入全局变量优化,于是我在脚本中加入了小数据段,又在操作系统的汇编代码中初始化了全局寄存器,然后我的操作系统就无法启动了(卡住了)

问题:操作系统的入口是S模式的0x80200000,但我在链接脚本中把 .sdata 段放在了 .text.boot 前面,导致 CPU 从 0x80200000 开始执行的是数据段而非代码,系统立即崩溃,因此"没有输出"。

解决:将新添加的段放在它该在的位置

相关推荐
努力的章鱼bro18 小时前
操作系统-net
c++·操作系统·dma·risc-v
努力的章鱼bro2 天前
操作系统-FileSystem
c++·操作系统·risc-v·filesystem
OpenAnolis小助手9 天前
玄铁 C950 发布!龙蜥社区加速 RISC-V 云计算落地
云计算·操作系统·龙蜥社区·risc-v
图灵机z10 天前
【操作系统】四、进程管理
linux·服务器·网络·windows·macos·centos·risc-v
jianqiang.xue13 天前
ESP32-S3 运行 Linux 全指南:从 RISC-V 模拟器移植到 8 秒快速启动
linux·stm32·单片机·mongodb·risc-v·esp32s3
AuroBreeze19 天前
RISC-V: Minimal U-mode implementation
linux·c语言·c++·risc-v
VermouthSp19 天前
RISC-V裸机程序(bare-metal-app)
risc-v
国科安芯20 天前
星载电源遥测模块抗辐照RISC-V MCU的性能适配与应用
单片机·嵌入式硬件·无人机·cocos2d·risc-v
国科安芯25 天前
抗辐照MCU在高空长航时无人机热管理系统中的可靠性研究
单片机·嵌入式硬件·架构·无人机·cocos2d·risc-v