ATNEL tech-forum
https://forum.atnel.pl/

MK MENU 3.x na STM32
https://forum.atnel.pl/topic22389.html
Strona 1 z 1

Autor:  kisiel014 [ 5 lip 2019, o 17:37 ]
Tytuł:  MK MENU 3.x na STM32

Obrazek
Witam wszystkich. Nie wiem czy komuś udało się zaimplementować mk_menu na stm32 ale mi się udało kilka drobnych zmian i poszło i działa bez problemu .
Użyłem popularnej płytki STM32F4 Discovery (STM32F407RGT6) encoder z przyciskiem z podciągniętymi pinami do zasilania i dwóch wyświetlaczy alfanumeryczny 4x20 po i2c, LCD TFT 320x240 z ili9341 na FSMC 16 Bit.
Pierwszą rzeczą musiałem zamienić wszystkie #include na te do stm32 , drugą rzeczą to ściągnąłem z neta plik pgmspace.h dla stm32 bo w stm`ach nie ma
niektórych funkcji np. pgm_read_word(), PSTR(), i tutaj musiałem w pliku mk_menu.c usunąć z kilku lini pgm_read_word() ponieważ wyskoczyły warningi
główie przy liniach gdzie jest (TNODE *).
Trzecią rzeczą musiałem dodać do mk_menu.c nagłówek funkcji extern inline uint8_t get_y_pos() bo mi linkier nie widział tej funkcji.
Wszystko napisane w Atolic True studio i STM32CubeMX z bibliotekami HAL.

ObrazekObrazekObrazekObrazek

Autor:  mirekk36 [ 5 lip 2019, o 18:54 ]
Tytuł:  Re: MK MENU 3.x na STM32

No i pięknie .... dzięki za szczegółowy opis problemów, postaram się to wszystko poprawić, żeby nie trzeba było ręcznie rzeźbić w kodzie dla STM ;)

Autor:  Marim [ 16 lip 2019, o 13:19 ]
Tytuł:  Re: MK MENU 3.x na STM32

O tak, ręczne grzebanie w kodzie dla STM jest oporne.

Autor:  kisiel014 [ 17 lip 2019, o 16:18 ]
Tytuł:  Re: MK MENU 3.x na STM32

To tylko drobne przeróbki, zajęło mi to 1 godz ;)

Autor:  mirekk36 [ 17 lip 2019, o 18:29 ]
Tytuł:  Re: MK MENU 3.x na STM32

no 1 godz - to dla mnie byłaby cała wieczność ;)

Możesz mi na maila biuro@atnel.pl napisać które miejsca i jak musiałeś przerobić - tylko kilka kluczowych momentów ;) że tak powiem - to będzie mi łatwiej później zabrać się za przeróbki - żeby zminimalizować twój czas do ZERA ;)

Autor:  michciobb [ 7 lut 2020, o 10:01 ]
Tytuł:  Re: MK MENU 3.x na STM32

Również odpaliłem biblioteki na STM32 Nucleo.
Z biblioteką pgmspace.h ściąganą z neta, u mnie był problem z linią:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Rozwiązanim było:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jedyne zmiany jakie musiałem zrobić to zakomentować kilka linii: #include <avr...., zamienić #include <avr/pgmspace.h> na #include "pgmspace.h", zakomentować gdzieś _delay(...) i zaktualizować ścieżki do własnych bibliotek.
Niepozorny program robi ogromną robotę, wielkie dzięki :D

P.S. Opcja AVR PROGMEM w MkMenuGenerator nic nie zmienia. Ale jak dla mnie opcja zbędna przy pracy na STM, tzn. można łatwo to obejść. Chyba dużo więcej pracy wymagałoby zaimplementowanie tego w generatorze.

Autor:  Maureli [ 18 maja 2020, o 11:53 ]
Tytuł:  Re: MK MENU 3.x na STM32

Cześć,

ja z kolei implementuje mk_menu do Cypress PSoC 5. Oczywiście udało mi się to zrobić, ale ręcznego usuwania pewnych zwrotów z kodu było dosyć dużo.

Obrazek

Konieczne do usunięcia są:

1. Biblioteki do AVR
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


2. Zwroty PROGMEM i EEMEM. Co ciekawe PROGMEM pojawia się w kodzie nawet jeżeli w MK_MENU_GENERATOR 3.0 odptaszkowane jest opcja AVR PROGMEM (w pliku mk_propertis.c)

3. Wszystkie odwołania do danych we flash za pomocą: pgm_read_byte, pgm_read_word itd.
Teoretycznie można by je podmienić dyrektywą preprocesora np:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ale przeszkadza znak ampersand w nawiasie przed zmienną. W PSoC creator odczyt danych z flash jest identyczny jak z pamięci RAM więc znak & nie powoduje błędów podczas kompilacji ale kod nie działa poprawnie.

Mariusz

Autor:  mirekk36 [ 18 maja 2020, o 12:23 ]
Tytuł:  Re: MK MENU 3.x na STM32

O! i dzięki takim konkretnym uwagom to będę mógł później popracować nad lepszym dopasowaniem kodów do ARM'ów

Autor:  fofex [ 18 maja 2020, o 13:13 ]
Tytuł:  Re: MK MENU 3.x na STM32

Maureli napisał(a):
ale przeszkadza znak ampersand w nawiasie przed zmienną


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Maureli [ 18 maja 2020, o 13:15 ]
Tytuł:  Re: MK MENU 3.x na STM32

he he dobre, na to nie wpadłem. Dzięki!

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/