Author Topic: STM32 Software Versions  (Read 49566 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
STM32 Software Versions
« on: November 09, 2011, 11:31:02 PM »
Hi All

This thread contains all versions of the release code - the latest release is at the top and previous releases are maintained in descending order.
Please check the patch list after the release notes of each version to get latest information on workarounds or bug-fixes.

Release 1.4.3 - 24.05.2014 - download from attachment of http://www.utasker.com/forum/index.php?topic=1697.msg6689#msg6689
==============================================================================================
- CooCox CoIDE projects added
- IGMP v1 support on multiple networks and interfaces
- SNMPV1 and SNMPV2c with multiple manager support, MIB table according to rfc 1213 and user entry capability
- Memory debug interface improved and extended with storage display and modification capabilities
- LED simulation configuration has an additional control to define whether the LED is in the '0' or '1' state should the driving pin be configured as an input.
- Port details displayed when mouse hovers over connected inputs/switches on board
- Multi-colour LED colour mixture support in the simulator
- Standalone web server software upload support added to serial loader project
- Encrypted SD card loader support added
- Flexible serial loader (supporting mixtures of UART SREC, USB-MSD, SD-card and Web server)
- Multiple network IP/MACs displayed in simulator (test two IP addresses with "#defined IP_NETWORK_COUNT 2")


When using the USB-MSD loader in FAT12 mode (standard) the following #if def needs to be inverted (changed from #if !defined UTFAT16 to #if defined UTFAT16) so that read-back operates correctly:
- usb_loader.c line 1781 just after the line with if (iSoftwareState == SW_AVAILABLE) {


There is an error in the port input configuration macro _CONFIG_PORT_INPUT() which incorrectly sets the characteristics of the PORTx_15 pin
((characteristics << 23) & (((0x8000 & pins) << 15)| ((0x8000 & pins) << 16))));
To correct, change the 23 to 24:
((characteristics << 24) & (((0x8000 & pins) << 15)| ((0x8000 & pins) << 16))));





Release 1.4.2 - 09.03.2014 http://www.uTasker.com/software/V1.4/uTaskerV1.4.2_STM32.zip
======================================================================

- Access to SD card (utFAT) controllable individually for HTTP and FTP; root directories can be changed during operation.
- SD card visualisation in simulator
- Optional polling of SD card to detect removal during operation (by reading a sector), by polling card detect switch, or based on card detect switch interrupt (see http://www.utasker.com/forum/index.php?topic=1747.msg6270#msg6270).
- Advanced IPv6 support with link-local and global IPv6 addresses. TCP based services (such as HTTP and FTP) are operational on link-local IPv6 address and global IPv6 address as well as IPv4 (dual-stack).
- Global IPv6 address can be optionally tunnelled in 6in4 (tunnelling IP address is configurable) when native IPv6 is not possible.
- Configurable 6in4 relay agent to expose multiple IPv6 devices behind simple IPv4 routers.
- Start web page shows IPv4 or IPv6 source address depending on connection.
- New I2C simulation devices (PCA9539, PCF2129A)
- Ethernet bridging support
- Buzzer output simulation (eg. for use with keypad)
- Front-panel simulation support with connection of keys and LEDs to ports - including external I2C port expanders
- User button simulation in front-panel and configurable front-panel image
- x, y coordinates shown when mouse is on keypad/front-panel
- define HTTP_POST_DEFINES_PAGE allows user file to be served as specified by the file name in a POST, rather than special uFile name
- define HTTP_SET_USERFILE_START_PAGE allow a specific user file to act as HTTP default start side
- define HTTP_SERVE_ONLY_USER_FILES allows serving exclusively user files - if a defined user file is not found display 404 error rather than a uFileSystem equivalent
- TCP/IP stack adapted for multiple interface and multiple network support - see http://www.utasker.com/forum/index.php?topic=1748.0 for details about application compatibility.
- FTP client only commands ASCII or Binary modes when it is not known in which mode it is presently in and a change is needed.
- FTP client Listing and Getting requires both the server's success response and the data connection to be closed before terminating and informing of success.
- FTP client now supports operation with servers over IPv6.
- Reset TCP connections when SYN (without ACK) received on connected TCP port.
- Optional polling of SD card to detect removal during operation (by reading a sector), by polling card detect switch, or based on card detect switch interrupt (see http://www.utasker.com/forum/index.php?topic=1747.msg6270#msg6270).
- Basic RTC support added - driver includes in-built time/Gregorian calendar support according to: http://www.utasker.com/forum/index.php?topic=1656.0 [F2/F4 only]
- I2C channel 3 support added.
- USB FS OTG driver adds STM32F1xx connectivity devices.
- Support for Embest base board to F4 discovery.
- RMII and additional Ethernet port mapping added - including STM32F1xx RMII configuration.
- uTaskerV1.4 project uses a new include file for debug.c called debug_hal.h. This includes some hardware specific functions allowing easier management of processor and hardware target types
- TCP/IP stack adapted for multiple interface and multiple network support - see http://www.utasker.com/forum/index.php?topic=1748.0 for details about application compatibility.
- FTP client only commands ASCII or Binary modes when it is not known in which mode it is presently in and a change is needed.
- FTP client Listing and Getting requires both the server's success response and the data connection to be closed before terminating and informing of success.
- FTP client now supports operation with servers over IPv6.
- Reset TCP connections when SYN (without ACK) received on connected TCP port.
- DHCP_HOST_NAME option for DHCP
- Respect peer's MSS when sending HTTP frames
- TCP polling timer enabled only when required by a socket
- Optional high resolution TCP polling timer resolution (T_TCP_PERIOD)
- Don't reply to NetBios requests when DHCP is still resolving
- _EXTENDED_HTTP_MIME_CONTENT_SUPPORT activates HTTP content-type to be added to HTTP header
- Add IP multicast rx and tx
- PHY_POLL_LINK support for designs without PHY interrupt line
- MEMORY_DEBUGGER adds a memory debugger (memory display, memory modify and memory fill) to the command line interface
- utFAT2.0 Beta

- Magic Ethernet frame reception support added
"The define _MAGIC_RESET_FRAME enables magic frame checking support.
Initially no checking is done until it is enabled by calling fnEnableMagicFrames(1).
It can later be disabled if require by calling fnEnableMagicFrames(0).
When active, each received Ethernet frame is checked directly in the receive interrupt routine for Ethernet payloads of 93 bytes in length.
The definition of _MAGIC_RESET_FRAME determines the magic frame pattern that is expected (repeated 16 bit value) - for example
#define _MAGIC_RESET_FRAME        0x1234
A magic frame must then contain this value repeated 24 times in the first 60 bytes of the payload (following the two Ethernet II MAC addresses) in order to be recognised.
The 61st byte in the frame can then be used as code to trigger an action. The value 0x01 causes the board to reset and place a code in the boot loader mail box so that the boot loader can recognise that the board was reset via use of a magic frame. The boot loader will normally remain in the boot loader mode (possibly for a limited period of time) to allow software updates to be accepted.
The final 32 bytes of the frame are undefined and can have any pattern. The user can use these as optional information bytes if required (for example, there is adequate space to pass 2 IPv6 addresses for special configuration purposes, etc.)
The handling interface has to be supplied by the user (eg. in application.c) as follows:
extern void fnMagicFrame(unsigned char ucType, unsigned char usOptionalDate[32]) {}"
- Add ELZET80_DEVICE_DISCOVERY
- ELZET80 Network-Utility for discovery and commanded reset to boot loader mode

- uTaskerCombine has new optional srec output as well as srec/ihex offset parameter
- Managed read and managed write support added
- PARAMETER_NO_ALIGNMENT option to improve parameter block efficiency when byte writes are not needed (the application must write aligned blocks)
- SNMPV1, V2c Beta
- UART 9 bit mode added to STM32 hardware interface.
- CAN driver added (including Komodo support as show in http://www.youtube.com/watch?v=Ha8cv_XEvco)

Patches:

In fnGetFlashSectorSize() as used by F2/F4 parts, the following line should be modified to stop the address of the first 128k program block being incorrectly assigned to the 64k block
if (ptrSector >= (unsigned char *)(FLASH_START_ADDRESS + (NUMBER_OF_BOOT_SECTORS * FLASH_GRANULARITY_BOOT) + (NUMBER_OF_PARAMETER_SECTORS + FLASH_GRANULARITY_PARAMETER))) {
should be
if (ptrSector >= (unsigned char *)(FLASH_START_ADDRESS + (NUMBER_OF_BOOT_SECTORS * FLASH_GRANULARITY_BOOT) + (NUMBER_OF_PARAMETER_SECTORS * FLASH_GRANULARITY_PARAMETER))) { (note the * instead of + !!!))


In simSTM32.h there are some incorrect reserved locations in the struct stSTM32_ETH. The following can be used to correct this. It doesn't affect operation but not all Ethernet controller registers can be viewed correcty in the simulator.


typedef struct stSTM32_ETH
{
unsigned long ETH_MACCR;
unsigned long ETH_MACFF;
unsigned long ETH_MACHTHR;
unsigned long ETH_MACHTLR;
unsigned long ETH_MACMIIAR;
unsigned long ETH_MACMIIDR;
unsigned long ETH_MACFCR;
unsigned long ETH_MACVLANTR;
unsigned long ulRes1[2];
unsigned long ETH_MACRWUFFR;
unsigned long ETH_MACPMTCSR;
unsigned long ulRes2[2];
unsigned long ETH_MACSR;
unsigned long ETH_MACIMR;
unsigned long ETH_MACA0HR;
unsigned long ETH_MACA0LR;
unsigned long ETH_MACA1HR;
unsigned long ETH_MACA1LR;
unsigned long ETH_MACA2HR;
unsigned long ETH_MACA2LR;
unsigned long ETH_MACA3HR;
unsigned long ETH_MACA3LR;
unsigned long ulRes3[40];
unsigned long ETH_MMCCR;
unsigned long ETH_MMCRIR;
unsigned long ETH_MMCTIR;
unsigned long ETH_MMCRIMR;
unsigned long ETH_MMCTIMR;
unsigned long ulRes4[14];
unsigned long ETH_MMCTGFSCCR;
unsigned long ETH_MMCTGFMSCCR;
unsigned long ulRes5[5];
unsigned long ETH_MMCTGFCR;
unsigned long ulRes6[10];
unsigned long ETH_MMCRFCECR;
unsigned long ETH_MMCRFAECR;
unsigned long ulRes7[10];
unsigned long ETH_MMCRGUFCR;
unsigned long ulRes8[334];
unsigned long ETH_PTPTSCR;
unsigned long ETH_PTPSSIR;
unsigned long ETH_PTPTSHR;
unsigned long ETH_PTPTSLR;
unsigned long ETH_PTPTSHUR;
unsigned long ETH_PTPTSLUR;
unsigned long ETH_PTPTSAR;
unsigned long ETH_PTPTTHR;
unsigned long ETH_PTPTTLR;
unsigned long ulRes9[567];
unsigned long ETH_DMABMR;
unsigned long ETH_DMATPDR;
unsigned long ETH_DMARPDR;
unsigned long ETH_DMARDLAR;
unsigned long ETH_DMATDLAR;
unsigned long ETH_DMASR;
unsigned long ETH_DMAOMR;
unsigned long ETH_DMAIER;
unsigned long ETH_DMAMFBOCR;
unsigned long ulRes10[9];
unsigned long ETH_DMACHTDR;
unsigned long ETH_DMACHRDR;
unsigned long ETH_DMACHTBAR;
unsigned long ETH_DMACHRBAR;
} STM32_ETH;



Release 1.4.1 - 02.03.2012 http://www.uTasker.com/software/V1.4/uTaskerV1.4.1_STM32.zip
======================================================================

- Long File Name delete added using define UTFAT_LFN_DELETE
- USB OUT flow control improvements and USB-MSD and USB-CDC validated


Release 1.4.0 - 22.02.2012 http://www.uTasker.com/software/V1.4/uTaskerV1.4.0_STM32.zip
======================================================================
- TFT Display added to STM3240G - with touch screen controller and backlight intensity control (PWM)
- SD card added to STM32F4 with SDIO controller (utFAT for web server/FTP etc.)
- USB FS device added with CDC, MSD and HID (mouse) modes. Mouse uses Joy-Stick via I2C expander when used together with TFT with touch.
- Serial Boot loader added to project (supported loaders are UART, SD-card and USB-MSD as shown in the (Kinetis) video http://www.youtube.com/watch?v=H4TYM9jY2-g)



Beta 0.4 - 03.01.2012 http://www.uTasker.com/software/V1.4/uTaskerV1.4_STM32-4.zip
==================================================================
- FTP client according to the FTP client user's guide: http://www.utasker.com/docs/uTasker/uTaskerFTP_client.pdf (see video http://www.youtube.com/watch?v=sZOCFLDfGTk&feature=youtu.be )

Note that the STM32F2/4 devices should use linker scripts that position the application code to start at 0xc000 offset (after reset vector at 0) so that two boot blocks in flash are reserved for use by the uParameterSystem. The STM32F1 uses the standard linker script since it has small granularity flash and doesn't require this special measure.

The project is set up for the STM3240G EVAL board - configure to suit your board if necessary.

When debugging with the STM3240G  it is nevessary to disable the watchdog. This can be done by holding the KEY button pressed when the board is started.


Beta 0.3 - 18.12.2011  http://www.uTasker.com/software/V1.4/uTaskerV1.4_STM32-3.zip
===================================================================

- STM32F4xx Ethernet, EXTI and Flash driver added
- SPI Flash support added
- STM3240G/STM3241G operational
- Revised storage media management integrated as detailed in http://www.utasker.com/forum/index.php?topic=1687.0
- Counter of number of times the start web side has been served added to the demonstration
- Display connection IPv4 address on start page of web server
- Last reset cause added to administration web page
- Web pages and documents with descriptions for STM32F1xx and STM32F4xx (note that F4 Flash is different to the F1 Flash and the internal uFileSystem uses sub-file configuration due to large granularity)


Beta 0.2 - 14.11.2011 http://www.uTasker.com/software/V1.4/uTaskerV1.4_STM32-2a.zip
===================================================================

- UART/USART support extended to up to 6 interfaces
- port clear macro corrected for F2/F4 devices


Beta 0.1 - 09.11.2011 http://www.uTasker.com/software/V1.4/uTaskerV1.4_STM32-1.zip
===================================================================

After a long period of limited interest in the project the new STM32F4xx Cortex M4 parts with FPU have sporned a great increase in interest in Cortex M4 generally. This Beta now includes support for STM32F1xx/STM32F2xx and STM32F4xx devices, VisualStudio 6.0 and VisualStudio 2010 simulation projects, as well as GCC, Rowley Crossworks, ATOLLIC TrueStudio, IAR and Keil uVision cross-compiler projects. A developer's guide can be found at http://www.utasker.com/docs/STM32/uTaskerV1.4_STM32_Developers_Document.pdf.

The project is a forerunner to a release version to compliment the Kinetis Cortex M4 project which is also in the pre-release stadium. Missing are mainly tests of advanced peripherals and present absence of boot loader projects.

It is envisaged that the Kinetis and STM32 projects will complement each other due to the accelerated uptake of the new Cortex M4 devices and the compatibility/portability between the two families of devices offering added project security to new users who can very easily move between the two in case of this necessity.

Beta 0.0 - 20.09.2010 http://www.uTasker.com/software/V1.4/uTaskerV1.4_STM32.zip
=================================================================

The original Beta version for the STM32F107 Connectivity line. This contained only GCC and Rowley Crossworks targets as well as the simulator but has a useful list of features as shown in the video: http://www.youtube.com/watch?v=2Rbz1SOoJVI



*****************************************************************************************
Please note that the SW packages are protected by the corresponding project password.
To register and receive the password, simple fill out the form: http://www.utasker.com/Licensing/request.html
Don't be afraid - the project is free and supported for everyone; just for commerical use a small fee for premium
support is requested (donation after making their first million profit also welcomed..;-)
*****************************************************************************************

« Last Edit: August 21, 2014, 01:21:59 AM by mark »

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #1 on: May 24, 2014, 05:37:10 PM »
STM32 V1.4.3 Software: please download the attachment for the complete project including BM-loader, serial boot loader and main uTaskerV1.4 application for VisualStudio simulation, CooCox CoIDE, Rowely Crossworks, IAR, Keil uVision, Atollic and standalone GCC. It supports STM32F1xx and STM32F4xx boards
and gives you a wide range of powerful and proven features (OS, TCP/IP and USB stacks, utFAT and more) to get your project started and completed faster, with responsive support whenever needed.


The download and use of this package is completely free for non-commercial use and also commercial evaluation. Commercial users are welcomed to test what the project offers and make use of project support until it is decided whether it will be used for product development. After this time it would be appreciated if a license is purchased, which extends the support period and entitles royalty free use in sold products - see the licensing terms for full details. The fees are very fair since the package features are the result of several man years of intensive development efforts and refining, and enable professional support to be possible; either to help solve problems or aid in accelerating project progress when required or desired.

Note that by downloading this software you agree to the uTasker licensing terms as detailed at http://www.utasker.com/Licensing/License.html

Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #2 on: November 15, 2020, 12:26:19 PM »
Hello, there is no configuration for the STM32F103C8T6 processor (Blue Pill) in the archive. How do I add such a configuration?
Maybe there is another version of the project where Blue Pill is added?

Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #3 on: November 15, 2020, 12:50:49 PM »
And one more. How to use Atolic true studio to create a bootloader for STM32F103C8T6 similar to uTaskerSerialLoader_BluePill_USB-MSD, but without wachdog?
Which archive to choose for compilation?

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #4 on: November 15, 2020, 06:30:03 PM »
Hi

From 2016 the open source STM32 project can be found on Github at https://github.com/uTasker/uTasker-Kinetis
The archives here are pre-Bluepill and so don't contain a configuration for it.

There is an Atollic project in the open source version which can be used to build the Bluepill configuration. It is combined with Kinetis and so in fact the uTaskerV1.4 Kinetis_atollic project is used and then the STM32 build target can be selected.

To watchdog can be disabled in the serial loader project by changing

#define WATCHDOG_DISABLE()         (0 == (_READ_PORT_MASK(A, (USER_KEY_BUTTON)))) // disable watchdog by holding the user button down at reset

to
#define WATCHDOG_DISABLE()         (1)

in app_hw_stm32.h in the serial loader project.

Regards

Mark






Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #5 on: November 16, 2020, 09:42:33 PM »
Hi! I need a help...
A clone to GIT project to my local machine, and delete the original project files at the top of the project directory.
Then copy files from uTaskerV1.4\KinetisAtollic\Project_Settings  to top directory/
Then i import this project into Attolic true studio. Manager build configuration consist 3 variants of build: KinetisFLASH - uTaskerV1.4, KinetisSRAM - uTaskerV1.4 , Standalone FLASH build for STM32.
I choose Standalone FLASH build for STM32.
In Project -> properties->C Linker->general, in dialog "linker script" choosing "Applications\uTaskerV1.4\GNU_STM32\STM32F103_64_20.ld"
In Project -> properties->C/C++ General->Patch and symbols->Sumbols seted variables _GNU and _STM32
In file config.h from folder Application->uTaskerV1.4 i defined  #define ARDUINO_BLUE_PILL.
Build Finished succesfull.
After load HEX file into BluePill, Led PC13 blinking, but but on USB there is no connection.

Maybe somewhere else there are some settings that affect the USB connection?
« Last Edit: November 16, 2020, 09:46:57 PM by bob_STM32 »

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #6 on: November 17, 2020, 01:58:33 AM »
Hi

Make sure that #define BLINKY (in config.h) is not enabled since this makes the simplest configuration and just flashes the LED.
Then ensure that #define USB_INTERFACE  is enabled.

Regards

Mark


Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #7 on: November 17, 2020, 11:18:54 AM »
Thank you for your help.
The device now opens as a "DATADISK1" flash drive.
LED_PC13 blink 2 times per/sec.
The flash drive has 3 files ram.bin, software.bin, uTasker.html.
The flash drive is not writable. You cannot delete or replace files.
How to make a project work like this https://www.utasker.com/stm32/BluePill.html
That the flash drive was empty, and it was possible to write the firmware?
The config.h file defines:
#define _TICK_RESOLUTION TICK_UNIT_MS (50)
#define USE_CORTEX_CYCLE_COUNTER
#define UNUSED_STACK_PATTERN 0x55
#define UREVERSEMEMCPY

#define FLASH_FILE_SYSTEM
  #if defined USB_INTERFACE
  #define USB_DEVICE_SUPPORT
#define USE_USB_MSD
#define FAT_EMULATION

P.S Definitions for USB_MSD mode are contained in the files of the uTaskerSerialBoot folder, but these files are not compiled with the uTaskerV1.4 project
« Last Edit: November 17, 2020, 11:32:13 AM by bob_STM32 »

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #8 on: November 17, 2020, 03:16:52 PM »
Hi

Since you are building the uTaskerV1.4 application what you see is normal behavior. The USB MSD configuration you are using is for FAT emulation according to the document https://www.utasker.com/docs/uTasker/uTaskerEmulatedFAT.pdf

What you want to do is build the serial loader instead.

The Atollic project on Git-Hub didn't have such a target configuration but I just added it, therefore if you pull the project it will update the project settings in
\Applications\uTaskerV1.4\KinetisAtollic\Project_Settings
and then you can re-import the project and will find configurations for building the "Bare-minimum" and Serial loaders for the STM32.

Regards

Mark

Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #9 on: November 17, 2020, 07:48:50 PM »
Hi,Mark !
Now i chose configuration "stm32_SerialLoader" , linkerscript "uTaskerV1_4\Applications\uTaskerV1.4\GNU_STM32\STM32F103_64_20.ld".
After build and download firmvare to BluePill, system find "UPLOAD_DISK" drive.
But after trying to write the "firmware.bin" file to it, a message appears that the recording is blocked and the disk seems to reboot, and the file with the firmware disappears.

As I understand it, the Loader.h file has a name, a magic number and a secret key.
     #define NEW_SOFTWARE_FILE "software.bin"
     #define VALID_VERSION_MAGIC_NUMBER 0x651c
     #define _SECRET_KEY {0x9c, 0x66, 0x9a, 0x00, 0x8f, 0x71}
And I need to convert the firmware with the uTaskerConvert utility.
How exactly to do it?
« Last Edit: November 18, 2020, 12:17:08 PM by bob_STM32 »

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #10 on: November 19, 2020, 03:52:03 PM »
Hi

The file needs to have an authentication header as you have stated, which matches with the serial loader settings.
You can find reference commands in \Applications\uTaskerV1.4\GNU_STM32\Build_STM32.bat

Specifically the command to match with your settings would be

uTaskerConvert.exe uTaskerV1.4_BM.bin Upload.bin -0x651c -9c669a008f71

Regards

Mark

Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #11 on: November 19, 2020, 06:15:54 PM »
Hello!
As I understood correctly, to begin with I compile uTasker with a configuration "stm32_SerialLoader" with definition:
 #define "ARDUINO_BLUE_PILL".
 #define NEW_SOFTWARE_FILE "software.bin"
 #define VALID_VERSION_MAGIC_NUMBER 0x651c
 #define _SECRET_KEY {0x9c, 0x66, 0x9a, 0x00, 0x8f, 0x71}
I program the controller with this firmware.
The "UPLOAD_DISK" disk should appear on the system.
Then I create my program, which should be programmed through the bootloader with the start address 0x08004080.
Then the binary file of my program "soft.bin" and I transfer to the "Tools" folder.
In this folder I run the program "uTaskerConvert.exe" with the parameters:
uTaskerConvert.exe soft.bin software.bin -0x651c -9c669a008f71

A firmware called "software.bin" should appear in the "Tools" folder.
I copy this firmware to the "UPLOAD_DISK" disk.
After that, the program should run ...

I do everything as I wrote. After I transfer the firmware "software.bin" to the disk "UPLOAD_DISK", the disk does not reboot, control does not switch to my program. After rebooting, the "UPLOAD_DISK" disc opens blank.

Maybe I should add some more definitions for correct work?

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #12 on: November 20, 2020, 03:58:59 PM »
Hi

In fact you don't need the header for USB-MSD uploading - I made a mistake in thinking that it was SD card uploading (where the header is needed).

If a file is copied and ignored it means that it is not recognised as a valid file - that means that the first 8 bytes of content are invalid. The loader checks these for valid reset vector (the first long word much be a valid RAM address and the second a valid Flash address in the application area. Uploading a file with authentication header will cause it to be ignored.

Therefore make sure you application is linked correctly (to 0x08003080 is standard for the BluePill).

Regards

Mark

Offline bob_STM32

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: STM32 Software Versions
« Reply #13 on: November 21, 2020, 05:33:42 PM »
Thank you, everything worked.
Tell me, please.
The documentation describes the possibility to program the controller not with a BIN file, but with a HEX file.
How can this be implemented?
What HEX file format do you need? Intel HEX?

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3243
    • View Profile
    • uTasker
Re: STM32 Software Versions
« Reply #14 on: November 21, 2020, 06:11:41 PM »
Hi

There are these defines:

          //#define USB_MSD_REJECTS_BINARY_FILES                         // default is to accept binary files
            #define USB_MSD_ACCEPTS_SREC_FILES                           // optionally accept SREC content
          //#define USB_MSD_ACCEPTS_HEX_FILES                            // optionally accept Intel HEX content


If USB_MSD_ACCEPTS_SREC_FILES is enabled SRECs are accepted
If USB_MSD_ACCEPTS_HEX_FILES is enabled iHex are accepted
As long as USB_MSD_REJECTS_BINARY_FILES is NOT enabled ALSO binary files are accepted.

If USB_MSD_REJECTS_BINARY_FILES is enabled binary files are not accepted but the SREC and/or iHEX formats are.

Regards

Mark