I am trying to develop a board using the Rabbit2K and an AMIC A29040BV flash. The flash device has NOTHING loaded on it and when I try to program a simple demo to check the board, all I get is a communication error.
I tried to replace the original flash on an RCM2200 board. I changed JP4 as it is a larger device. But I keep getting errors in communication.
Line 1 WARNING ERROR: No parameters found for flash id recieved from pilot bios
Line 33 WARNING BOARDTYPES.LIB No ID Block found on the target; defining _BOARD_TYPE to be BL1610.
The device is a virgin device with nothing loaded so it would not have any ID’s or parameters. How would these be loaded?
I doubt this will work, but have you tried selecting your processor in the targetless option, and then setting to disable processor verification?
I tried that. I still get the same message.
You will need to create an ID block on your virgin flash using the proper version of Write_IDblock for your Dynamic C. You will need to understand every entry in the ID block so that you can have it write the correct values for your processor, flash, SRAM, etc.
My experience has been with fixing IDBlocks on standard core modules due to them being over written by oversize programs or having replaced defective flash.
You may have to change Board_types.lib to default to a core module close to what you have designed.
I can not tell you how to exactly fix your problem; but, if you learn all you can about the ID block and how to define you components in it you will get the job done
I have been trying to debug the WriteIDBlock program as it is not programming my flash. It has a call to WriteFlash but I can not find this function. There is only a WriteFlash2 function listed in the libraries. Where do I find this function.
I have found the WriteFlash function. It is in the standard BIOS.
But here is the rub. I have found a datasheet which states that the WriteFlash function WILL NOT write in the SysIDBlock area of flash. And yet, the writeIDBlock program uses WriteFlash to try and write the SysIDBlock??
Which is correct? Can the SysIDBlock actually be written?