阅读:4031回复:36
关于Config.bib中,内存分配问题KN,RAM
1 在MEMORY下,我们需要分配好下列空间
NK 96CB8000 01F48000 RAMIMAGE ; SDRAM 31.9MB RAM 98C00000 01A00000 RAM ; SDRAM 26MB 那么请问:这里的NK分配的空间,是用来存放image的吧?那么刚开始那个image是放在哪里的啊? 2 那我们的image存放在NOR Flash中时, 我们是不是要把这个NK分配到NOR flash的空间上,把整个SDRAM作为系统RAM? 3 如果image存放在NAND FLASH上时,怎么分配啊? 糊涂了,请兄弟们给分析分析 |
|
最新喜欢:![]() |
沙发#
发布于:2007-01-30 17:37
我是新手 我的疑问可能更多 别笑话
1\我的扳子是9315A flash只16M 型号(E28F16**J3A150A0404**)小弟不懂是NOR FLASH 还是 NAND FLASH ? 2\ 因为我的FLASH小 BIB配置和大家也不一样 我编译出的NK.NBO 都15M多 也可以扳子上运行 看下买内的代码 大侠们分析下 IF EDB9301_02 IF IMGFLASH ! IF BSP_EP93XX_COPY_FLASH_TO_RAM ! ;********************************************************************** ; ; Boot from RAM ; ;********************************************************************** MEMORY RESERVED 80000000 00008000 RESERVED DRV_GLB 80008000 00001000 RESERVED CS8950 80010000 00030000 RESERVED EDBG 80040000 00080000 RESERVED ; FRAMEBUF 800C0000 00140000 RESERVED ; NK 80200000 00E00000 RAMIMAGE NK 800C0000 00740000 RAMIMAGE RAM 81000000 00800000 RAM CONFIG COMPRESSION=ON PROFILE=OFF ROMSTART=800C0000 ROMSIZE=00740000 ROMWIDTH=32 ; ; Used for making a copy to RAM 0x80000000 ; ; ; 0x80200000 + 0x80000000 = 0x00200000 ; ROMOFFSET=0x80000000 ; 0x800C0000 + 0x80000000 = 0x000C0000 ROMOFFSET=0x80000000 ROMFLAGS=0 KERNELFIXUPS=ON AUTOSIZE=OFF ENDIF ENDIF IF IMGFLASH ! IF BSP_EP93XX_COPY_FLASH_TO_RAM ;********************************************************************** ; ; Copy Flash to RAM and boot from RAM. ; ;********************************************************************** MEMORY RESERVED 80000000 00008000 RESERVED DRV_GLB 80008000 00001000 RESERVED CS8950 80010000 00030000 RESERVED EDBG 80040000 00080000 RESERVED ; FRAMEBUF 800C0000 00140000 RESERVED ; NK 80200000 00E00000 RAMIMAGE NK 800C0000 00740000 RAMIMAGE RAM 81000000 00800000 RAM ; RAM 80800000 01800000 RAM CONFIG COMPRESSION=ON PROFILE=OFF ; ROMSTART=80200000 ; ROMSIZE=00E00000 ROMSTART=800C0000 ROMSIZE=00740000 ROMWIDTH=32 ; ; NKStart + ROMOFFSET = Physical Memory Location. ; ; 0x80200000 + 0xDFE00000 = 0x60000000 ; ROMOFFSET=DFE00000 ; 0x800C0000 + 0xDFF40000 = 0x60000000 ROMOFFSET=DFF40000 ROMFLAGS=0 KERNELFIXUPS=ON AUTOSIZE=OFF ENDIF ENDIF IF IMGFLASH ;********************************************************************** ; ; Boot from FLASH ; ;********************************************************************** MEMORY RESERVED 80000000 00008000 RESERVED DRV_GLB 80008000 00001000 RESERVED CS8950 80010000 00030000 RESERVED EDBG 80040000 00080000 RESERVED ; FRAMEBUF 800C0000 00140000 RESERVED ; RAM 80200000 00600000 RAM RAM 800C0000 00740000 RAM NK 88000000 00800000 RAMIMAGE CONFIG COMPRESSION=OFF PROFILE=OFF ROMSTART=88000000 ROMSIZE=00800000 ROMWIDTH=32 ; ; Used for making a copy to RAM 0x80000000 ; ; 0x88000000 + 0xD8000000 = 0x60000000 ROMOFFSET=0xD8000000 ROMFLAGS=1 KERNELFIXUPS=ON AUTOSIZE=OFF ENDIF ENDIF |
|
板凳#
发布于:2005-01-18 19:08
大哥,你为兄弟们费心了 ;)
|
|
|
论坛版主
![]() |
地板#
发布于:2005-01-18 16:30
:)
|
|
地下室#
发布于:2005-01-18 16:27
大哥问话,就算兄弟不知道也得有所反应,呵呵,刚才在干别的呢。
|
|
|
论坛版主
![]() |
5楼#
发布于:2005-01-18 16:11
喂,哥哥问你话,没得反应喃!在那两个帖子里面
|
|
6楼#
发布于:2005-01-18 16:07
看样子你的马儿已经好了 :D
|
|
|
论坛版主
![]() |
7楼#
发布于:2005-01-18 14:48
你这个人就是这点不好,老爱说实话...
|
|
8楼#
发布于:2005-01-18 08:02
你是找到下地狱的接班人了吧?呵呵
|
|
|
论坛版主
![]() |
9楼#
发布于:2005-01-17 17:15
我终于找到接班人了!
|
|
10楼#
发布于:2005-01-17 16:12
为了革命,我不入地狱谁入地狱?哈哈哈 :cool:
[编辑 - 1/17/05 by wwei_wang] |
|
|
论坛版主
![]() |
11楼#
发布于:2005-01-17 15:49
:))你娃又为革命做出了不朽的贡献!记一等功一次哈:)))
那这下就好办了,怪不得有时候可用内存比我指定的大:))) |
|
12楼#
发布于:2005-01-17 14:26
我又看了一下,好像是这样:如果设了AUTOSIZE=ON系统会自动把大小扩展到合适的地方,要不兄弟试试把这个关掉,如果关掉就不对了那就是这个意思了 老大不愧是老大,眼力果然狠毒,我测试过了,就是AUTOSIZE这个家伙的问题 :P :P :P :P |
|
|
论坛版主
![]() |
13楼#
发布于:2005-01-14 17:11
chang_nicolas
兄弟,接着上次的话题,你了解你们的OS IMAGE跑起来后是在FLASH里还是被搬到了SDRAM里?页表地址怎么给的? |
|
论坛版主
![]() |
14楼#
发布于:2005-01-14 17:06
写错了,应该是“例如” ROMSIZE是指定NK.NB0大小的,NK.BIN是NK.NB0的RUN LENGTH压缩文件。 WWEI_WANG 试了没?对于.BIN文件,本身包含了自己的大小,AUTOSIZE可能会根据RAMIMAGE和.BIN的大小自动调整OS IMAGE和空闲RAM的边界。 |
|
15楼#
发布于:2005-01-14 12:05
你们应该先弄清楚你们要编译的IMAGE类型和要运行的目标设备的环境,再来分别讨论每种的设定. To chang_nicolas:谢谢你的指点。 To joyfly:请joyfly兄弟说说你的高见: (1)Monolithic和MultiXIP有什么不同? (2)我目标机的外存是CF或DOC,在这种情况下RAMIMAGE的大小如何设定?和nk.bin的大小有什么关系? |
|
|
16楼#
发布于:2005-01-14 11:16
你们应该先弄清楚你们要编译的IMAGE类型和要运行的目标设备的环境,再来分别讨论每种的设定.
Monolithic还是MultiXIP NandFlash还是Norflash |
|
|
17楼#
发布于:2005-01-14 11:09
越来越复杂了,我的理解,不知对否了,请高手们指教吧
RAMIMAGE的大小不是跟ROMSIZE的大小有直接关系的 ROMSIZE只是规定了生成的NK.NB0的大小 RAMIMAGE分配的大小是指运行系统需要的空间, 如果你是吧NAND Flash上的image全部拷到RAM里的话,那么RAMIMAGE的大小应该和ROMSIZE一样,如果只是将image里的内核拷过去的话,那么RAMIMAGE的大小就没有必要分得跟ROMSIZE一样大了,所以RAMIMAGE的大小和ROMSIZE的大小的关系还依赖你所选用何种方式运行你的系统 |
|
18楼#
发布于:2005-01-14 10:54
你的意思是:
(1)ROMSIZE确定了nk.bin在内存中映像的区域的大小?系统启动时,nk.bin将被解压到这个内存区域。 (2)如果是这样的话,那么 MEMORY NK 80220000 009E0000 RAMIMAGE RAM 80C00000 01000000 RAM 中,RAMIMAGE的长度(这里是009E0000)和ROMSIZE到底是什么关系?还是没有关系? [编辑 - 1/14/05 by wwei_wang] |
|
|
19楼#
发布于:2005-01-14 10:32
写错了,应该是“例如”
我觉得是这个意思了,NK.bin的大小应该是实际的大小,没有给它分配任何多余的空间,而ROMSIZE是分配了比实际上大的空间,如果分配小的话,NK.nb0会被分成两个部分,究竟编译前根据什么计算ROMSIZE大小,我不清楚,不过我认为根据nk.bin文件的大小可以得出ROMSIZE的大小,这是你自己定的 |
|
上一页
下一页