Monday, May 19, 2008

loadb worked!

UbootV2 update: Got broken loadb working today. Infact, loadb+go also works(I somehow dont trust it though..)! things remaining:
a) write a reverse of loadb.c which will work on windows and linux.. probably playaround with Dirk's code a bit.. This should give a possible flashing alternative (phase 1).
b) port/customize lm sensor i2c (David Brownell's new arch) to U-Boot V2. (I need this for twl4030/twl5030 access).
c) Hard part: port usbtty to u-boot v2! this is a messy affair.. :( Steve K promized me with some 2430 ref code.. for some unmentionable reasons, I cant look at musb documentation, so gotta trust the code..and make some sane judgements.. keeping my fingers crossed.
d) another hard part: NAND/NOR/OneNAND for SDP, NAND for zoom MDK and Beagle: Sigh... if only NAND was easy to port.. the code rt now in U-Boot V2 is MESSY!!! wishing MTD could be brought over straight..

(Windows COM1 using modified perlscript)

C:\PerlScripts>perl -p 1 -s z:\tmp\uboot.binBYTES=28692
file_bytes=14700000 prefix_bytes=020003f0 string
bytes=020003f014700000----Please reset the Board NOW (timeout=30 sec)
----Board Detected

Second file download completed
This exe file was created with the

(on Hyper Terminal)

X-load 343x>
X-load 343x> devinfo
X-load 343x> help
? - alias for help
devinfo - display info about devices and drivers
false - do nothing, unsuccessfully
go - start application at address 'addr'
help - print online help
loadb - load binary file over serial line (kermit mode)
true - do nothing, successfully
version - print monitor version
X-load 343x> loadb 0x80000000
## Ready for binary (kermit) download to 0x80000000 at 115200 bps...
## Total Size = 0x00007014 = 28692
## Start Addr = 0x80000000
X-load 343x> go 0x80000000
## Starting application at 0x80000000 ...
U-Boot 2.0.0-rc5-git (May 19 2008 - 16:46:29)
Board: Texas Instrument's SDP343x
Malloc Space: 0x87ffdc00 -> 0x87fffc00 (size 8 kB)
running /env/bin/init...not found
X-load 343x>

Weird thing 1: hyperterm screws the port up making my script not work - work around, run terraterm once and close, try perl script again.

Wierd thing 2: For some reason terraterm does not allow me to download over kermit.. some goofup that I currently dont have time to figure out.. I think I'd be better off with writing my own app.. something for folks who cannot afford kermit 95..

Patches are due to be send out on May 21st.. Wednesday..


Nishanth Menon said...

#warning ;)
Loadb has changed since the initial proof of concept. Thanks to Dirk pointing me to my own post ;)... U-boot v2 uses a devfs model, hence i had modified loadb to do "loadb -d /dev/ram0" to do kermit to sdram offset 0. just do a "help loadb" to get more details. Further, loadb has a couple of limitations.. in it's current implementation, it is kinda brain dead about devices such as NAND, OneNAND etc.. ideally it should download straight to it.. you just cant have a 128Meg SDRAM, 256Meg NAND and download in chunks to sdram, copy from there to NAND(as the current u-boot v1 does), that'd be plain dumb!.. so i have couple of other patches in the pipeline..which:
a) change the stupid '-d' to '-f'
b) do U-boot v2 file system chunked (4096 byte)buffering before writing to target device.
Hoping to clean it up.. sooon..

Ralph said...

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.


Nishanth Menon said...

Ralph, thanks.. been a few days since I blogged recently.. hoping to get more time..