EDN首页   博客首页

日志档案

发表于 2006-10-19 21:23:37

2

标签: 无标签

EP9315引导好像有点麻烦,头大了。

十一购入了自己第一块ARM开发板连同仿真器和lcd,花了不少钱呢,忍了,不就少换一部手机么,现在用的小3也不错。鸟枪换炮,以后再也不用光冥想了,终于可以想怎么干就怎么干了,顶多刷坏了重刷呗。

板子用的9315的处理器,结果买回来发现引导程序很头疼,从网上查了查,这么说的EP9315片内flash启动的时候是FLASH启动模式:
先检测Flash的0x0地址处是否有CRUS或SURC的ASCII码;
如果有,从Flash的0x4地址处读取代码执行;
如果没有,检测Flash的0x1000处是否有CRUS或SURC的ASCII码;
如果有,从Flash的0x0地址处读取代码执行;
可问题来了,怎么才能在0x0处或者0x1000处写进CRUS或SURC的ASCII码呢?

郁闷,如果引导程序都搞不定,那别的就别想了。不知道看到这个的朋友谁能指导一下,那就太感激了。
 

系统分类: 嵌入式   |   用户分类: 杂谈   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(3325)    回复(14)  

投一票您将和博主都有获奖机会!

  • cocappjj

    2006-10-20 9:50:46

    顶一下,希望能有高手出手帮这位兄弟一把。

  • cocappjj

    2006-10-20 9:51:11

    对了,博主也到我们的bbs试试看,因为那里有些高手不来博客:P

  • jason

    2006-10-24 17:33:51

    Download flow for Linux bin file on EDB93xx

    software required: (tools) Tera Term Pro/HyperTerminal; TFTP Server; download.exe
         (bin file) redboot.bin ramdisk.gz zImage
    hardware required: PC; EDB93XX;
                                    cross earthnet(RJ45);
                                    serial line(DB9): 1-->4  2-->3  3-->2  4-->1  5-->5  6-->4  7-->8  8-->7  9--NC

    1) connect cross earthnet and serial line between EDB board and PC,and power on the EDB93XX;
    2) download redboot into EDB board:
      under DOS command line, run >download redboot.bin;
      DOS shell display: Waiting for the board to wakeup...
      push down the button Serial boot and /por at same time, program will start erase and write
      withing for DOS shell display: Successfully programmed 'radboot.bin'.
      power off the EDB board;
    3) download ramdisk.gz and zImage into EDB board:
      a) config user PC as: IP address: 192.168.1.1    Local IP address mask: 255.255.255.0
      b) run TFTP Server, and set >>file>configure>Security: Transmit and Receive file
                          >>file>configure>TFTP Root Directory: ramdisk.gz zImage directory
      c) run Tera Term Pro, and set. Port:COM1(using serial port)
                                  Baud rate: 57600
                                  Data: 8 bit
                                  Parity: none
                                  Stop: 1 bit
                                  Flow control: none
      d) power on the EDB board;
      Tera Term display:
    +FLASH configuration checksum error or invalid key
    EP93xx - no EEPROM, static ESA, or RedBoot config option.
    No network interfaces found

    RedBoot(tm) bootstrap and debug environment [ROMRAM]
    Non-certified release, version v2_0 - built 11:51:05, Jan 19 2006

    Platform: Cirrus Logic EDB9315A Board (ARM920T) Rev A
    Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

    RAM: 0x00000000-0x04000000, 0x00041e68-0x03fdd000 available
    FLASH: 0x60000000 - 0x61000000, 128 blocks of 0x00020000 bytes each.
    RedBoot>
      e) initial flash rom:
    RedBoot> fis init -f
    About to initialize [format] FLASH image system - continue (y/n)? y
    *** Initialize FLASH Image System
    ... Erase from 0x60040000-0x60fc0000: ..........................................
    ................................................................................
    ..
    ... Erase from 0x60fe0000-0x60fe0000:
    ... Erase from 0x61000000-0x61000000:
    ... Erase from 0x60fe0000-0x61000000: .
    ... Program from 0x03fdf000-0x03fff000 at 0x60fe0000: .
    RedBoot>
      f) config redboot
    RedBoot> fconfig -i
    Initialize non-volatile configuration - continue (y/n)? y
    Run script at boot: false
    Use BOOTP for network configuration: false
    Gateway IP address:
    Local IP address: 192.168.1.2
    Local IP address mask: 255.255.255.0
    Default server IP address: 192.168.1.1
    DNS server IP address:
    Set eth0 network hardware address [MAC]: true
    eth0 network hardware address [MAC]: 0x00:0x00:0x00:0x00:0x50:0x33
    GDB connection port: 9000
    Force console for special debug messages: false
    Network debug at boot time: false
    Update RedBoot non-volatile configuration - continue (y/n)? y
    ... Erase from 0x60fc0000-0x60fc1000: .
    ... Program from 0x03fde000-0x03fdf000 at 0x60fc0000: .
    RedBoot>
      g) reset EDB per Tera Term
    RedBoot> reset
    ... Resetting.
      h) download ramdisk into SDRAM
    RedBoot> load -r -v -b 0x800000 ramdisk.gz
    /
    Raw file loaded 0x00800000-0x01153e13, assumed entry at 0x00800000
    RedBoot>
      i) download zImage into SDRAM
    RedBoot> load -r -v -b 0x80000 zImage
    |
    Raw file loaded 0x00080000-0x001a895f, assumed entry at 0x00080000
    RedBoot>
      j) write ramdisk into flash rom
    RedBoot> fis create -b 0x800000 -l 0xa00000 ramdisk
    ... Erase from 0x60040000-0x60a40000: ..........................................
    ......................................
    ... Program from 0x00800000-0x01200000 at 0x60040000: ..........................
    ......................................................
    ... Erase from 0x60fe0000-0x61000000: .
    ... Program from 0x03fdf000-0x03fff000 at 0x60fe0000: .
    RedBoot>
      k) write zImage into flash rom
    RedBoot> fis create -b 0x80000 -l 0x130000 zImage
    ... Erase from 0x60a40000-0x60b80000: ..........
    ... Program from 0x00080000-0x001b0000 at 0x60a40000: ..........
    ... Erase from 0x60fe0000-0x61000000: .
    ... Program from 0x03fdf000-0x03fff000 at 0x60fe0000: .
    RedBoot>
      l) run Linux
    RedBoot> exec -r 0x800000 -s 0xa00000
    Using base address 0x00080000 and length 0x00128960
    Uncompressing Linux.............................................................
    .................... done, booting the kernel.

    Please press Enter to activate this console.


    BusyBox v1.00 (2006.01.19-17:48+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    ~ # ls
    Applications  bin           lib           proc          usr
    Documents     dev           linuxrc       sbin          var
    Noise.wav     etc           mnt           sys
    Settings      home          opt           tmp
    ~ #
      m) re-config redboot as below:
    RedBoot> fconfig -i
    Initialize non-volatile configuration - continue (y/n)? y
    Run script at boot: true
    Boot script:
    Enter script, terminate with empty line
    >> fis load ramdisk
    >> fis load zImage
    >> exec -r 0x800000 -s 0xa00000
    >>
    Boot script timeout (1000ms resolution): 1
    Use BOOTP for network configuration: false
    Gateway IP address:
    Local IP address: 192.168.1.2
    Local IP address mask: 255.255.255.0
    Default server IP address: 192.168.1.1
    DNS server IP address:
    Set eth0 network hardware address [MAC]: true
    eth0 network hardware address [MAC]: 0x00:0x00:0x00:0x00:0x50:0x33
    GDB connection port: 9000
    Force console for special debug messages: false
    Network debug at boot time: false
    Update RedBoot non-volatile configuration - continue (y/n)? y
    ... Erase from 0x60fc0000-0x60fc1000: .
    ... Program from 0x03fde000-0x03fdf000 at 0x60fc0000: .
    RedBoot>
      Now reset system, and all is OK!!!!

    jasonw@lestina.com.cn

  • kelvin

    2007-7-11 23:34:25

    bootloader当然可以自己写,

    在你机子写的bootloader的0x0地址处加入CRUS的ASCII码不就行了吗?

    你可以参考redboot或者u-boot,看看别人是怎么写的

  • arthuryang

    2006-11-4 0:59:41

    arm.cirrus.com上或许有你感兴趣的东东

  • dxl

    2006-11-7 11:13:50

    先把跳线设为串口启动方式,从串口下载Bootloader到FLASH里。再把跳线设为FLASH启动方式,OK。

     

  • maxiaoyuzdz

    2006-11-7 17:03:25

    但bootloader里面怎么跑可要自己来写啦,嘿嘿,慢慢就搞定了。

    像bootloader这种东西,我想自己搞明白,虽然网上有各种的boot程序,如果没有辅助说明材料,想看明白他们的源码也是一件不容易的事。自己动手写写会更有效吧。

  • maxiaoyuzdz

    2006-11-6 19:16:55

    以前去翻过,没找到想要的东西,不过现在问题已经解决的差不多了,这两天已经很少写博客了,这里只写自己关于技术方面的,其他的就不放到这里了。

  • maxiaoyuzdz

    2006-10-25 16:57:25

    全是英文的哦,不过没关系,英文看得懂。redboot,zImage这些文件我这都有,也知道应该怎么下载,其实在我看来,无论是linux还是wince,都没什么分别,都是os,只是各有特色。我关心的不是怎么下下来,而是他们是怎么运行的,机制是什么,因为我想写自己的东西,虽然在linux或者wince上面开发应用软件是件很酷的事情,本质上讲和在台式机上写普通程序也没什么区别,换了换平台,多了一些注意,新方式。

    如果过不了引导这一关,唉,我这么钱不就打水漂了,所以一定要解决阿。

    要是有9315的启动源代码就好了,可是俺没有,卖板子的不给,气死我了,说是用ecos工具集生成,郁闷,我估计他们也不会,直接从公司网站上下的现成的执行文件。而且他们的技术支持也不好,带的驱动都少得可怜,给他们说多少遍了就是不给,我恨FFT。

     

    谁要是给我发个9315的源码就好了

  • maxiaoyuzdz

    2006-10-23 16:14:37

    bbs在什么地方,这两天上网搜bbs,问高人,有点进展但不大,因为现在用9315的人很少,所以了解这方面的人就更少了。

  • rechird

    2007-12-3 11:58:59

    博主有没有解决问题,我也遇到了同样的问题。能不能帮助一把。。

  • ep9301

    2008-3-5 13:45:22

    博主问题解决没有?

  • chan1314

    2008-3-31 17:55:43

    我要给他自动mount hdd , 在 fstab 改了但是不能。 在我的 linux 平台debian 就没问题。 我用 opie linux , ep9315 的。 有什么问题, 大家提出来商量商量。

  • tanly8236

    2008-4-14 20:51:11

    這麽強~