Are there any ST 32F417 / Cube IDE / STLINK / C developers on here?

Apr 22, 2021 7 Replies

I am working on a project and need a bit of help here and there.



I am working on it with someone who knows a lot more than I do but he is available only 1 day a week, so instead of posting questions on various forums (mostly never answered) I am considering looking for someone who can work on a retainer of X per year or something like that and would be able to provide support.



It ranges from CPU specific stuff like how to set up one of the DACs to generate a sinewave from precomputed values in RAM (yes lots of examples on the web; mostly not usable except for hints) to C questions. I have written a fair bit of C but use it as a "basic" language, avoiding pointers and using arrays instead :) etc. And right now I am trying to sort out STLINK V3 and why the GDB log level (shown in Console) has mysteriously changed from 31 to 1...


You can pm me if you like on mkATmkescdotcodotuk and we can talk about it.

MK

This is near second nature though the ST Cube hal libraries try to be all things for all men and so have a number of flaws.

Nothing wrong with arrays!

If you still want help please feel free to use the contact form on the website below.

Mike Perkins Video Solutions Ltd www.videosolutions.ltd.uk

Nothing wrong with pointers either.

ADC1->XXX, USART1->XXX and GPIOA->XXX are all pointers. How can you avoid pointers?

Not only are they pointers, but they are compile time constant value pointers so the compiler can convert the accesses to direct memory references.

I'm not saying you can't. The STM32Cube suite removes some of the need to understand pointers as everything is done through libraries. A good example is GPIO access: HAL_GPIO_WritePin(Port, Pin, value);

The HAL libraries are weak in some areas. By example it won't natively implement a fast SPI slave.

Mike Perkins Video Solutions Ltd www.videosolutions.ltd.uk

I let Cube do the original initialization from the graphical interface but after that, it's all plain old C. I prefer to understand the processor and maybe make the firmware run as fast as possible.

I'm not that great of a C programmer.

boB

Also, the ADC with DMA does a pretty good job of sequencing the outputs.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required