1,那SDRAM的宽度呢?如果在SDRAM里Debug,那CPU怎么知道SDRAM的位宽?
由BSWCON寄存器中DW6或DW7决定(取决于SDRAM接在BANK6还是7)。当然,这个寄存器的配置在程序跳转到SDRAM之前完成。用Jtag调试时,该寄存器由Jtag初始化脚本,比如H-Jtag的FriendlyARM2440.his文件,来完成。
2,还有如果程序是从Nand Flash Boot的,那CPU又是如何判断Nand Flash的位宽的呢?
通过GPG15来决定,0表示8bit,1表示16bit, 参考S3C2440A CPU用户手册 NAND Flash Controller这章的“PIN CONFIGURATION”
追加: 如果同样的程序,放在16 Bit与32 Bit的SDRAM的Debug结果一样吗?
当然,16bit和32bit只是SDRAM的数据总线位宽不同,SDRAM里存储的程序是一样的。