Then click generate after selecting a save location. Then just use the Multi BIN button to select the BIN file from mbed and enter the flash start address. I believe if you have your own you can enter it here and it will be the ID that Windows sees when you run your USB enabled application. I entered the same USB Device IDs as is loaded when connected to the DfuSe app. It turns out the DfuSe app comes with the DFU File Manager which can load various file formats along with the device IDs and the starting memory address and then spit out a DFU file! Sweet! Tons of searching and trying various things – even a python script. Originally when I was figuring this all out, I spent a lot of time trying to get the. This is where I will save you lots of time. Here is the download for DfuSe Demo app: Not all is lost! There is a way to still get the code loaded and tell it where to flash. bin file with the start memory address of where to load your code in flash specific for your microcontroller plus other settings. The problem with this however, is that the STM32 DfuSe Demo app wants a DFU file which is basically a. bin for download to the mass storage device that is mounted when you plug in an mbed compatible device. So far, what I like is using an RC circuit on BOOT0 controlled by a GPIO. I am sure when I do, another blog post will be drafted. Here are some links I have found, of which I’ve yet to try. There are ways to get into bootloader mode from software without user intervention, which is ideal if you decide to sell your widget. The USB data lines don’t need any extra hardware such as pullups, at least on the L152 and F411 Nucleo boards but you can double check the datasheets for the others. Bootloader Modeįinally, you need to set BOOT0 pin high which will enable the bootloader on power up or reset. It’s the 3 headed cable beast from Sparkfun. Also, my computer is connected to both which provides a common ground. I didn’t because the red USB cable I am using has a common ground since it has a built in USB hub. Note: You may need to connect ground as well from the USB Tester to the Nucleo. Which is pin 6,7 from the top on the right most column of male headers. So far I have tested the L152 and F411 and both have been PA12, PA11 (D+, D-). BUY ONE NOW!! Just kidding! The pins for D+ and D- are not labeled on the pin out of the Nucleo board out but if you look up the datasheet you can find them and match the pin names with the Nucleo pin out as shown below. Of course you could always cut open a USB cable, but seriously, why create a mess? If you have one of my USB, Testers it makes it much easier, plus all of the other features it provides. To access these pins you can use a USB breakout or a USB Tester. (The discovery boards do.) Connecting USB Pins For some reason the Nucleo boards don’t have the native USB connector onboard, but the needed pins are available for easy access. In the case of STM32, it additionally supports CAN, I2C, and SPI bootloading. With some AVR chips you can use the Arduino bootloader but most chips come with a DFU bootloader that can support flashing over serial and USB. Therefore I prefer to use microcontrollers that support native USB programming, such as the popular ATMega32U4. Once they are working, I usually want to design a PCB for it. Most of my projects spend very little time on the development board. But mbed allows you to export your code from the online IDE to the project format for those IDE’s. The unfortunate thing due to the nature of mbed, you can only use the debugging features using a full desktop IDE such as Keil or some of the other free alternatives. One of the best features is real debugging via ST-Link/V2-1. Each flavor is based on different ARM Cortex architectures such as M0, M3, and M4. They are priced very well and come in different flavors based on your needs. In turn, you end up with multiple buses such as SPI, I2C, and UARTs for your consumption. The Nucleo boards maintain the Arduino footprint but also have headers for the extra pins which gives this board plenty of GPIO for your projects. What sets them apart is that they are 32bit and have, depending on the model, tons of memory and flash. This makes it easy like an Arduino to program and use. If you’re unfamiliar with them, they are fast, mbed and Arduino (headers) compatible. Over the last few months I have been playing with the Nucleo development boards from STMicroelectronics.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |