f2022-public-labs

Common Problems That You May Encounter in ECE36200

NOTE: This is a living document, and will be updated continuously. If you have a weird issue that you run into that’s not covered here, let us know and we can add the solution to it.

Eclipse Issues

This is the category that you’ll likely run into the most, so it’s here at the top.

Debug/Run: Connection reset error

This normally means that Eclipse is not able to reset your microcontroller. The most common problem for this is that the debugger is already running. Switch to the debug perspective (top right corner of your window, the bug icon), and press the red “terminate” button to close out the debugger.

Debug/Run: Device already in use

This normally also occurs when your debugger is running a different program. As above, terminate your debug session.

Debug/Run: Wrong or no device detected

This problem can have a couple of different culprits. Let’s list them out:

Debug/Run: OpenOCD not installed

If you get this error continually, this is a problem that you likely not be able to fix. Alert your GTA and lab cooridnator so they can get ECN to fix it.

Build: Missing libraries

If you get a continual build error along the lines of “eclipse is missing a critical library, so it cannot build,” this is a problem that you likely will not be able to fix. Alert your GTA and lab coordinator so they can get ECN to fix it.

C editor not recognizing Standard Peripheral Library identities

Sometimes if you open up a project, you’ll notice all of the normal CMSIS identities not being recognized. The first issue that this could be is that you didn’t create the project correctly, and no firmware was included. The easiest way to get around this is to just build a new project, and dump all of your files in there.

If you know for a fact that you included the firmware library, you may have accidentally deleted the #include <stm32f0xx.h> that comes standard with any new main.c. In this case, type this into the top of your main.c and it should recognize your identities again. If this doesn’t work, you do not have included firmawares.

Firefox Issues

Firefox claiming it can’t be open in two locations

This is typically generated by someone using Thinlinc and forgetting to close Firefox. It happens. The easiest way to do this is to open your terminal and type in firefox -p, which is the Firefox profile manager. Inside of it, go ahead and delete any profiles in there. Once this is done, close the profile window and restart Firefox.

If this doesn’t work, reopen the terminal and run the command ~ece270/bin/rmlocks. That should just destroy anything locking it up.

Parts Issues

Seven-Segment LEDs are Really Dim

This occassionally happens, and this usually just means one of two things:

OLED Doesn’t Seem to Power Up

This is a pretty common occurance. First, check and make sure that your power, ground, and serial connections are wired correctly. If you’re absolutely sure they are, you could have one that doesn’t like to be initialized twice. The driver chip in these sometimes doesn’t know what to do with a second initialization command. All you need to do to fix this is unplug your OLED from your breadboard, and then plug it back in.

Keypad Doesn’t Reliably Scan

This is uncommon. Normally, this is a wiring issue, and you just need to check your wiring. The easiest way to do this is to view the voltages on each pin with an oscilloscope. The first four pins should have square waves by default on them. The second four will have a square wave if a button on its associated column is pressed. If this still isn’t working, check to make sure the pins are soldered correctly on top. You should see eight discreet cones on the top of its PCB, one on each pin. If the pins are mixed together, ask one of your TAs to solder it correctly.

If all else fails, ask the lab staff for a replacement keypad.