Sungjin's sub-brain :
Admin : New post
Guestbook
Local
Catergories
Recent Articles
Recent Comments
Calendar
Tag
Archive
Link
Search
 
해당되는 게시물 11건
  AHB testbench signal generator 
작성일시 : 2007. 11. 5. 20:01 | 분류 : 컴퓨터/PICO Express

#include <stdio.h>
#define AHB_HTRANS_IDLE 0x00
#define AHB_HTRANS_BUSY 0x01
#define AHB_HTRANS_NONSEQ 0x02
#define AHB_HTRANS_SEQ 0x03

#define AHB_HBURST_SINGLE 0x0
#define AHB_HBURST_INCR 0x1
#define AHB_HBURST_WRAP4 0x2
#define AHB_HBURST_INCR4 0x3
#define AHB_HBURST_WRAP8 0x4
#define AHB_HBURST_INCR8 0x5
#define AHB_HBURST_WRAP16 0x6
#define AHB_HBURST_INCR16 0x7

#define AHB_HWRITE_READ 0x0
#define AHB_HWRITE_WRITE 0x1
FILE *fp;
char* sig_name = "sig_mout(0)";
int wait_for = 20;
int period = 20;
struct signal{
    int htrans;
    int* haddr;
    int hwdata;
    int hburst;
    int hsize;
    int hwrite;
    int hbusreq;
    int hlock;
    int hprot;
};
struct signal curr, next;
void initSignal(struct signal* s){
    s->htrans = AHB_HTRANS_IDLE;
    s->haddr = (int*)0x00000000;
    s->hburst = AHB_HBURST_SINGLE;
    s->hsize = 0;
    s->hwrite = AHB_HWRITE_READ;
    s->hbusreq = 0;
    s->hlock = 0;
    s->hprot = 1;
    s->hwdata = 0;
}
void setWriteDataInt32(int* addr, int data){
    printf("-- ADDR_PHASE WRITE: %08x = %08x\n",addr,data);
    curr.htrans = AHB_HTRANS_NONSEQ;
    curr.haddr = addr;
    curr.hbusreq = 1;
    curr.hwrite = AHB_HWRITE_WRITE;

    next.htrans = AHB_HTRANS_IDLE;
    next.hwdata = data;
    next.hbusreq = 1;

    wait_for = period;

}
void setReadDataInt32(int* addr){
    printf("-- ADDR_PHASE READ: %08x\n",addr);
    curr.htrans = AHB_HTRANS_NONSEQ;
    curr.haddr = addr;
    curr.hbusreq = 1;
    curr.hwrite = AHB_HWRITE_READ;

    next.htrans = AHB_HTRANS_IDLE;
    //next.hwdata = data;
    next.hbusreq = 1;

    wait_for = period;
}
void setWaitFor(int delay){
    initSignal(&next);

    wait_for = delay;
}

void advanceClock(){
    //curr <= next, init next
    memcpy((void*)&curr,(void*)&next,sizeof(curr));
    initSignal(&next);
}

void convHexToBinary(char* dst, int data, int size){
    int index = 0,i;
    char quote;
    if(size == 1)
        quote = '\'';
    else
        quote = '"';
    if(size > 1)
        dst[index++] = 'b';
    else
        dst[index++] = ' ';
    dst[index++] = quote;
    for(i = 0; i < size; ++i){

        char c = '0' + ((data>>i) & 0x00000001);
        dst[size + 3 - index++] = c;
    }
    dst[index++] = quote;
    dst[index] = '\0';
}
void convHexToHex(char* dst, int data, int size){
    char tmp[100];
    sprintf(tmp,"x\"%%0%dx\"",size);
    sprintf(dst,tmp,data);
}

void printSignal(void){
    char htrans[100];
    char haddr[100];
    char hburst[100];
    char hsize[100];
    char hwrite[100];
    char hbusreq[100];
    char hlock[100];
    char hprot[100];
    char hwdata[100];

    convHexToBinary(htrans,curr.htrans,2);
    convHexToHex(haddr,(int)curr.haddr,8);
    convHexToBinary(hburst,curr.hburst,3);
    convHexToBinary(hsize,curr.hsize,3);
    convHexToBinary(hwrite,curr.hwrite,1);
    convHexToBinary(hbusreq,curr.hbusreq,1);
    convHexToBinary(hlock,curr.hlock,1);
    convHexToBinary(hprot,curr.hprot,4);
    convHexToHex(hwdata,curr.hwdata,8);

    fprintf(fp,"%s.htrans\t<= %s;\n",sig_name,htrans);
    fprintf(fp,"%s.haddr\t<= %s;\n",sig_name,haddr);
    fprintf(fp,"%s.hburst\t<= %s;\n",sig_name,hburst);
    fprintf(fp,"%s.hsize\t<= %s;\n",sig_name,hsize);
    fprintf(fp,"%s.hwrite\t<= %s;\n",sig_name,hwrite);
    fprintf(fp,"%s.hbusreq\t<= %s;\n",sig_name,hbusreq);
    fprintf(fp,"%s.hlock\t<= %s;\n",sig_name,hlock);
    fprintf(fp,"%s.hprot\t<= %s;\n",sig_name,hprot);
    fprintf(fp,"%s.hwdata\t<= %s;\n",sig_name,hwdata);

    fprintf(fp,"wait for %d ns;\n",wait_for);
    advanceClock();
}

int main(){
    fp = fopen("/dev/stdout","w");
    //first init
    initSignal(&curr);
    initSignal(&next);
    printSignal();

    setWriteDataInt32((int*)0x9000000,0x00000030);
    printSignal();

    setWaitFor(200);
    printSignal();

    setReadDataInt32((int*)0x9000000);
    printSignal();

    setWaitFor(200);
    printSignal();

    setWriteDataInt32((int*)0x9010000,0x0000000a);
    printSignal();

    setWriteDataInt32((int*)0x9010004,0x00000002);
    printSignal();

    setWriteDataInt32((int*)0x9000000,0x00000003);
    printSignal();

    setWaitFor(200);
    printSignal();

}

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #10 
작성일시 : 2007. 9. 14. 17:59 | 분류 : 컴퓨터/PICO Express

*EB에서 NFS를 mount하기 위한 debian 서버 설정
debian 설치 - business card
aptitude를 통해
nfs-kernel-server 설치
서버가 설치되어 있는 환경이 firewall 뒤라면 rpc를 위한 111번 포트, nfsd를 위한 2049 포트를 오픈한다
/etc/hosts.allow, /etc/hosts.deny 설정 확인
/etc/exports 설정
->
/filesystem/MPfs-full (rw,no_root_squash)
이것으로 nfs설치 완료

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #9 
작성일시 : 2007. 9. 14. 17:53 | 분류 : 컴퓨터/PICO Express

현재설정
RealView_EB # printenv
bootdelay=2
baudrate=38400
ethaddr=00:02:F7:00:21:52
bootcmd=cp 0x40100000 0x7fc0 0x100000 ; bootm
ipaddr=192.168.0.18
bootargs=root=/dev/mtdblock0 mtdparts=armflash.0:22688k@0x340000(cramfs) ip=192.168.0.2:off mem=128M console=ttyAMA0
stdin=serial
stdout=serial
stderr=serial
verify=n

Environment size:

nfs쓸때
setenv bootargs root=/dev/nfs mem=128M netdev=27,0,0xfc800000,0xfc800010,eth0 ip=192.168.0.2:192.168.0.2 nfsroot=192.168.0.193:/filesystem/MPfs-full,rsize=1024,wsize=1024 console=ttyAMA0 cachepolicy=writealloc
cramfs쓸때
setenv bootargs root=/dev/mtdblock0 mtdparts=armflash.0:22688k@0x340000(cramfs) ip=192.168.0.2:off mem=128M console=ttyAMA0


----------

최종적으로 Emulation Board Rev D에서 MPfs-full이 돌아가는 환경

그동안에 kernel panic sync init= 블라 블라 문제가 발생 했던 것은 간단히 말해 nfs가 제대로

설정되지 않았기 떄문이다. 부팅메시지에는 nfs가 제대로 mount 되었다고 나온다고 해도 실제로는

아니었다.

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #8 
작성일시 : 2007. 9. 7. 12:20 | 분류 : 컴퓨터/PICO Express

지금까지 작업하던 rev D 보드를 돌려주고 revC를 받아옴.
현재 설정이 tftp를 통해 이미지를 받아오게 되어있으므로 변경이 필요함.

현재의 설정
-----------
RealView_EB # printenv
baudrate=38400
bootfile="/tftpboot/uImage"
runlinux=bootm 0x40300000
bootdelay=1
bootargs=root=/dev/nfs mem=128M netdev=27,0,0xfc800000,0xfc800010,eth0 ip=192.16
8.1.244:192.168.1.244 nfsroot=192.168.1.123:/nfs,rsize=1024,wsize=1024 console=t
tyAMA0 cachepolicy=writealloc
serverip=192.168.1.123
ipaddr=192.168.1.244
bootcmd=tftpboot 0x7fc0 uImage ; bootm
stdin=serial
stdout=serial
stderr=serial
verify=n

Flash> list image                
Flash Area Base 0x40000000                         

Address     Name               
-------     ----               
0x40000000  boot_monitor                       
0x40040000  mpuboot                  
0x40080000  SYSTEM.DAT                     
0x40100000  u-boot
0x40200000  mplinux
0x40400000  basecramfs

바꿀 설정
setenv bootargs root=/dev/mtdblock0 mtdparts=armflash.0:7888k@0x400000(cramfs) ip=127.0.0.1:off mem=128M console=ttyAMA0 console=tty
setenv bootcmd cp 0x40200000 0x7fc0 0x100000\; bootm

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #7 
작성일시 : 2007. 9. 5. 15:17 | 분류 : 컴퓨터/PICO Express

드디어 돌아간다

실행 순서는 다음과 같다
1.board power on(boot monitor running, serial comm.)
2.run u-boot
>flash run uboot
3.set arguments
setenv bootargs root=/dev/mtdblock0 mtdparts=armflash.0:7888k@0x380000(cramfs) ip=127.0.0.1:off mem=128M console=ttyAMA0 console=tty
setenv bootcmd cp 0x40140000 0x7fc0 0x100000\; bootm
4.save arguments 후 reset & run u-boot
saveenv
5.자동으로 리눅스 실행이 안되면?
cp 0x40140000 0x7fc0 0x100000
bootm
으로 직접 실행

돌아간다!

주의점
1. setting arguments
setenv bootargs root=/dev/mtdblock0 mtdparts=armflash.0:7888k@0x380000(cramfs) ip=127.0.0.1:off mem=128M console=ttyAMA0 console=tty
->여기에서 7888k는 filesystem size, 0x380000은 baseaddress로 부터 cramfs의 offset
list image를 했을 때
> flash list image

Flash Area Base 0x40000000

Address     Name
-------     ----
0x40000000  Boot_Monitor
0x40030000  SYSTEM.DAT

Flash Area Base 0x40040000

Address     Name
-------     ----
0x40040000  NFU
0x40080000  demo
0x400C0000  MAXsim
0x40100000  uboot
0x40140000  uimage
0x40380000  cramfs

Flash Area Base 0x44000000

Address     Name
-------     ----

Flash Area Base 0x44040000

Address     Name
-------     ----

이렇게 나오기 떄문에 0x40380000-0x40040000을 한 값을 cramfs의 offset에 적어줬는데 이게 아니라 0x40380000-0x40000000을 해준 값을 적어줘야 했다. 이거떄문에 좀 삽질이 있었음;

console 두개를 적은 이유는 vga와 serial 모두로 출력을 뽑기위해서 이다.

>_<

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #6 
작성일시 : 2007. 9. 5. 11:12 | 분류 : 컴퓨터/PICO Express

http://www.arm.com/support/faqdev/14409.html

How do I rebuild the Linux kernel for my ARM RealView development board?


Applies to: AB926EJ-S, Core Tiles, Emulation Baseboard (EB), PB926EJ-S, Versatile

Note: the examples below are using an Emulation Baseboard (EB) with a CT11MPCore. For other systems, the file names and paths will be slightly different but the procedures will be the same.

It should be pointed out that ARM does not support Linux. These instructions are provided in order to assist customers who are using our development boards and for some reason need to rebuild one of the kernel images posted on http://www.arm.com/linux/linux_download.html.

This FAQ assumes that you are building the kernel on an x86 Linux host. The file and path names here refer to the versions available at the time of writing. These will change in future releases - modify the command lines accordingly.


1. Downloading the required files

Ensure that there is at least 250Mb of storage space available on the computer where you intend to build the kernel - this will be required for building.

Download the following files from the ARM Linux Download page to a work directory on your build computer:

  • The latest patch (at the moment of writing, this is patch-2.6.17-arm1.gz)
  • The corresponding standard Linux kernel source from one of the mirrors listed on http://www.kernel.org/mirrors/ (in this case linux-2.6.17.tar.bz2)
  • The codesourcery toolchain from the ARM Linux Download page (currently sourceryg++-4.1-6-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.gz)
  • The pre-built U-Boot package (U-Boot-RealView-EB.tar.gz)
  • The pre-built Linux kernel image for your board (Image-RealView-EB-2.6.17-arm1.tar.gz)

2. Extracting the downloaded components

Extract the toolchain into the work directory and set up the CROSS_COMPILE environment variable:

$ mkdir codesourcery
$ tar -C codesourcery
-xzf sourceryg++-4.1-6-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.gz
$ export CROSS_COMPILE="$PWD/codesourcery/bin/arm-none-linux-gnueabi-"
Extract the pre-built U-Boot package and add the current directory (where the mkimage utility was extracted) to the PATH:
$ tar xzf U-Boot-RealView-EB.tar.gz
$ export PATH="$PATH:$PWD"
Extract and patch the kernel source and set up the ARCH environment variable:
$ tar xjf linux-2.6.17.tar.bz2
$ cd linux-2.6.17
$ gzip -cd ../patch-2.6.17-arm1.gz | patch -p1
$ cd ..
$ export ARCH=arm
Extract the pre-built Linux kernel image:
$ tar xzf Image-RealView-EB-2.6.17-arm1.tar.gz
 

3. Configuring and building the Linux kernel

It is highly recommended you start with an existing configuration file from one of the prebuilt kernel packages. Copy this into your Linux source tree, renaming it .config:
$ cp kernel/src/2.6.17/configs/config-2.6.17-arm1-realview-eb-mpcore
linux-2.6.17/.config
Import the configuration settings from the new .config:
$ cd linux-2.6.17
$ make oldconfig
Modify the configuration to suit your purposes using
  • For graphical configuration utility
    $ make xconfig
    
  • For text mode configuration utility
    $ make menuconfig
    
Remember to save your configuration before exiting.
Now build your kernel:
$ make uImage
After the build has completed, the resulting uImage will be located in the arch/arm/boot directory.
For information  about how to run the kernel on your development board, see "  ".

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #5 
작성일시 : 2007. 9. 5. 11:11 | 분류 : 컴퓨터/PICO Express

http://www.arm.com/support/faqdev/14586.html

*
*
technical support FAQs ask ARM *
*

 
downarrow How do I install the pre-built Linux images on my ARM RealView development board?


Applies to: AB926EJ-S, Core Tiles, Emulation Baseboard (EB), PB926EJ-S, Versatile

Note: These instructions use a clean PB926EJ-S system as an example. Memory address values may differ on other boards or if there are additional images stored in the flash.

It should be pointed out that ARM does not support Linux. These instructions are provided in order to assist customers who are using our development boards and wish to run one of the Linux kernel images posted on http://www.arm.com/linux/linux_download.html.

This FAQ describes the process of installing existing images onto a development board - for instructions regarding how to rebuild these images see "How do I rebuild the Linux kernel for my ARM RealView development board".

1. Ensure that there is a working, Flash-resident Boot Monitor image in your board

The development board needs to have a working Boot Monitor in Flash in order for these instructions to work. To verify this:

  • Connect the serial console cable supplied with your board to your computer and Uart0 on the development board.
  • Configure a terminal emulator (such as HyperTerminal or TeraTerm) to connect to the serial port you connected the cable to on your computer. The settings should be: baud rate 38400, 8 data bits, no parity, 1 stop bit and no flow control.

When you turn on the power to your board, you should see a startup message similar to the following in your terminal emulator:

ARM Versatile/PB926EJ-S Boot Monitor
Version:    V2.0.2
Build Date: Apr 12 2005
Endian:     Little
>

If your boot monitor does not work, follow the instructions in your development board user guide ("getting started" section) to program a Boot Monitor into your board. This includes the DIP switch settings to make Boot Monitor run.

2. Program the Linux and Boot Loader images into Flash on your board

First download the pre-built U-Boot, Linux kernel and Cramfs images from http://www.arm.com/linux/linux_download.html. There are different U-Boot and Linux kernel images for the EB and xB926EJ-S boards, but the Cramfs image will work on any of the boards.

To avoid typing long pathnames into the Boot Monitor console, and any command length restrictions, put the images in some location with a short path - e.g. c:\temp. You can also rename the image files if required.

In order to write the U-Boot and Linux kernel images to the flash,  you first need to start the boot monitor in semihosted mode under RVD. This can be done in one of two ways:

  • Connect to the board, load the boot_monitor.axf for your board and select "Run" from the Debug menu (will work on all boards).
  • Connect to the board, select "Reset Target Processor" and then "Run" from the Debug menu (will not work on EB + MPCore).

You should now see the Boot Monitor startup message and command prompt, similar to the one you saw when verifying that you had a working Boot Monitor above.

Switch to the "Flash" submenu of the Boot Monitor:

> flash

Write the U-Boot, Linux kernel and Cramfs images to flash (depending on your version of Boot Monitor, there may be a progress indicator for each command):

Flash> write image c:\temp\u-boot_versatilepb.axf
Flash> write binary c:\temp\uImage-2.6.17-arm1-versatile
Flash> write binary c:\temp\base.cramfs

List the images in flash - you will need these addresses later on:

Flash> list images
Flash Area Base 0x34000000
Address     Name
-------     ----
0x34000000  Boot_Monitor_202
0x34040000  u-boot_versatilepb
0x34080000  uImage-2.6
0x341C0000  base

3. Modify U-Boot parameters

Close down RVD and reset the development board using the Reset button. When again presented with the Boot Monitor command prompt on the serial console, enter the command (obviously adapted to the actual image name):

> flash run u-boot_versatilepb

You should now be presented with an output similar to:

U-Boot 1.1.4 (Jul 25 2006 - 07:27:29)

DRAM:   0 kB
Flash: 64 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  2

Press a key to abort the boot process, as we have not yet finished configuring the system. You will again be presented with a command prompt - this time one with the name of your development board, for example:

VersatilePB #

Now enter the commands:

VersatilePB # setenv bootargs root=/dev/mtdblock0 mtdparts=armflash.0:<cramfs size>@<cramfs offset>(cramfs) ip=dhcp mem=128M console=ttyAMA0
VersatilePB # setenv bootcmd cp <kernel address> 0x7fc0 0x100000\; bootm
VersatilePB # saveenv

Where:

  • <cramfs size> is the size of the base.cramfs image in kilobytes, with a 'k' appended - in this case 7888k.
  • <cramfs offset> is the offset of the cramfs image from the start of flash - in this case 0x341C0000-0x34000000, 0x1C0000.
  • <kernel address> is the address of the kernel image in flash - in this case 0x34080000.

4. Running your Linux system

After U-Boot has finished saving its settings and returns the prompt, press the reset button again. Run U-Boot from the Boot Monitor prompt again as above, and hopefully your Linux system should now boot up completely.

You should be able to interact with the system either by using a VGA monitor, keyboard and mouse or through the serial console. Log in as "root" with no password.

 To automate system startup in the future, it is possible to set up a 'boot script' within Boot Monitor to invoke U-Boot automatically at reset. Please refer to your development board user guide for instructions and DIP switch settings.

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #4 
작성일시 : 2007. 9. 3. 17:02 | 분류 : 컴퓨터/PICO Express

보드에 linux 올리기
------------------
http://www.arm.com/linux/ARM-Linux-Notes.pdf
http://www.arm.com/linux/linux_download.html

Linux Operating System Downloads ask ARM
*
dotted rule
*

Linux Operating System Download

Linux Operating SystemARM contributes support for RealView Integrator and RealView platforms to the main Linux kernel.This page contains Linux kernel images, patches and utilities to run Linux on ARM processors. Linux is the version of Linux running on processors with Memory Management Unit (MMU). Processors without MMU can run a modified version of Linux called uClinux. This page also provide pre-built uClinux images for some of ARM processors.

Linux

The current 2.6 Linux kernel version includes support for the following processors:

Please, refer to http://www.kernel.org for new versions of the Linux kernel and new developments. More specific ARM Linux discussion groups patches and information can also be found on the ARM Linux project website and ARM Linux Wiki site . Source and binary versions of the GNU GCC compiler are available from www.codesourcery.com as well as discussion groups.

The following components are provided to support these platforms:

  • Boot loader: U-Boot
  • Pre-built Linux kernel, including sources and a binary image
  • Configuration files for building the kernel
  • Filesystem with pre-built utilities and applications
  • Notes to install and setup Linux on your platform

The table below contains a set of pre-built images for each ARM platform:

Platform \ Images

U-Boot

Linux Images
RealView Integrator-CP

U-Boot Integrator (115Kb)

RealView Versatile PB/AB

U-Boot Versatile (220Kb)

Versatile images (1.1Mb)

RealView EB (incl. CT1136 and MPCore)

U-Boot RealView EB  (118Kb)

Cortex-A8 (Integrator model)

--

Patch-2.6.21-arm1.gz (54Kb) should be used against www.kernel.org 2.6.21 kernel source tree to produce the binary kernel images supplied on this page. Note that these patches are also available from the following GIT repository.

Patch-2.6.21-arm1-t2_1 (31Kb) contains an initial Thumb-2 patch against 2.6.21 Linux kernel to run the kernel in Thumb-2 mode on Cortex-A8 platform. This patch should be applied on top of the previous patch (i.e. patch-2.6.21-arm1). Some additional notes are available at the following Page on how to build a standalone image (.axf) to run on a software platform model.

Note that only pre-built images for ARM processors from ARMv5 are provided on this page. Images for ARMv4 processors, marked with an asterisk (*) in the above list, can be built from source.

The kernel provided with this release is compiled with EABI support and supports running of Thumb-2 based applications, handling of VFP and Neon registers. The pre-built RealView/EB MPCore image supplied on this page supports boards revisions C and D.

U-Boot binaries available for download on this page have been compiled from the following Sources. Patches have also been submitted to the U-Boot project list.

The following RVI-DCC patch can be applied in addition to the 2.6.19 kernel patch provided on this page to add support for kernel debugging through RVI-DCC connexion. Additional information is available from the following location.

The following pre-built filesystem images can be used with each ARM platform:

This compressed filesystem image has been produced from the following Packages (55Mb) file. These packages can be used to generate a compressed RAM filesystem image (cramfs) or a JFFS based filesystem image. Applications and libraries provided here have been compiled for ARMv5, using the soft-float option and default GNU compiler options which are now using the new ABI for the ARM Architecture as default. Please consult the README file provided in the ARM_Embedded_Linux archive (top directory) with regard to access to the source code of these packages.

The current 2.6 Linux kernel contains support for the following peripherals:

  • UART (PL010, PL011), Interrupt Controller (VIC, GIC), KMI (PL050), RTC (PL030),
  • VGA/LCD (PL110), AACI (PL041), VFP, Ethernet (PL092), LAN9118, LAN91C111
  • MMC, Timers, PCI, L2C (220)

These images have been generated using GCC 4.2 and GNU libc 2.5. Please, visit www.codesourcery.com for more information on sources and binary distributions of GNU GCC tools for ARM. A pre-built version of the compiler and libraries is provided here for convenience (2007Q1-21 release):

  • GCC 4.2 (arm-none-linux-gnueabi target): binary (87Mb)

uClinux

The patch provided on this page include support for uClinux with the following ARM processors:

Please, refer to www.uclinux.org for more information, documentation, mailing lists and additional resources.

The table below contains pre-built uClinux image for ARM1156T2-S processor on ARM IntegratorCP.

Platform \ Images

U-Boot

uClinux kernel Image

RealView Integrator CP

U-Boot Integrator (115Kb)

uClinux (1Mb)

RealView EB

U-Boot RealView EB  (118Kb)

uClinux (1Mb)

Patch-2.6.21-arm1.gz (54Kb) contains necessary changes to be applied against 2.6.21 kernel source tree to produce binary uClinux kernel images. These kernel images have been produced using GNU GCC 4.2.

The following ROM filesystem can be used with the supplied uClinux kernel images:  romfs (928Kb). This romfs image has been produced by the uClinux community from the following location and using the following toolchain. Please, note that the toolchain used to produce this romfs uses the old ARM ABI.

Licensing
The source code used to build these binary packages is available under the terms of the GNU Public License. This software is provided with NO WARRANTY, to the extent permitted by applicable law. The software is provided "as is" without warranty of any kind, either expressed or implied, including the implied warranties of merchantability or fitness for a particular purpose.

Page updated: July 23, 2007

|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #3 
작성일시 : 2007. 9. 2. 18:39 | 분류 : 컴퓨터/PICO Express

http://www.arm.com/support/downloads/info/11950.html

Progcards ask ARM *
dotted rule

[Updated, 19 June 2007 - progcards_multiice v2.56, progcards_usb v2.67, progcards_rvi v1.01]

'Progcards' is a programming utility used to update the programmable logic (FPGAs or PLDs) on most ARM development boards. There are now three versions of progcards available, each for use with a different ARM JTAG interface:

progcards_multiice.exe is the original progcards.exe program, renamed. This works with an ARM Multi-ICE JTAG unit, and must have the Multi-ICE Server application running and correctly configured to allow board programming.

progcards_usb.exe is the variant of progcards that works with the built-in USB/JTAG unit on some ARM development boards, e.g. the PB926EJ-S. The RVI-ME USB driver must be loaded on the host machine to enable this device. The driver is included on the CD-ROM that ships with the development board.

progcards_rvi.exe is the latest addition to the progcards family. This enables ARM development boards to be programmed with a RealView ICE (RVI) unit. Note that the RVI must be loaded with firmware v1.4.1 or later for progcards_rvi to work. The latest RVI firmware and installation instructions can be downloaded from:

progcards.exe is now just a banner program, which tells the user to run one of the executables listed above.

For each progcards variant, a number of other executable files may need to be present in the installation directory for the application to function. These are included in the relevant download zipfile. Refer to FileList.txt in the zipfile for further information.

The selected progcards utility must also be used in conjunction with a set of 'boardfiles', which are the FPGA/PLD binary configuration images and programming scripts. These must be downloaded separately and extracted into the progcards installation directory:

Historically, the progcards utility was included in each boardfiles download, but due to the logistics of keeping all these files up to date, we are now providing progcards as a separate download.

To determine which version of the progcards utilities you have installed, run the relevant .exe file from a DOS command window and check the version information displayed in the program's start-up text.

Installation Instructions

Download and unzip the boardfile set of your choice into a clean directory. Extract the progcards files from this download into the same directory, allowing files to be overwritten, if prompted.


-------------------------------------------------------------------

Progcards - ARM 개발 보드의 programmable logic 에 이미지를 올리기 위해 사용되는 프로그램
|
  ARM Versatile emulation baseboard 에 PICO Express 결과물 올리기 #2 
작성일시 : 2007. 9. 2. 18:05 | 분류 : 컴퓨터/PICO Express

FPGA 이미지 보드에 올리기 from RealView™ Emulation Baseboard User Guide
-------------------------------------------------------------------------
http://infocenter.arm.com/help/topic/com.arm.doc.dui0303c/DUI0303C_emulation_baseboard_user_guide.pdf



2.9. Loading FPGA and PLD images

This section describes the format of the board files and how to use the progcards utilities to load images from the supplied CD into the baseboard and Logic Tile FPGAs and PLDs. The general procedure to load an image is:

  1. Follow the instructions in the Versatile CD Installation Guide to install the software and data files on your hard disk.

  2. Set up the baseboard and Core Tile as described in Setting up the baseboard.

  3. Connect RealView ICE (or Multi-ICE) to the JTAG connector or use a USB cable to connect to the USB debug port as described in Connecting JTAG debugging equipment.

    Note

    If you are using Multi-ICE, you must start Multi-ICE server and load an appropriate configuration file.

    Progcards for USB or RealView ICE always uses auto-configuration.

  4. Place the baseboard in configuration mode (Config switch ON) and power on the development system.

  5. Locate the board file (.brd ) that matches your configuration (see Board files).

    Caution

    The baseboard is shipped with a test image for a CT926EJ-S Core Tile in the FPGA configuration flash. You must load a new FPGA image into the configuration flash before you can use the baseboard. Refer to the application note for your system configuration for specific instructions. If you change the type of Core Tile, you must load new images and a new Boot Monitor for that tile.

    The image file for your configuration also includes a Boot Monitor image for NOR flash. You can also load the Boot Monitor code separately without reloading the FPGA and PLD images, see Loading Boot Monitor into NOR flash.

  6. Run the progcards utility and load the image files into the FPGAs (see Upgrading your hardware). The board file selects the image files to load. Board files have a .brd extension


    2.9.3. Upgrading your hardware

    Use one of the progcards utilities and the board description (*.brd) files to load configuration images to the FPGA. There are three versions of the utility:

    progcards_rvi.exe

    progcards_rvi.exe uses RealView ICE and the JTAG interface. It runs on a PC host in a DOS window and communicates with the RealView ICE interface box.

    See Procedure for progcards_rvi.exe for detailed instructions.

    progcards_multiice.exe

    progcards_multiice.exe uses Multi-ICE and the JTAG interface. It is a TAPOp program that runs on a PC host in a DOS window and communicates with the Multi-ICE server.

    See Procedure for progcards_multiice.exe for detailed instructions.

    progcards_usb.exe

    progcards_usb.exe uses the built-in USB to JTAG interface logic on the baseboard. A standard USB cable connects the baseboard to the PC running progcards_usb.exe.

    See Procedure for progcards_usb.exe for detailed instructions.

    Note

    The latest version of the RVI firmware can be downloaded from the Technical Support area of the ARM web site.

    Procedure for progcards_rvi.exe

    1. Ensure that the RealView ICE firmware is version 1.4.1 (or later) and has the additional patch required for running progcards_rvi. The patch can be downloaded from the downloads page on the Technical Support section of the ARM web site. See the readme file supplied with progcards_rvi for information on updating the firmware.

    2. Connect the 20-way JTAG cable from the RealView ICE JTAG interface to the box header on the platform baseboard. See Figure 2.8.

    3. Move the CONFIG switch S1 to the ON position (see Connecting JTAG debugging equipment). The orange CONFIG LED lights.

    4. Turn on the power.

    5. Start a command window by selecting Run from the Start menu and entering command in the text box.

    6. Change directory to the directory that contains board description (*.brd) files for the design to be programmed.

    7. Start the programming utility by entering progcards_rvi at the command prompt.

    8. A menu is displayed asking which interface box you want to connect to. Select the interface that is connected to the baseboard.

      Note

      See the documentation supplied with progcards_rvi for information on connecting directly to a specified interface that is connected to either the network or the local USB connection on the PC.

    9. RVI attempts to autoconfigure. If auto-configuration fails, see the documentation supplied with progcards_rvi.

    10. progcards_rvi searches for board description files that match the JTAG scan chain. All board descriptions matching the first part of the chain are presented as a menu and you can select the file to use.

      progcards_rvi runs through the steps required to completely reprogram the boards. The output is similar to the example transcript is shown in Example 2.2.

    11. To bypass programming a Logic Tile or the baseboard select the Skip option from the menu. progcards_rvi then looks for board description files that match the next segment of scan chain and so on.

      Typically one menu is displayed for the Logic Tile and one menu is displayed for the baseboard. If only one board description matches your hardware, it is automatically selected and no menu is displayed.

      Caution

      Ensure that the image file you are loading matches your system configuration. If the incorrect files are loaded, the baseboard and tiles might not function or might be unreliable.

    12. After downloading the image completes, turn the baseboard power off and move the CONFIG switch to the OFF position.

    13. Set the configuration switches to match the boot option you are using (see Setting the configuration switches).

    14. Power on the baseboard and use the Boot Monitor to load your application (see Using the baseboard Boot Monitor and platform library).

      If you are not using the Boot Monitor, use a JTAG debugger to load and run an application. See the documentation supplied with your debugger for details.

    Procedure for progcards_multiice.exe

    1. If it is not already installed, install the Multi-ICE server (revision 2.2.6 or later).

    2. Connect the 20-way JTAG cable from the JTAG interface (Multi-ICE) to the box header on the platform baseboard. See Figure 2.8.

    3. Move the CONFIG switch S1 to the ON position (see Connecting JTAG debugging equipment). The orange CONFIG LED lights.

    4. Turn on the power.

    5. Start the Multi-ICE server. See the documentation supplied with the JTAG hardware for details on using the interface.

    6. Select File → Auto-Configure. The display should be updated to show a number of FPGA and PLD devices in the scan chain.

      Note

      If auto-configuration fails, you must manually load an appropriate configuration. Select File → Load → Configuration and then choose the file in the multi-ice subdirectory that matches your hardware configuration.

      The configuration files automatically set the transfer timing (TCK) to 1MHz, therefore manually setting the transfer timing is not necessary.

    7. Start a command window by selecting Run from the Start menu and entering command in the text box.

    8. Open a command prompt window and change directory to the directory that contains board description (*.brd) files for the design to be programmed.

    9. The command to start progcards_multiice depends on your hardware setup:

      • If you are using Multi-ICE and the server is running on a different machine than you are using to enter the commands, invoke progcards_multiice by entering:

        C:\Boardfiles> progcards_multiice server_name
        
      • If the Multi-ICE server is running on the same machine, there is no need to supply a server name as the local host is the default. Invoke progcards_multiice by entering:

        C:\Boardfiles> progcards_multiice
        
    10. progcards_multiice searches for board description (*.brd) files that match the JTAG scan chain shown on the Multi-ICE server window. All board descriptions matching the first part of the chain are presented as a menu and you can select the file to use.

      progcards_multiice runs through the steps required to completely reprogram the boards. An example transcript is shown in Example 2.2.

    11. To bypass programming a Logic Tile or the baseboard select the Skip option from the menu. progcards_multiice then looks for board description (*.brd) files that match the next segment of scan chain and so on.

      Typically one menu is displayed for the Logic Tile and one menu is displayed for the baseboard. If only one board description matches your hardware, it is automatically selected and no menu is displayed.

      Caution

      Ensure that the image file you are loading matches your system configuration. If the incorrect files are loaded, the baseboard and tiles might not function or might be unreliable.

    12. After downloading the image completes, turn the baseboard power off and move the CONFIG switch to the OFF position.

    13. Set the configuration switches to match the boot option you are using (see Setting the configuration switches).

    14. Power on the baseboard and use the Boot Monitor to load your application (see Using the baseboard Boot Monitor and platform library).

      If you are not using the Boot Monitor, use a JTAG debugger to load and run an application. See the documentation supplied with your debugger for details.

    Example 2.2. Example transcript for Multi-ICE and progcards_muiltiice.exe

    C:\BoardFiles> progcards_multiice
    ARM Development Card Logic Programmer
    Version 2.53
    Attempting to connect to Multi-ICE server
    Multi-ICE reports 4 TAP controllers
    Several possible boards detected at TAP position 0:-
    0: Quit progcards
    1: Skip (eb)
    2: EB (HBI-01409C) CTMPCore FPGA flash image 0 build28, Character LCD Mux build 3
    Make a choice: 2
    Step 1: PLD/SVF download of an1151/an151_eb_140c_xc2v6000_ct926umc_le_build3_mux_xc2c128_build2.svf
    Progress: 100.00%
    Step 2: FPGA download of an1151/an151_eb_140c_xc2v6000_via_build1.bit
    Progress: 100.00%, Throughput: 23.19k/s, Frame: 1458
    Step 3: Intel flash download of an1151/an151_eb_140c_ctmpcore_li_build7.bit
    Progress: 100.00%, Throughput: 31.68k/s
    Step 4: Intel flash verify against an1151/an151_eb_140c_xc2v6000_ctmpcore_li_build7.bit
    Progress: 100.00%, Throughput: 29.46k/s, Errors: 0%
    Step 5: PLD/SVF download of an1151/an151_eb_140c_mux_xc2c128_build1.svf
    Progress: 100.00%
    

    Procedure for progcards_usb.exe

    1. If it is not already installed, install the USB Debug Direct Control software.

      Note

      Windows USB Debug drivers must be installed before using the progcards_usb utility. Information on installing the USB drivers can be found in \boardfiles\USB_Debug_driver\readme.txt.

    2. Connect the USB cable from the host PC to the USB debug port (near the screw terminals) on the platform baseboard. See Figure 2.12.

    3. Move the CONFIG switch to the ON position (see Connecting JTAG debugging equipment).

    4. Turn on the power. The orange CONFIG LED lights.

    5. Start a command window by selecting Run from the start menu and entering command in the text box.

    6. Change directory to the directory that contains board description (*.brd) files for the design to be programmed.

    7. Start the programming utility by entering progcards_usb at the command prompt.

      Note

      If progcards_usb.exe is not in the current working directory, set your PATH environment variable to point to the directory that contains progcards_usb.exe.

    8. Progcards_usb searches for board description files that match the scan chain. All board descriptions matching the first part of the chain are presented as a menu and you can select the file to use.

      progcards_usb runs through the steps required to completely reprogram the boards. The output is similar to the example transcript is shown in Example 2.2.

    9. To bypass programming a Logic Tile or the baseboard select the Skip option from the menu. progcards_usb then looks for board description files that match the next segment of scan chain and so on.

      Typically one menu is displayed for the Logic Tile and one menu is displayed for the platform baseboard. If only one board description matches your hardware, it is automatically selected and no menu is displayed.

    10. After downloading the image completes, turn the power off and move the CONFIG switch to the OFF position.

    11. Set the configuration switches to match the boot option you are using (see Setting the configuration switches).

    12. Power on the board and use the Boot Monitor to load your application (see Using the baseboard Boot Monitor and platform library).

      If you are not using the Boot Monitor, use a JTAG debugger to load and run an application. See the documentation supplied with your debugger for details.

    Figure 2.12. USB debug port connection for progcards_usb


     

|
 Prev   1   2   Next