Stb225物理内存的大小和速度在启动时通过aboot配置。
运行prjconfig
进入Hardware
进入Control Register setup filename prefix
选择你的ddr配置,参考表一:
比如:你采用了两块64MB(512mbit)DDR,共128MB,希望速度为200MHz,该项输入c19.
又或者464MB DDR,共256MB,该项选择C22
 
DDR speed
64 MB
(1 * 512 mbit)
64 MB
(2 * 256 mbit)
128 MB
(2 * 512 mbit)
256 MB
(4 * 512 mbit)
133 MHz
c26
c23
c17
c20
166 MHz
c27
c24
c18
c21
200 MHz
c28
c25
c19
c22
 
 
之后运行prjmake control sub=nandboot.make
将会生成新的nandbootloader.bin$BUILDROOT/packages/nandboot/下面
链接烧录或升级该文件到aboot分区即可。
 
启动机器,查看串口输出的开始部分,可以检查是否内存配置成功,比如:
--------------------------------------------------------------------
-- Generic Primary Bootloader 0.1-3847, NI (04:13:33, Feb 17 2009)
-- Andre McCurdy, NXP Semiconductors
--------------------------------------------------------------------
Device: PNX8335 M1
Secure boot: disabled, keysel: 0, vid: 0 (expecting 2)
Poly10: 0x00000000
RNG: enabled
RSA keyhide: enabled
UID: 0000000000000000
AES key: 00000000000000000000000000000000
KC status: 0x00000000
Flash config: 7 (omni: 8bit NAND), timing: 0x0C
CPU clock: 320 MHz
SIF0: 512 cols x 8192 rows: 64 MBytes
SIF1: 512 cols x 8192 rows: 64 MBytes
DRAM: 200 MHz, 2 x 64 MBytes: 128 MBytes
 
由于DDR部分的走线非常严格,有些客户设计的板子导致DDR无法工作在200MHz,如果软件上配置成200MHz,机器工作不稳定或者导致u-boot不能正常Loading和启动。为了检测是否是这类原因导致,可以按照上述方法配置DDR速度。
另外一种配置DDR速度的方法可以是,在机器开机的时候通过串口按任意键进入aboot,进行手动配置。
 
更方便的配置和调试物理内存的方法,是通过Ejtag,按照上诉表格选择下面目录里面相应的cfg文件。如c22.cfg for 256MB 200MHz内存
H264\stb225\etc\hardware\startup_reg_settings\generated
 
测试DDR的方法可以参考
H264\stb225\etc\hardware\dramtest程序。
 
或者Loading u-boot.rescue.bin运行检验问题。
 
 
另外,系统通常直接采用预编好的nandbootloader.bin,如果要自己编译,方法如下:
可以通过prjconfig修改以下项。
CONFIG_NANDBOOT_ABOOT 为不选中 即不用aboot而是nandbootloader.bin
CONFIG_CONTROL_REGISTER_SETUP – 这里选择c17或者c19等,其中的c17或者c19对应
stb225/etc/hardware/startup_reg_setting/generated/下面的configure 头文件。
2010-01-05 注:
新的SDK屏蔽了该选项,如果要直接编译可以修改
stb225/src/nandboot/aboot/build_script
XC_OPTIONS="${XC_OPTIONS} /opt/tuxbuilder-1.0/mipsel-unknown-linux-gnu/cross/bin/mipsel-linux"
打开。目前编译还存在问题,必要时要进一步分析。
 
2010-01-05 注:
客户拿来一块256M DDR的板子,由于200MHZ跑不了,需要提供166MHz的nandboot,从Config上看,nandboot似乎和DDR size有关,但是用
stb225/src/nandboot/aboot/prebuilt/aboot_nandboot_vcm166_0.1-3847.bin后,发现也能检测到256M DDR。
原因暂未能找到,所以使用还需谨慎。