SoC_amba进行串口调试出现的一种错误:
比如: Welcome to SoC能打印出来,而Welcome to SoC! 就不能打印。
编译出来的指令 l.sw 0x0(r5),r0 中
如果r5 为 0x1339 ,那么该条指令会被cpu判断为异常指令。
Welcome to SoC!对应0x1339。
0x1339作为l.sw的目标地址,必须要字节对齐(最低两个bit需为0),而其最低两个bit为01,显然不是字节对齐。
如上图:产生sig_align,异常类型为except_flushpipe = 0x200;
那么我们试试取消cpu的l.sw 指令的字节对齐检查,修改or1200_lsu.v的代码:
注释169行,改其为170行代码;
《步步惊芯》-P278有类似叙述:
编译,仿真: