Howdy, I was just working on a C8051F312 chip using the Keil UV3 C51 compiler and noticed the options for viewing the peripherals are missing when debugging through the JTAG connector. I've recently been working on a F120, F045, and F132 and all of those seemed to have the appropriate peripherals appearing when debugging using the JTAG. Unfortunately this design was started by someone else, and I can't be entirely sure they didn't "break" it somehow hehe. Does anyone know what would be causing this issue? Is there no support for the F31x line with regards to peripherals perhaps? Thank you for any help you can provide me with.
I would assume the installation contains the most up to date DLL Wrong! The SiLabs driver is furnished by SiLabs - not Keil. Look in C51/Bin for Si8051.dll and check the version. Go to the Silabs web site for the latest driver. Each time Keil or SiLabs makes a version change there seems to be a blivet for a short time. I can never be sure which overwrites which dll so on a Keil version change, I uninstall SiLabs and Delete the driver entry in tools.ini. I then re-install the latest SiLabs driver. Seems like a lot of work but so is debugging code when it's a driver problem. I can make enough of my own problems. Have not used the F312 but I use the F330 and the F005 and both have peripheral dialogs while running on the target eval boards.
Juason G: "I would assume the installation contains the most up to date DLL" Al Bradford: "Wrong! The SiLabs driver is furnished by SiLabs - not Keil." Al is correct - these "driver" DLLs are 3rd-party, so you always need to check at the source (SiLabs, in this case). "I can never be sure which overwrites which dll so on a Keil version change" It was the same with Triscend in the early days! My solution was to rename the DLL file so that the version was explicitly obvious from the filename; eg, Si8051-001.dll - 1st version Si8051-002.dll - 2nd version etc and then add (not replace) entries in the Keil TOOLS.INI; eg,
TDRV0=BINMON51.DLL ("Keil Monitor-51 Driver") TDRV1=BINISD51.DLL ("Keil ISD51 In-System Debugger") TDRV2=Si8051-001.dll ("SiLabs v001") TDRV3=Si8051-002.dll ("SiLabs v002")