We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
being new to ARM I succesfully builded and downloaded the Blinky project into the STM32F103ZE uC on the MCBSTM32E board. It did run, but somehow it does not anymore. The IDE says "Application running" but it does not. Pressing the Reset switch has no effect. Disconnecting/reconnecting the USB ULINK-ME interface makes the application run again.
Where do I go wrong?
Thanks
Henk
I downloaded some USB analyser telling me that my USB ports are 100mA types. I dont much about USB ports but probably that's a reason?
The development board is powered through the ULINK adapter. I also tested using the normal USB cable directly connected to the mainboard but then still the same behaviour occurred. (pressing the Reset key then program stops but does not restart)
Another thing is when I select "erase all" in stead of "erase sector" with the flash options then it seems to work fine. (For at least up to now).
Regards,
Most non-hubbed connectors _allows_ 500mA+ of current draw without negotiation. But having a USB host that allows it isn't the same as having a USB device that follows the standard.
Without negotiation, a device are not allowed to try to draw these 500mA. An unpowered USB hub may have multiple devices connected, but all these devices have to share the 500mA the hub may have negotiated with the PC.
The unpowered hub may then - by negotiation - agree to supply 100mA each on two connectors and 200mA on one connector and maybe consume 100mA for internal use. Or you may connect external power to the hub in which case the same hub may suddenly allow negotiation for 500mA from many connectors´concurrently.
Small devices - MP3 players etc - normally don't have any problem with just receiving 100mA. They may consume 20mA and have ample extra power for charging the battery. For larger products, you get into troubles since 100mA may not be enough to boot the device. The traditinal way have either been to ignore the USB standard (trying to take 500mA without negotiation) or have the battery add the missing current until the device has booted and been able to negotiate for more current. There are lots of charger chips that can take 100mA from the USB connector and give n mA to the device and 100-n mA to the battery and where the battery either gets charged or discharged depending on if n is less than or more than 100mA.
Anyway, most smaller ARM chips can do very well with less than 100mA.