7892|27

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教:::OAL的启动顺序问题??另外捎带PXA270的SPI问题!HELP!!!!!!!! [复制链接]

请教各位大侠:
    我的EBOOT最后一个函数OEMLaunch的第三个参数我最后传了一个NORFLASH的虚拟地址,终于可以跳到OAL中的Startup.s中
   (通过点灯可以看出)
    问题1:通过查看NK.bin的二进制码的最后5个BYTE是SDRAM的虚拟地址,可是我给OEMLaunch的第三个参数传这个地址是进入不到OAL的
           那么我这个从FLASH启动的方式就是XIP吗??不了解这个地方!
    问题2:我看书上介绍进入OAL的Startup.s后跳转到了kernelstart函数中,
           而这个函数是在:PRIVATE\WINCEOS\COREOS\NK\LDR...中
           可是我的PRIVATE中C:\WINCE500\PRIVATE\WINCEOS\COREOS\NK中只有一个文件夹KERNEL文件夹,这个文件夹中只有一个SH的文件夹
           我可以把别人的PRIVATE替换到我这里然后重新build and sysgen吗??
    问题3:由于可用分没多少,只能一次多问了:
           请教PXA270的SPI是分组的吗???我看SSP的寄存器sscr分0,1,2,貌似应该是分组的
           那么我可以把GPIO26--SSPRXD和GPIO38--SSPTXD2一起用做SPI的接收和发送吗??
           

最新回复

mark  详情 回复 发表于 2009-6-5 21:29
点赞 关注

回复
举报

81

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
ding !!
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
1.
  1.1 何谓 XIP(eXecute In Place), 指的是执行码放在储存媒体中直接执行, 而非从储存媒体藉由 bootloader 载入至 ram 中执行, 而储存媒体中有能力能直接执行的只有 NOR Flash and ROM.
  1.2 最后5个BYTE -> 32bits = 4bytes. 应不是 5 个 bytes.
  1.3 该位址应为 confib.bib 中的 ROMSTART, LZ 的 ROMSTART 写多少, 该位址应该就是多少.

2.
  2.1 KernelStart 位於 C:\WINCE500\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM\armtrap.s.
  2.2 LZ 有需要去追 KernelStart 吗?? 一般而言, LZ 只需确定 OEMAddressTable & config.bib 正确, 接下来就会执行 OEMInitDebugSerial & OEMInit. 去修改追踪 KernelStart 对问题厘清不见得有帮助.

3. 应是可以, 只要记得将 GPIO 设好, 用 sscr0 即可.

Paul, Chao @ Techware
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 paul_chao 的回复:
1.
  1.1 何谓 XIP(eXecute In Place), 指的是执行码放在储存媒体中直接执行, 而非从储存媒体藉由 bootloader 载入至 ram 中执行, 而储存媒体中有能力能直接执行的只有 NOR Flash and ROM.
  1.2 最后5个BYTE -> 32bits = 4bytes. 应不是 5 个 bytes.
  1.3 该位址应为 confib.bib 中的 ROMSTART, LZ 的 ROMSTART 写多少, 该位址应该就是多少.

2.
  2.1 KernelStart 位於 C:\WINCE500\PRIVATE\WINCEOS\COREOS\NK\KER…


1、我的config.bib中的ROMSTART:
           ROMSTART=$(NKSTART)
        ROMWIDTH=32
        ROMSIZE=$(NKLEN)
  而
  #define         NKSTART 80100000,这个是RAM的虚拟地址,不是FLASH的地址,传这个地址进不了OAL
                                                 我现在传的是dwLaunchAddr =0x9CA80000;
  #define         NKLEN         01B00000
  而我看C:\WINCE500\PLATFORM\COMMON\SRC\COMMON\BOOT\BLCOMMON\blcommon.c下的void BootloaderMain (void)
  switch (dwAction = OEMPreDownload ())
  case BL_JUMP:中调用的
  OEMLaunch(RAMSTART,dwPhysLen,FLASH_IMG_START,((const ROMHDR *)dwpToc));传的也是FLASH的地址
2、我的PRIVATE中根本没有这些文件,不知道是为什么,是不是安装时少选了东西呢?这样会不会有影响,我把别人的PRIVATE拿过来
   覆盖我的PRIVATE之后build and sysgen会不会不编译
   我看PB下的FILEVIEW中PRIVATE都是excluded from build
   
3、还有一个重要问题就是:sscr0、sscr1、sscr2这三组用哪组是通过什么确定的呢??
   PXA270所有有SSP的GPIO都可以随便搭配吗?只需要将有SSP功能的任何GPIO随意搭配成SSPSCLK、SSPTXD、SSPRXD都可以了吗?
4、我看SPEC中SSP有NetWork模式?请问我用SPI的无线网卡(8686)跟这个NetWork模式无关吧?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
1. 可否请 LZ 将 config.bib & OEMAddressTable & eboot.bib post 出来.

2. 无法回答, 因为我的没问题, 也从未去 build 过 private.

3. 主要是看硬体线路怎麽接. 只要是该接的 tx, rx, clk.. 等都接对了且是同一组即可. 另外要看 driver 写法, 不是只针对某一组写死即可. 一般是建议与你 clone 的 BSP 的 schematic 相符, 所需修改的最少.

4. 应无关吧, 请对一下你的 spec. 的 protocol.

Paul, Chao @ Techware
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

6
 
好的:
config.bib:

; Memory Map
; ----------
; 8000.0000 -+
;            | Bootloader Stack (64KB)
; 8001.0000 -+
;            | Bootloader RAM (64KB)
; 8002.0000 -+
;            | Bootloader Code (256KB)
; 8006.0000 -+
;            | GAP (reserved for future)
; 800F.F000 -+
;            | ARGS (4KB)
; 8010.0000 -+
;            |
;            | OS (NK) Code (DEBUG: 37MB, RELEASE: 32MB)
;            |
; 8260.0000 -+   **auto-size**
;            |
;            | OS (NK) RAM (DEBUG: 23MB, RELEASE: 32MB)
;            |
; 8400.0000 -+
;---------------------------------------------------------------------------------------
MEMORY
;--------------------------------------------------------
; NK name
;--------------------------------------------------------
    #define                NKNAME           NK
IF WINCEDEBUG=debug
;--------------------------------------------------------
; NK Start address  length = 40M
;--------------------------------------------------------
#define                NKSTART                80100000
#define                NKLEN                02800000
       
#define                RAMSTART        82900000
#define                RAMLEN                01700000   
ELSE
;-------------------------------------------------------
; length = 30M
;-------------------------------------------------------
#define                NKSTART                80100000
#define                NKLEN                01B00000
       
#define                RAMSTART        81F00000
#define                RAMLEN                02100000
ENDIF
;--------------------------------------------------------------
;   Name        Start       Size        Type
;   -------     --------    --------     ----
    RSVD        80000000    00050000     RESERVED
        EPKTBUF     80050000    00040000     RESERVED
        RSVD        80090000    0006F000     RESERVED
    ARGS        800FF000    00001000     RESERVED

    $(NKNAME)   $(NKSTART)  $(NKLEN)     RAMIMAGE
    RAM         $(RAMSTART) $(RAMLEN)    RAM
   
; Reserve ZBANK virtual block (No physical memory
; is required to back this virtual range).
;
    ZBANK                96500000        00100000         RESERVED
;-----------------------------------------------------------------------------
CONFIG
    AUTOSIZE=ON
    KERNELFIXUPS=ON
; @CESYSGEN IF !NK_NKNOCOMP
        COMPRESSION=ON
; @CESYSGEN ENDIF !NK_NKNOCOMP
; @CESYSGEN IF NK_NKNOCOMP
        COMPRESSION=OFF
; @CESYSGEN ENDIF NK_NKNOCOMP

IF IMGPROFILER   
    PROFILE=ON
ELSE
    PROFILE=OFF
ENDIF
        ROMSTART=$(NKSTART)
        ROMWIDTH=32
        ROMSIZE=$(NKLEN)
;---------------------------------------------------------------------
;   ROMFLAGS is a bitmask of options for the kernel
;   ROMFLAGS    0x0001      Disallow Paging
;   ROMFLAGS    0x0002      Not all KMode
;   ROMFLAGS    0x0010      Trust Module only
;---------------------------------------------------------------------
IF IMGTRUSTROMONLY
    IF IMGNOTALLKMODE
       ROMFLAGS=12
    ELSE
       ROMFLAGS=10
    ENDIF
ELSE
    IF IMGNOTALLKMODE
       ROMFLAGS=02
    ELSE
       ROMFLAGS=00
    ENDIF
ENDIF

 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
EBOOT.BIB:
MEMORY
;   Name     Start     Size      Type
;   -------  --------  --------  ----
    STACK    80000000  00010000  RESERVED
    RAM      80010000  00010000  RAM
    EBOOT    80020000  00040000  RAMIMAGE
    RSVD     80060000  0009F000  RESERVED
    ARGS     80FF0000  00001000  RESERVED
CONFIG
        AUTOSIZE=OFF
        COMPRESSION=OFF
        PROFILE=OFF
        KERNELFIXUPS=ON
        ROMSTART=80020000
        ROMWIDTH=32
        ROMSIZE=00040000

    ROMOFFSET=3C9E0000
MODULES
;   Name    Path                                                    Memory Type
;   ------  ----------------------------------------------          -----------
    nk.exe  $(_TARGETPLATROOT)\target\$(_TGTCPU)\$(WINCEDEBUG)\eboot.exe  EBOOT

 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 
OEMaddressTable:
ALIGN
g_oalAddressTable

        DCD     0x80000000, 0xA0000000, 128     ; MAINSTONEII: SDRAM (128MB).
        DCD     0x88000000, 0x5C000000,   1     ; BULVERDE: Internal SRAM (64KB bank 0).
        DCD     0x88100000, 0x58000000,   1     ; BULVERDE: Internal memory PM registers.
        DCD     0x88200000, 0x4C000000,   1     ; BULVERDE: USB host controller.
        DCD     0x88300000, 0x48000000,   1     ; BULVERDE: Memory controller.
        DCD     0x88400000, 0x44000000,   1     ; BULVERDE: LCD controller.
        DCD     0x88500000, 0x40000000,  32     ; BULVERDE: Memory-mapped registers (peripherals).
        DCD     0x8A500000, 0x3C000000,  16     ; BULVERDE: PCMCIA S1 common memory space.
        DCD     0x8B500000, 0x38000000,  64     ; BULVERDE: PCMCIA S1 attribute memory space.
        DCD     0x8F500000, 0x30000000,   1     ; BULVERDE: PCMCIA S1 I/O space.
        DCD     0x8F600000, 0x2C000000,  16     ; BULVERDE: PCMCIA S0 common memory space.
        DCD     0x90600000, 0x28000000,  64     ; BULVERDE: PCMCIA S0 attribute memory space.
        DCD     0x94600000, 0x20000000,   1     ; BULVERDE: PCMCIA S0 I/O space.
        DCD     0x9A500000, 0xE0000000,  1      ; MAINSTONEII: Zero-bank (in reserved slot - no physical
        DCD     0x9A600000, 0x14000000,  1      ; MAINSTONEII: nCS5: eXpansion board header.
        DCD     0x9A700000, 0x10000000,  1      ; MAINSTONEII: nCS4: SMSC 91C111 Ethernet controller.
        DCD     0x9A800000, 0x0A000000,  1      ; MAINSTONEII: nCS2 (upper half): 2MB SRAM.
        DCD     0x9A900000, 0x08000000,  1      ; MAINSTONEII: nCS2 (lower half): Board registers (FPGA).

        DCD     0x9CA00000, 0x00000000, 32      ; MAINSTONEII: nCS0: Boot Flash (32MB).

        DCD     0x9EA00000, 0x50000000,  1      ; BULVERDE: Camera peripheral interface.
        DCD     0x00000000, 0x00000000,  0      ; end of table
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

9
 
3. 主要是看硬体线路怎麽接. 只要是该接的 tx, rx, clk.. 等都接对了且是同一组即可. 另外要看 driver 写法, 不是只针对某一组写死即可. 一般是建议与你 clone 的 BSP 的 schematic 相符, 所需修改的最少.

请问:只要是该接的 tx, rx, clk.. 等都接对了且是同一组即可
这个“同一组”是什么意思呢?
还有:sscr0、sscr1、sscr2这三组用哪组是通过什么确定的呢??
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
ding!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 
1. eboot download 时, 会将 下载位置 当作参数呼叫 OEMIsFlashAddr, 并根据其传回值判断是否需呼叫 OEMMapMemAddr & OEMWriteFlash, 不知 LZ 的 OEMIsFlashAddr 其传入与传回值各为何??

2. 会动不代表正确, 要能照你所想的动才叫正确. LZ 可否在 OEMLaunch 中加 debug message, 将 下载位置 的内容 dump 出来前面 16 bytes, 再与 nk.nb0/nk.bin 的内容作比较.

3. SSPTXD(GPIO25, GPIO57), SSPTXD2(GPIO38, GPIO87, GPIO89), SSPTXD3(GPIO35, GPIO38, GPIO81), 故对 sscr0_1, sscr1_1 是对 SSPTXD, sscr0_2, sscr1_2 是对 SSPTXD2, sscr0_3, sscr1_3 是对 SSPTXD3 的 port 作控制. 故 schematic 将 ssptxd 接到 cpu 的哪一 pin, 就决定了要用哪一组.

Paul, Chao @ Techware
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

12
 
哦!非常感谢!!!
1&2、我并没有用OEMIsFlashAddr,
   我的EBOOT过程:1):首先通过按键判断是否需要下载NK.NB0
    if(需要)
   {
       g_DownloadImage = TRUE ;
   }
   else
   {g_DownloadImage = FALSE};
   2):再调用OEMPreDownload
   {
      if(g_DownloadImage)
       直接 return(BL_DOWNLOAD);
      else
           return(BL_JUMP);
   }
   3):在BLCOMMON中调用switch (dwAction = OEMPreDownload ())
                      {
                          case BL_DOWNLOAD:
                          调用OEMReadData();
                          case BL_JUMP://直接启动
                          OEMLaunch(RAMSTART,dwPhysLen,FLASH_IMG_START,((const ROMHDR *)dwpToc));
                       }
   4):其中OEMReadData()函数调用了usbdown()函数用来从PC机下载NK到终端
   5): usbdown()先将NK.NB0下载到终端的SDRAM中,并判断是从SDRAM直接启动还是需要写入到FLASH中
        usbdown()
       {  
           ......        
          if(write to flash)
         {
             FlashWrite( RAMSTART, dwPhysLen);//从SDRAM中写到FLASH中,当然需要调用EraseFlash先擦除FALSH再写入
         }
         if(从FALASH启动)
          {
               OEMLaunch (pImgStart, dwPhysLen, FLASH_IMG_START, (const ROMHDR *)lpdwToc);
          }
          else
              OEMLaunch (pImgStart, dwPhysLen, pImgStart, (const ROMHDR *)lpdwToc);//一般不从这启动
         }

3、就是说使用了哪组SPI是通过发数据这个引脚SSPTXD来判断的??
          那么:1、sscr0_1, sscr1_1这两个又怎么区分呢?
                2、是不是只要确定了SSPTXDx后,其他的比如SSPSCLK、SSPRXD就任意搭配了?
        如:用sscr0_1: 用这一组:GPIO25: OUTPUT, SSPTXD
                              GPIO52:OUTPUT, SSPSCLK3
                              GPIO40: INPUT, SSPRXD2
           这样也可以吗?是sscr0_1 or sscr1_1  ??
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

13
 
ding
 
 
 

回复

97

帖子

0

TA的资源

一粒金砂(初级)

14
 
假设 LZ 是延续 http://topic.eeworld.net/u/20090522/12/98ac9845-fb0c-43fe-9cde-1ceabbb92489.html 与 http://topic.eeworld.net/u/20090525/13/8de788ce-c9dd-4f4b-9ef0-43d22da407c2.html 这两帖的内容

1. 根据那时的回答, 看来 LZ 还是没搞清楚, 故再复制一次当时的回答在此

2. ( ((DWORD)lpdwToc & 0x90000000) == 0x80000000 )
判断该 NK.nb0 是要给 RAM 用的, 还是要烧至 flash 中用的, 故 LZ 可参考 OEMAddressTable, Flash 是否对映至 VA 0x8xxxxxxx, RAM 是否对映至 VA 0x9xxxxxxx.


非常显然的, LZ 的 OEMAddressTable, Flash 是对映至 VA 0x9CA00000, RAM 是对映至 VA 0x80000000, 故是程式 OEMusbdown 写错了, 应是

#define FLASH_RAM_CHECK_MASK 0x90000000
#define FLASH_CHECK_LOCATION 0x90000000
#define RAM_CHECK_LOCATION   0x80000000

( ((DWORD)lpdwToc & FLASH_RAM_CHECK_MASK) == FLASH_CHECK_LOCATION )

故 LZ 的 NK.nb0 虽然是放在 RAM(0x80100000) 中, 但是 OEMusbdown 误认为是在 FLASH 中, 所以才会有这个错误. 而且程式中好像不只这个判断式, 请记得全部检查一次.

3. sscr0_1 & sscr1_1 如何分别, 这不是在论坛上可以说的清楚的, PXA270 的 User's Manual 的 SSP 那一 chapter 有非常详尽的说明, 这个工 LZ 是不可能省的. 而 SSPTXD, SSPRXD, SSPSCLK 等都是必须搭配的, SSPTXD + SSPRXD2 or SSPTXD + SSPSCLK3 是不可能会动的. 唯有 SSPTXD + SSPRXD + SSPSCLK or SSPTXD2 + SSPRXD2 + SSPSCLK2 or SSPTXD3 + SSPRXD3 + SSPSCLK3 这种搭配才会动.

Paul, Chao @ Techware
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

15
 
哦问题3彻底明白了谢谢paul_chao 大侠!
至于问题1&2:还是有些疑问就是:
if(((DWORD)lpdwToc&0x90000000)==0x90000000)//这个地方以前我是lpdwToc & 0x80000000) !=0x90000000 这样写的
                                                        //因为当时没弄懂这个是干什么所以他总是得到FALSE,所以我就强行
                                                        //用!=让它进入1111--------------!
{
     EdbgOutputDebugString("\r\n1111--------------!\r\n");
     memcpy((LPVOID)&RomHdr, (LPVOID)(RAMSTART + ((DWORD)lpdwToc - FLASH_IMG_START)), sizeof(ROMHDR));
}  
else
{
     EdbgOutputDebugString("\r\n2222---------------!\r\n");
     memcpy((LPVOID)&RomHdr, (LPVOID)lpdwToc, sizeof(ROMHDR));//不管怎么样,不让程序走这里
}     
if( ((DWORD)lpdwToc & 0x90000000) == 0x90000000 ) //这也是一样,
                                                       //我强行让程序走这里:lpdwToc & 0x80000000)!=0x90000000
{
     EdbgOutputDebugString("xxxxxxxxxxxxyyyyyyyyyyyyy!\r\n");
     if (FlashWrite( RAMSTART, dwPhysLen))        //因为我要把NK从RAM的地址RAMSTART写到FLASH的虚拟地址下
     {
         EdbgOutputDebugString("Flash programming Error.  System halted!\r\n");
         while (1);
      }
     EdbgOutputDebugString("Will goto launch!\r\n");   //step10
     OEMLaunch (pImgStart, dwPhysLen, FLASH_IMG_START, (const ROMHDR *)lpdwToc);//这里其实可以去掉,因为重起后
}                                                                             //就通过BL_JUMP:调用了OEMLaunch
                                                                                //跳到内核处了。
else
    {       
         EdbgOutputDebugString("launch2!\r\n");   //step10          //这基本不考虑
         OEMLaunch (pImgStart, Bufflen, pImgStart, (const ROMHDR *)lpdwToc);
     }
总之我认为这里((DWORD)lpdwToc & 0x90000000) == 0x90000000,仅仅就是个判断,我可以用一个任意变量来做这个判断条件。
目的就是让EBOOT把已经下载到SDRAM中的NK写到FLASH中,通过打印信息,发现也已经写到FLASH中了。
那么如果OEMLaunch的第三个参数是SDRAM的虚拟地址的话,那么重起终端后,应该在EBOOT中有程序段把NK从FLASH拿到SDRAM中执行才对啊
可是现在好象没发现有这段程序!另外,我发现现在的问题是:通过传FLASH的虚拟地址后,EBOOT调用OEMLaunch得到了一个物理地址,就是FLASH的地址0x0+EBOOT_OFFSET(0X10000),然后最终调用launch(PA)可以进入OAL的startup.s
但是有时候能进入到
ARMINIT,然后可以跳到BSP中的RTC驱动中执行(可能是哪里调用了)又驱动了NAND FLASH,
打印信息如下:
321   ---------这个是在OAL的STARTUP中打印的信息
Windows CE Kernel for ARM (Thumb Enabled) Built on Jun  3 2009 at 10:47:01  //这个应该是ARMINIT
ProcessorType=0411  Revision=7
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 9ca89378
+OEMInit
-OEMInit
Error Reporting Memory Reserved, dump size = 00020000
Booting Windows CE version 5.00 for (ARM)

Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 9121, Secondary pages: 0, Filesystem pages = 4560

Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8193c000, extension: 00003000, length: 023a1000
Sp=ffffc7cc
RTC:Read time from PCF8563.......sucessed
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
Initialize NAND Flash Controller.
NAND_Init:return 0x1
Initialize NAND Flash Controller Successfully.  //这个没找到?

但是同一个内核同一个BOOT,反复开关机几次,就只能打印出321   ---------这个是在OAL的STARTUP中打印的信息
请大侠帮分析下!,谢谢啦 !
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

16
 
直接告诉答案还不如告诉 LZ 如何找答案

在 config.bib 中, 有如下2行
$(NKNAME)  $(NKSTART)  $(NKLEN)    RAMIMAGE
RAM        $(RAMSTART) $(RAMLEN)   RAM

1. 将值代入後可得, 可否请 LZ 解释该行的意义??
NK         80100000    01B00000    RAMIMAGE
RAM        81F00000    02100000    RAM

2. 又若写成, 代表为何, 与 1. 之差别又为何??
NK         9CA00000    01B00000    RAMIMAGE
RAM        80100000    03F00000    RAM

LZ 想要将 NK 写入 flash, 并在 flash 中执行, 那应该写成 1. 还是 2.???

Paul, Chao @ Techware
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

17
 
哦非常感谢paul_chao大侠:
   我的应该是第2个!

您的意思是说config.bib中定义的NKSTART与我在EBOOT中定义的起始位置不对应 ,所以导致了,虽然启动了但是出现了异常现象吗?

我是不是可以这样理解,config.bib中的NKSTART等字段都是在编译内核时加到NK中的,

解析内核时通过TOC指针来获取NK中的信息,也就是config.bib中的配置信息

所以我的问题是:我通过TOC获得的配置信息是启动在 SDRAM 中

但是却要与FLASH的虚拟地址进行对比,又要在FLASH的虚拟地址启动

如:( ((DWORD)lpdwToc & 0x90000000) == 0x80000000 ) 这句

所以导致了异常

那么这样看来我应该直接修改config.bib,将NKSTART的地址改成FALSH的对应地址
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

18
 
paul_chao大侠不知道我理解的对不对?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

19
 
我修改了CONFIG。BIB报错了
Writing C:\WINCE500\PBWorkspaces\SMDK270Test\RelDir\SMDKPXA270_ARMV4I_Release\NK.bin
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
makeimg: FATAL ERROR: Command returned non-zero exit code 3 (dec).
makeimg: FATAL ERROR: Command returned non-zero exit code 3 (dec).
修改的config.bib:
     ELSE
;-------------------------------------------------------
; length = 30M
;-------------------------------------------------------
#define                NKSTART                9CB00000
#define                NKLEN                01B00000
       
#define                RAMSTART        81F00000
#define                RAMLEN                02100000
ENDIF
;--------------------------------------------------------------
;   Name        Start       Size        Type
;   -------     --------    --------     ----
    RSVD        80000000    00050000     RESERVED
        EPKTBUF     80050000    00040000     RESERVED
        RSVD        80090000    0006F000     RESERVED
    ARGS        800FF000    00001000     RESERVED

    $(NKNAME)   $(NKSTART)  $(NKLEN)     RAMIMAGE
    RAM         $(RAMSTART) $(RAMLEN)    RAM

        ;ROMSTART=$(NKSTART)
        ;ROMWIDTH=32
        ;ROMSIZE=$(NKLEN)
       
        ROMSTART=9CB00000
        ROMWIDTH=16
        ROMSIZE=$(NKLEN)

请问这样修改有什么问题吗??
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

20
 
这东西没有做过,PXA270 的确比2440 复杂很多。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表