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.
Where you starting a new project? If so, check the debugging section under "target options" and make sure you are not using "simulator" (default I believe on left side) and are using debugger with proper silabe DLL. Check one of your previous projects settings under debugging for comparison. Good Luck Andy
I am using the Silicon Laboratories C8051Fxxx selection on the right side, not the Simulator. I have Load Application at Startup and Go till Main() checked just like on the other projects. I can verify the program is being downloaded to flash as well, I just can't display the darned peripherals. As far as the .dll, I know we have the latest version of the Keil IDE, C51 v7 installed. I would assume the installation contains the most up to date DLL as well since we've not experienced this problem with far newer cores. Would anyone happen to have a F312 processor they could check and see if peripherals are indeed supported on? I know this CPU doesn't use PAGING like the other ones we use do, so perhaps that has something to do with it. Thanks again for the help.
OK, sounds like you have the setup right. No experience with the 312 series myself. Andy
I know this CPU doesn't use PAGING like the other ones we use do, so perhaps that has something to do with it. No, but the f3xx is not a derivative, it is a deviate. Erik
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")