2018-06-08 03:34 AM
Hi,
sorry for this beginner question: I am new to developping with the STM32 platform.
I just acquired an STM32F103 evaluation board and the Atollic TrueStudio software.
This works perfectly, I could compile and execute the standard 'blinking LED' project,
so basically I have no problem with the chain of tools itself.
I see that the provided code uses some system calls such as
STM_EVAL_LEDInit()
STM_EVAL_PBInit()
STM_EVAL_LEDToggle()
RCC_GetClocksFreq()
etc
On the ST website, they apparently direct you toward 'Mbed OS' which is documented
but it seems to be different system calls than the ones used by Atollic TrueStudio, and
the code produced seems to be way more heavy (the blinking LED example compiled with
Mbed CLI is about 50k, where the one compiled with TrueStudio is about 2.5K !).
I tryed to find a reference manual for those calls provided in 'TrueStudio', but so far I have
been unlucky. I tryed to type searches such as 'reference manual STM32F103' on the ST website,
forum and google, or even some of the system calls like 'STM_EVAL_LEDInit' but no luck so far.
Could someone be kind enough to point me in the right direction ?
Thanks !
2018-06-08 04:32 AM
If this is using the SPL (Standard Peripheral Library) there should be a Windows Help file in the root directory, I've seen PDF versions of this too.
Like
STM32F1xx_StdPeriph_Lib_V3.5.0\stm32f1xx_stdperiph_lib_um.chm
But honestly, in 2018 don't start an IoT design with an F1 part, these are a decade old, and there are new parts that work a lot better with a lot of the limitations/inflexibilites designed out.
HAL is the current library that ST actively supports, should be PDF describing that available in/near the CubeMX/HAL downloads
2018-06-08 04:51 AM
This book is exactly about STM32F103 (particularly useful for 2USD 'blue pill' board
2018-06-08 06:37 AM
https://www.cs.indiana.edu/~geobrown/book.pdf
http://www.st.com/en/embedded-software/stsw-stm32054.html
This is for the F2, but might be instructive
2018-06-08 06:53 AM
And a piece from the introductory chapter:
2018-06-08 04:25 PM
Hi,
first of all, thank you for your answer.
'Clive'... nice name by the way... it reminds me of Sir Clive Sinclair.
Most certainly a coincidence,
but a nice one.
I am not planning to use the 'STM32F103 Nucleo 64' board in a project: it
was given to me
so that I could familiarise myself with STM coding and then write code for
an
electronic music instrument using that family of microcontroller.
HAL/CubeMX seems indeed to be the most sensible option, thanks for pointing
me in that
direction. I definitely will try it. I have found the library and some note
explaining how to compile
example code... let's hope I also find the reference manual for it )
Though I have no experience in embedded software, I am what I could
describe as a seasoned
software engineer (I started to program somewhere in the 1980's, and have
tryed many languages
and environments, including ARM assembly at its beginning in the early
1990's, when it was the CPU
of a computer named Archimedes).
I must say that the STM world seems... rather cryptic to me: the concepts
are not exagerately
complicated, but the use of a seemingly random naming convention makes life
of newbies like me
a bit nightmarish.
The file about the 'STM32F1 HAL' is to be found on a page about 'CubeMX'
and is titled... 'UM1850'
and stored as... 'DM00154093.pdf' not to mension that its existence is
never revealed on the page
describing the STM boards for which STMCube/HAL was apparently created
Honnestly, I believe having a link to a document named 'STMCube HAL
reference manual for STM32F1xx'
or something similar on the page(s) of the STM32F1xx boards and containing
the various system calls with
some C/C++ sample code, etc... would probably help sell more of those
boards.
Anyhow, thank you very much for your help.
On Fri, Jun 8, 2018 at 1:33 PM, Clive One <st-microelectronics@jiveon.com>
2018-06-08 04:33 PM
Hi,
and first of all thanks for having taken the time to answer my question.
The libopencm3 which is cited in the introductory chapter seems quite an
interesting ressource, and it seems
there is a reference manual for it. Fantastic !
I certainly will try to investigate in that direction.
Thank you very much !
On Fri, Jun 8, 2018 at 1:53 PM, Bogdan Golab <st-microelectronics@jiveon.com
2018-06-09 09:42 PM
>>Though I have no experience in embedded software, I am what I could describe as a seasoned software engineer (I started to program somewhere in the 1980's, and have tryed many languages and environments, including ARM assembly at its beginning in the early 1990's, when it was the CPU of a computer named Archimedes).
My younger brother had an Atari ST and Acorn Archimedes, probably 1987-88 time frame. Started with 6502, Z80/8080, 8086, 68K and ARM assembler here. Still got a bunch of books by Rodney Zaks, Lance Leventhal, and VLSI ARM Data Manuals.