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


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

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


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