Ściągnij sobie przykładowe projekty i zobacz jak tam to jest zrobione.
Czy w projekcie jest plik startup?
Witam chciałem zacząć programować sobie zestaw o ST ale niestety przy wybraniu któregokolwiek procesora z rdzeniem F0 wyskakują błędy po zmianie nazwy pliku startup_stm32f0xx .c na startup_stm32f0xx .s program sie kompiluje ale niestety ma 0 bajtów co jest na 100% błędem Pozostałe procesory z innymi rdzeniami działają poprawnie tzn kompilacja przebiega...
W keilu startup ustawia sam zegary, pewnie cały mikrokontroler chodzi na innych ustawieniach. 4\/3!!
No i nie będzie działać, bo to startup dla CortexM3, a STM32F0 to CortexM0, o mniejszej liczbie rozkazów. Startup dla M0 jest w przykładzie Freddiego Chopina dla lpc1114.
(at)tmf 65k stosu wystarczyłby chyba dla czterech Dziewic Orleańskich. Czy aż tak rewelacyjny jest startup Atmela? (o skrypty linkera z nieśmiałości i grzeczności już nie zapytam)
Pobierałem kompilator oraz eclipsa najnowszego Dodano po 1 Uff poszła kompilacja Dzięki za pomoc
...czy nie ma możliwości w Xdata umieścić globalnej tablicy ??... Jeśli w startupie włączysz wewnętrzny XRAM , to zmienne mogą być zarówno globalne jak i lokalne. Ba , nawet stos można tam wsadzić :D Piotrek PS A co do błędu kompilacji , to ... popatrz(policz) dokładnie na klamry w moim przykładzie :D
lub jak te przerobić ?? No trzeba przerobić głównie te dyrektywy typu EXPORT, AREA itd. Jeśli takiego kodu assemblerowego nie ma zbyt dużo to przeróbka nie będzie problemem. Zobacz sobie jakiś plik assemblerowy przeznaczony dla GCC to sam zobaczysz jak to powinno wyglądać (choćby ściągnij przykłady dla ARM z mojej strony i tam jest startup w assemblerze)....
Trzeba by pogrzebać może we flagach kompilacji które powinny być dla takiego MIPSa, bo zapewne muszą być jednak inne... /; Jeśli w MPLAB widać w jaki sposób wywoływany jest ichniejszy kompilator, to można zapewne sporo podejrzeć... 4\/3!!
Z tego co wymieniłeś wszystko jest OK (zakładam, że 3. to wskaźnik na funkcję, a nie jakieś dziwne rzutowanie). Ja bym się jednak początkowo skupił na zainicjalizowaniu w main() wszystkiego co inicjalizuje Keil w startupie, czyli po prostu wywołaniem SystemInit() - jeśli to zrobiłeś to następnym krokiem będzie zastanowienie się, czemu kod w Keilu generuje...
Korzystasz w ogóle z przerwań? Bo jeśli tak, to musisz raczej dla przerwań zadeklarować jakiś rozmiar stosu w skrypcie linkera. Jeśli nie, to możesz olać poprawki tablicy wektorów. Zasadniczo do projektu musisz dodać jeszcze startup (startup.S + jeden wymagany nagłówek hdr_cpsr.h) i tablicę wektorów (vectors.S), zastępując nimi Twój startup. Swoją drogą,...
Mimo to nie pozwoliło to na kompilację (czerwony napis "BUILD FAILED"). Zapewne projekt nie został poprawnie skomponowany (CMSIS, startup, ścieżki, skrypt linkera, itd.). Dlaczego piszesz w CooCox i bibliotekach SPL? Całkiem możliwe, że prowadzący zajęcia niestety nic innego nie zna.
w załączniku archiwum z kilkoma ciekawymi plikami dla STM32F0. 1. Cortex-M0.ld oraz STM32F051x8.ld Skrypty linkera - w projekcie używać należy bezpośrednio tylko tego drugiego, który zaś w środku dołącza ten pierwszy. Podział spowodowany jest tym, że "mapa" pamięci generalnie jest wspólna, więc wszystkie takie rzeczy są w tym Cortex-M0.ld, zaś w tym...
(at)newtornus jeśli chodzi o podświetlanie kodu, to przechodzisz do "pełnej" odpowiedzi/edytora i tam jest "syntax" ja używam Arduino, ale jest cała lista do wyboru. Guzik Odpowiedź i Odpowiedź, to różne guziki :) Z tego opisu flagi wynika że twój sposób nie jest zły, czyszczenie jest opisane że następuje po odczycie ustawionej flagi i dostępie do rejestru...
Witam, Mam podobny problem. Mam prawidlowo dzialajacy projekt FreeRtos na LPC2368 z Eclipse i toolchainem yogartu. Chce przeniesc ten projekt na LPC1768. Czy moge gdzies znalezc przykladowy projekt na LPC1768 pod Eclipse. Interesuje mnie glownie: -linker script -boot.s (startup file) -Makefile Pozdrawiam md23
Wyjątki nie działają, bo są wyłączone w startupie, a w kodzie głównym pewnie ich nie włączasz. 4\/3!!
Witam, przykład blinking led jest znany. Występuje tam błąd przy określaniu częstotliwości taktowania main. Musisz zmienić plik system.c. Jego treść powinna wyglądac tak: #include "system.h" #include "AT91SAM7S64.h" AT91PS_PMC pPMC = AT91C_BASE_PMC; void Delay_s (unsigned long a) { while (--a!=0); } //MAIN POINTER AT91PS_PIO p_pPio = AT91C_BASE_PIOA;...
To jest "standardowy" błąd, trzeba zsynchronizować startup z FreeRTOSem pod kątem nazw wektorów przerwań. Poszukaj tutaj, są już wątki z rozwiązaniem tej kwestii.
W Coocox wyklikujesz zawsze jawnie, co chcesz dodać do projektu. Inicjalnie projekt jest pusty a środowisko wyświetla okienko wyboru "gotowców", z których jako pierwszy powinieneń wklikać startup.
Witam, kompiluję projekt pod w/w procesor. Korzystam w nim z biblioteki kiss_fft. Używam plików wygenerowanych przez CubeMX. Nagłówkowy, skrypt linkera, startup. Przy kompilacji natrafiłem na problem: [syntax=bash]11:48:18 **** Incremental Build of configuration Default for project znak **** make all /mnt/sdb1/bleeding-edge-toolchain-180127...
startup podejrzewam, że możesz wziąć od freddiego. Skrypt linkera również, tylko będziesz musiał zmienić rozmiar i umieszczenie pamięci + tablicę wektorów.
Jestem w błędzie ? Tak, bo do samej kompilacji to Ci jeszcze potrzebne kilka plików - startup, skrypt linkera, tablica przerwań - zakładam tutaj, że sprawę Makefile załatwia Netbeans. Standardowo więc poradzę to co zawsze - ściągnij z mojej strony przykład dla stm32f4 i zobacz jak to jest tam zrobione pod "lepszym" IDE (; http://www.elektroda.pl/rtvforum/topic13...
Przypuszczam, że "kaman" o podkreślnik.
Kompilacja nie przechodzi, bo brakuje mu funkcji IrqInit(). Co ta funkcja robi, skąd ją wziąć, o co w niej chodzi itd. - nie mam pojęcia. W każdym razie, żeby przy tym pliku vectors.S Ci działało FIQ, to musisz go zmienić w linijce 131: .FIQ: .wordFIQ Musisz to zastąpić np.: .FIQ: .wordFIQ_Handler Czy tam generalnie nazwą funkcji która będzie...
Przenalizowałem co z czym i do czego. Poprawiłe conieco skrypt linkera, startupy, wywaliłem niepotrzebne dla mnie rzeczy, wrapper c++ (czy jak to się tam zwie) i działa tak jak oczekuję. Brakowało też przede wszystkim opcji linkera: -nostartfiles I teraz wyglada to rozsądnie :) Wynik kompilacji z optymalizacją -Og, (startup, inicjalizacja, miganie diodą...
O ile nie programuję zaawansowanych embedded, a siedzę w web developerce, to tutaj podobną furorę robi niejaki framework next.js. Wszystko ma być w next.js, najlepiej hostowane w chmurze na Vercel. A później? Okazuje się, że wersji developerskiej kompilacja zależności i kodowanie trwa bardzo długo, każda zmiana to kilkadziesiąt sekund na przebudowanie...
(at)jkwim Tutaj; https://pipelinesghubeus25.actions.g...
Niekoniecznie. Jeśli nadal mówimy o SAM7x, to sprawa nie jest taka prosta, ponieważ startup MUSI być w trybie ARM i jak sobie go skompilujesz w trybie thumb (pomijając już to, że w pliku są dyrektywy .arm i instrukcje ARM) to układ nie wystartuje. Z tego względu można mieć wszystko w ARM, ale jak chcesz mieć wszystko w THUMB, to startup i tak musi być...
Zainstaluj sobie yagarto. Startup i skrypt linkera weź z jakiegoś przykładu dla twojego procka. Ja robię projekt w którym jest ok. 30 plików źródłowych i plik elf ma po kompilacji 1M, z tego wychodzi binarka 250k i wszystko działa tak jak powinno.
CMSIS Core - to tylko startup i system i bodajże core_cm3 + skrypt linkera. Zaś ty korzystasz z pełnego CMSIS i to jego deklaracji brak. Rozwiń tą gałąź "Device"... Definicje są (dodałeś sam pewnie), bo ci przechodzi kompilacja. Błąd jest w momencie linkowania.
Rozumiem ze programujesz za pomocą SAM-BA. Na pewno po kompilacji otrzymujesz plik bin, a nie przypadkiem hex?? Zauwazylem ponadto ze w tym przykladzie z tej strony ktora podales sa biblioteki dla SAM7S64,a ty uzywasz SAM7S256. W zasadzie nie ma prawie zadnych roznic poza tymi bibliotekami, ale moze to jakas przyczyna. W opcjach kompilacji wybrales...
Moja wersja to 3.34. Skąd mogę sciągnąć twoją wersję? bo na pierwszy rzut oka nigdzie nie ma. Dodano po 1 Przy starszych wersjach Keila kompilacja przebiega bezproblemowo. Dzięki markosik20 . Problem rozwiązany.
Witam, Postawiłem sobie za zadanie uruchomienie systemu FreeRTOS na zestawie STM32-F429i DISCO. Projekt realizuję w Keil. Z przeczytanych przeze mnie materiałów wywnioskowałem, że do uruchomienia systemu wystarczą 3 pliki: -queue, task oraz list Załączam dodatkowo jeszcze pliki port i heap. Ostatnim plikiem jakiego używam w projekcie jest startup_stm32f429_439xx.s...
Problem jest w użytkowaniu biblioteki CMSIS dostępnej na stronie ST. Nie mogę przeprowadzić poprawnego linkowania przy użyciu Sourcery G++ Lite for ARM EABI. Kompilacja przebiega raczej poprawnie. Freddie Chopin ma przykład dokładnie z tym uC ale nie działa z biblioteką, min. z powodu niedopasowanego startup i właśnie makefile o skryptach linkera nie...
W przypadku niestandardowej kompilacji, w której partycja OTA została zmieniona na 0x125000, OTA działa zgodnie z oczekiwaniami https://github.com/openshwprojects/OpenB... [syntax=c] [BK_PARTITION_OTA] = { .partition_owner = BK_FLASH_EMBEDDED, .partition_description = "ota", .partition_start_addr = 0x125000, .partition_length = 0xB0000,...
Kompilacja pliku asemblerowego oraz linkowanie wyglądają jak poniżej. Handler dla systicka jest obecny. Building file: ../startup/startup_stm32f030x6.S Invoking: Cross ARM GNU Assembler arm-none-eabi-gcc -mcpu=cortex-m0 -march=armv6-m -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -ffunction-sections -fdata-sections -Wall -Wextra...
Zbyt dużo Ci nie pomogę chyba - niestety składnia poleceń kompilacji której oczekuje Twoja wersja kompilatora jest zupełnie inna niż moja, dlatego też nie mogę skompilować Twojego przykładu u mnie. Po podstawieniu mojego Makefile'a do Twojego projektu wszystko kompiluje się bez większych problemów (konieczne są drobne zmiany w skrypcie linkera - ustawienie...
Kiedyś pisałem programy na uC w Keilu, ale dzisiaj jakoś nie mam ochoty krakować oprogramowania. Właśnie na początek KEIL to dobre rozwiązanie, a 32kB to sporo, zwłaszcza, że sa uC, które mają 32 czy 16kB pamięci. Dodano po 8 A wektory przesunąłeś? Robiłem wszystkie te czary mary z wątku, które rzekomo miały działać. Tylko tyle, bo za słaby jestem...
Teraz dalej. Przeprowadzałem już testy kompilacji dla tego starego pliku jpeglib.a i niestety nie dają dobrych rezultatów. Ten nowy niczego nie zmienia. Problemem jest pewnie syscalls.c Znalazłem kilka w internecie a nawet kilka u siebie na kompie ;p No ale jeden nie działa bo jest do AT91SAMxxx, drugi do CPP, a na trzecim mam errory „multiple...
Dostałem taki log przy kompilacji: [syntax=c]startup/startup_stm32.o:(.isr_... undefined reference to `WWDG_IRQHandler' startup/startup_stm32.o:(.isr_vector+0x4... undefined reference to `PVD_IRQHandler' startup/startup_stm32.o:(.isr_vector+0x4... undefined reference to `TAMP_STAMP_IRQHandler' startup/startup_stm32.o:(.isr_vector+0x4... undefined...
Poza tym kolego zauważ że asemblujesz plik, który powinieneś kompilować. Asemblujesz startup.s - system głupieje!!!! Zmień w ustawieniu pliku, iż jest to plik napisany w C a nie w asemblerze. Żeby coś łączyć muszą być pliki z rozszerzeniem *.o, standardowo z startup.s powinno się otrzymać startup.o, a nie startup.out. Po kompilacji linker daje z plików...
ciekawa sytuacja, bo chociaż objaw jest typowy dla przepełnienia stosu to jednak pokazany program przecież stosu nie przepełni :P ale kiedyś udało mi się zepsuć makefile tak że kompilowało się dla jednego procesora a dołączało startup code z parametrami innego i wtedy jakiekolwiek użycie stosu też powodowało katastrofę. pewnie jednak w AVRStudio nie...
Ze względu na wiek, żebyś się nie na wabił frustracji oraz zniechęcił do świata embedded, to wybierz IDE, które już w pakiecie instalacyjnym zawiera w sobie wszystko co trzeba. Jeśli chcesz uniknąć tej całej magii, która kryje się pod takimi rzeczami jak Makefile, linker, czasem skrypt linkera, to proponuje ściągnąć takie oprogramowanie, które robi...
W dosboksie jest tylko autoexec i jest sekcją w pliku dosbox.conf. # This is the configurationfile for DOSBox 0.72. # Lines starting with a # are commentlines. # They are used to (briefly) document the effect of each option. (...) [autoexec] # Lines in this section will be run at startup. set clipper=F200 A co do files=200 to...
Jaki jest problem w konfigu FreeRTOSa, jak mogę spytać? Bo procedura jest mniej-więcej taka: 1. Ustawiasz przez define odpowiednie nazwy wektorów przerwań (jeśli w startupie/vectors.c masz inne) 2. Ustawiasz rozmiar stosu 3. Wybierasz model zarządzania pamięcią przez włączenie odp. pliku do kompilacji Makefile podglądasz z przykładów, na jego podstawie...
Jako całość OK, a szczegóły: 0. komunikat kompilacji: "startup.c:51:6: warning: optimization may eliminate reads and/or writes to register variables" budzi moją czujność/nieufność 1. Nie widzę powodu wchodzenia najpierw w tryb system, a potem w user 2. Ja zostawiam MCU w trybie system po startupie - nie widzę żadnych zalet w trybie user jeśli nie mam...
Moje testy z długo wyczekiwanym czujnikiem. BL602, czujnik z aliexpress za parę groszy na pinie 17. startup cmd: backlog startDriver NTP; ntp_setServer 217.147.223.78; ntp_timeZoneOfs +03:00; powersave 1; startDriver DS1820 Pakowanie w konsoli Info:CFG:D S1820 - Pin=17 temp=+35.00 Info:CFG:D S1820 - High=2 Low=48 Val=560 Tc=3500 -- Read CRC=73 - calculated:73...
Powodem są błędy, które wyjaśniłem EDIT: Problem rozwiązany z pomocą ChatGPT!!! Rozwiązanie zamieściłem w [url=https://www.elektroda.com/rtvforum/... innym wątku .
To gdzie jest ma z Twojego punktu widzenia prawie żadnego znaczenia. To zależy od implementacji / systemu / procesora i wielu innych czynników. Napisałem Ci to już wcześniej zresztą. Ale dalej wracając do pytań - czy ma to jakiekolwiek praktyczne znaczenie dla programisty, który nie ingeruje w startup, skrypty linkera itp. Jeżeli chcesz zapoznać się...
Typ projektu nie definiuje, że odtąd wszystkie pliki w nim są w C++. Jeśli by tak było, to jakim cudem w projekcie zrobiłbyś assemblerowy startup? Chodziło mi o to że nie da się od razu pisać w C++, trzeba zmienić nazwę. Ale jest mały bug - ten hardware konfigurator bardzo lubi main.c i za każdą zmianą tworzy nowy main.c - co przy kompilacji generuje...
To może ze względu na mniej doświadczonych kolegów (...), zrobiłbyś instrukcję krok po kroku jak taki projekt w Keilu stworzyć 1. Pobrać i zainstalować MDK-Arm w wersji najbardziej aktualnej. 2. Przy pierwszym uruchomieniu od razu przejść do Pack Installer -a - ostatnia ikonka na niższym pasku narzędzi. 3. Tam powinna się samoczynnie zaktualizować...
nie bardzo rozumiem. Otóż chciałem nawet przerobić gotowy przykłąd Blinky, który znajduje się w podfolderach Keil'a ale w nim np nie ma folderów SRC, LIB. Jest tylko StartUp, Source Files i Documentation. Przypuśćmy że chcę korzystać w tym gotowym projekcie z funkcji z pliku stm32f4xx_gpio.h, więc co muszę zrobić? próbowałem już dodawać plik .h oraz...
Tak jak pisałem - Twój startup załatwia manipulacje stosem, więc w takiej sytuacji atrybut dla funkcji jest zbędny, a wręcz błędny. Jeśli masz debugger, to przecież możesz sobie sprawdzić czy w ogóle wchodzi do przerwania oraz czy wchodzi do tego assemblerowego wrappera który jest pod etykietą "VIC". Profilaktycznie włącz sobie też ręcznie przerwania...
Bardzo dziwny problem, ale musisz podać więcej informacji o swoim projekcie. Np. to jakiego używasz startupa, skryptu linkera, jakie są opcje kompilacji? Czy problem dotyczy zarówno obiektów globalnych jak i takich zadeklarowanych na stosie? Może jesteś w stanie wrzucić tutaj najprostszy możliwy przykład (kompletny projekt)? Osobiście podejrzewam, że...
W pierwszym poście wrzuciłeś: /usr/local/share/bleeding-edge-toolchain... -mcpu=cortex-m4 -mthumb -T STM32F446RETx_FLASH.ld -Wl,--gc-sections -lm -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DSTM32F446xx -ffast-math -DARM_MATH_CM4 -I../CMSIS/Include -L../CMSIS/Lib/GCC -larm_cortexM4l_math output/system_config.o output/system_stm32f4xx.o...
Wstęp Poradniki pomagające w tworzeniu oprogramowania na mikrokontrolery skupiają się głównie na wykorzystaniu peryferiów samego mikrokontrolera, co jest zrozumiałe, ale niestety rzadko skncentrują się na części programu, która wykonuje się przed funkcją main. Poniższy poradnik ma na celu przybliżenie tej części programu na podstawie GNU ARM toolchain...
Dodałem to co napisałeś, ale mam "Syntax error" :( Znalazłem w CodeSourcery sekcję, przeniosłem ją do linkera RTOS-a, i plik teraz wygląda tak: MEMORY { flash: ORIGIN = 0x00000000, LENGTH = 500K ram: ORIGIN = 0x40000000, LENGTH = 32K usbram : ORIGIN = 0x7FD00000, LENGTH = 8K ethram : ORIGIN = 0x7FE00000, LENGTH = 16K } __stack_end__...
Microsoft Windows XP Proffesional (5.1, kompilacja 2600) BIOS: Phoenix- AwardBIOS v6.00PG Procesor: Intel(R) Celeron(R) CPU 2.66GHz Pamięć: 448MB RAM a co do CCleaner`a: NieHKCU:RunctfmonC:\WINDOWS\system32\ctf... TakHKCU:Runctfmon.exeC:\WINDOWS\system32... TakHKCU:RunGadu-Gadu"C:\Agata-programy\G... /tray NieHKCU:Runmsmsgs"C:\Program...
ah tak, teraz pamiętam. Drugi zrzut Leedarsona, który mamy, jest tak samo gadatliwy przy wylogowywaniu. Cóż, twoja 2mb kopia zapasowa uruchamia się dobrze. OpenBK7231U_UA_1.18.125.bin przemianowanym na OpenBK7231T_UA_1.18.125.bin i błysnął z EF w trybie T https://obrazki.elektroda.pl/9927760300_... następnie OpenBK7231U uruchamia...
Witam. Staram się przenieść CooCox IDE na pendrive, w celu uruchamiania go na dowolnym komputerze. Mogę uruchomić i utworzyć projekt, jednak nie kompiluje się przy kompilacji mam: [cc] arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -Wall -ffunction-sections -g -O0 -c -DLPC1114x301 -IY:\workspace\test2\LPC111x_Lib -IY:\workspace\test2\cmsis_core...
1. GNU ARM to najzwyklejsza paczka taka jak CodeSourcery, WinARM czy Yagarto, więc po co tego używać i po co to w ogóle roztrząsać? 2. CodeSourcery Lite jest darmowe. Jeśli nie jest wystarczająco darmowe, to wystarczy ściągnąć sobie źródła GCC i skompilować samemu [; Jest to możliwe, skrypty z Codesourcery to znacząco ułatwiają. 3. Niczym 4. Bo kompilujesz...
Wygląda na to, że się całość się jakoś skompilowała pomimo warningów i zlinkowała (bo powstały mi pilki hex i elf). ...aczkolwiek rozmiar pliku wynikowego *.hex = 34 bajty każe przypuszczać, że jeszcze sporo przede mną... Brakuje Ci tablicy wektorów i startupa. Prościej będzie Ci zacząć od kompletnego przykładu, ewentualnie od przykładu + modyfikacje...
Jaka jest najlepsza praktyka konfigurowania Home Assistant z OpenBeken? Moje urządzenia są wykrywane, ale po około 7 dniach pojawiają się jako niedostępne w HA. Mają statyczne adresy IP. Interfejs sieciowy OpenBeken dla każdego urządzenia mówi, że są one nadal połączone z MQTT. Zbudowany 6 sierpnia 2024 10:00:18 wersja 1.17.652 Online przez 23 dni,...
Witam. Nie mogę w żaden sposób uruchomić funkcji malloc. Po pierwsze jest mi potrzebna biblioteka Standard Periphetial Library - udało mi się ją uruchomić na skryptach .ld z sieci ale jak zdefiniuje sobie funkcję _sbrk(...) w syscalls.c i skompiluje źródła (kompilacja, ostatnia część coś przydługo trwa, może jest jakis konflikt). To po wgraniu programu...
Ok. Postawiłem eclipse już normalnie robiąc makefile project. Działa to, ale dwie sprawy. 1. Pierwsza. Przy projekcie z STM32F103RB pojawiają się dziwne małe znaki przy plikach z rozszerzeniem .c lub .cpp. Chcę pisać w C++ i stworzyłem C++ project. Może to jest powód? Jeżeli chodzi o STM32L053R8 to takie znaki się nie pojawiają. W sumie kompilacja przebiega...
Przesadzasz - skoro zastąpienie funkcji _sbrk wyrażeniem return 0; nic nie zmienia, to znaczy, że błąd nie leży w niej. Więc nie mów, że skąpie informacji, bo podaje wszystkie ISTOTNE. Mogę wrzucić tutaj cały startup, cały skrypt linkera, całego makefile'a, cały kod, pełny log kompilacji, pliki map itd, tylko po co? Wiem, że jeśli nawrzucam tutaj kilka...
http://obrazki.elektroda.pl/1327548000_1... I można czekać wieki. Jak chcę odpalić awaryjnie, to jest czarny ekran i po upływie 30< sek przy naciskaniu jakiegokolwiek przycisku jest brzęczący dźwięk. Znalazłem pendriva z Win 10 i spróbowałem zainstalować go na inną partycję, aby chociaż zrobić kopię zapasową moich plików i sformatować,...
Moje wątpliwości budzi: Thread mode can use main stack Nie miałym dotąd potrzeby zastanawiania się nad tym, w jakim mode działam. Przerwania działaja w jednym trybie, "nie-przerwania" w drugim. Ponieważ każdy tryb używa osobnego stosu, to konieczne jest ustawienie DWÓCH stosów. Nie są zbyt zagnieżdżone przerwania, zresztą spod keila program działał....
gdy na niego patrze to w zasadzie pierwsze linijki bo jak sie domyslam one są za to odpowiedzialne: To jest skrócona do granic niemożliwości tablica wektorów. A to że main() w tym projekcie nie wypełnia funkcji startupa, to już wina twórcy tamtego projektu. Całość zapewne nie działa tak jak większość programów. W jakichś szczególnych przypadkach (brak...
Dodałem przed każdą sekcją "align" .data : AT ( _sidata ) { . = ALIGN(4); /* This is used by the startup in order to initialize the .data secion */ _sdata = . ; . = ALIGN(4); *(.data) . = ALIGN(4); *(.data.*) . = ALIGN(4); *(.RAMtext) . = ALIGN(4); /* This is used by the...
A ten poważny błąd w skrypcie, to jaki (i czemu działa podstawowa wersja, skoro skrypt jest zły)? Działa tylko dlatego, że nie masz żadnych zmiennych globalnych/statycznych. Dodaj sobie takową i spróbuj zmienić jej wartość to się przekonasz. Opcje kompilacji także starałem się ograniczyć do minimum, może czegoś brakuje, albo jest za dużo? Twój zapęd...
A możesz michalko12 podać jak mogę to sprawdzić ?? Jeśli nie korzystasz z własnego startup kodu wskaźnik inicjowany jest na samym poczatku programu w jednej z pierwszych sekcji "Init" Poczytaj sobie o tych sekcjach w dokumentacji avr-libc. http://www.nongnu.org/avr-libc/user-manu... Masz kilka sposobów na sprawdzenie wskaźnika stosu....
Witam. Mam przed sobą płytkę STM32F746 DISCO. Na razie jestem na etapie wdrażania w stm32. Póki co bazuję na example kodzie dostarczonym w stm32cubef7. Konkretnie projektem demonstracyjnym STM32Cube_FW_F7_V1.2.0\Projects\STM32746... Chciałem uruchomić na Eclipsie (SW4STM32 Ac6 tools) semihosting, czyli miec możliwość używając...
Zaczynam przygodę z STM32 i na początku już schody z którymi nie mogę sobie poradzić. Mam zainstalowane Eclipse jak i Sourcery 4.7.3, ściągnąłem przykładowy projekt z strony Freddiego do mrugania diodą i tu kompiluje się bez problemu. Lecz nie bardzo leży mi ten przykład (bez obrazy). Lubię mieć wszystko poukładane a w tym przykładzie wszystko jakoś...
Kompilacja przebiega bezproblemowo, nie ma żadnych ostrzeżeń. Przykłady dokładnie biore z winarma.Jeżeli chodzi o startup.s to uzywam z przykładów omawianych w książce J.Lyncha. Skopiowanie bezpośrednio tego pliku z Winarma wyrzuci błędy. Ale jeśli chodzi koledze na atmelu poprawnie, i tak samo użyłeś przykładów z winarma to okej. Jeszcze pytanko czy...
tandard mówi coś innego. Program zaczyna się od "main". Nie ma mowy o zmianie nazwy funkcji startowej. Niektóre kompilatory na to pozwalają, ale nie jest to cecha języka C. Nieprawda, : The main function is called at program startup, after all objects with static storage duration are initialized. It is the designated entry point to a program that is...
Pobierz z mojej strony przykład dla LPC2103 i przerób go dla Twojego układu: - w skrypcie linkera ustaw prawidłowe adresy i rozmiary pamięci - w startupie nic nie musisz zmieniać - w tablicy wektorów nic nie musisz zmieniać jeśli nie korzystasz z przerwań, jeśli z nich korzystasz poprzez układ AIC, to musisz upewnić się, że offset do rejestru podającego...
Hmm... nie miałem jeszcze czasu żeby rzucić okiem na Twój projekt, ale w istocie jest to dziwne... Problemami z debuggowaniem się raczej nie przejmuj - ja tez widziałem taki problem - generalnie GDB ma problem z ustawieniem breakpointa z RAM gdy "jeszcze" jest w ROM (i zapewne odwrotnie). Rozwiązaniem dla mnie było postawienie breakpointa na ostatniej...
Witam Mam pytanie związane z programem AVR Studio, a dokładniej chodzi mi o dodawanie kilku plików w jeden. Zacznijmy od początku... Pragnę stworzyć program, który będzie składał się z kilku części, dlatego planuję stworzyć go w postaci modułowej, a więc głównym modułem będzie: - programglowny.c potem do niego będą podłączone takie moduły jak menu.c...
Na swoją stronkę wrzuciłem najnowszą kompilację OpenOCD dla Windows, problem na który się natknąłeś powinien tam być rozwiązany. 4\/3!! Programuje poprawnie (daje się zaprogramować STM32F429IDiscovery programem demonstracyjnym który działa poprawnie). Jednak nie daje się debugować, po załadowaniu programu i próbie uruchomienia błąd Eclipsa (java.lang.NullPointerException)....
Wywaliłem stare projekty i zaimportowałem od nowa. Opcją Import/existing project to workspace I znowu tosamo wykrzacza mi się bład jak wchodze w ustawienie build w project properties. Na dodatek podkreśla mi #include <stdint.h> jako unresolved inclusion. Jednak po nacisnieciu przycisku run kompilacja odbywa się z wynikiem **** Build of configuration...
Dla odmiany, teraz przy kompilacji przez arm-elf-g++ dostaję: src\main.c||In function 'int main()':| src\main.c|43|warning: statement has no effect| src\main.c|46|warning: statement has no effect| src\main.c|31|warning: unused variable 'i'| src\main.c|33|warning: unused variable 'b'| crt.o||In function `Undef_Addr':|...
Problemy biorą się stąd, że mało kto tak naprawdę wie jak przebiega cały proces kompilacji. Albo często po prostu wystarczy użyć googli, w końcu nie każdy musi to wiedzieć. Bo problemem widzę jest dodanie ścieżki wyszukiwania nagłówków, skompilowanych plików etc. Przecież jest makefile, z ładnym miejscem do wypełnienia na te ścieżki. Zajrzenie w skrypt...
a nie da sie tych ścieżek ustawić na już zainstalowanym keilu ? Dodano po 43 instalowałem drugi raz i nie ma żadnych opcji do wyboru... Dodano po 2 problem jest jeszcze gdzieś indziej , znalazłem opcję CARM compiler ,więc ją zptaszkowałem i pomogło, w jednym projekcie nawet nie ma startup.s tylko ADUC702x.s i działa, ale jak zrobiłem podobnie w innym...
Wpierw potwierdzę to co napisałeś o WinAVR. Zainstalowałem najnowszą wersję. Restart kompa. Zrobiłem clean-a w eclipsie. Wrociłaem do początkowych ustawień makefila. Zrobiłem build-a. Otrzymałem: **** Build of configuration Default for project lpc2103_blink_led **** cs-make all Assembling file: default_handler.s arm-none-eabi-gcc -x assembler-with-cpp...
Mi udało się z sukcesem przeportować projekty na nowszą wersję KiCad ;]. Pomimo pewnej ilości problemów (router p&s się wyłącza lub wiesza, nie przyjmuje szerokości ścieżki z listy, cały czas rysuje domyślną chyba że kontynuujemy już istniejącą, oraz pewnym zamieszaniem z libami) ma swoje zalety. Przeglądarki schematic'a oraz footprintów są wreszcie...
Problem jest w tym, że oprócz zasady działania nie znam instrukcji ani zapętleń w jakich wykonywany jest ten dość skomplikowany program. Moim zdaniem ewidentna wada programu (jest w wersji beta) powoduje, że urządzenie startuje raz na około dziesięć do piętnastu prób włączenia. Jest to bardzo denerwujące. Wszystkie przebiegi w punktach serwisowych płyty...
Make clean - nic nie dało. Przykłowy program w ujmujący problem: 90 if(!((sTimer.x50xMiniSecond&... % 250)) 000004e0: ldr r3, [pc, #116] ; 0x55c <main+184> 000004e4: add r4, r3, #8 000004e8: ldm r4, {r3, r4} 000004ec: mov r0, r3 000004f0: mov r1, r4 000004f4: mov r2, #250 ; 0xfa 000004f8:...
Mnie właśnie przydałby się sam scheduler, bo koncepcja działania peryferiów często bardzo zależy od użytego układu i samego projektu. Może powinieneś rozdzielić ten projekt na dwa, jeden to czysty scheduler i drugi projekt to cały system który z kolei jest oparty o ten pierwszy projekt. Zauważ, że im bardziej rozbudowany będzie ten projekt, tym trudniej...
Pytanie dotyczyło przyczyny generowania różnego kodu wynikowego. W jakim celu chcę nad tym zapanować chyba nie jest istotne. Jak chcesz nad wszystkim panować pisz w asm. Dokładnie określisz pod jakim adresem co ma się znajdować, które funkcje mają byc na początku kodu, a które na końcu. W C nie widzę możliwości aby zrealizować to w prosty sposób. Można...
Witam, Dotychczas używałem BleedingEdge (ver. 131005) z CoIde bez problemu, ale jako że przesiadłem się właśnie z win7 na win8.1 to postanowiłem też ściągnąć nowszy toolchain. Niestety nie mogę skompilować nawet pustego projektu. Próbowałem wersji 150324-x64, 150324 oraz 141002 i z żadną program się nie kompiluje. Podczas kompilacji okno przez chwile...
Od ciebie vectors.c, STM32F4xxxG_rom.ld, startup.S makefile od dawna używam Twój (już jest trochę zmodyfikowany) resztę zostawiłem z mojego projektu wszystko się skompilowało, ale zostały błędy podczas linkowania dotyczące syscalls. Ze skryptem i startupem od STM wszystko się kompiluje tylko nie linkuje, błędy dotyczące przerwań i syscalls. P.S. Usunięcie...
Witam! Praktykuję ostatnio kompilację na wielu rdzeniach, aby ją nieco przyspieszyć. Przez 99% wszystko działa OK, a w tym jednym przypadku (zwykle jak trzeba przekompilować tylko jeden plik), dostaję np. coś takiego: **** Build of configuration Default for project xxx **** make all -j 3 Compiling file: ts.c arm-none-eabi-gcc -c -mcpu=cortex-m3...
dziękuje za odpowiedź, ale mam kolejne pytanie: deklaruje sekcje eeprom, tak by zajmowała mi ostatnie 100B pamięci flash (taki miałem zamiar): MEMORY { FLASH (rx) : ORIGIN = 0x00100000, LENGTH = 0x00020000 eeprom (rx) : ORIGIN = 0x00120000-100, LENGTH = 100 DATA (rw) : ORIGIN = 0x00200000, LENGTH = 0x00008000...
A jak wygląda zarządzanie pamięcią w tym RTOSie? Czy można bez przeszkód używać dynamicznej alokacji nie obawiając się HardFault co kilka minut? Na chwilę obecną szansę na HardFault masz sporą, ponieważ muszę dodać w końcu implementacją funkcji __malloc_lock() i __malloc_unlock() (jest to na razie konieczne zanim nastąpi "pełna" integracja z newlibem)....
Wracając do tematu stworzyłem nowy projekt i banalny programik 'Building target: f4_usb_timery.elf' 'Invoking: ARM Sourcery Windows GCC C Linker' arm-none-eabi-gcc -T"C:\workspaceSTM\f4_usb_timer... -L"C:\workspaceSTM\f4_usb_timer... -Wl,-Map,f4_usb_timery.map -mcpu=cortex-m4 -mthumb -g3 -gdwarf-2...
Witam , od dłuższego czasu mam pewien problem z PC . Komputer mam dosyć dobry i zaraz wypiszę moje podzespoły. Problem polega na tym że podczas gry w Age of Empires III w sieci , wiesza się i po chwilowym odwieszeniu tracę w grze kolory. Nie zawsze gra się odwiesi , a wtedy pokazuje się blue screen. Zamieszczam jego treść: A problem has been detected...
SPL - Standard Peripherial Library od ST, producenta uC z serii STM32Fxxx to zestaw funkcji, które w założeniu miały ułatwić pisanie programów. Założenia były bardzo dobre, ale wykonanie, a chyba jeszcze bardziej sposób korzystania z funkcji dostępnych w pakiecie sprawia, że kod jest nieefektywny, nie daje pełnej kontroli nad układami i wcale nie jest...
Może zbyt namieszałem. Zasadniczo chodzi po prostu o to jak stworzyć projekt w SW4STM, który nie zawierałby tych wszystkich śmieci z SPL i HAL i dało się pisać na rejestrach. Taki czysty podstawowy projekt pod rejestry z tylko niezbędnymi rzeczami jak w przypadku pisania na AVRy. Ja robię to tak: I. Potrzebne narzędzia: 1. System Workbench for STM32...
przerwa startup startup monitor stm32f103 startup
kabel monitor 120hz inspekcja samochodzie amica śmierdzi
Kolory kabli do lampy SEAT Ibiza - modele i roczniki Canon iRC 355i błąd E355-0004 - problem komunikacyjny