关于VxWorks6.8的内存空间分配

刚刚离职,但是原先的项目中碰见一个问题,已经解决,写个博客记录一下。

问题描述:

板卡的内存空间为1GB,但是在shell中使用d命令读取所以的内存信息,在访问700MB+的地址就会报访问异常。

分析步骤:

和硬件确认板卡的RAM确实是1GB,并且如果某一块坏的话整个内存将无法使用。

在bootrom启动后读取700MB+的地址没有问题。

确定是内核配置的问题,检查所有内核中关于内存空间映射的配置,没有发现什么问题。查看内核编程手册内存映射章节,发现这样的描述:

在不支持进程的情况下,vxworks的内存映射是这样的:

关于VxWorks6.8的内存空间分配_第1张图片

在支持进程的情况下,内存映射另外一个样子:

关于VxWorks6.8的内存空间分配_第2张图片

这样就分析出来,内核镜像的配置中是不是把RTP给打开了,检查配置文件,果然。

你可能感兴趣的:(vxworks)