I'm working on a bootloader for multiple MCQExx devices (namely, the 16, 32, 64, 96, and 128KB models). I was hoping to use the device ID register (SDID) to id the different parts. However, it appears that the same device ID is returned for several parts.
For example, the 64kb and 128kb both return 0x15. This isn't very helpful. Is there another way for code to ID the different parts?
Thanks.
If you attempt to read from an unimplemented memory address you will get an "Illegal Address Reset". From that you will be able to quickly determine which device you have.
Roger
That was my plan - well to test for end of RAM and then derive part ID from that. Odd that there isn't a real device ID for these parts...
Hello,
This method of differentiation may not be reliable. It is quite possible that some of the "smaller capacity" devices that are supplied use exactly the same die as the higher capacity device. I do not know the situation with the QE series. The extra flash and RAM may not be fully functional, and may not have been tested for the smaller capacity device.
Regards,
Mac
Then how do I know that I have a truly "not implemented" address (based on your original comment from this morning). Or are you suggesting a different method all together?
Hi,
Unfortunately the only way to know for sure is to read the part number on top of the device.
Unlike some other families I know of no reports of the practice of labelling larger devices as smaller ones, but this does not mean it is not happening.