如题,楼主白丝镇楼。
嵌入式开发,老师布置的实验3内容里有实现write()函数和_sbrk()函数(我查了查,后面那个看起来是内存分配,write()函数的简单实现就是对串口地址输出东西)。
我的目标机器是sabrelite,使用ARM CORTEX A9。然后我当时脑子一抽就开始用C写:
struct Page {
unsigned int level;
unsigned int flags;
unsigned int begin;
struct Page next[lbk]32[rbk];
}
打算最下级页表大小32KiB,然后32为单位逐个向上打。结果GPT5说我的这个办法不对,创建页表的操作在C上相当于直接开一个大数组,从汇编上则是移动寄存器到目标位置,然后批量写内容。
这……我真的有点看不懂接下来是怎么做的了。
p.s.上述问题我在x86架构也遇到了,当时我也没搞懂要怎么办。

嵌入式开发,老师布置的实验3内容里有实现write()函数和_sbrk()函数(我查了查,后面那个看起来是内存分配,write()函数的简单实现就是对串口地址输出东西)。
我的目标机器是sabrelite,使用ARM CORTEX A9。然后我当时脑子一抽就开始用C写:
struct Page {
unsigned int level;
unsigned int flags;
unsigned int begin;
struct Page next[lbk]32[rbk];
}
打算最下级页表大小32KiB,然后32为单位逐个向上打。结果GPT5说我的这个办法不对,创建页表的操作在C上相当于直接开一个大数组,从汇编上则是移动寄存器到目标位置,然后批量写内容。
这……我真的有点看不懂接下来是怎么做的了。
p.s.上述问题我在x86架构也遇到了,当时我也没搞懂要怎么办。


