ARMV8 MMU600 TTB0页表基地址对齐问题
项目中T0SZ配置了27,本想着PA不会超出36bit,所以按27配置,实际是指需要配28即可。T0SZ=27则实际输出地址是64-27=37bit,但是在配TTB0的时候是按64g范围对齐,也就是0x200,结果对齐出了问题根据手册的说法,37bit的PA对应的寻址范围是128g,所以MMU600实际上必须是0x400的基地址对齐,否则会报错误事件说找不到地址。一个被遗漏的点是代码在另一个环境跑也是按0x200对齐,为什么会没问题?最终发现是因为另一个环境2个设备配的同样的页表,一个是地址..
原创
2021-07-13 22:10:29 ·
453 阅读 ·
0 评论