Czy plik wygenerowany przez nowy projekt ale z dołączonymi bibliotekami HAL będzie dobry? W nim znajdują się już te przerwania. Dodaj tylko to co Ci napisałem. Znajdz w dokumentacji procesora gdzie w tablicy przyrwan jest ten EXTI15_10 - i tam zamiast zera wstaw nazwe seojego handlera. I to wszystko. Tu masz zresztą tę tablicę - policz sobie gdzie...
Jest to 3-stykowy dotykowy przełącznik ścienny Cozylife DS-1211AN. Naklejka na pudełku wskazuje, że został on wyprodukowany przez Shenzhen Dianling Intelligent Technology Co Ltd.. Niestety jest dostarczany z 1mb BL602, więc nie jest łatwym kandydatem do uwolnienia z usług chmurowych Cozylife, ponieważ OpenBeken nie działa na 1mb BL602. Jest to standardowy...
z identycznego urządzenia. boot out: https://obrazki.elektroda.pl/4722430100_...
Wywal w jasną cholerę tą bibliotekę! Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __use_two_region_memory ;wlaczamy wszystkie zegary :] ldr r0,= 0x00000557 ;r0: data ldr r1,= 0x40021000 ;r1: base addr: rcc reg ldr r2,= 0x14 ;r2: offset: rcc_ahbenr str r0,[r1,r2] ldr r0,= 0x000059fd ;data ldr r2,=...
Mam problem z tym call i ret mam taki kod: ldi R16, 0x00 Co jest źle? W przypadku procesorów AVR zawsze na sam początek musisz ustawić stos w odpowiednim miejscu w pamięci programu. Praktycznie każdy program więc zaczyna się (dla atmega32) od rozkazów ustawiających stos. Za manualem str 45: Address Labels Code Comments $000 jmp RESET ; Reset Handler...
W moim niekończącym się dążeniu do zbierania wszystkiego, zdobyłem jeden z tych neutralnych/nieneutralnych inteligentnych przełączników opartych na Bouffalo Labs BL602. Jest to jednokanałowy Cozylife DS-1321AL. https://obrazki.elektroda.pl/6106491400_... https://www.aliexpress.com/item/10050061... Model: Moduł przełącznika...
Jedna z tych żarówek była jednym z moich pierwszych zakupów w listopadzie 2023, ale przez przypadek zniszczyłem moduł DT-BL200. Od tego czasu kupiłem kolejny od Ali. Strona produktu już zniknęła https://vi.aliexpress.com/item/100500573... https://obrazki.elektroda.pl/1184122100_... Być może jest to ta sama żarówka CozyLife,...
Nie wiem jakiego procesora używasz. Ale w podręczniku użytkownika The boot loader code is executed every time the part is powered on or reset. The loader can execute the ISP command handler or the user application code. A a LOW level after reset at the P0.14 pin is considered as an external hardware request to start the ISP command handler. Wiec aby...
void show_as_bin(unsigned char liczba) { char tab[9]; cls(); for(signed char i=7; i>-1; --i) tab[7-i]=0x30 + ((liczba >> i) & 0x01); tab[8] = 0; lcd(tab); } Powinno działać. Cytuję za http://www.nongnu.org/avr-libc/user-manu... If an...
nikt nie pomoże??? W pliku boot.s masz: (at) (at) Setup vector table. (at) .section .startup,"ax" .code 32 .align 0 ldr pc, _start (at) reset - _start ldr pc, _undf (at) undefined - _undf ldr pc, _swi (at) SWI - _swi ldr pc, _pabt (at) program abort - _pabt ldr pc, _dabt (at) data abort - _dabt ldr pc, _start (at) reserved - reset ldr pc,...
Cofnij do tego, co na zdjęciu, utworzonego przez FRST. Zaraz wstawię fixlist. Po cofnięciu wykonaj poniższy fixlist: Skopiuj i wklej do notatnika: [syntax=text] CloseProcesses: CreateRestorePoint: EmptyTemp: Tcpip\..\Interfaces\{A20C950E-0BEB-4F7C-... [DhcpNameServer] 217.173.176.6 217.173.176.34 URLSearchHook: HKU\S-1-5-21-2000478354-1078081533-83952...
Odinstaluj: CrystalDiskInfo 8.3.1 Pobierz i zrób skan - usuń wszystko co znajdą (również z kwarantanny): https://pl.malwarebytes.com/adwcleaner/ https://free.drweb-av.pl https://pl.malwarebytes.com/ Przed wykonaniem poniższego zapisz swoją pracę. Skopiuj i wklej do notatnika poniższy tekst: [syntax=text] CloseProcesses: CreateRestorePoint: EmptyTemp:...
Wadliwe urządzenia w Menedżerze urządzeń: Name: AppEx Networks Accelerator LWF Description: AppEx Networks Accelerator LWF Class Guid: {8ECC055D-047F-11D1-A537-0000F8753ED1} Manufacturer: Service: APXACC Problem: : This device is not present, is not working properly, or does not have all its drivers installed. (Code 24) Resolution: The device is installed...
Masz jakieś problemy z Win Update, pobierz najnowsze paczki aktualizacji ze strony MS. Odinstaluj: 360 Total Security - na razie. CCleaner Pobierz i zrób skan - usuń wszystko co znajdą (również z kwarantanny): https://pl.malwarebytes.com/adwcleaner/ https://pl.malwarebytes.com/ Skopiuj i wklej do notatnika: [syntax=text] CloseProcesses: CreateRestorePoint:...
Odinstaluj: CCleaner Defraggler Pobierz i zrób skan - usuń wszystko co znajdą (również z kwarantanny): https://pl.malwarebytes.com/adwcleaner/ https://pl.malwarebytes.com/ Skopiuj i wklej do notatnika: [syntax=text] CloseProcesses: CreateRestorePoint: EmptyTemp: (Mail.Ru, LLC -> ) C:\Users\Kasia\AppData\Local\GameCenter\... (Mail.Ru, LLC...
Odinstaluj: McAfee Security Scan Plus Przed wykonaniem poniższego zapisz swoją pracę. Skopiuj i wklej do notatnika: [syntax=text] CloseProcesses: CreateRestorePoint: EmptyTemp: HKLM\Software\Microsoft\Active Setup\Installed Components: [{2D46B6DC-2207-486B-B523-A557E6D54B47}] -> C:\Windows\system32\cmd.exe /D /C start C:\Windows\system32\ie4uinit.exe...
A co się dzieje? Skopiuj i wklej do notatnika: [syntax=text] CloseProcesses: CreateRestorePoint: EmptyTemp: AppInit_DLLs: C:\windows\system32\nvinitx.dll => Brak pliku Startup: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\McAfee Security Scan Plus.lnk [2019-07-27] ShortcutTarget: McAfee Security Scan Plus.lnk -> C:\Program Files\McAfee...
Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...
Zmien AdBlocker Ultimate na uBlock Origin Obok frst.exe utworz plik Fixlist.txt z zawartoscia: Task: {255AC889-A7B7-4E4E-93F4-C7715792D61A} - System32\Tasks\f522acbe860fb3fa9fa3d5482... => powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File C:\Windows\f522acbe860fb3fa9fa3d5482349c... <==== UWAGA 2016-07-28 20:33...
A co z podpięciem TX? To chyba kolejny BK czy coś :D Próbowałem trochę przyspieszyć grę i zgadnijmy, nie widząc żadnych logów, ale... skoro pytasz... [0;32m1609473638 [I] [ doit_main] doit_mem_curr_used_size: 86848 mem_left_mini: 8658 [0mStarting bl602 now.... Reset cause 0: BL_RST_POWER_OFF Heap 129168(at)0x42020770,...
Wygenerowany jest bezpośrednio z CooCoxa Linkera tutaj nie ma chyba jest zaszyty w środowisku. Wersja CoIDE to: Version: 1.7.8 [syntax=c] /** ****************************************... * (at)file startup_coide.c * (at)author Coocox * (at)version V1.0 * (at)date 20/07/2010 * (at)brief M0 M3 Devices Startup code. *...
OK, więc moja taśma LED ma kolejność GRB = 4 piny plus. V+. Nadal nie mam 5-pinowej listwy. Dlatego oryginalny szablon we wcześniejszych postach jest błędny. https://obrazki.elektroda.pl/8215108700_... używając małej konfiguracji testowej, prawidłowy szablon samego kontrolera RGBW jest następujący: https://obrazki.elektroda.pl/1669760000_...
(at)mjleonard (at)pkaczmarek2 czy kiedykolwiek znalazłeś rozwiązanie dla „bl_romfs.c: 146] magia romfów NIE jest poprawna”? Mam SM-028_V1.3 z mini wyłącznika DIY 16A, który miga dobrze w DevCube 1.8.8/9 (stary błąd JEDEC ID w wersji 1.4.8 - nie rozpoznaje nowszej pamięci flash w BL602?) To jest mój dziennik rozruchu. Zapętla się. Używam zewnętrznego...
Spojrzałem przed rozpoczęciem na ten film. Oczywiście czujnik temperatury zasilany bateryjnie nie ma zewnętrznego zasilania 12V, więc nadal jestem bardzo zdezorientowany, jak sprawić, by się uruchomił . nie, rzeczywiście. 12 V to tylko zasilanie używane przez urządzenie w filmie. Nastąpi wewnętrzna konwersja do 3,3 V dla BL602. Aby zasilić czujnik...
Dla przypomnienia, kopia zapasowa działa, a oto dziennik debugowania. 2000000 bodów [syntax=text]Starting bl602 now.... Booting BL602 Chip... ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╔══██╗██║ ██╔════╝ ██╔═████╗╚════██╗ ██████╔╝██║ ███████╗ ██║██╔██║ █████╔╝ ██╔══██╗██║ ██╔═══██╗████╔╝██║██╔═══╝ ██████╔╝███████╗╚██████╔╝╚██████╔╝██████... ╚═════╝ ╚══════╝...
Obecnie jestem na fali z BL602. Dzisiaj zrobiłem 2-kanałową wersję powyższego, taką samą jak OP - KR0548-2CH-W. Ten sam proces, co mój poprzedni post, ale tym razem SM-028_v1.3 był zadowolony przy napięciu 3,4 V. w żadnym momencie nie ma pętli rozruchowych. zrzut fabrycznej pamięci flash i flash do OBK przy pierwszej próbie. Oto oryginalny log rozruchowy...
Kupiłem moduł XT-ZB2 BL702 Series. Jest on oparty na SoC BL702 i działa z Zigbee2mqtt bez modyfikacji, tak jak go kupiłem. Używam SLZB-06 + HA. Chcę wykonać kopię zapasową modułu flash do celów testowych - "Droga powrotna" do stanu pierwotnego. Próbowałem BLDevCube.exe, ale bez powodzenia. Żadne GPIO8 nie jest odsłonięte. Czy ktoś ma jakieś doświadczenie...
No ale jak zrobisz takie przyporządkowanie o jakim piszesz (bez podziału) to funkcja Reset_Handler ma adres w RAM, więc w tablicy wektorów będzie adres w RAM. Oczywiście zanim ten Reset_Handler się uruchomi, to w RAM nic nie ma - tak więc to nie ma prawa działać... 4\/3!!
(at)_lazor_ Reset Handler Raczej ciężko nazwać to przerwaniem.
Jeśli jesteś na tyle nieszczęśliwy, aby dostać Cozylife BSD48 z 1mb modułem BL602L10 DT-BL02, możesz łatwo przeszczepić do niego Beken CB2S lub WB2S lub dowolny z tych innych modułów https://templates.blakadder.com/ESP-02S.... W moim przypadku miałem zapasowy moduł ESP-02S (ESP8266 2mb), więc go użyłem. OpenBeken nie działa (obecnie?) na https://obrazki.elektroda.pl/1127040200_...
Udało się. Zanabyłem drogą kupna jeszcze jeden zegarek (przyszedł z uszkodzonym czujnikiem tętna, więc dostałem jeszcze jeden - w sumie trzy teraz mam ;)). Zgrałem z nowego oprogramowanie (oba banki) i wrzuciłem je na pierwszy. Po wydaniu komendy reset zegarek się uruchomił. Kilka uwag technicznych: - zamieszczam plik który jest zrzutem terminala podczas...
Drodzy wszyscy, Mam starsze "inteligentne gniazdo lampy" z chipem BL602. Udało mi się umieścić na nim OpenBeken, ale nie mogę połączyć się z moją domową siecią wifi. To jest bootlog, który ma kilka prób połączenia: [15:34:47.798] - C:BD:97:FB [ 0][[32mINFO [0m: hal_board.c: 955] country_code...
Jak uruchomić STM32 z FLASH by działał później w pamięci RAM. Dedykowane dla Keil: - plik startup_stm32f10x_xx.s Ułatwię niektórym czasu i szukania w necie rozwiązań flashowania z poziomu własnego bootloadera pamięci programu. Ja przyznam szczerze nie znalazłem żadnego opisu w necie, wobec czego napisałem własne rozwiązanie. Jako że asembler ARMów to...
http://obrazki.elektroda.pl/3207877000_1... http://obrazki.elektroda.pl/9634776400_1... http://obrazki.elektroda.pl/8673988800_1... http://obrazki.elektroda.pl/3005768300_1... Termometr z funkcją pamiętania maksimum i minimum (zapisane w rejestrach, tracone przy braku zasilania). Program...
Funkcja SystemInit jest wywoływana w obu przypadkach na początku main. Podałem ją w kodzie. Może tutaj faktycznie jest problem. Pliki startup.s Keila i Cube się różnią. Zauważyłem, że funkcja SystemInit jest wywołana w pliku dla Cube. Niestety te pliki to dla mnie czarna magia. Czytałem o nim artykuł waszego kolegi z elektrody. https://www.elektroda.pl/rtvforum/topic3...
Tak rzeczywiście zauważyłem właśnie, że main_stack_size był wyzerowany, więc przerwania nie miały prawa działać poprawnie. Jednak spróbowałem wpisywać jedną z kilku różnych wartości i w to miejsce i nie pomogło. Jak patrzę na tą tablicę wektorów w pliku vectors.c, to pierwszym elementem jest adres końca stosu, a potem jest reset handler itd. A jak patrzę...
Oto skrypt, którego próbowałem użyć. Nie przejrzałem go do końca w celu prezentacji i uważam, że jest w porządku, ale na wszelki wypadek, gdybyś chciał go umieścić w przykładach, oto on :) // A pulse-off script designed to reset a device once a day. // Based on the "advanced delay script" example script // See: https://www.elektroda.com/rtvforum/t...
Tylko tak dla ścisłości... Wektory przerwań używają rozkazu jmp (nigdy rjmp)... The most typical and general program setup for the Reset and Interrupt Vector Addresses in ATtiny2313 is: ..... 0x0000 rjmp RESET ; Reset Handler 0x0001 rjmp INT0 ; External Interrupt0 Handler 0x0002 rjmp INT1 ; External Interrupt1 Handler ..... Tak więc RJMP czy JMP zależy...
To jest startup: .section .vectors, "ax" .code 32 .align 0 .global _vectors .global reset_handler /***************************************... Exception Vectors ****************************************... _vectors: #ifdef STARTUP_FROM_RESET ldr pc, [pc, #reset_handler_address...
Witam, mam problem z implementacją projektu z załącznika (docelowo WinArm/miganie dioda) na CrossWorksie i mikrokontrolerze AT91SAM7X256(konkretnie SAM7-EX256 olimex.dev). Przy linkowaniu dostaje blad : Building “faty_z_ksiazki” in configuration “ARM Flash Debug” — 4 errors Assembling Cstartup.S Linking faty_z_ksiazki.elf...
Przypisania są w FreeRTOSConf.h zrobione tak jak było to w poprzednich wersjach FreeRTOSa: [syntax=c] #define vPortSVCHandler SVC_Handler #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler [/syntax] W port.c są zaimplementowane powyższe funkcje. Kawałek tablicy wektorów przerwań z startup_LPC17xx.c [syntax=c] /** *(at)brief...
Wydaje mi się że mnie plik wygląda okay [syntax=c] /** ****************************************... * (at)file startup_stm32f030xc.s * (at)author MCD Application Team * (at)version V2.3.0 * (at)date 27-May-2016 * (at)brief STM32F030xc/STM32F030xb devices vector table for Atollic TrueSTUDIO toolchain. * This module performs:...
(at)_lazor_ W tym wątku nie chodzi o to. Tłumaczyłem (at)PiotrLenarczyk że toolchain C musi robić wszytko to czego wymaga od niego standard wybranego języka - w tym przypadku C. Na pewno main jako reset handler nie spełnia tych wymogów. (at)PiotrLenarczyk mógł przez ten czas jak nie pisał poczytać trochę, uzupełnić wiedzę, zobaczyć dlaczego to co napisał...
Oczywiscie tak. Dodam ze uzywam programu System Workbench [syntax=c] /** ****************************************... * (at)file startup_stm32.s dedicated to STM32F103C8Tx device * (at)author Ac6 * (at)version V1.0.0 * (at)date 2018-04-06 ****************************************...
OK, sprawdzam tylko swój zdrowy rozsądek... Wylutowanie/demontaż przewodów wtykowych z płyty, aby uzyskać dostęp do złączy lutowanych modułu Wi-Fi, jest uciążliwe, ale zaletą jest to, że flashowanie usuniętego modułu Wi-Fi jest super niezawodne w przypadku konwerter buck, o którym wspomniałem. Zabłysło przy pierwszej próbie. Warto zauważyć, że musiałem...
Rzeczywiście wystarczyło to zaznaczyć i jest już lepiej, przynajmniej próbuje coś kompilować :) Niestety pojawił się kolejny problem, tym razem chyba trudniejszy do rozwiązania. GCC strasznie nie podoba się plik startup... [syntax=c];******************** (C) COPYRIGHT 2010 STMicroelectronics ******************** ;* File Name : startup_stm32f10x_hd.s...
Chyba tak jest, tutaj plik startup_stm32f10x_md.c [syntax=c]/** ****************************************... * (at)file startup_stm32f10x_md.c * (at)author Coocox * (at)version V1.0 * (at)date 12/23/2009 * (at)brief STM32F10x Medium Density Devices Startup code. * This module performs: * - Set the initial SP * - Set...
Ok, wydaje mi się że przewalczyłem ten problem. Tzn teraz mam plik *.ld (sam zedytowałem jakiś znaleziony w bibliotekach STM32) i dodałem tablicę wektorów znajdującą się w w pliku stm32f10x_it.c. (chodzi mi o to by wykorzystać biblioteki bez przeróbek). Wszystko się teraz ładuje do Flasha z tym że jak debuguję to procesor skacze po programie. Tzn wchodzi...
w ISR - robię (robiłem): void DMA2_Channel3_IRQHandler(void) { DMA_ClearITPendingBit(DMA2_IT_GL3 | DMA2_IT_TC3); Switch_DAC_Tables(); } miałem złe przeczucia dot. stosu(ów) i faktycznie jeden z problemów był ze stosem. mianowicie źle został zainicjowany PSP. Ostatecznie zrezygnowałem z kombinowania z drugim stosem wrócę pewnie do tego jak więcej poczytam...
U mnie tak to wygląda: /***************************************... Reset handler ****************************************... reset_handler: ldr r10, =REG_BASE /* Set up FLASH wait state */ ldr r0, =(50 << MC_FMR_FMCN_BIT_OFFSET) | MC_FMR_FWS_1FWS str r0, [r10,...
Zmieniłem : 2. change The initial stack pointer in the vector table: (void *)&pulStack[STACK_SIZE-1]... to (void (*)(void))((... long)pulStack + sizeof(pulStack)), w startup_stm32f10x_md_vl.c Dalej to samo. [syntax=c]/** ****************************************...
Witam. Aktualnie walczę z kompilatorem GCC non-eabi. Chcę utwożyć projekt w C++ używając własnego skryptu linkera, jednak po długiej walce nie mam już pomysłu na rozwiązanie. W jaki sposób skonfigurować kompilator, linkera oraz skrypt linkera tak abym mógł własne tablice zdefiniowane w plikach .cpp wstawić w wybrane prze zemnie miejsce w pamięci? Wersja:...
Masz źle skonfigurowany sprzęt, ponieważ włącza ci się bootloader i właśnie dlatego program bez JTAGa nie działa, właśnie dlatego działa tylko jeśli w sesji go załadujesz. Adresy od 0x7FFFD000 do 0x7FFFFFFF są zarezerwowane dla booloadera, który odpala się jeśli jakiś tam pin po resecie ma konkretny stan. Manual, 19.5: The boot loader code is executed...
Witam. Od pewnego czasu bawię się STM32. Starając się przejść na nieco wyższy poziom niż klepanie w C na AVRach a przy okazji zrozumieć 'bebechy' SMTów - nie używam bibliotek - trochę korzystam z poradnika szczywronka, trochę z przykładów Freddiego, trochę z innych rzeczy znalezionych w sieci, wydrukowanego RM i tak dalej. Mam takie pewnie trywialne...
https://obrazki.elektroda.pl/3305421000_... Ostatnio trafiłem na czujnik tętna oparty o element fotoelektryczny. Testując czujnik UV z cyfrowym interfejsem Ostrzeżenie: Tego typu tanie czujniki "medyczne" nie mają nic wspólnego z prawdziwą elektroniką medyczną, prezentuję tutaj efekty własnych prób podejmowanych na własne ryzyko, osoby...
Program zachowuje się gdyby chciał a nie mógł skorzystać z SysTick_Handler. Najpierw kod: http://obrazki.elektroda.pl/6717645500_1... Przy zmniejszeniu ilości taktów na przerwanie w systicku i debugowaniu po kroku przerwanie w ogóle nie występuje. A gdy przy w/w kodzie ma być wywołane przerwane (via step to line) program wiesza się w...
GPIOA->BSRR |= GPIO_BSRR_BS5; To nie źródło problemu ale tak się tego rejestru nie używa. To jest write only rejestr czyli tylko samo przypisanie Zgadza się, dzięki :) Co do głównego problemu, punkt 1. Użyj debugera okazał się bardzo pomocny :) Założyłem, że skopałem coś w Makefile (np. brakuje jakiejś flagi) i podczas debugowania nic ciekawego...
Tak więc jeśli Twój program, po podobnym przesunięciu nie działa prawidłowo, to trzeba się zastanowić, czy on w ogóle działa prawidłowo (; Bez przesunięcia na pewno działa prawidłowo :) No to niezły kwas, muszę to przetrawić :) Uznanie dla umiejętności. Dodano po 14 To na pewno chodzi o kopiowanie tablicy wektorów na początek. Jak wstawić do mojego...
Dodano po 31 Kiedy debuguje program, krokowo, zaraz po a = 124; z linii b = log10(a); wskakuje do nieskończonej pętli - void HardFault_Handler(void). Tak jakby sam adres procedury wywoływał błąd sprzętowy.
Gdzie tablca jest zdefiniowana zależy od toolchaina. Możesz mieć np coś takiego w pliku vectors..... [syntax=c]__attribute__ ((section(".isr_vector"),used)) pHandler __isr_vectors[] = { // Cortex-M Core Handlers (pHandler) &_estack, // The initial stack pointer Reset_Handler, // The reset handler NMI_Handler, // The NMI handler HardFault_Handler, //...
Troszkę irytował mnie kod startowy jaki zaproponował KEIL dla mojego mikrokontrolera LPC2318. Postanowiłem więc okroić go do niezbędnego minimum. Z tego co poczytałem dokumentację, wynikało iż najważniejsze jest ustawienie adresów stosów dla poszczególnych wyjątków, ustawienie sterty (jeżeli takowej będziemy używać), ustawienie mapowania pamięci, inicjalizacja...
Zauważyłem, że jezeli w procedurze odblokowania opuszcze krok wyłączenia i włączenia zasilania, to kiedy zrestartuje openocd, to mogę się połączyć przez telnet, tylko dalej coś jest nie tak bo np. zgłasza błąd przy poleceniu reset halt > reset halt 500 kHz cortex_m3 reset_config vectreset Resetting Core Peripherals JTAG tap: lm3s.cpu tap/device found:...
Może za krótko czekasz po włączeniu zasilania i próbujesz komunikować się/inicjalizować zewnętrzne urządzenie zanim zdąży zakończyć sekwencję POR. Mogę tylko gdybać bo nie wiem co masz do tego uC podłączone, ale widać że jakieś magistrale szeregowe masz wyprowadzone. No ale koniec sekwencji POR oznacza wykonanie kodu z Reset Handler ? [syntax=c]int...
Domyślne, nie zmieniałem niczego. Skrypt linkera: [syntax=asm] /* Entry Point */ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = 0x20004000; /* end of 16K RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0; /* required amount of heap */ _Min_Stack_Size = 0x80; /* required amount of...
Witam, Mam problem z debugowanie procesora LPC2478. Środowisko: postawione zgodnie z tutorialem ze strony Freddiego Chopinna czyli Eclipse (helios edition with HDT hardware debugging) + OpenOcd + Code Sourcery Lite edition Procesor: ARM NXP LPC2478 z kwarcem 12MHz Aplikacja: Na tym etapie mrugająca diodka na timeocie opartym o przerwanie timer0, PLL...
pliki vectors.s i startup.s mam od Ciebie /***************************************... * author: Freddie Chopin, http://www.freddiechopin.info/ * file: vectors.S * last change: 2010-04-08 * * chip: LPC2103 * compiler: arm-none-eabi-gcc (Sourcery G++ Lite 2009q3-68) 4.4.1 * * description:...
Hej Freddie, tym razem to już mam poważny problem i proszę Cię o pomoc. Problem mam cały czas z przerwaniami. Nigdy mi w sumie tak naprawde nie zadziałaly na tym projekcie od stm. Przerobiłem Twoją tablice wektorów przerwań: /** \file vectors.c * \brief STM32 (STM32F101 - STM32F103) vector table and __Default_Handler() * \details STM32...
Tak na szybko to powinieneś mieć plik prawdopodobnie o nazwie startup, w którym umieszcza się wektory obsłygi przerwań wyglądający jakoś tak: [syntax=c] //Interrupt vector table __attribute__ ((section(".isr_vector"))) void (* const exceptions_vectors[])(void) = { &_estack, // The initial stack pointer reset_handler, // The reset handler unused_vector,...
michalko12: Zmieniłem xHandleTaskLED1, xHandleTaskLED2 na static, ale nic to nie pomogło. xLastFlashTime nie można: error "initializer element is not constant". W keilu żadnej tej zmiennej nie miałem jako static a program działał więc podejrzewam, że nie tu jest problem. Dodano po 4 Smashing: Jak wrzucam Twój program do Eclipsa to się nawet nie kompiluje...
Witam temat podobny do http://www.elektroda.pl/rtvforum/topic23... Lecz sprawa wygląda troszkę inaczej. Z racji tego, że atollic udostępnił wersję litte postanowiłem przesiąść się z keila. Dotychczas korzystałem z example usb hid na keila. W Atollicu skonfigurowałem sobie nowy procesor, wrzuciłem kod z uvision i po małych przeróbkach (dostosowanie...
Nie wiem z czym masz dokładnie problem, ale bawiąc się kiedyś w asm napisałem program zmieniający wypełnienie na PB1 (OC1A) w zależności od wartości odczytanej z przetwornika A/C. Może okaże się Tobie pomocny: #include "m8def.inc" .def acc = r16 .def result = r17 rjmp RESET ; Reset Handler reti ;EXT_INT0 ; IRQ0 Handler reti ;EXT_INT1 ; IRQ1...
Próbuje uruchomić przerwania: vector.c wygląda tak [syntax=c]static void __Default_Handler(void) __attribute__ ((interrupt)); static void __Default_Handler(void) { while (1); } /* +=======================================... | assign all unhandled interrupts to the default handler +=======================================...
Wywala sie przy wyjsciu z przerwania 0x000013ac <ADC_IRQHandler+92>: pop {r4, r5, r6, pc} BUG: couldn't calculate PC of next instruction, current opcode was 0x5c002000 should never reach this point Dorzuce jeszcze moj plik startup: /* Startup code for STR91x ARM-based microcontrollers based on STR912 startup source and some examples from www.stm.com...
;sprobuj tak: .include "8535def.inc" .def temp = r16 ;bufor pomocniczy .def temp1 = r17 ;jak wyzej... .org 0x000 rjmp RESET;Reset Handler .org 0x006 rjmp TIM1_COMPA;Tmier/Counter 1 Interrupt handler .org 0x011 RESET: ldi temp, high(RAMEND) out SPH, temp ldi temp, low(RAMEND) out SPL, temp ;Ustawienie wskaznika stosu ser temp out DDRC, temp out PORTC,...
Strona to: www.brzesko.ws Nie ma wersji portable czy coś ani chrome ani firefox. Rezultaty skanu uzupełniającego Farbar Recovery Scan Tool (x64) Microsoft Windows 7 Service Pack 1 (X64) Tryb startu: Normal ==================== Centrum zabezpieczeń ======================== (Załączenie wejścia w fixlist spowoduje jego usunięcie.)...
No cóż nie ma co iść na łatwiznę. Wyszukałem projekt MIDI Merger 2 IN do 1 OUT. Problem w tym że ma tylko 2 wejścia. Toteż trzeba go rozbudować. Wrzucam schemat (dorysowałem gdzie myślę zrobić kolejne wejścia. Jest też kod do PIC16F88 obsługujący 2 IN. ; $Id: main.asm 224 2008-03-27 19:53:03Z tk $ ; ; Source Code of MIDI Merger ; ========================================...
Debugger coś mieszał. Podłączyłem ulinka i zaczelo śmigać... Ale mniejsza - teraz trafilem na znacznie gorszy error ;/ Mianowicie napisałem sobie ISRa który daje semafor funkcją xSemaphoreGiveFromISR(). Konfiguracja priorytetów 4:4. configMAX_SYSCALL_INTERRUPT_PRIORITY = 9 ISR ma priorytet 10 Grzebanie w NVICu jest w sekcji critical. Niestety funkcja...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego wszystkiego ogarnąć. Kompilatora używałem poprzez naciśnięcie "build". W ustawieniach...
Czołem! Chyba znowu utknąłem w bojach z STM32F2. Wysyłam taką komendę: openocd -f interface/jtagkey.cfg -f target/stm32f2x.cfg -c "init; reset halt; flash write_image erase out/test.hex; reset run; shutdown" i dostaję odpowiedź: Open On-Chip Debugger 0.5.0 (2011-12-03-10:15) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge...
Witam, jestem początkujący w programowaniu ARMów, więc proszę o wyrozumiałość. Mój problem polega na tym, że program nie wskakuje do przerwania IRQ. Oczywiście mam wyzerowane bity I_BIT i F_BIT w CPSR, ustawionego VIC'a i w startupie skok do VICAddress. Pracuję w środowisku Eclipse + najnowsze yagarto, czyli: Binutils-2.19.1 Newlib-1.17.0 GCC-4.3.3...
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':|...
Kiedy się podłączam pod Rx0/Tx0 niezależnie od ustawionego baudrate dostaję w Flash Magicu error "Failed to autobaud - step1" W jaki sposób podłączasz ? Masz wyprowadzone gdzieś P0.2 (TXD0), P0.3 (RXD0), dodatkowo P2.10 ? By wejść do bootloadera przez UART: The flash boot loader code is executed every time the part is powered on or reset. The loader...
Pojawił się kolejny mały już problem ale nie wiem jak go wyeliminować. Układ programuje mi się dobrze ale muszę ręcznie go restartować (stm32f4...). Wcześniej dla LPC2478 skrypt programujący miał formę: [syntax=actionscript] -f interface/jtagkey.cfg -f target/lpc2478.cfg -c "reset_config trst_and_srst separate;arm7_9 fast_memory_access enable; arm7_9...
Dobra, to ja się podczepię: odpaliłem w końcu semihosting, natomiast nie bardzo wiem, co zrobić ze skryptem linkera - bo nie do końca łapię pewne rzeczy: /* Linker script to place sections and symbol values. Should be used together * with other linker script that defines memory regions FLASH and RAM. * It references following symbols, which must be...
Witam, w końcu udało się , komputer widzi urządzenie jako HID, robiłem już pierwsze testy wysyłania i odbierania wiadomości i wszystko jest Ok, Stało się tak przez podmienienie startup oraz linkera. Trochę pochodziłem po necie w poszukiwaniu i znalazłem całkiem ciekawą stronę : http://gandalf.arubi.uni-kl.de/avr_proje...
Więc - na przykłądzie przerwania zewnętrznego: 1. Musisz zdefiniować w wektorze przerwań skok do obsługi tego przerwania którego chcesz używać - np. przerwanie zewnętrzne INT0 .cseg .org $0000 rjmpstart ;Reset handler .org INT0addr rjmpext_int0 ;External interrupt handler 2. pod etykietą ext_int0 musisz napisać podprogram obsługi tego przerwania nie...
Oto moj plik boot.S Wydaje mi sie ze wszystko jest ok, ustawiony jest teraz tryb Supervisor rozmiary stosu tez sie wydaja ok # *** Startup Code (executed after Reset) *** # Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs .equ Mode_USR, 0x1F .equ Mode_FIQ, 0x11 .equ Mode_IRQ, 0x12 .equ Mode_SVC, 0x13 .equ Mode_ABT,...
Problem udało się rozwiązać. Jest to program w tzw. "bare metal" tworzony w GNU Macro Assemblerze. Wygląda na to, że jako szablon wziąłem ustawienia z Blue Pill, a skoro działało z ST-LINK, to niczym się nie przejąłem. Dopiero teraz, gdy odłączyłem programator, okazało się, że to był błąd i Macro Assembler źle inicjował tablice wektorów dla STM32H7....
Witam, w projekcie wykorzystuje plik startowy generowany automatycznie (listing poniżej). [syntax=asm] ;/* STARTUP.S: Startup file for Philips LPC2000 */ ;/**************************************... ; Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs Mode_USR EQU 0x10 Mode_FIQ EQU 0x11 Mode_IRQ EQU 0x12 Mode_SVC...
Piszę na tym samym procesorze, tylko że w gcc. Mam zamiar wywołać zwykłe IRQ, jednak nie działa. Podejrzwam że odpowiada za to w startupie: .equ I_Bit, 0x80 /* when I bit is set, IRQ is disabled */ .equ F_Bit, 0x40 /* when F bit is set, FIQ is disabled */ # Enter IRQ Mode and set its Stack Pointer MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit MOV SP, R0 SUB R0,...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
Od trzech dni bawię się ARM AT91SAM7x256 i RTOS. O RTOS nie wiem nic. Analizując program z www.freertos.org doszedłem co gdzie zmienić żeby dane które chce pojawiały sie w przeglądarce na PC, może ktoś zna odpowiedzi na te pytania: 1. RTOS w AT91SAM i w ogóle "system czasu rzeczywistego" w mikrokontrolerach polega na wywoływaniu wewnętrznego przerwania...
Witam ponownie. Mam jeszcze pytanie. Ponieważ chciałem dodać obsługę: ETH_WKUP_IRQHandler i ETH_IRQn. Więc w pliku vaectors.c dodałem takie linijki: [syntax=c] // ETH Ethernet global Interrupt void ETH_IRQHandler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler"))); // ETH_WKUP Ethernet Wakeup through EXTI line Interrupt void ETH_WKUP_IRQHandler(void)...
Witam Próbowałem załączyć pętlę PLL na ARMie. Nie chce mi się załączyć i nie przechodzi przez warunek sprawdzania w PLLSTAT (while( !( PLLSTAT & (1 << 26) ) );). Przeglądnąłem dokumentacje i przykładowe kody. Ale dalej nie działa :) Oscylator 12MHz Fcc0 288MHz Podzielniki N=1 M=12 (do rejestrów wpisuje wartości mniejsze o 1) Spodziewane CCLK...
Witam, wartości podane w poprzednim kodzie były tylko przykładowe by sprawdzić działanie programu, enkodery z których korzystam to iduino prosty enkoder ze swichem lub enkoder dfrobot df400 za którym jestem bardziej ze względu na dokładność. Dogrzebałem się do przykładowego kodu który modyfikując chyba spełniłby moje założenia liczenia drogi, zawiera...
w kodzie użytkownika (at)ColinBrosseau jest tak: [syntax=c] void process_uart(){ /* Get received character from ringbuffer * uart_getc() returns in the lower byte the received character and * in the higher byte (bitmask) the last receive error * UART_NO_DATA is returned when no data is available. */ unsigned int c = uart_getc(); if ( c & UART_NO_DATA...
/***************************************... /* */ /* startup_SAM7S.S: Startup file for Atmel AT91SAM7S device series */ /* */ /***************************************... /* ported to arm-elf-gcc / WinARM by Martin Thomas, KL, .de */ /* <eversmith(at)heizung-thomas.de> */ /* modifications...
Dzięki za startupik jest fajnie opisany i napewno sie przyda z tym, że nie rozwiązuje on jeszcze mojego problemu. Chodzi o to, że w keilu funkcje przerwań wywolywane są poprostu poprzez określenie typu: np.: void podpr_obsl_przerw (void)__irq irq jest tu chyba jako makro asemblerowe tylko skąd to nie bardzo wiem pewnie ktoś mnie oświeci :D a teraz jak...
Na oscylogramie widać podstawę czasu przypadającą na działkę więc wrzuciłem aby ktoś porównał to z tym jak ma być, więc dlaczego twierdzisz że nie jesteś w stanie odczytać zależności czasowych? Co mi da wrzucenie przez kogoś swojego oscylogramu z działającej komunikacji? Ano to że wówczas dokonam właśnie porównania z timingami które ja mam u siebie...
Witam, Bazuje na projekcie ze strony Freddie Chopin dla stma F4 z dodanymi bibliotekami STM32F4xx_StdPeriph_Driver. Zdefiniowałem sobie konfigurację timer'a w następujący sposób: [syntax=c]void Timers_Config(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI... ENABLE); NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptio...
reset handler stm32 error handler freddie handler
formuła uruchamiający makro łącznik suszarka schemat pw3017
projekt układów elektronicznych projekt układów elektronicznych
VW Touran I/II – podłączenie impulsu drogi do taksometru, GALA, CAN, legalizacja taxi Wolna strefa indukcyjna – jak działa, budowa, marki Bosch, Siemens, AEG, Electrolux, Samsung