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

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

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

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

相关推荐
国科安芯1 天前
商业航天与航空安全场景下抗辐射 MCU 选型、应用实践及发展趋势
单片机·嵌入式硬件·无人机·cocos2d·risc-v
国科安芯1 天前
空间辐射环境下抗辐射 MCU 可靠性机理及航空安全应用研究综述
单片机·嵌入式硬件·macos·无人机·cocos2d·risc-v
国科安芯1 天前
航空安全关键系统抗辐射 MCU 加固技术、工程实现与典型应用
单片机·嵌入式硬件·无人机·cocos2d·risc-v
Captain_Data2 天前
AI 12小时设计CPU完整解析:从219字到RISC-V内核的技术突破
人工智能·python·ai·大模型·芯片设计·risc-v
圆山猫3 天前
[RISCV] 用 Rust 写一个 RISC-V BootROM:从 QEMU 到真实硬件(2)
rust·risc-v
嵌入式小企鹅3 天前
算力价值重估、AI编程模型齐开源、RISC-V融资15亿
人工智能·学习·ai·程序员·risc-v·前沿科技·太空算力
圆山猫4 天前
[Linux] 用 Buildroot 为 RISC-V QEMU 构建最小根文件系统
linux·运维·risc-v
圆山猫4 天前
[AI] [RISCV] 用 Rust 写一个 RISC-V BootROM:从 QEMU 到真实硬件
开发语言·rust·risc-v
电子科技圈6 天前
从进迭时空K3看RISC-V CPU与Imagination GPU协同:如何构建高性能SoC能力
大数据·图像处理·人工智能·嵌入式硬件·边缘计算·智能硬件·risc-v
ivy159868377156 天前
CH32V203G6U6 ‌沁恒32位 RISC-V 微控制器(MCU)‌
单片机·嵌入式硬件·risc-v