Author Topic: Upgrade Flash Memory  (Read 22671 times)

burn79

  • Guest
Upgrade Flash Memory
« on: November 17, 2008, 07:57:45 am »
Hi everybody!

I have a Simpad SL4 and I installed the Ångström Distribution with opie on it.
I want to install more software like a webbrowser, but there is not much space left on the flash memory. I found on opensimpad.org that it is possible to upgrade the flash.
Is there anybody who has upgraded the simpad to 64 MB flash? Does it work?
Where can I get a compatible flash chip for my simpad to upgrade it?

burn

mr_nice

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Upgrade Flash Memory
« Reply #1 on: November 18, 2008, 04:03:21 pm »
Hi, did you try out to remove your home parition [1]?

It should be possible to get the chips at memphis.ag. They can find a matching chip for you.

The main problem is that you need to rewrite some stuff of the bootloader. There is some code for the adresses of the chip. Maybe you also need to change a line or two at the kernel -I cannot remember and have no source to look at here

If you get the prices for the chips please post them here.

An alternative would be the mmc/sd mod, but the driver for it is currently broken

I hope I will find some time to make the mmc/sd mod and for looking at the source

best regards
mr nice.

1 http://opensimpad.org/index.php/Get_rid_of..._home_partition

burn79

  • Guest
Upgrade Flash Memory
« Reply #2 on: November 27, 2008, 03:32:44 pm »
I wrote a mail to memphis.ag and from there I got a datasheet about compatible flash chips.
The 256 mbit flash chips are known as JS28F256J3D-95
I ordered 4 pieces at www.conrad.de as special order. They are trying to get the chips somewhere. It could take 4 weeks ago.
When I've more information I'll report!

burn

Martin

  • Full Member
  • ***
  • Posts: 138
    • View Profile
Upgrade Flash Memory
« Reply #3 on: December 04, 2008, 04:51:07 am »
Hi Burn

did you ever remove some smd chips? I have read different upgrade actions ... simpad and asus wlhdd ... any all of them are note very happy of there work ...

Heating is difficult to remove old ones and never the less it is to add new chips inside :-) ... hope to her of you with a positve feedback and happy smile :-)

Now I got my sd cardslot and bt module for trying to add it to my simpad :-) ... doing some pictures if its ready ...

Martin
--------------------------------------------------------
sl-c860 /w pdaXrom 1.1.0 Kathrin r121
CF 1GB , SD 2GB + 1GB + 512MB , MMC 512MB
Netgear MA701 WLAN 801b
Asus WL-HDD2.5 (very nice thing) /w 60 GB
--------------------------------------------------------
PC/Notebook SuSE 10.1 Prof. / KDE3.5.4
VDR /w KnoppMyth R5C7 (/w Myth 0.19)
--------------------------------------(August 2006)---

burn79

  • Guest
Upgrade Flash Memory
« Reply #4 on: December 10, 2008, 05:13:31 am »
Update:
Conrad could not make me an offer for the chips, but I found them at digikey [1] for 23,79 € for one chip and I ordered and got them! :-)
Next step is to remove the old flash chips. This could be very difficult for me, but I will try it!

I'll report when it's done.

burn


[1] http://de.digikey.com

Martin

  • Full Member
  • ***
  • Posts: 138
    • View Profile
Upgrade Flash Memory
« Reply #5 on: December 10, 2008, 05:27:14 am »
Hi Burn,

good luck  ...

it will be nice to have some pictures from your experience

Martin
--------------------------------------------------------
sl-c860 /w pdaXrom 1.1.0 Kathrin r121
CF 1GB , SD 2GB + 1GB + 512MB , MMC 512MB
Netgear MA701 WLAN 801b
Asus WL-HDD2.5 (very nice thing) /w 60 GB
--------------------------------------------------------
PC/Notebook SuSE 10.1 Prof. / KDE3.5.4
VDR /w KnoppMyth R5C7 (/w Myth 0.19)
--------------------------------------(August 2006)---

burn79

  • Guest
Upgrade Flash Memory
« Reply #6 on: August 23, 2009, 05:00:35 pm »
Hey everybody,

I did it!!  
This weekend I upgraded my Simpad to 32 MB flash. You will find a (german) report and pictures on my blog.

But now, after installing the Siemens Bootloader with the JTAG tool, I've a problem with upgrading the bootloader. After powering on the simpad, the serial console shows that:

Code: [Select]
PBL V2.4 20.07.2001
Booting internal PBL image...
================================================
Siemens Switzerland Bootloader V2.4 20.07.2001
Running @206Mhz Processor ID 0x6901b118
Press ESC for monitor
Occupied Memory: [0x00004000-0x00008000],[0x01f00014-0x01f74b9c]
No 16Bit Flash detected
No 32Bit Flash detected 0x00000000
FlashImage Checksum 0x05040014-0x05061ab0=0xffff7959 Image Update, Old Image unc
hecked
Fabdata Flash @0x05040014 Ram @0x01f21ab4 Init Fabdata... Done
[/                    ]

The slash is turning round, but nothing else happens. I can't upgrade the bootloader with serload. Has anybody an idea what I've to do?

burn
« Last Edit: August 28, 2009, 11:56:11 am by burn79 »

burn79

  • Guest
Upgrade Flash Memory
« Reply #7 on: August 24, 2009, 03:37:25 pm »
Hey,

I think I was a little confused. I would upgrade the flash to 64 MB not to 32 MB. So something other must be wrong  
At this time: Upgrade failed. But I don't give up!

So long,
burn
« Last Edit: August 24, 2009, 03:38:52 pm by burn79 »

mr_nice

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Upgrade Flash Memory
« Reply #8 on: September 06, 2009, 04:29:06 pm »
Hi, you can flash this [1] hh.org bootldr. You are right in your blog the jtag tools are only capable to recognize one chip.  urjtag [2] can use both chips. the hh.org loader has hardcoded addresses to use the second chip. so you may not be able to use bootldr to flash an image but you shuld be able to boot a kernel from an cf card. or flash the image with urjtag. but it may be neccessary to update the adresses in bootldr an kernel.

best regards
nice

btw. because of university stuff i am not able to read the forum frequently. but i can try to help a bit but cannot promise

1 http://opensimpad.org/images/b/b7/Test_bootldr.img
2 http://urjtag.org/

burn79

  • Guest
Upgrade Flash Memory
« Reply #9 on: September 22, 2009, 03:24:51 am »
Hey mr_nice,

with urjtag the command "detectflash" needs a parameter. I can use detectflash 0 and detectflash 1. Only 0 and 1 work, some other numbers gives an errors, so I think the output is for the first and for the second flash chip

[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']jtag> detectflash 0
Query identification string:
        Primary Algorithm Command Set and Control Interface ID Code: 0x0001 (Intel/Sharp Extended Command Set)
        Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)
Query system interface information:
        Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
        Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
        Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
        Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
        Typical timeout per single byte/word program: 64 us
        Typical timeout for maximum-size multi-byte program: 128 us
        Typical timeout per individual block erase: 1024 ms
        Typical timeout for full chip erase: 0 ms
        Maximum timeout for byte/word program: 256 us
        Maximum timeout for multi-byte program: 1024 us
        Maximum timeout per individual block erase: 4096 ms
        Maximum timeout for chip erase: 0 ms
Device geometry definition:
        Device Size: 33554432 B (32768 KiB, 32 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 32
        Number of Erase Block Regions within device: 1
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 131072 B (128 KiB)
                        Number of Erase Blocks: 256

jtag> detectflash 1
Query identification string:
        Primary Algorithm Command Set and Control Interface ID Code: 0x0001 (Intel/Sharp Extended Command Set)
        Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)
Query system interface information:
        Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
        Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
        Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
        Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
        Typical timeout per single byte/word program: 64 us
        Typical timeout for maximum-size multi-byte program: 128 us
        Typical timeout per individual block erase: 1024 ms
        Typical timeout for full chip erase: 0 ms
        Maximum timeout for byte/word program: 256 us
        Maximum timeout for multi-byte program: 1024 us
        Maximum timeout per individual block erase: 4096 ms
        Maximum timeout for chip erase: 0 ms
Device geometry definition:
        Device Size: 33554432 B (32768 KiB, 32 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 32
        Number of Erase Block Regions within device: 1
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 131072 B (128 KiB)
                        Number of Erase Blocks: 256[/div]

I flashed the Test_bootldr.img with urjtag.
Code: [Select]
jtag> flashmem 0 Test_bootldr.img
Manufacturer: Intel
Chip: 28F256J3A
program:

block 0 unlocked
erasing block 0: 0
addr: 0x0001F000
block 1 unlocked
erasing block 1: 0
addr: 0x0003FFFE
verify:
addr: 0x0003FFFE
Done.
Urjtag knows the Chip! "28F256J3A" The other jtag tool only said "Chip: Unknown (0x1D)!"

After flashing the bootloader there is this output on the serial console:
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']U3
@00000348
F04000000

*MTST
00000001
00000002
00000004
00000008
00000010
00000020
00000040
00000080
00000100
00000200
00000400
00000800
00001000
00002000
00004000
00008000
00010000
00020000
00040000
00080000
00100000
00200000
00400000
00800000
01000000
02000000
04000000
08000000
10000000
20000000
40000000
80000000
MBK2
00000001
0000E59F
00000002
0000E59F
00000004
0000E59F
00000008
0000E59F
00000010
0000E59F
00000020
0000E59F
00000040
0000E59F
00000080
0000E59F
00000100
0000E59F
00000200
0000E59F
00000400
0000E59F
00000800
0000E59F
00001000
0000E59F
00002000
0000E59F
00004000
0000E59F
00008000
0000E59F
00010000
0001E59F
00020000
0002E59F
00040000
0004E59F
00080000
0008E59F
00100000
0010E59F
00200000
0020E59F
00400000
0040E59F
00800000
0080E59F
01000000
0100E59F
02000000
0200E59F
04000000
0400E59F
08000000
0800E59F
10000000
1000E59F
20000000
2000E59F
40000000
4000E59F
80000000
8000E59F
ENDM
STKP
C19F3FF0
sett▒▒g flashword=50000000
 Flash style = 1x16
verify flash size...
btflash_init: mfrid=00000089
  devid=0000001D
mfrid=00000089
deviceid=0000001D
walking flash descriptors (1x16)
btflash_init: FAILED! Unknown flasj type!
Read back MQ200 ID is 0x4BE00C02

Correct Device ID should be 0x02004D51. - retrying
Rebooting...[/div]
After that the simpad restarts again and again, everytime with the same output on the serial console. Any ideas what I have to do?

regards,
burn

mr_nice

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Upgrade Flash Memory
« Reply #10 on: October 02, 2009, 06:10:49 am »
hm, the good news is you can flash the flash now. the bad news bootldr cannot handle it :/
i don't know what is the latest version of bootldr for the simpad I once saved this one [1]
Slims and I tried to port uboot [2] [5] and redboot (Slims alone) [3] [4] to the simpad but both are not stable but maybe easier to patch for you.
For all 3 you will need to write a patch for the flash.
uboot is the most common on other devices nowerdays.

best regards
nice

1 http://linuxtogo.org/~mr_nice/simpad/saved.stuff/Bootloader/
2 http://opensimpad.org/index.php/U-boot
3 http://opensimpad.org/index.php/RedBoot
4 http://git.linuxtogo.org/?p=mr_nice/redboot/.git;a=summary
5 http://git.linuxtogo.org/?p=mr_nice/u-boot/.git;a=summary

Berend

  • Newbie
  • *
  • Posts: 24
    • View Profile
    • http://dotmpe.com
Upgrade Flash Memory
« Reply #11 on: December 11, 2009, 05:12:38 am »
Exciting stuff!

burn79

  • Guest
Upgrade Flash Memory
« Reply #12 on: February 10, 2010, 09:36:52 am »
Status report: after some problems installing a cross compiler to build a new uboot bootloader, I did some compiling tests. But at this time my selfmade bootloader doesn't work.
After pressing the power button on the simpad, the background-light of the display shortly lights up, but there is no output on the serial console.

I don't give up!  
« Last Edit: February 10, 2010, 09:37:19 am by burn79 »

mr_nice

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Upgrade Flash Memory
« Reply #13 on: February 10, 2010, 08:11:54 pm »
hi,

In theory you should only need to replace [1] those lines (simpad.h).

Code: [Select]
#define PHYS_FLASH_SIZE         0x02000000      /* 32 MB */
#define PHYS_FLASH_BANK_SIZE    0x01000000      /* 16 MB Banks */
#define PHYS_FLASH_SECT_SIZE    0x00020000      /* 128 KB sectors */

here [2] is a short description about how I build the loader a year ago

happy hacking
nice

1 http://git.linuxtogo.org/?p=mr_nice/u-boot...db2801abc8#l148

2 http://begu.org/?p=36

jochen

  • Newbie
  • *
  • Posts: 6
    • View Profile
Upgrade Flash Memory
« Reply #14 on: April 02, 2010, 02:29:59 pm »
Quote from: mr_nice
hi,

In theory you should only need to replace [1] those lines (simpad.h).

Code: [Select]
#define PHYS_FLASH_SIZE         0x02000000      /* 32 MB */
#define PHYS_FLASH_BANK_SIZE    0x01000000      /* 16 MB Banks */
#define PHYS_FLASH_SECT_SIZE    0x00020000      /* 128 KB sectors */

here [2] is a short description about how I build the loader a year ago

happy hacking
nice

1 http://git.linuxtogo.org/?p=mr_nice/u-boot...db2801abc8#l148

2 http://begu.org/?p=36

I updated the U-Boot loader. This should autodetect FLASH and RAM size. Current GIT is on:

http://git.bocc.de/cgi-bin/gitweb.cgi?p=u-...fs/heads/simpad

A precompiled binary is at http://www.bocc.de/u-boot.bin

Thanks,
Jochen
« Last Edit: April 02, 2010, 02:38:55 pm by jochen »