Answer the question
In order to leave comments, you need to log in
Development of the concept of an application for a microcontroller
As the complexity of our projects grows (in general, embedded systems), the complexity of software for microcontrollers grows. It is difficult to plan work, it is difficult to predict complexity, it is more difficult to divide a task into subtasks. If earlier the program was written in a day or two, and I kept everything I needed in my head, now the amount of work requires weeks and months. So, for example, in the last project I used a full-fledged GUI on a TFT touch screen, a small web server, a telnet console, a CANopen stack, a file system on an external flash drive, etc. All this was written in plain C on a cortex-m3 microcontroller. At the concept development stage, I used anything: from ordinary algorithms to various kinds of diagrams. All this was of little help. I would be grateful if I could be told how to apply proven methods of developing a software concept. I tried to apply the UML, but fell into complete confusion. Class diagrams? But I have ordinary C, it's not even C ++. Precedent charts? Probably yes, but then what? How and in what order to apply these diagrams, how to plan the development process? And finally, what programs to use?
Answer the question
In order to leave comments, you need to log in
Sequence diagrams are very helpful: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D...
As for classes, it doesn't really matter which language is used. To describe how the application works, in your case it can be broken down into entities that store data and send messages to each other. The first (data) is the class diagrams, the second (sending messages) is the sequence of the diagram. We use RSA for this ( https://ru.wikipedia.org/wiki/Rational_Software_Ar... and it can even generate some code from diagrams (I haven’t tried it myself). But it’s too enterprise, I think there is something simpler.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question