Note that the loader limits application sizes to 32k - it can be built without limits using the µTasker project. This can be loaded using the chip's inbuild UART loader or via the SWD pins. To disable the watchdog reset the board with pin 20 connected to GND. To force the loader, reset the board with the BOOT 1 switch in its '1' position. When operating, the green LED blinks at 5Hz. uTaskerSerialLoader_BluePill_USB-MSD.bin USB-MSD loader which accepts binary files allowing applications to be loaded at link address 0x08003080 (using USB-MSD when the board appears as upload hard disk with the name "BLUE_PILL").These were built using the µTasker applications (serial loader and V1.4 application)Īnd can be simply generated using the supported compilers/IDEs, built using different configuration options or modified to suit specific requirements or hardware derived from this board: Here are some binary files that can be loaded to the board. The compiler needs to be set to build for Cortex M3 (and not Cortex M0, M4 or M7) and the linker script STM32F103_64_20.ld should be selected Īrduino users can use their projects together with the µTasker serial loader by ensuring that their application is linked to the correct start location (typically 0x08003080) and respects a few details as discussed in the appendix of the µTasker serial user's guide : "µTasker – Serial Loader User’s Guide" ![]() To configure the µTasker project for this board simply enable the define ARDUINO_BLUE_PILL in the project's config.h file. There is a 8MHz crystal on the board for clocking the part.Īlthough the STM32F103C8 is specified as having 64kB Flash it is a well known fact that almost all parts on Blue Pill boards physically have 128k Flash!įull details and documentation for this board can be obtained from its Wiki: Arduino Blue Pill This STM32F103 device has 64k Flash* and 20k SRAM and is in a 48 pin LQFP package, whereby the STM32F103 is also available in various packages from VFQFPN36 up to BGA100 and as 128kB flash part. Everything that comes into device over USB CDC (from PC) is echoed back to PC.This popular, low cost Arduino board (below $2.00) is based on the STM32F103C8 which is a 72MHz device from the STM32 medium-performance line with Cortex-M3 core and FS-USB device. To test our USB communication, we will do a simple echo device. If we build&upload the code, Device Manager shows “USB Serial Device (COMx)” under “Ports (COM & LPT)”. usbd_cdc.h contains CDC packet/endpoint sizes Note: Endpoint naming is host-based meaning, on our STM32, IN endpoint actually means data direction from uC to PC (PC IN endpoint). Endpoints could be seen as buffers inside devices, that have a specific purpose. c file, generated CDC contains 2 data endpoints (IN and OUT) and 1 control endpoint. You don’t really need to change anything for now, but there are many descriptor fields that can be modified.Īs it is stated at the top of the. This is set with CubeMX so don’t change this defines. USB configuration defines in usbd_conf.h.More about file hierarchy can be found in STM32Cube USB device library user manual.įiles to modify CDC to our custom needs are: usbd_cdc_if.c (provides application read/write functions).usbd_desc.c (provides USB device descriptors). ![]() ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |