Stb225
物理内存的大小和速度在启动时通过
aboot
配置。
运行
prjconfig
进入
Hardware
进入
Control Register setup filename prefix
选择你的
ddr
配置,参考表一:
比如:你采用了两块
64MB(512mbit)
的
DDR
,共
128MB
,希望速度为
200MHz
,该项输入
c19.
又或者
4
块
64MB 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
为不选中
�C
即不用
aboot
而是
nandbootloader.bin
CONFIG_CONTROL_REGISTER_SETUP �C
这里选择
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。
原因暂未能找到,所以使用还需谨慎。