#9 support for AMD AM29LV160DB flash needed

closed
jtag (10)
5
2011-07-08
2006-01-22
Oleg
No

I have successfully read flash by Brecis (PMC-Sierra)
MSP2006 processor (used in Gigabyte GN-B49G router),
but can not flash, because there is no support in
libbrux/flash/amd.c for AM29LV160DB (used widely
nowdays
http://calradio.calit2.net/calradio1/dspboard/datasheet
s/AM29LV160DB.pdf

Give me a direction how to implement support for this
flash chips.

Discussion

  • Oleg

    Oleg - 2006-01-22

    Logged In: YES
    user_id=1433140

    i have found patch for 0.5.1 wich add support for this chip
    http://pages.sbcglobal.net/greghol/routers/jtag051-29lv160-
    patch.tar.bz2 , but it was not included in CVS. Futhermore
    there is some mutual changes in flash.c with
    http://cvs.sourceforge.net/viewcvs.py/openwince/jtag/src/fla
    sh.c?r1=1.29&r2=1.30 wich must be cleaned.

    ****************
    flash.c.rej
    *** 264,285 ****
    adr = addr;
    while (!feof( f )) {
    uint32_t data;
    - #define BSIZE 4096
    uint8_t b[BSIZE];
    int bc = 0, bn = 0;
    - int block_no = find_block( cfi, adr );
    -
    if (!erased[block_no]) {
    flash_driver->unlock_block(
    cfi_array, adr );
    printf( _("\nblock %d unlocked\n"),
    block_no );
    - printf( _("erasing block %d: %
    d\n"), block_no, flash_driver->erase_block( cfi_array,
    adr ) );
    erased[block_no] = 1;
    }

    bn = fread( b, 1, BSIZE, f );
    for (bc = 0; bc < bn; bc += flash_driver-
    >bus_width) {
    int j;
    - printf( _("addr: 0x%08X"), adr );
    printf( "\r" );
    fflush( stdout );

    --- 264,284 ----
    adr = addr;
    while (!feof( f )) {
    uint32_t data;
    + #define BSIZE 4096
    uint8_t b[BSIZE];
    int bc = 0, bn = 0;
    + int block_no = find_block( cfi, adr *
    flash_driver -> bus_width );
    if (!erased[block_no]) {
    flash_driver->unlock_block(
    cfi_array, adr );
    printf( _("\nblock %d unlocked\n"),
    block_no );
    + printf( _("erasing block %d: %
    d\n"), block_no, flash_driver->erase_block( cfi_array, adr
    * flash_driver -> bus_width ) );
    erased[block_no] = 1;
    }

    bn = fread( b, 1, BSIZE, f );
    for (bc = 0; bc < bn; bc += flash_driver-
    >bus_width) {
    int j;
    + printf( _("addr: 0x%08X"), adr *
    flash_driver -> bus_width );
    printf( "\r" );
    fflush( stdout );

     
  • Greg Holdren

    Greg Holdren - 2006-01-23

    Logged In: YES
    user_id=21391

    Hello Olegi,
    This is a patch I made to support the AMD part in 16 bit
    mode for to be used for the Samsung 4510B ARM7 boards I
    have. While the changes I made works for me I didnt submit
    it back to the patch area becasue I may have broken other
    areas. The 29LV160 patch was made based on the jtag-0.5.1
    base code after the Samsung S3C4510B Bus patch was done.
    Feel free to finish it up. Greg

     
  • Oleg

    Oleg - 2006-02-11

    Logged In: YES
    user_id=1433140

    i have added patch (EJTAG driver)
    https://sourceforge.net/tracker/index.php?
    func=detail&aid=1429825&group_id=52603&atid=469852
    I have flashed AM29LV160 and AT49BV322A.

     
  • Marcel Telka

    Marcel Telka - 2011-07-08
    • status: open --> closed
     
  • Marcel Telka

    Marcel Telka - 2011-07-08

    The openwince project is no longer active.

    If this report is related to JTAG Tools, please try UrJTAG at
    http://urjtag.sourceforge.net/

     

Log in to post a comment.