<div dir="auto">There some bugs and design flaws in the existing stm32f4 bsp discovered. I have fixed it locally as well as extended it a while (added pwm, uart, spi, can). But have no time to prepare it and make a pull request. I can share it with you if you want.<div dir="auto"><br><div dir="auto">One important thing is to not glue console and UART drivers together. I have separated it as console can work over USB, UART, Telnet and even SWO. </div><div dir="auto"><br></div><div dir="auto">I think it would also be great to reuse device support files (e.g. stm32f307x.h, etc.) provided by vendor and make a device selector option in build configuration (even if it will be only a single device). The original stm32f4 bsp was written and tested with stm32f407 but I use stm32f429.</div><div dir="auto"><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 12, 2022, 12:45 PM Y. HB <<a href="mailto:sprhawk@gmail.com">sprhawk@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks for your great information !<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 11, 2022 at 9:57 PM Karel Gardas <<a href="mailto:karel.gardas@centrum.cz" target="_blank" rel="noreferrer">karel.gardas@centrum.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Not sure about recent progress but IIRC Duc Doan (cced) is also using <br>
STM provided HAL for his work on GPIO driver for F4 BSP. Please see [1] <br>
and [2].<br>
<br>
If however you consider HAL to be too heavy weight solution, perhaps you <br>
may have a look into STM provided LL (low-layers drivers) API? This <br>
should be more light weight low level API but with less portability. <br>
Please see UM1786[3].<br>
<br>
Important question here is also a question of licensing. Last few <br>
releases of at least H7 HAL were done under Apache 2.0 license. F4 seems <br>
to be the same case and I would bet F3 would be same too. I mention that <br>
as RTEMS developers still need to kind of discuss Apache 2.0 licensed <br>
code in the project. Opinion were still not settled before summer <br>
holidays break but I do not know if there is any movement on this front.<br>
<br>
Thanks,<br>
Karel<br>
<br>
[1]: <a href="https://devel.rtems.org/wiki/GSoC/2022" rel="noreferrer noreferrer" target="_blank">https://devel.rtems.org/wiki/GSoC/2022</a><br>
[2]: <a href="https://medium.com/@dtbpkmte" rel="noreferrer noreferrer" target="_blank">https://medium.com/@dtbpkmte</a><br>
[3]: <br>
<a href="https://www.st.com/content/ccc/resource/technical/document/user_manual/a6/79/73/ae/6e/1c/44/14/DM00122016.pdf/files/DM00122016.pdf/jcr:content/translations/en.DM00122016.pdf" rel="noreferrer noreferrer" target="_blank">https://www.st.com/content/ccc/resource/technical/document/user_manual/a6/79/73/ae/6e/1c/44/14/DM00122016.pdf/files/DM00122016.pdf/jcr:content/translations/en.DM00122016.pdf</a><br>
<br>
<br>
On 9/10/22 18:20, Y. HB wrote:<br>
> I have seen in rtems 6.0, there are two stm32 families: stm32f4 and stm32h7<br>
> <br>
> The former one uses custom code to set up BSP, while the latter one uses <br>
> the ST provided HAL lib to set up BSP.<br>
> <br>
> Now I need to add a BSP for stm32f3, which is very different (reg <br>
> layout) from stm32f4.<br>
> <br>
> To add stm32f3 BSP as the stm32f4 approach is tedious and error prone, <br>
> but slim codebase,<br>
> the stm32h7 way has full capabilities provided via ST HAL, but may be <br>
> too bloat if many stm32 families being added into source tree.<br>
> <br>
> So what is your suggestions? Which is a preferable way ?<br>
> <br>
> Thanks<br>
> <br>
> <br>
> _______________________________________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org" target="_blank" rel="noreferrer">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
<br>
</blockquote></div>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank" rel="noreferrer">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></blockquote></div>