re: boot sector diagnostics
2006-04-26 by Jayasooriah
Hello, A read-only version of my boot sector diagnostics for LPC family (Windows executable) is available at: http://www.cse.unsw.edu.au/~jayas/esdk/files/lpc/bsdc.exe If you wanted to find out information about the LPC variant as stored in the boot sector (that may be different to what is on labelled on the outside), connect your serial (or USB VCP) port, reset it with jumper so it enters ISP mode, and run this utility to obtain information as follows: >[temp] bsdc -l com8 >BSDC: Boot Sector Diagnostics Client >Copyright (c) 2004-2006 Jayasooriah >Computing and Systems Technology P/L >01.09 2006/04/26 f1e0-6626-f8b4-439d >connect .... done >loading 0360 done >reading e1a0 done >boot block = 7fffe000 >part ident = 0401ff13 >code label = 00000140 (1.64) >sram range = 40000000 .. 40003fff >prom range = 00000000 .. 0003dfff >flash type = (1, 200, 400) >sector map = (10, 14) > 0 00000000 .. 00001fff (8K) > 1 00002000 .. 00003fff (8K) > 2 00004000 .. 00005fff (8K) > 3 00006000 .. 00007fff (8K) > 4 00008000 .. 00009fff (8K) > 5 0000a000 .. 0000bfff (8K) > 6 0000c000 .. 0000dfff (8K) > 7 0000e000 .. 0000ffff (8K) > 8 00010000 .. 0001ffff (64K) > 9 00020000 .. 0002ffff (64K) > 10 00030000 .. 00031fff (8K) > 11 00032000 .. 00033fff (8K) > 12 00034000 .. 00035fff (8K) > 13 00036000 .. 00037fff (8K) > 14 00038000 .. 00039fff (8K) > 15 0003a000 .. 0003bfff (8K) > 16 0003c000 .. 0003dfff (8K) What it does is to use ISP "W" command to write a 360-byte program to on-chip ram at 0x40000200. This program determines the start address of the boot sector for the particular variant, and then dumps the contents in hex format. You can use this to make a copy of the boot sector Intel-hex format by invoking it with optional file name argument as: >[temp] bsdc -l com8 save.hex The file "save.hex" will contain full dump of the boot sector. The default baud rate is 9600 (so it works with any crystal you may have) but if you know your board will work at higher baud rates, then you specify this using the ":" delimiter for the serial port argument. For example, you could use "com8:230400 instead of "com8". If it does not do the right thing for your part, or if any of the information displayed appears incorrect, please email me about it. Regards, Jaya Send instant messages to your online friends http://au.messenger.yahoo.com