1 2 3 4 5 下一页 1 ucLinux的内存布局 在uclinux启动时,有一段空间利用的提示: Memory map:
其中text代表这段空间中存储的是uclinux内核的代码;init中存放的也是 uclinux内核的代码,但是这一段空间在内核启动完成后是可以回收的,即它可以供内核重新分配;DATA段是 uClinux 未被初始化的数据空间;BSS段是 uClinux初始化的数据空间,它的初始化操作将在head.s中完成。此外从0到text开始的这一段空间也会被初始化为0。 2 VDSP中的空间分配 uclinux的空间定位是由链接器完成的,由arch/blackfin /kernel/vmlinux.lds.s控制完成。而VDSP的空间定位则是由ldf文件完成的,而ldf文件的语法与vmlinux.lds.s相似。我们所要做的就是将vmlinux.lds.s中的相关定义转移到ldf文件中。 1、定义一块uclinux使用的内存空间: MEM_SDRAM_UCLINUX { TYPE(RAM) START(0x00010000) END(0x001fffff) WIDTH(8) } 在这里,空间的结束使用了一个较大的数值,实际上在uclinux内核中会从代码实际结束的地方开始管理存储空间。 2、将uclinux内核的入口函数写入到0xFFA00000,即a核的启动地址。
(责任编辑:admin) |