Ten drugi to stos przerwań (z których korzystasz) i powinieneś go ustawić na jakąś rozsądną wartość. Edit: Gdzieś w ustawieniach projektu powinieneś mieć możliwość ustawienia rozmiaru stosów. Jak odpalisz debugger to podejrzyj rejestry przechowujące MSP oraz PSP.
Im dłużej Cię czytam, tym bardziej mam zamiar przyłączyć się do namawiających Cię, żebyś obejrzał, jak to zrobiono we FreeRTOS - przynajmniej masz dobry i działający wzorzec.
Tak, Freddie Chopin ma rację, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIO... oraz configMAX_SYSCALL_INTERRUPT_PRIORITY powinny być spójne, ponieważ odnoszą się do tego samego lecz różnią się przesunięciem bitowym w celu stosowania tych flag w funkcjach bibliotecznych lub bezpośrednio w rejestrach.
FreeRTOS potrzebuje, żeby te przerwania były naked, czyli żeby kompilator nie generował ani prologu (zachowania rejestrów i stanu) jak i epilogu (odtworzenia rejestrów, stanu i powrotu z przerwania) - tym wszystkim zajmuje się sam FreeRTOS. W Twoim przypadku następowało przepełnienie stosu, bo kompilator odkładał rejestry przy wejściu do przerwania,...
Pierwsze 4 zmienne mogą być przekazywane przez rejestry.
Nie rozumiem ci oznacza : "Takie coś pokazuje mi się podczas debugowania: " Sprawdź co jakiego typu jest to HF gdzie jest jego źródło. https://www.freertos.org/Debugging-Hard-... Jeżeli nie wiesz jak to ruszyć to zainstaluj sobie atollic-a - tam masz plugin, który odczytuje rejestry i robi pokazuje to już w sposób...
Aha. Ciekawostka - w rodzinie STM32 zatrzymując tok programu debuggerem - no teoretycznie powinniśmy zatrzymywać cały procek. JEdnak nie - na wyjściu PWM nadal mamy prawidłowy sygnał - timer kontynuuje pracę. Działa też DMA. Cuda wianki. Jeśli jeszcze o tym nie wiesz, to zainteresuj się rejestrem DBGMCU->CR 4\/3!!
w pliku LCDConf.c funkcja LCD_X_Config powinna zawierać: // // Orientation and offset of SEG/COM lines // Config.Orientation = DISPLAY_ORIENTATION; Config.RegEntryMode = 0x00; GUIDRV_FlexColor_Config(pDevice, &Config); kluczowa jest właściwa orientacja zgodna Config.RegEntryMode - jest to wartość wpisywana do rejestru kontrolera SSD decydująca o sposobie...
NVIC_ClearPendingIRQ(USB_IRQn) nic nie da w tym przypadku. Należy wykasować flagi w rejestrze USB interrupt status register (USB_ISTR) , ale jeśli to zrobisz samodzielnie funkcja HAL_PCD_IRQHandler(&hpcd_USB_FS) może już nie działać właściwie ponieważ w zależności od stanu tych flag są podejmowane odpowiednie działania. Jak wskazuje sama nazwa tej...
Wiem, że nie jest to najprostszy sposób przedstawienia problemu z funkcją vTaskDelayUntil(), ale w żadnym innym miejscu, w którym z niej korzystałem problemu nie było. w najbardziej trywialnej wersji: [syntax=c]void vfoo_Task(void * pvParameters){ portTickType xLastFlashTime; xLastFlashTime = xTaskGetTickCount(); for(;;){ Clr_BUZZER; vTaskDelayUntil(...
jednak tak napisałem algorytm aby dane z termometru były czytane sekwencjnie w przerwaniach Testowałem również obsługę DS18B20 w przerwaniach w ESP32 na FreeRTOS i symulowanie krótkotrwałych zaników zasilania czujnika praktycznie zawsze generuje problem 85. Niezależnie od egzemplarza czujnika, który użyłem do testów. Ale coś musi być skopane skoro...
Zakładka Memory jest trochę lewa... Najlepiej zrób to za pomocą OpenOCD i telnetu: komendy: mww address value (zapis) mdw address (odczyt) 4\/3!! Dzięki! To działa, i niestety nie tylko ta zakładka jest lewa, cały debuging pod eclipse jest lewy :( Ciekawi mnie jak jest w innych środowiskach? Wywala mi się program pod FreeRTOSem i za cholerę nie mogę...
Wszelkie porty z neta w takim razie będą bez sensu ponieważ nie są używane odwołania do rejestrów tylko z reguły jest to jakaś bezsensowna biblioteka która zje większość flasha. Kod na ARMa powinien być bardzo zbliżony o ile nie mniejszy. Dla przykładu FreeRTOS z dwoma taskami na AVR mi zajął około 8kb a na STM32F1xxx zajmuje koło 3kb
No ale jaki jest w ogóle sens tego kodu? 1. Najpierw czekasz na zmienną którą ustawiasz w tej samej funkcji i ponoć nie masz przerwań (choć w komentarzach coś niby o nich piszesz), to po co czekać? (nie mówiąc już o tym, że się nigdy nie doczekasz poza pierwszym razem [może], gdyż nigdzie tej zmiennej nie zerujesz przy braku problemów) 2. Potem kopiujesz...
to może powinieś spróbować, lukni na załącznik, większość kodu masz napisane, wszystkie rejestry zmapowane, coś Ci brakuje to sam możesz dodać, patrz ile czasu oszczędza, masz stos usb, stos tcp, do każdego procka luminary masz własnie takie API i one jest open source. Wszystkie funkcje dostępne, mnie np brakowało ustawinie przerwania od ilości bajtow...
Witam Od tygodnia walczę z włączeniem ethernetu na stm32. Po wielu nieudanych próbach uruchomienia lwip oraz freertos musiałem zacząć od początku. W CubeMX konfiguruje ETH. Zmieniłem adres PHY i adresy rejestrów, poniewaz Cube ma złe adresy. Aktualnie myśle, ze MAC poprawnie komunikuje się z PHY, poniewaz podczas inicjalizacji eth podglądam wartość...
Witam, Od jakiegoś czasu zmagam się z komunikacją SPI pomiędzy dwoma procesorami stm32l452re. Transmisją i odbiorem danych zajmują się oba procesory. Wysyłam 6 bajtów po 16 bitów, co daje nam sumarycznie 3 przerwania. W taskach od FreeRtosa transmisja danych i sprawdzanie otrzymanych bajtów odbywa się w nieskończonej pętli while. Problem dotyczy tego,...
Witaj ponownie, W dokumentacji atmela znalazłem notę cyt: SRCMP: Software Reset Command in Progress 0 = No software command is being performed by the reset controller. The reset controller is ready for a software command. 1 = A software reset command is being performed by the reset controller. The reset controller is busy. Może warto by było sprawdzić...
Nie mam licznika DTSU-h ale sprawdziłem sobie o jakie rejestry pyta falownik. Na wyrywki sprawdziłem kilka sygnalow i wychodzi ze pyta tak jak w tym pierwszym screenie. Dodatkowo jakby ktos chcial miec odczyt nie tylko obsługiwanego licznika dtsu , moze sobie przekonwertowac mape rejestrow. Dodatkowo podczas dodawania w aplikacji licznika potrzebny...
Chyba nie do końca, ponieważ adres powrotu jest jednak w LR ponieważ instrukcją wyjścia z tej procedury jest: bx r14. Ale coś w tym jest że poprzez instrukcję: orr r14, #0xd modyfikuje się dodatkowo tryb pracy. Ale nadal nie rozumiem jak w tym r14 pojawia się właściwy adres - adres nowego tasku - do którego został procesor przełączony. Rozumiałbym gdyby...
Cześć, Od pewnego czasu borykam się z bardzo rzadkim problemem występującym w moim urządzeniu (STM32F105 z FreeRTOS). Czasami po podłączeniu zasilania / wybudzaniu z Wakeup / resecie SW występuje HardFault. Udało mi się odczytać wartości rejestrów procesoraw takim przypadku. Wszystkie ustawione są na 0: R0: 0 R1: 0 R2: 0 R3: 0 R12:...
LPC176x (czyli wersja 100-nóżkowa) posiada 4 timery, każdy z nich posiada po dwa wejścia: CAP0 i CAP1. Daje to max 8 wejść, czyli może się udać. Pokrótce wejścia CAP pozwalają zapisać aktualny stan timera (rejestr TC) w rejestrze CR0/CR1 w momencie zmiany stanu na takim wejściu. Pomiar szerokości impulsu PWM jest tym samym tak dokładny, jak często tyka...
Witam, Problem polega na tym, że po dodaniu do projektu bibliotek FreeRTOS'a i "poprawnym" jego skonfigurowaniu mam problem z SysTickiem i jego przerwaniem. Samo w sobie przerwanie działa poprawnie. Są zgłaszane przerwania co określony czas jednak taski nie są w stanie się przełączać. Planista ciągle siedzi w ostanio utworzonym tasku. Początkowo myślałem,...
Witam, chce wskoczyć do głębokiej wody ... Tylko proszę nie odradzać, już zadecydowałem. Zastanawiam się nad jedna rzeczą czy w tych systemach task'i można tworzyć dynamicznie, czy muszą być stworzone na poziomie kodu. Czy task musi się wykonać do końca, żeby procesor przeskoczył do następnego? Czy to działa jak przerwania czyli rejestry na stos i skok.......
Witam, Pierwszy raz ustawiam PWM na SAM7S64. Całość działa na FreeRTOS. Chcę ustawić PWM na kanale 0 (pinA0) o okresie 1sek. void audio_hw_conf(void) { // Confiugre PIO (Parallel Input/Output Controller). AT91C_BASE_PIOA->PIO_PDR = AT91C_PWMC_CHID0; // Enable peripheral function. AT91C_BASE_PIOA->PIO_ASR = AT91C_PWMC_CHID0;...
Witam! Męczę się od dłuższej chwili i nie mogę sobie poradzić z implementacją uIP (względnie lwIP) do mojego projektu. W skrócie to STM32103 + ENC424J600 po SPI, na SPI również karta. Całość pod FreeRTOS, soft pisany pod Eclipse + Codesourcery. Drivery od ENC przepisane z [url=http://code.google.com/p/avr-butter...
Siedzę nad problemem już kilka dni i nie mogę sobie poradzić. Do tej pory program ładnie chodził. Kiedy wzbogaciłem go o funkcje malloc zaczęły się schody. Jeśli załaduje to co napisałem do pamięci wszystko ładnie przechodzi. Jeśli zresetuję urządzenie to w następnym przebiegu program się wywala na malloc. Jeśli wgram jeszcze raz ten sam obraz to znów...
Witam W ramach zaliczenia mam do stworzenia projekt na bazie stm32f407 (płytka discovery) który będzie bazował na free rtos. Będą wątki sprawdzające stan przycisku[1], poziom napięcia[2] oraz wątek[3] tzw loga który będzie przez dma wyrzucał ciągi znaków przez porty szeregowy. Bez rtos sprawa wydaje mi się banalna lecz przy rtos mam wątpliwości merytoryczne....
Integracja, z tego zrozumiałem i widziałem Jeżeli piszesz o integracji freeRTOSa to ja jej nie widzę, a używam freeRTOSa z STMami w każdym projekcie. ST-Link V3 został zaprojektowany z myślą o pracy z systemami operacyjnymi Nie wiem z jaką myślą ale STLink gdb server nie ma wsparcia dla thread aware debugging. Tak przy okazji V3 jest tak samo wolny...
Zacznijmy od tego: co sie znajduje w rejestrze r3 przed instrukcja cmp? [syntax=asm]0010a09c: ldr r3, [sp, #4] // r3 = pParent 0010a09e: ldr r3, [r3, #8] // r3 = pParent->pNext[/syntax] Prawdopodobnie pParent->pNext wskazuje kosmos.
Witam, Mam problem z interfejsem UART1 w controllerze LPC1768. Oprogramowanie jakie napisalem bazyje na FreeRtos. Jeden z watkow (task) an LPC1768 obsluguje komunikacje z kontrolerem AVR przy uzyciu RS485 Half duplex. Komunikacja wyglada w porzadku zarowno wysylanie jak i odbieranie wiadosmosci z AVR. Po kilku godzinach pracy (6-12h) zawiesza sie odbieranie...
Bardzo dziękuje za wszytskie odpowiedzi. Nie znalazlem informacji ile zajmuje fizyczne uruchomienie (po skonfigurowaniu rejestrów i włączeniu) DMA do kopiowania M2M. Czy da się jakoś w prosty sposób to sprawdzić? Licznik sprzętowy? Poza tym troszkę źle opisałem problem. Chcę aby wzrosła wydajność całej aplikacji. Tak, żeby wątek który kopiuje sobie...
No to lecimy dalej void vPortISRStartFirstTask( void ) { c34:e52db004 push{fp} ; (str fp, [sp, #-4]!) c38:e28db000 addfp, sp, #0 /* Simply start the scheduler. This is included here as it can only be called from ARM mode. */ #warning "Tu się wykłada" portRESTORE_CONTEXT(); c3c:e59f004c...
Dzięki za pomoc. Widziałem już rtos'y z możliwością wywłaszczenia, ale myślałem że to to samo co ja znalazłem, tylko można ustawić priorytet dla "procesu" :D Znalazłem przed chwilą freeRTOS, tylko że rozmiar pliku jest zbyt wielki jak na moje łącze, bo mam limitowane, a ma on ponad 20 MB... A jak ten interpreter tak dokładniej zrobić? bo na pewno nie...
Nie przekonujecie mnie z tymi pullupami bo jak dobrze rozumiem, wielkosc rezystorow jest uzalezniona tylko i wylacznie od ustawionej predkosci a ja ustawialem juz bardzo male (swoja droga jezeli dobrze pamietam do na koncu datasheeta, w erracie jest informacja o bledach i ograniczeniach rejestru odpowiedzialnego za taktowanie transmisji TWI). Kleki:...
Po perwsze: NOP w ARM-ach to nie jest ten sam NOP co w AVR-ach. NOP nigdy nie dochodzi do execution stage w pipelene i jest discardowany natychmiast po pobraniu. Tak że zachowanie takiej sekwencji NOP-ów jest mocno niedeterministyczne. NOP-y używa się do paddingu a nie opóźnień. Przecież FreeRTOS to system operacyjny wielozadaniowy i cyklicznie jest...
Żaden kompilator nie umieści takiej zmiennej w rejestrze, skoro gdzieśtam potrzebny jest jej adres. Tak samo funkcje statyczne nigdy nie zostaną za-inline-owane jeśli gdzieś używane są ich adresy. Zdaje sobie z tego sprawę, że nie powinien tego robić, ale kompilator to tylko program. Bardzo podobną sytuację mam z FreeRTOSem, jesli podam adres zmiennej...
Dzięki. Program mi się wiesza na prvStartFirstTask(); na instrukcji svc 0 [syntax=c]SVC_Handler PROC EXPORT SVC_Handler [WEAK] B . ENDP[/syntax] NVIC trzeba jakoś skonfigurować? Chodzi mi o ten rejestr - Vector table offset register (SCB_VTOR). Dodam to co chcę uruchomić. [syntax=c] void vStartLedTasks( unsigned portBASE_TYPE uxPriority ){ xTaskHandle...
Jest sobie projekt wykorzystujący FreeRTOS. Jest zaimplentowana opcja tickless idle. Gdy nie ma nic do roboty w taskach, konfigurowane jest przerwanie z RTC a procek usypia za pomocą instrukcji wfi (wait for interrupt). Gdy przyjdzie przerwanie z RTC uruchamiana jest procedura obsługi tego przerwania a następnie kod jest przetwarzany od instrukcji wfi....
Pozycje w obcym języka są przydatne, ale dla tych, którzy już coś wiedzą na konkretny temat. Ucząc się od podstaw to tylko język ojczysty...(dla większości) Przejrzałem w/w pozycje - spis treści ładnie "wygląda" w pozycji "Mikrokontrolery STM32 w praktyce" - głównie interesuje mnie "instalacja i obsługa systemu operacyjnego FreRTOS". Ale patrząc po...
Raczej nic to nie zmieni. W funkcjach variadic float jest traktowany jak double (zajmuje 8 bajtów lub 2 rejestry), stąd problem. Kompilator dba o stos podczas pracy programu, ale to co dostaje na wejściu musi być wyrównane do 8-miu bajtów. Jeśli chcesz znaleźć źródło problemów, to olej na chwilę FreeRTOSa i po prostu w jakimś programiku zwykłym przetestuj...
Jeśli używasz stosunkowo "starego" newliba (starszy niż max kilka miesięcy, mogę dokładnie sprawdzić), to malloc() w wersji "nano" _NIE_ nadaje się do działania wielowątkowego choćbyś nie wiem co zrobił. W nowszych newlibach trzeba sobie przedefiniować dwie funkcje i dodać tam np. blokowanie mutexów. Inna opcja to przedefiniowanie malloc() i free()...
1. Wiemy podczas pisania programów na architekturę ARM programista decycyduje za pomocą skryptu linkera gdzie w pamięci leżą sekcje programu generowane przez kompilator. Najczęściej wygląda to w ten sposób: Nie do końca tak to wygląda dla ARM, choćby dlatego, że zwykle między flash a RAM jest spora "dziura", a więc między .rodata a .data na obrazku...
Witam temat w sam raz dla mnie(początkującego)- miałem w sumie podobne pytania, dużo mi się rozjaśniło. Przy okazji podepnę się pod temat, bo to chyba trochę zbliżone zagadnienia(Używam Eclipse, STM32F103RBT6, konfiguracja wg. strony FreddieChoppin(oprócz ustawienia ścieżek do plików-za chiny nie mogę tego zrobić i wszystko trzymam w glównym katalogu,...
Witaj, Zrobiłem kilka dużych projektów na tym STR912. Nie mam jednak kodu pod ręką więc napisze coś co Ci może pomóc a resztę wieczorem. ARM, ma dwie linie przerwań, jedna IRQ druga FIQ, i tyle. Ten VIC jest zewnętrzny i nie ma nic do ARMa. Trzeba więc mieć: 1) Handler do IRQ ARMa, zwykle assembler, poszukaj plików *.s a w nich czegoś o nazwie "Vector...
Witam. Mam następujący problem. Otóż, chcę w obsłudze przerwania od kanału 1 timera TIM1 ustawiać semafor, na podstawie którego wykonuje się jedno z zadań. Robię to w standardowy (chyba) sposób: // Obsluga przerwania od TIM1 void TIM1_CC_IRQHandler(void) { static portBASE_TYPE xHigherPriorityTaskWoken; xHigherPriorityTaskWoken = pdFALSE;...
Ok. Wyrzuciłem Uarta, zostawiłem tylko RTC i nadal nie działa. Piorytet ustawiony na 30. Semaphor musiał gdzieś przy usuwaniu komentarzy wyparować. Już jest. Nadal występuje problem z ustawieniem przerwań. Otóż (fragment z inicjalizacj RTC) http://obrazki.elektroda.pl/9562863900_1... [/img] vRTC (Handler) czeka na semafora, który teoretycznie...
LPC1768 posiada 32 priorytety czyli bity konfiguracyjne zajmują 5 bitów. Cortexy-M3 są zaprojektowane do obsługi 255 priorytetów ( 8 bitów), ale od producenta uC zależy ile bitów zaimplementuje. NXP dla LPC17xx przydzieliło 5 bitów. Każdy wektor przerwania ma swój rejestr do konfigurowania priorytetu i jest on 8 bitowy, z tym, że jeśli mamy zaimplementowane...
Ok, wszystko trzyma sie kupy, aczkolwiek wylazł mi jeden, wcześniej nie objawiony, zupełnie niespotykany i atakujący z zaskoczenia błąd. Problem polega na tym, że gdy zatrzymam rdzen na breakpointcie w wątku (lub przerwaniu), a potem puszczę go dalej (po prostu, nie step), to całość się natychmiast hardfault'ci. To samo dotyczy zwykłego stop'a rdzenia....
Jeśli te funkcje zwracają status, to proponuję sprawdzać jaki dokładnie - DATA_EEPROM_Unlock(), DATA_EEPROM_Lock(), a zapewne też przez FLASH_ClearFlag(). nic nie zwracaja, usatwiaja tylko rejestry Dodano po 25 Zapomnialem napisac o jeden ważnej rzeczy, wszystkie opisane problemy wystepują gdy program głowny jest wykonywany z pod adresu 0x8003000,...
Podłącze się do dyskusji... Bo właśnie męczę swój moduł systemu plików FAT, a wspominany FatFS wyżej znam doskonale ;-) W we wspominanym projekcie FatFS, sterownik karty wylicza opóźnienia odczytu zapisu na podstawie danych z rejestru CSD wg wzorów z dokumentacji technicznych kart ( pomijając fakt, że w dokumentacji SD radzą używać sztywnych czasów...
Bardzo serdecznie dziękuję wszystkim Kolegom za zaangażowanie i okazaną pomoc. Szczególnie mocno zaś chcę podziękować Koledze IS, który poświęcił mnóstwo czasu żeby pomóc mi na PW. Stos udało mi się odpalić. Zasadniczo wszystko ruszyło. Jednak pojawił się niepokojący objaw. Zrobiłem sobie stronę, w której umieszczona jest ramka iframe dynamicznie odświeżana...
Brak timerinit(), więc nie wiemy, co robi. A to co?: osThreadInit(); osKernelStart(); timerInit() zamieściłem w pierwszym poście, powtarzam: Dodano po 15 Buforowanie rejestru preskalera? Po konfiguracji rejestru TIMx_PSC dodaj ustawienie bitu TIMx_EGR_UG i daj znać czy pomogło ;) Dodałem to o czym piszesz: [syntax=c] void timerInit(void) { /* Włączenie...
Po uproszczeniu przypadku z którym mam problem i oddzieleniu go od RTOSa udało mi się znaleźć rozwiązanie (; Ale najpierw kilka obserwacji, które mogą się przydać na przyszłość Src Peripheral_UART0_TX_MAT0_0 |// select UART0 a przecież UART nie jest ŹRÓDŁEM tylko CELEM dla DMA. Po zmianie na: LPC_GPDMACH7->DMACCConfig = GPDMACHx_DMACCConfig_DestPeripheral_UART...
Cze, Od jakiegoś czasu rozwijam swoją konstrukcję sterownika do stacji pogodowej. Projekt robi się coraz większy i większy i w końcu dotarłem do etapu, w ktorym rozważam użycie jakiegoś RTOSa. Mam dużą bibliotekę własnego kodu obejmującą takie rzeczy jak kompleksowa obsługa komunikacji po USART czy I2C, mam pełną obsługę konsoli tekstowej. Do tego używam...
Witam, Jak mają się w tej kwestii wynalazki wielowątkowe typu FreeRTOS itp. Najwygodniej użyć jakiś OS. Teraz każdą, nawet drobną-testową rzecz, wykonuje z użyciem OS'a (CoOS) - przynajmniej jeden wątek do interfejsu z użytkownikiem (LED/LCD/Przyciski), kolejny(-e) do funkcjonalności. Sensowne rozdzielenie aplikacji wpływa korzystnie na przejrzystość...
SPL czy HAL HAL to następca SPL. Istotnym podtekstem tego zdania jest to, że SPL jest "dead", nie jest rozwijany i nic się w tej kwestii nie zmieni. MBED MBED to coś na styl Arduino dla ARMów. A przynajmniej takie odnoszę wrażenie. Są to biblioteki w większości w C++. CubeMX CubeMX to nie biblioteki, tylko program od ST służący do konfiguracji STM32...
więc pora wziąć się za USB i Ethernet(na początek wystarczy USB). No nie wiem czy to drugie nie będzie prostsze. Poza tym na USB atmel udostępnia gotowe źródła, więc to tylko zostaje zaadoptować do swojego kodu. Co do środowiska, to popatrz, potestuj. Każdy ma inny gust i każdemu co innego się podoba. A wybór jest szeroki: IAR, Keil, CrossWorks, WinAvr.........
Cześć, walczę od jakiegoś czasu z resetami mikrokontrolera. Generalnie historia jest ciekawa, bo mam sterownik, w którym siedzi STM32F103, mam poprzedni bootloader i firmware, na którym resetów nie ma, dodałem trochę swoich zmian, posprzątałem kilka rzeczy, które wypadły z użytku i coś zaczęło się sypać :-/ Na moje oko nie widzę z czym może być problem,...
Jeśli chodzi o wielozadaniowość to przykłądem może być rtos: http://www.freertos.org/ Jednak jeśli chodzi o jego implemementację na AVRy to wydaje mi się ze jest to trochę przerost formy nad treścią ( zbyt mała wydajność).
Ej, nie przesadzajcie - to było 2 lata temu... Pozatym asm które pokazałeś w zasadniczej części jest identyczne i POPRAWNE: 270: e24ee004 sub lr, lr, #4 274: e92d580f push {r0, r1, r2, r3, fp, ip, lr} [...] 2d0: e8fd980f ldm sp!, {r0, r1, r2, r3, fp, ip, pc}^ 1fc: e24ee004 sub lr, lr, #4 200: e92d500f...
No tak, tylko że on niewiele robi Nie chodzi o to co on robi, bo nie to jest tutaj celem. Przykłado-szablon ma na celu udostępnienie podstawowych plików potrzebnych do stworzenia sobie swojego własnego projektu - startup, tablica wektorów, skrypt linkera, makefile, ... ja właśnie przegryzam się przez przykład freertos_blinky z lpcopen_3_02_lpcxpresso_link2_4370.zip.....
Szukasz dziury w całym. Obsługa przez polling ma być prosta, bo czego tu oczekiwać? Wciskanie tam używania FIFO czy czegoś takiego - a po co? Będzie dzięki temu szybciej działało albo coś? Kod na pewno będzie większy i bardziej skomplikowany, ale coś mi się wydaje, że będzie działał dokładnie tak samo szybko - w końcu to wciąż tylko polling. Pisanie...
Witam, Opis zlecenia: Zlecę wykonanie termometru i higrometru w oparciu o DHT22 (może dotyczyć samego oprogramowania w C *) Wymagania: - musi działać jako I2C Slave, - działać pod kontrolą FreeRTOS, - mieć zapis do rejestru I2C parametru określającego częstotliwość próbkowania w zakresie Czas realizacji: Czas realizacji do indywidualnego ustalenia....
dałem ciała i przepisałem tylko od klamry do klamry, zapomniałem o najważniejszym " ISR_NAKED " w pierwszej linii, Kompilator z C generuje podobny kod z tym, że tutaj ważna jest kolejność instrukcji. Zauważyłem, że w tym kodzie są o dwie instrukcje za dużo więc można skrócić czas wykonania przerwania o 4 cykle (245ns(at)16MHz) muszę jeszcze sprawdzić...
Light-I ja nie twierdzę że wpływ niespełnienia warunku jest, czy nie jest istotny dla mocy procesora, generalnie chodziło mi o sprawy czasowe dotyczące testowania warunków co ściśle określony czas :). Jeśli realizacja 1 warunku zawiera 100 cykli, a jego niespełnienie tylko 1 cykl porównania. Kolejny warunek znów daje 100 cykli jeśli spełniony i 1 cykl...
https://obrazki.elektroda.pl/8694458700_... Pierwszy raz Ambiq Micro zaprezentowało mikrokontroler Apollo w 2015 roku. Miał on oferować wydajność, jak Cortex-M4 przy poborze prądu na poziomie rdzenia M0+. Wszystko dzięki nowej technologii optymalizacji pracy, która pozwolić miała na pracę systemu przy bardo niskim napięciu - poniżej...
Witam! Piszę program pod STM32 & FreeRtos & LwIP & FreeModbus. To tak w skrócie. Jestem na etapie takim, że działa mi generalnie wszystko ładnie, bezproblemowo działa Modbus/TCP ale do czasu. Z reg. po jakiś ~5tyś (ale może to i być 20tyś lub 100) odpytań (czyli sekwencji pytanie o rejestry, odpowiedź) całość się wykrzacza. W Wiresharku...
Witam. Używam mikrokontrolera coldfire mcf52235 freescalea, pisząc w eclipse Codewarrior. Mam tam system operacyjny freeRTOS. Problem pojawia się gdy w uruchomionym już tasku wywołuję pvPortMalloc(jest to wrapper do funkcji malloc dostarczonej przez producenta - ale thread safe). Okazuje się że w kodzie malloc używany jest rejestr adresowy a5, ktory...
Witam, mam trywialny pewnie problem z DMA dla przetwornika ADC, sam przetwornik działa, mierzy, lecz problem jest w tym, że DMA nie kopiuje danych do zaznaczonej przeze mnie tablicy, przesyłam pełną konfigurację, o czym zapomniałem? Konfiguracja ADC i DMA: Dodano po 51 Problem rozwiązany - warto zostawić dobrą radę dla potomnych - przy definiowaniu...
Naszym Klientem jest polska spółka z kapitałem niemieckim, będąca liderem na rynku w zakresie systemów bezpieczeństwa. Obecnie do Działu R&D poszukujemy osoby na stanowisko: Inżynier Elektronik – Programista systemów wbudowanych Miejsce pracy: Warszawa Główne zadania: - aktywny udział w opracowaniu koncepcji nowych urządzeń i systemów - samodzielna...
Witam! Sciagnalem sobie bilbioteke od ST do obslugi pamieci flash M25P64 i moj problem polega na tym, ze pamiec zapisuje i czyta dane tylko za pierwszym razem, odrazu po zainicjowaniu flasha. Biblioteka wyglada nastepujaco: spi_flash.h [syntax=c]/******************** (C) COPYRIGHT 2007 PROPOX ******************************** * File Name : spi_flash.h...
rejestry atmega8 atmega128 rejestry freertos biblioteka
zamiennik rozrusznika uszczelniacze zaworowe przygasa płomień
dobra antena pokojowa wykrywacz metali schemat
PuTTY nie wyświetla odbieranych znaków - przyczyny i rozwiązania Klawisz Backspace nie działa w Sony VAIO - przyczyny i rozwiązania