Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

HY-Mini STM32 - ponowne wgranie programu demo

Pocieszny 02 Maj 2012 16:41 9110 35
  • #1 02 Maj 2012 16:41
    Pocieszny
    Poziom 38  

    Dostałem dzisiaj zamówioną płytkę startową dla STM-32 HY-Mini
    http://arduinosolutions.com/index.php?route=product/product&product_id=90

    Postanowiłem sprawdzić czy działa dobrze programowanie przez ISP. Programem Flash Loader zgrałem zawartość układu ("Upload from device") do pliku *.s19. Potem zrobiłem "Erase all" i z powrotem wrzuciłem do układu przez "Download to device".

    Niestety demo już nie działa, a układ uruchamia się z białym ekranem. Zapewne zrobiłem coś źle. Teraz moje pytanie brzmi - czy z tego backupu można jeszcze w jakiś sposób przywrócić to demo? Czy przez "Erase all" mogłem popsuć bootloader?

    0 29
  • Arrow Multisolution Day
  • Pomocny post
    #2 04 Maj 2012 09:50
    piotrva
    Moderator na urlopie...

    Nie wiem, sam nigdy się do złącza JTAG w tym zestawie nie podłączałem (swoją drogą jakiego programatora używasz?), ale zgrałem kiedyś to demo, może pomoże Ci ten wsad...

    0
  • #3 04 Maj 2012 15:40
    Pocieszny
    Poziom 38  

    Nie podłączałem przez JTAG (jeszcze nie zdążyłem zakupić). Programowałem przez ISP (na płytce jest konwerter PL2303). Próbowałem wgrywać programy, które dostałem do tego zestawu. Wszystko działa oprócz LCD. Na Twoim wsadzie migają na przemian 2 diody, ale ekran jest biały :(

    0
  • #4 04 Maj 2012 17:00
    piotrva
    Moderator na urlopie...

    To nie podłączałeś się przez ISP, ale przez bootloader i RS232.
    I tam wyświetla Ci się, że program wgrany poprawnie?
    Dałeś weryfikację poprawności wgrania wsadu?
    Mnie się kilka razy zawiesiło wgrywanie i potem weryfikacja była negatywna i właśnie się dziwnie zachowywało.
    Czy próbowałeś kilka razy resetować układ po wgraniu wsadu?

    0
  • Arrow Multisolution Day
  • #5 04 Maj 2012 17:40
    Pocieszny
    Poziom 38  

    Całkiem możliwe, że to nie ISP :)

    Wgrywa się poprawnie, weryfikacja też przebiega poprawnie. Próbowałem kilkakrotnie wgrywać inne programy i wszystkie działają. Nie działa tylko obsługa LCD. U Ciebie działa obsługa LCD z przykładów?

    0
  • #7 04 Maj 2012 18:41
    Pocieszny
    Poziom 38  

    Nowy, rozpakowany kilka dni temu. Wydaje mi się, że LCD padł po prostu sam z siebie. Zresztą to chińszczyzna, wszystko jest możliwe. Ale nie mam za bardzo możliwości, żeby go sprawdzić. Dopiero zamierzam się uczyć pisania na ARM, więc próbowałem wgrywać tylko dołączone przykłady. Ogólnie obchodziłem się z nim ostrożnie, więc wątpię, żebym go sam popsuł przez nieuwagę. Mam nadzieję, że sprzedawca przyjmie reklamację bez większych problemów.

    0
  • #8 09 Lip 2012 00:56
    finger6
    Poziom 11  

    zenobeusz, rozwiązałeś jakoś ten problem ? Bo u mnie podobna sytuacja, po wgraniu czegokolwiek mam biały ekran.

    0
  • #9 09 Lip 2012 01:00
    Pocieszny
    Poziom 38  

    Sprzedawca bez oporów wymienił mi zestaw. Jest lepiej, bo po wgraniu softu demo z backupu - działa. Ale przykładowy program dla LCD już niestety nie. Niestety nie mogę skompilować sobie tego całego demo, bo rozmiar przekracza dopuszczalny dla wersji trial kompilatora Keil. Może jest tu ktoś, kto ma pełną wersję i spróbuje skompilować ten kod?

    0
  • #11 15 Lip 2012 19:48
    Pocieszny
    Poziom 38  

    Czym to można wgrać? Flash loader (którego używam) przyjmuje tylko pliki *.bin *.hex i *.s19

    1
  • #12 17 Lis 2012 03:28
    obiwan_bartek
    Poziom 10  

    Też miałem taki problem, że usunąłem sobie demko beż wcześniejszego zrobienia backupu :P Dzięki piotrva za wsad. Jako w ogóle jest sens dawania kodu źródłowego dema i kompilatora który nie potrafi go skompilować (w wersji trial)? Mogliby to demko przerobić na coś darmowego (Eclipse) albo jakiś Attolic, co znacznie ułatwiłoby naukę początkującym (bo stary wyjadacz pewnie sobie to sam przeklepie).

    0
  • #13 17 Lis 2012 12:51
    Pocieszny
    Poziom 38  

    Właściwie to wystarczy to demo trochę okroić i się skompiluje, ale dla początkującego to może być nie lada problem, bo kod jest trochę duży.

    0
  • #14 17 Sie 2013 22:21
    minimiras
    Poziom 10  

    Już dawno nie było żadnego ruchu w temacie więc dodałem na wsadach hex pełnego demo. Działa wgrane przez port UART. Gdyby ktoś chciał się podzielić ze mną (jestem początkujący) to potrzebuję jakiegoś projektu ładującego zdjęcia z karty na ekran dla tego zestawu. Pracuję na programie Keil. Pozdrawiam :-)

    0
  • #15 17 Sie 2013 22:26
    Pocieszny
    Poziom 38  

    U mnie na płytce dołączonej do zestawu były takie przykładowe programy:

    • FATFS V0.08A-SD Card (obsługa systemu FAT na karcie pamięci - tym odczytujesz pliki),
    • GLCD (biblioteka do obsługi LCD - tym wyświetlasz odczytane dane).

    Możesz je połączyć razem i może coś z tego wyjdzie.

    Dodatkowo w programie demo jest wyświetlanie obrazków z użyciem systemu operacyjnego uCOS (z którego nie korzystałem, więc nie bardzo się w nim orientuję).

    Niestety dekodowania JPEG raczej tam nie było, więc na początek będziesz musiał zadowolić się bitmapami. Zresztą nawet nie wiem jak sprawnie ten procesor by sobie radził z JPEGami.

    0
  • #16 17 Sie 2013 23:47
    minimiras
    Poziom 10  

    Ja nie miałem płytki tylko linki do programów. Sprawdziłem wszystkie i nic takiego nie było.

    0
  • #17 17 Sie 2013 23:48
    Pocieszny
    Poziom 38  

    Ja w sumie też nie dostałem płytki, tylko jej spakowaną zawartość do pobrania z pewnej strony (niestety linka już nie mam). Mógłbym te programy tu umieścić, tylko czy nikt mnie nie będzie ścigał za prawa autorskie?

    0
  • #18 17 Sie 2013 23:52
    minimiras
    Poziom 10  

    Dzięki za chęci i pomoc. Spróbuję połączyć ten program do kart sd i bibliotekę do lcd o których pisałeś wcześniej.

    0
  • #19 18 Sie 2013 11:48
    Pocieszny
    Poziom 38  

    W załączniku jest to co dostałem do swojego zestawu. Kod sprawdzany na Keilu i na pewno działa (użyłem go w pracy mgr). Bibliotekę GLCD musiałem zmodyfikować, ponieważ wyświetlacz z mojego zestawu nie jest w niej uwzględniony. Ustawiłem "na sztywno" działający typ (jakiś kompatybilny) zamiast automatycznie wykrywać.

    0
  • #20 18 Lis 2013 00:57
    Aimeiz
    Poziom 15  

    Koledzy.
    Też jakiś czas temu, z mojej płytki (HY-MiniSTM32) zostało wycięte demo.
    Skorzystałem z archiwum Project.rar, który udostępnił kol finger6, przekonwertowałem plik Project.axf na Project.bin, używając narzędzia fromelf.exe --bin --output Project.bin i uzyskany plik załadowałem w procesor, używając programu CooCox Cortex flash programmer.
    Demo z graficznymi wodotryskami ruszyło, ale dopiero po odłączeniu interfejsu JTAG.
    Niestety nie mogłem użyć bootloadera i portu USB, ponieważ dirver konwertera USB - Uart nie chce uruchomić chipa Proific - "NIe można uruchomić tego prządzenia (Kod10). Może ktoś wie co z tym zrobić, żeby działało pod qin7 64 bit?
    Ten błąd spotykałem przy przejściówkach USB - RS z chipem Prolific.

    Próbowałem kompilować program demo, ale kod wynikowy wychodził bardzo krótki i tylko powodował miganie dwóch ledów na płytce i nic poza tym.

    Chętnie przestudiowałbym projekt źródłowy, który po skompilowaniu daje prawidłowo działające demo, tylko potrzebuję wskazówek.

    Może ktoś z kolegów, któremu udało się skompilować to demo, umieściłby archiwum z kompletnym projektem, żeby można było poćwiczyć, pomodyfikować.

    To są moje pierwsze kroki z ARM-ami i tą płytką i takie ćwiczenie dało by mi dużo.

    Kompiluję przy użyciu µVision

    IDE-Version:
    µVision V4.13a
    Copyright (C) 2010 KEIL(TM) Tools by ARM

    License Information:
    Marcin Aimeiz
    Aimeiz
    LIC=----

    Tool Version Numbers:
    Toolchain: RealView MDK-ARM Version: 4.13a
    Toolchain Path: BIN40\
    C Compiler: Armcc.Exe V4.1.0.561 [Evaluation]
    Assembler: Armasm.Exe V4.1.0.561 [Evaluation]
    Linker/Locator: ArmLink.Exe V4.1.0.561 [Evaluation]
    Librarian: ArmAr.Exe V4.1.0.561 [Evaluation]
    Hex Converter: FromElf.Exe V4.1.0.561 [Evaluation]
    CPU DLL: SARMCM3.DLL V4.13a
    Dialog DLL: DARMSTM.DLL V1.60
    Target DLL: BIN\UL2CM3.DLL V1.74
    Dialog DLL: TARMSTM.DLL V1.60

    0
  • #21 18 Lis 2013 10:46
    alagner
    Poziom 25  

    Ściągasz driver ze strony profilica i jechane, też mam 7x64 i działa pięknie.

    0
  • #22 18 Lis 2013 12:17
    Aimeiz
    Poziom 15  

    Która wersja drivera Ci działa? Jaka wersja Installera?
    Ja próbowałem np. ser2pl64.sys wersja pliku 3.4.62.293
    Ona powstaje z instalacji PL2303_Prolific_DriverInstaller_v130.exe
    To czy działa zależy ponoć od tego czy kostka Prolific USB-Uart jest oryginalna czy podróbka.
    Drivery pProlific dla Visty i Win7 sprawdzają jaka to kostka a w XP niema tego problemu.
    Ale jeśli któraś z wersji Ci działa z chińską płytką HY-MiniSTM32 to chętnie skorzystam.

    Dodano po 28 [minuty]:

    Ściągnąłem z Prolifica najnowszy driver 1.9.0.
    Instaluje ser2pl64.sys to plik z Prolifics ver 3.4.62.293 (czyli to samo co miałem przedtem), oraz serenum.sys (microsofta) ver 6.1.7600.16385 (win7_rtm.090713-1255)
    Niestety jest to samo - żółty wykrzyknik i Error 10.
    W Prolific piszą na ten temat:
    ********************************************
    Warning Notice:
    Please be warned that counterfeit (fake) PL-2303HX (Chip Rev A) USB to Serial Controller ICs using Prolific's trademark logo, brandname, and device drivers, were being sold in the China market. Counterfeit IC products show exactly the same outside chip markings but generally are of poor quality and causes Windows driver compatibility issues (Yellow Mark Error Code 10). We issue this warning to all our customers and consumers to avoid confusion and false purchase. Prolific prohibits the distribution of any PL-2303 drivers (including download links) without written permission from Prolific.
    **********************************************************
    Niestety - Chiński evaluiation board HY-Mini STM32 z procesorem ARM STM32F103VCT6 zapewne ma wlutowaną podróbkę chipu USB Prolifica :(.

    Może pójdzie pod win xp albo pod linuxem

    Jeśli chodzi o źródła tego demo to znalazłem, ale tak jak wcześniej pisano, dostarczonym na płytce kompilatorem nie da się tego skompilować - linker ma ograniczenie co do wielkości kodu wynikowego.

    Próbuję z CooCox CoIDE a jako Toolchain podpiąłem GCC ARM Latest version is 4.7-2013-q3-update

    Niestety nie można wprost otworzyć projektu uVision którą znalazłem na płytce. CoIDE oczekuje innej wersji projektu.
    Same schody :(.
    Ale przynajmniej udało się wgrać demo i nacieszyć wzrok działającą płytką :).

    0
  • #23 18 Lis 2013 13:20
    Pocieszny
    Poziom 38  

    Aimeiz napisał:
    NIe można uruchomić tego prządzenia (Kod10)
    alagner napisał:
    Ściągasz driver ze strony profilica

    No właśnie tutaj chyba jest problem. Kilka razy obiło mi się o uszy, że po rynku krążą podróbki PL2303, które nie chcą działać dobrze z oryginalnym sterownikiem i właśnie taki błąd się pokazuje. Też to przerabiałem, ale w końcu udało mi się znaleźć ten właściwy sterownik. Poszukam u siebie na dysku, jak znajdę to wrzucę tutaj.

    0
  • #24 18 Lis 2013 13:25
    slx
    Poziom 18  

    Co do PL2303: to są, jak to Prolific tłumaczy, wykradzione/podrobione układy. Układy te zazwyczaj działają dobrze od strony sprzętowej, problem jest ze sterownikami - w Prolificu zdenerwowali się i zaczęli je blokować(nie dziwię im się).
    Rozwiązaniem są starsze wersje sterowników. Hasło do wyszukiwarki prolific 332102 np tu http://www.ifamilysoftware.com/news37.html .Pod linuksem nie ma tego problemu.

    0
  • #25 18 Lis 2013 21:22
    Pocieszny
    Poziom 38  

    Pierwszego (z lewej) używałem z kablem do jakiejś starej Nokii. Na pewno nie był oryginalny.
    Drugi dostałem razem z HY-MINI.

    U mnie działała ta wersja sterownika (o ile dobrze pamiętam musiałem go wybrać ręcznie):

    HY-Mini STM32 - ponowne wgranie programu demo

    0
  • #26 20 Lis 2013 22:31
    Aimeiz
    Poziom 15  

    Drogi kolego Pocieszny.
    Wygląda na to że dzięki Tobie rozwiązałem dręczący mnie od miesięcy problem sterownika Prolific. Użyłem pierwszego (od lewej) sterownika, który zresztą Windows opluło, twierdząc że ten niedziałający jest najlepszy.
    Nie mniej jednak pozwoliło na wybranie jednego ze sterowników zainstalowanych na komputerze i już niema żółtego wykrzyknika.
    W każdym razie wersja sterownika widoczna w managerze urządzeń to 3.0.1.o z datą 2007-02-12.
    Jeśli to właśnie ten sterownik pierwszy od lewej to dziękuję, jeśli to sterownik inny, który poprostu był w moim kompie to dziękuję za inspirację.
    W każdym razie chyba wiadomo, że trzeba szukać sterownika z datą mocno z poprzedniej dekady.

    Przystępuję do sprawdzenia czy działa flashloader, ale brak sterownika do USB wykluczałby zastosowanie tego egzemplarza płytki do rozwiązania, które chcę na niej wykonać i ograniczyłby jej użyteczność do ćwiczeń li tylko.
    W międzyczasie zamówiłem drugą płytkę wprost z Chin, bo jestem ciekaw czy tam też będą podobne problemy, ale to inna sprawa.
    W każdym razie dzięki rozwiązaniu tego problemu, mój zapał do przestawienia się z AVR-ów na te army jeszcze się powiększył, co wiąże się z dalszymi pytaniami, może nawet nieco lamerskimi, z którymi będę się zwracał do czcigodnego grona arm-fanów i od razu proszę o zrozumienie.
    Przy okazji sprawdziłem że dwie przejściówki USB-RS-232, które kiedyś kupiłem i nie zwróciłem do sklepu bo koszt przesyłki był porównywalny z ich wartością, teraz instalują się w systemie Win7 64 bit. Dotychczas leżały sobie bezużyteczne, więc wartość pomocy jest wprost nieprzecenialna.

    Jeszcze raz dziękuję i pozdrawiam.
    Marcin z planety Aimeiz.

    Dodano po 41 [minuty]:

    Teraz próbuję użyć ST flashloadera Demo wydanego przez ST, aby zobaczyć jak działa ładowanie mikrokodu przez bootloader.
    W tym celu wgrałem jtagiem demo, odłączyłem jtag i podpiąłem płytkę poprzez ten USB od strony gniazda wyświetlacza wprost do PC-ta.
    Windows prawidłowo rozpoznało układ USB-UART i jest widoczny jako COM5.
    Uruchomiłem Flash Loader Demo (od ST) ze standardowymi ustawieniami tzn. Com5, Baud rate 115200, Parity Even, Echo disabled, databits 8, Timeout 8.
    Niestety nie działa - dostaję komunikat: No response from target.
    Próbowałem z innymi prędkościami, parity itd.. to samo.
    Wgrałem sam bootloader - przynajmniej tak mi się wydaje i też bez powodzenia.

    Co najłatwiej zrobić, aby móc wgrywać mikrokod poprzez USB-Uart?

    Pozdrawiam.
    Marcin.

    Dodano po 31 [minuty]:

    skompilowałem program USART i załadowałem JTAG-iem.
    Podpiąlem program terminalowy i jest jakiś sukces - bo po resecie płytki, na ekranie pojawił się napis - Thank You fopr using HY-MiniSTM32V Development board, więc trasmisja danych poprzez USB -> UART działa, więc można walczyć o bootloader.

    0
  • #27 21 Lis 2013 00:27
    piotrva
    Moderator na urlopie...

    Musisz wcisnąć przycisk BOOT0, potem RESET (nie puszczając BOOT0), potem zwolnić reset i na końcu zwolnić BOOT0 - tylko wtedy procesor wstanie w trybie bootloadera.
    Kolejna uwaga to to, że w STM32 bootloader jest sprzętowy - te które są domyślnie (czyli m. in. UART) są na stałe zapisane w pamięci ROM procesora.

    0
  • #28 21 Lis 2013 09:20
    Aimeiz
    Poziom 15  

    Dr Piotrva.
    Oczywiście poszło od razu przy domyślnych ustawieniach Flashloadera ST.
    Dziękuję pięknie.
    Ojjjj, te przyzwyczajenia z AVR - trzeba chyba na chwilę zaorać tą szczegółową wiedzę i zacząć od tabuli razy.
    Drukuję manual do procesora - tam pewnie jest to wszystko napisane.

    Ale żeby nie tracić czasu - kolejne pytanie.
    Czym i w jaki sposób można skompilować i zlinkować to demo co jest na płytce?
    Niestety linker z uVision w wersji darmowej ma te ograniczenie na wielkość kodu wynikowego a o kwotację na zakup jakoś nie mogę się doprosić.
    Może skompilowany kod z uVision można zlinkować innym linkerem, np. z tym z GNU Tools ARM embaded?
    Mam w tej chwili zainstalowane:
    Kiel uVision 4 oraz 5 - to fajnie działa, ale linker ma podłe ograniczenie.
    Coocox Software i podpięty pod nie Toolchain GNU Tools embaded - nie umiem jeszcze przenieść projektu z uVision do Coocox. Tego Coocoxa ściągnąłem dlatego, że współpracuje z JTAG-em, który posiadam, ale po rozwiązaniu problemu z bootloaderem mogę na chwilę schować JTAG do szuflady, choć przydałby się do debugowania.

    Co koledzy polecacie pod Win7?
    Chętnie skorzystałbym z fajnych kawałków kodu zawartych w demo, ale na razie nie wiem jak.

    Dodano po 19 [minuty]:

    Pocieszny napisał:
    Czym to można wgrać? Flash loader (którego używam) przyjmuje tylko pliki *.bin *.hex i *.s19


    PO zainstalowaniu Kiel uVision 4, które jest na płytce, znalazłem tam fajny programik fromelf.exe.
    Po standardowym zainstalowaniu środowiska Kiel jest on w katalogu C:\Keil\ARM\BIN40
    Potrafi konwertować wynikowe pliki uVision (*.asf) do do *.bin
    Nawet napisałem sobie takiego bacha, który konwertuje project.asf na project.bin i odrazy wywołuje program do JTAGA i wgrywa w procesor.
    Podpiąłem go jako zewnętrzną komendę do programowania w uVision - działa bezbłędnie i jest to bardzo wygodne.
    C:\Keil5_00\ARM\ARMCC\bin\Uvision_CoExLink.bat
    Zawartość bacha:
    C:\Keil5_00\ARM\ARMCC\bin\fromelf.exe ".\Obj\Project.axf" --bin --output ".\Obj\Project.bin"
    C:/CooCox/CoIDE/bin\coflash.exe program STM32F103VC .\Obj\Project.bin --adapter-name=ColinkEx --port=JTAG --adapter-clk=1000000 --erase=affected --driver="C:/CooCox/CoIDE/flash/stm32f10x_hd_256.elf"

    Pierwsza komenda konwertuje asf na bin, a druga wywołuje programator CooCox i ładuje bin-a w procesor.

    0