2011-07-29 02:19 PM
First I would like to say that I'm very impressed with what ST Micro is doing with the STM32 cortex-m3 Microcontroller products. From the introduction of the low cost ST-LINK programming and debugging tool to availability of free third party IDE's, the availiability of Firmware and DSP Libraries and decent reference manuals and most important of all the ultra low cost Discovery boards . These things have made the STM32 platform very accessible.
One thing that ST could do to make the STM32 even more accessible to aspiring embedded systems programmers and experienced firmware developers is to publish app-notes on how the peripheral library maps to the actual Peripheral hardware with possibly mini tutorials on how to setup each peripheral using the library's API (similar to those published by Energy Micro for its EFM32 product line.). Yes I realize that many examples do exist but they are not well documented. Besides, going through a bunch of examples is not enough on its own, as it does not further the understanding of how the code Library maps to the hardware. Nor does it explicitly outline how to setup a particular peripheral to perform a particular task.
This would go a long way to curb the learning curve associated with learning the STM32 microcontroller family and ultimately make the STM32 platform very attractive and enjoyable for beginners as well as allow experienced embedded programmers to reduce their time to market.
2011-07-29 05:33 PM
Hi
Have a look on our pages dedicated for first discovery :http://www.st.com/internet/evalboard/product/2508jsp
, then ''Design support'' AN3268 :http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00284pdf
Do you think is not enough, and we absolutely need an example or an appli Note by Peripehral ? It is simple with our products , no .... ? Cheers, STOne-2011-07-30 02:03 AM
I agree with halherta in some way.
there's a lot of good examples. one thing i found annoying was the usage and linking to the stm32_eval in many of the examples. But there is some examples that i miss. as an example, the usage of the pwm, there is many examples when you configure the pwm, but none that shows you how to update it properly. It took me a very long time before figuring this out. so i to like the idea of more examples, by looking at the questions in the forum there should be a hint of what kind of examples that are missing. Otherwise i really love the STM32 capability's and i am only starting to scratch the surface of it´s wonders, no joke. But it has been a bumpy road to obtaining the right knowledge and understanding on how the STM32 works. Ireally hope
that this forum
gets
a good
turn for the better
,
more users and
more people who
give
feedback
.
as it is now
, it's
a handful
that provide
feedback
as it seems.
I check the forum
every day
,
however
, my
knowledge
is usually not
sufficient to
provide answers
.
An active forum
is very
important because it will
attract
many
new users of
STM32
when you see
that there
is help available, and you know you need it as a beginner/starter on this platform
.
as
a
happy amateur
like me
:
)
i can add that i have been a 8bit user for 10 years, so i´m not a total beginner.2011-07-30 07:13 AM
But there is some examples that i miss.
as an example, the usage of the pwm, there is many examples when you configure the pwm, but none that shows you how to update it properly.
To expand on this sentiment a little. The examples are insufficiently thorough, they cherry pick one facet of the peripheral and try to demonstrate just that aspect. In the real world there is complex linkage, or configuration of the peripheral. The selection of examples needs to be a lot deeper, the simple ones need to remain to get confidence, the complex ones need to be added so some of the more complex modes can be investigated. This is also not a job for an intern. As Andrew as previously noted the examples need to be programmed with a high level of refinement, and as I have noted they need to be correct, otherwise you'll just have people cut-n-paste bad code, or excerpt the wrong pieces, into everything, this occurred with Microsoft's Device Driver Kit (DDK) and resulted in a contagion of broken drivers.
2011-07-30 10:34 AM
STOne-32
I think the AN3268 appnote is a great way to start!The STM32 microcontroller is very powerful and flexible, but this obviously means that it will require a steeper learning curve and more time to learn. To mitigate this,
I would still like to see a more comprehensive version of the AN3268 appnote for all peripherals and possibly for multiple configurations.
Another way to go would be to update the peripheral library's documentation to include sections on how to use the API to configure the peripherals as opposed to just listing the various functions and structures in the API with references to some examples in a .chm file . This would eliminate some of the guesswork that might happen when using the API library, especially when trying to use the library for a specific initialization of a particular peripheral.
A third idea would be to have one of the leads on the STM32 design team write a book about the STM32 microcontroller and how to use it in conjunction with the API to build a few detailed and well-documented projects. I would pay serious money for such a book!.
These are just my ideas that I'm throwing out there. Thank you very much for listening, and for referring me to the appnote!. I will be dissecting it for the next few hours.
2011-07-30 02:22 PM
Dear all,
Thank you for your comments. I agree with you that Timers and PWM on our STM32need to have a dedicated app note due to theverstile modes and combinationsnot so easy for beginers and sometimes even for experienced...it is in our wish list and in pipe already, but needs to be pushed out In same context, we have one app note regarding ADC modes :http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00258pdf
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an3zip
That complements our Reference manual and Firmware Library examples. The timers one will be in the same spirit. We already have some app notes about : DAC, I2S, DMA and External Memory I/F (FSMC) , Let me know if you would like other topics to be addresed ? Nice weekend to all STOne-2011-07-30 02:51 PM
There's no magic Vulcan Mind Meld to impart knowledge instantaneously. You have to read and digest the technical reference manuals, some people are better at doing this than others. ST does provide some fantastic documentation, it's not perfect, but but some of us here have worked with hardware for decades with far-far less. In an ideal world there would be more description of some of the internals, but realistically such information is clearly proprietary and unlikely to be shared without strong NDA's.
Having done some IC design, I can assure you that lead engineers aren't going to be falling over themselves to write tomes of technical documentation, especially at the beginner level. Writing books isn't hugely profitable for authors. If you want others to digest technical documentation, and pay for it, they are called consultants and contractors. Want a book that covers the Cortex-M3, with quite a lot of depth/breadth try the one written by Joseph Yiu, I haven't picked up the 2nd Edition, but the first was quite effective to transition between ARM7 and 9 architecture. Highly Recommend. Joseph also frequents the board here.2011-07-30 04:59 PM
Clive1,
There's no magic Vulcan Mind Meld to impart knowledge instantaneously.You have to read and digest the technical reference manuals, some people are better at doing this than others.
Agreed, I already have a printed copy of the STM32F100XX ref manual and have been studying the sections on peripherals of interest. I do this for every microcontroller that I decide I want to learn. I also own a couple of VL-Discovery boards. I have no problems understanding the reference manual. But feel more can be done to connect or ''map'' the hardware described in the reference manual to the Peripheral Library API.
Having done some IC design, I can assure you that lead engineers aren't going to be falling over themselves to write tomes of technical documentation, especially at the beginner level. Writing books isn't hugely profitable for authors.
Writing books isn't hugely profitable no, but it does provide an quick and easy way for developers to hit the ground running without having to read hundreds of pages of reference manuals and API references. This can be a marketing strategy that ST Micro can use to get more people started with their micro, especially in the hobby market which has been getting quite big in the recent 5-10 years. Besides, books if written by good authors,are not as dry as reference manuals and reading them is much more enjoyable. The key here is to be ''customer-oriented''.
If you want others to digest technical documentation, and pay for it, they are called
consultants and contractors.
The days when consultants can make hundreds of dollars an hour imparting advice are numbered. With the fierce competition
in the semiconductor industry, customers expect that their silicon providers provide not only cost effective parts with lots of functionality, but also ensure that the silicon is documented well enough that
consultants and contractors
are not needed. Reducing time to market and cost are the names of the game. Instead of having to pay a consultant to learn how to use a silicon part, chances are one will just choose another silicon provider offering similar products at the same cost but with better documentation and no need for consultants. This is especially true for small businesses and start-ups.
Want a book that covers the Cortex-M3, with quite a lot of depth/breadth try the one written by Joseph Yiu, I haven't picked up the 2nd Edition, but the first was quite effective to transition between ARM7 and 9 architecture. Highly Recommend. Joseph also frequents the board here.
I already have Mr Yiu's book and have read the first 6 Chapters. It is a great book that covers the Cortex-M3 architecture. But not the specifics of the STM32 peripherals and use of the STM32 peripheral library.
2011-07-30 05:09 PM
STOne-32,
Thank you for taking my comments into consideration. I will be looking at the appnotes that you listed in more detail and look forwards to reading the ones that will be published in the future.
Enjoy the rest of the weekend!
2011-07-31 06:29 AM
I can't say I've run into a UART/USART or external memory interface, that are profoundly different to each other in some material way in quite some time. Timer units can be a bit of a bugger, and why we're stuck with 16-bit ones and binary prescalers confuses me, beyond the obvious silicon size.
ST has FAE's that can work on specific problems/examples, availability is a function of the project/customer viability, but none of the vendors are going to staff projects. At some point we have to develop code, and the designers are already working on the next silicon designs. The costs of excessive documentation are borne by all purchasers of the chip to varying extents, the support available for those who buy 100's of chips will be different to those buying millions, and define where the effort goes. As to examples, and consultants. There are huge armies of coders out there who can't write code from scratch, they cut-n-paste code from examples, Google solutions, plagiarize open-source, and request help of forums to do their work. In Europe the costs involved in hiring and firing an inept coder are huge, in the US it's different, but either way consultant's aren't employees, and don't get benefits or options. I don't see demand for people who know what they're doing to drop, finding and hiring them, well that's another matter. Perceived costs and actual costs are not the same. Startups or small shops expect self sufficient, fast learners, and 80 hours a week, this tends to limit the hiring pool. Hobbyist may be a better choice than recent CS or EE grads.