Write protection jest ustawiany przez tzw. Option Bytes - najłatwiej chyba będzie go (jednorazowo) usunąć poprzez bootloader i programi Flash Loader Demonstrator albo przez JTAGa i OpenOCD - są specjalne komendy do tego celu. W nocie od ST - PM0042 Reading/programming the STM32F10xxx embedded Flash memory - jest opis sposobów odblokowania, u mnie strona...
https://obrazki.elektroda.pl/2553827400_... Cześć, pod tą niecodzienną nazwą tematu prezentuję projekt małego, automatycznego odtwarzacza muzyki do umilania posiedzeń na toalecie. Oczywiście to jedno zastosowanie, w innych sytuacjach pewnie też może się przydać ;) Głównym założeniem była niewielka złożoność, banalny interfejs, bezobsługowość...
Dopisz do konfiguracji coś takiego: -c "reset_config none; ..." I użyj normalnej komendy "reset init". Nie wiem też absolutnie po co Ci to "mww 0xE000ED0C 0x05fa0004" ale obstawiam że powinno być usunięte. Przy okazji - w nowych OpenOCD jest taka nowa "uproszczona" komenda do programowania, nazywa się "program" - info jak używać w manualu. 4\/3!!
rozwiazanie jest proste, ale niezbyt dobrze udokumentowane chodzi o to, ze openocd po przetworzeniu wszystkich plikow ktore mial podane w wywolaniu automatycznie przechodzi do ich wykonania. dopiero wtedy mozna wydawac mu komendy takie jak przez telnet. aby go zmusic do inicjalizacji wczesniej, nalezy wywolac komende init mozna to zrobic tak: openocd...
Przydałoby się jeszcze 2 rzeczy: 1. zmniejszyć FLASH o odpowiednią wartość, tak aby na siebie nie najeżdżały - możesz od LENGTH odjąć ile tam potrzeba ... LENGTH = 128k - XXX 2. Dodać profilaktycznie } > VAR AT > VAR Tym sposobem skrypt linkera będzie w 100% poprawny. Jeśli nadal będą jakieś błędy, to już nie po stronie linkera. Jeśli dalej coś nie...
Skonfigurowalem Eclips tak aby wspolpracowal z openocd oraz gdb. Nie udalo mi sie jednak jak do tej pory zaprogramowac lpc2368. Poczytalem troche manula do openocd aby zrozumiec opcje konfiguracyjne ale mimo moich licznych prob dalej nie udalo mi sie wpisac programu do Flasha. Skompilowalem program demonstracyjny RTOSDemo dla lpc2368 i w efekcie dostalem...
Kurcze znowu bieda... Tym razem gdb w eclipse. Nie wiem czy dobrze wpisuję komendy w startup. Na razie chcę odtworzyć funkcjonalność programowania wsadu, wpisuję tak: monitor reset halt monitor reset init mon flash write_image erase unlock out/stm32f4_blink_led.hex Nic nie zaznaczam innego w tym oknie konfiguracji (start up). Eclipse wypluwa coś takiego:...
Próbuję za pomocą OpenOCD zaprogramować zewnętrzny flash SST39VF1601. Po trudach i bojach z kompilacją najnowszego snapshota OpenOCD (problem drivera niekompatybilnego z ARMv7M w 'oficjalnych' wersjach) w zasadzie wszystko już działa, z tym że pamięci zaprogramować nie mogę. Próbuję na dwa sposoby : flash protect 0 0 1 off flash erase_sector 0 0 1 load_image...
Od jakiegoś czasu próbuje wgrać program przez JTAG'a używając OpenOCD i GDB. Niestety program albo nie trafia gdzie powinien albo w ogóle się nie wgrywa. Przy zaprogramowaniu uC przez FlashMagic debugowanie kodu działa bezproblemowo. GDB jest z wersji CodeSourcery 2010q1 (najnowsza w ogóle nie działa). Dane z OpenOCD Open On-Chip Debugger 0.4.0 (2010-12-28-14:49)...
Witam, Udało mi się uruchomić STM32 z OpenOCD przez Wigglera. Problem mi jedynie sprawia debugowanie programu w Eclipse. Program ładuję przez Makefile , wszystko wygląda ok: D:\Projekty\ARM\project>cs-make program "Programming with OPENOCD" openocd -d0 -f interface/parport.cfg -f target/stm32.cfg -c init -c "fast enable "...
NAME = demo_at91sam7_blink_flash # variables CC = arm-elf-gcc LD = arm-elf-ld -v AR = arm-elf-ar AS = arm-elf-as CP = arm-elf-objcopy OD = arm-elf-objdump CFLAGS = -I./ -c -fno-common -O0 -g AFLAGS = -ahls -mapcs-32 -o crt.o LFLAGS = -Map main.map -Tdemo_at91sam7_blink_flash.cmd CPFLAGS = --output-target=binary ODFLAGS= -x --syms OBJECTS = crt.omain.o...
Witam, Programuje ten mikrokontroler w środowisku Eclipse. Program wgrywam za pomocą OpenOCD 0.5.0 bezpośrednio wpisując parametry w wierszu poleceń. Już na samym początku zauważyłem że po kompilacji pliki hex mają dużą wartość. Identyczny program skompilowany przy pomocy Keila zajmuje 9kB natomiast skompilowany w Eclipsie 18kB. Po wgraniu tegoż programu...
Witam, Uzywam ARMa firmy ST str711. Mam napisany bootloader pochodzacy z pewnego zrodla i dzialajacy na 100%, ktory po zaladowaniu przez JTAGa (Open OCD), umozliwia programowanie uC przez UART0 do 5 sekund po resecie. Bootloader laduje pliki bin bez zadnych problemow, tyle ze uC nie wykonuje zawartego w nich programu. W celu weryfikacji zainstalowalem...
Znalazłem w sieci gotowca, działa: [syntax=cpp] # NXP LPC812 Cortex-M0plus with 16kB Flash and 4kB Local On-Chip SRAM, # Nemuisan's Special # set LPC812 Information set CHIPNAME lpc812 set CPUDAPID 0x0BC11477 set CPURAMSIZE 4096 set CPUROMSIZE 16384 set CPUVARIANT lpc800 #Include the main configuration file. source [find target/lpc11xxx_8xx.cfg]; $_TARGETNAME...
Witam Mam problem z debugowaniem i programowaniem mikrokontrolera STM32F103VE. Używam plików udostępnionych na stronie FreddieChopina. Problemów jest kilka: 1. Nie da się zaprogramować mikrokontrolera. Wcześniej przy openocd 0.4.0 cały czas po resecie występował Hard Fault. Teraz zainstalowałem 0.5.0 i już tego nie ma, za to próba wgrania pliku ELF...
czesc, Nie moge zmusic JTAGa do pracy. Uzywam a) Yagarto Toolchain do kompilacji b) OpenOCD do programowanie Probuje zaprogramowac AT91SAM7S256 (text on chip AU without number). Uzywam plyty ewaluacyjnej ZL11ARM modulu ZL12ARM. Posiadam KrisTech USB JTAG (UsbScarab2). Moge zaprogramowac flash programem SAM-BA v1.1 (ale juz nie wersja pozniejsza) po...
Dzięki, nie wiedziałem o tych zasobach :D Postawiłem wersję 0.5.0 i żeby nie było za łatwo to znowu problem :P OpenOCD łączy się z prockiem ładuje program i niby wszystko ok ale problem jest przy debugowaniu. Odpalam OpenOCD : Open On-Chip Debugger 0.5.0-dev (2010-08-29-17:07) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge...
Witam, próbuję już drugi dzień zmusić OpenOCD do debugowania programu dla LPC1114 po SWD. Znalazłem w internecie skryp do OpenOCD Open On-Chip Debugger 0.6.0-dev (2012-12-13-17:20) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/d... Info : OpenOCD runs in SWD mode 1 kHz adapter_nsrst_delay:...
Do Freddiego: Pobrałem Twoją wersję blink do LPC1114. Teoretycznie pasuje mi bez zmian do LPC11C24. Jednak debug (Linaro4.8, openOCD 0.9.0 od ciebie) nie jest wstanie przejść przez startup - dochodzi do polecenia 'isb' (zaraz na początku) i ląduje gdzieś w sekcji bootloadera (0x1fff0e4a). Sprawdziłem też inne kombinacje (CMSIS + startup pobrany z innych...
Witam, Korzystajac z .text .global _start _start: (at) Label, not really required mov r0, #5 (at) Load register r0 with the value 5 mov r1, #4 (at) Load register r1 with the value 4 add r2, r1, r0 (at) Add r0 and r1 and store in r2 stop: b stop (at) Infinite loop to stop execution 2. Kompilacja: $ arm-none-eabi-gcc -o program pierwszy.S $ file...
I have a same problem. I use olimex board with procesor LPC2919. I am not able to write to the flash. 2000 kHz trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain jtag_nsrst_delay: 200 jtag_ntrst_delay: 200 use of EmbeddedICE dbgrq instead of breakpoint for target halt enabled dcc downloads are enabled Info : max...
Mam problem z zaprogramowaniem. jtag_khz dałem na 5 > str9x flash_config 0 4 2 0 0x80000 > poll background polling: on TAP: str912.cpu (enabled) target state: halted target halted in ARM state due to debug-request, current mode: Undefined cpsr: 0x000000db pc: 0x0000017c target state: halted target halted in...
Witam, od kilku dni nie moge skonfigurować opneocd 0.2.0 aby mozna bylo zaprogramować procka z Eclipsa. W H-Jtag wszystko dziala ok (wykrywa i programuje flash). plyta i programator(wiggler lpt) tak jak w tytule proc at91sam7s256 Moja konfiguracja jest następująca: wiggler.cfg: # daemon configuration telnet_port 4444 gdb_port 3333 tcl_port 6666 # tell...
Witam arus85lbn naspisał: Nie wiem o co dokladnie chodzi, moze musze najpeirw jakos wgrac program do pamięci procka aby rozpocząć debugowanie? To zależy czy debugujesz w ramie czy we flash. Jeśli we flashu to program musi tam być żeby go debagować. Spróbuj najpierw wgrać program do flasha i napisz jakie masz błędy. Twój cytat: JTAG tap: sam7s256.cpu...
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...
Na wstępie zaznaczę że mam świadomość że temat o który pytam jest dosyć archaiczny ale muszę po kimś poprawić kod a najlepszym sposobem na to jest chyba debug. Procesor z którym mam do czynienia to lpc2129 już nie wspierany przez oficjalne oprogramowanie producenta. Mój problem jest związany z programowaniem i debugowaniem. Na początek programowanie,...
flash write_image erase c:\lab1.hex 0x08000000 bin 1. Programujesz plik hex, a OpenOCD zmuszasz do traktowania tego jako bin... od razu porażka 2. W ogólnym przypadku plików NIE WOLNO przesuwać o offset. flash write_image erase c:\lab1.hex - TYLKO Pozatym prędkość 5kHz? Bez przesady - daj 1000kHz (1MHz). 4\/3!!
Na szybko obstawiam, że problemem może być zupełnie gdzie indziej. Otóż REALNY adres pamięci flash w mikrokontrolerze AT91SAM7S64 to nie 0, a 0x00100000 (http://www.keil.com/dd/docs/datashts/at... - strona 14). OpenOCD zapewne właśnie dlatego zgłasza następującą uwagę: Warn : no flash bank found for address 0 Warn : no flash bank...
Takie coś musisz umieścić oprócz oczywiście konfiguracji i innych komend -c "dump_image backup.bin 0x8000000 0x80000" a przywrócenie, żebyś drugi raz nie pytał -c "flash write_image erase backup.bin 0x8000000 bin" Poprawiłem wielkość flasha 0x80000 = 512kB
Ja mam tylko target remote localhost:3333 monitor reset halt lub target remote localhost:3333 monitor reset halt #load monitor flash write_image erase main.bin 0x08000000 bin load działa ale mam przypadek gdzie muszę użyć tego drugiego
A jak to zrobić z Wigglerem niestety nie. A ja jestem zbyt ciemny żeby samemu do tego dojść. Zmień wszędzie "-f interface/jtagkey.cfg" na "-f interface/parport.cfg" i z grubsza tyle. Widzę że w pliku parport.cfg jest też inny port dla gdb, więc zamiast 3333 trzeba wszędzie wpisywac 2001 (albo zmienić w cfg). Cała filozofia. Już samo wpisywanie komend...
Masz źle skonfigurowany debugger. Ściągnij sobie dowolny przykład (choćby ten dla STM32F4) i zobacz jak tam jest skonfigurowane. Jeśli chcesz TYLKO programować to można to zrobić samym OpenOCD - info w manualu - szukaj komendy "flash write_image ..." 4\/3!!
To powinno zadziałać: openocd.exe -f board/stm32f4discovery.cfg -c init -c targets -c "reset halt" -c "flash write_image erase ${project_name}.elf" -c "verify_image ${project_name}.elf" -c "reset run" -c shutdown
Nie widząc gdzie wpisać load posłużyłem się h-jtagiem. Właśnie-gdzie i jak wpisać ten load i czy z jakimiś parametrami? Zerknij do mojego tutoriala o ARM toolchain - na końcu jest o debuggowaniu i tam właśnie jest użyta ta komenda. Używasz jej tylko przy GDB (debugger). Można też wgrać bezpośrednio - odpalasz OpenOCD, odpalasz telnet i używasz komendy...
OpenOCD odpowiada tak: [syntax=actionscript] Open On-Chip Debugger 0.5.0 (2011-08-09-23:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bu... Info : only one transport option; autoselect 'jtag' trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain Runtime Error: cfg/flash.gdb:4: invalid command...
Ruszyło :) Wywołane w taki sposób: openocd -f interface/turtelizer2.cfg -f target/sam7s64.cfg (dla debugowania) openocd -f interface/turtelizer2.cfg -f target/sam7s64.cfg -f flash.script (dla programowania) Musiałem zmienić jedną linijkę w skrypcie kolegi arrevalk: flash write_image erase RTOSDemo/RTOSDemo.elf 0x0 nazwa pliku do wgrania:) i przede wszystkim...
"flash bank osk.u1 cfi 0x02000000 0x01000000 2 2 $_TARGETNAME" To włącza flash typu "CFI", więc jakby się uprzeć, to może typowa pamięć flash w ten sposób też zadziała, pod warunkiem że reszta parametrów jest OK (szczegóły do znalezienia w dokumentacji OpenOCD). W każdym razie do zapisu flash służą komendy o których wspomniałem wcześniej, czyli "flash...
Witam, używam JTAG-lock-pick od Freddiego. odpalam openocd -f jtagkey.cfg -f sam7x256.cfg -f flash.script gdzie jtagkey i sam7x256 są konfigami z openocd. flash.script wygląda następująco: init reset halt wait halt flash write_image erase RTOSDemo/RTOSDemo.elf 0x0 # program the onchip flash reset run # reset processor shutdown # stop OpenOCD log po...
No więc dodałem, ale w eclipse nie pomogło... Natomiast wgrywając przez OpenOCD: >flash write_image "C:\\stm32_blink_led.elf" 0x00 elf auto erase enabled wrote 2048 bytes from file C:\stm32_blink_led.elf in 0.501007s (3.992 KiB/s) Po tym radośnie miga diodką. Da się też debugować z poziomu eclipse. Natomiast(po wcześniejszym...
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...
Pierwsze pytanie - czy masz 100% pewności, że wgrany firmware jest dobry? Porada nr 1 - zamiast "reset halt" używaj "reset init" Porada nr 2 - są nowsze wersje OpenOCD niż 0.5.0 Porada nr 3 - jeśli Twoja płytka ma połączone sygnały TRST i SRST to uruchom OpenOCD tak: openocd -f interface/jtagkey.cfg -f target/stm32f2x.cfg -c "reset_config trst_and_srst;...
Wiesz co Freddie...aż wstyd mi się pytać, ale ja to nie mogę chwycić filozofii OpenOCD i jego komend. [syntax=bash]openocd -f /usr/local/share/openocd/scripts/interfa... -c "transport select swd" -f /usr/local/share/openocd/scripts/target/... -c "reset halt; flash write_image erase program.elf;"[/syntax] [syntax=bash]invalid...
openocd -f interface/jtagkey.cfg -f target/at91sam7sx.cfg -c "jtag_khz 1000" -c "init" -c "reset" -c "halt" -c "" flash write_image erase C:\AT91SAM7S256_inc .hex" -c "reset run" -c "shutdown" Prościej jest komendy podawać tak: -c "komenda1; komenda2; komenda3; ..." 4\/3!!
Coś ta komenda load nie funkcjonuje poprawnie. Wycinek z konsoli: 28 load &"load\n" load &"Error erasing flash with vFlashErase packet\n" 28^error,msg="Error erasing flash with vFlashErase packet" (gdb) Error erasing flash with vFlashErase packet program się nieaktualizuje natomiast komenda monitor flash write_image...
Przy uruchamianiu debugowania GDB sam może ładować program (opcja "load image" w zakładce startup konfiguracji debugowania). Wsad "produkcyjny" też możesz wgrać uruchamiając debug, tylko z konfiguracją release. No albo skonfigurować uruchamianie OpenOCD (zobacz polecenie flash write_image ).
a wywołuje to -f interface/OpenOCD.cfg -f target/lpc2368.cfg -c "init" -c "reset halt" -c "lpc2103_blink_led.hex" gdzie working directory w ustawieniach eclipse mam na katalog out w którym jest plik lpc2103_blink_led.hex. Czemu wyskakuje Unknown Command lub co robię nie tak? Bo wysłanie samej nazwy pliku nie wystarczy,...
Dodaj do wywołania OpenOCD (na końcu): -c "reset_config trst_and_srst;" albo -c "reset_config srst_only;" Możesz też na początek próbować programować układ bez GDB, bezpośrednio przez OpenOCD. Na końcu wywołania (po tym co powyżej), dodaj jeszcze: -c "init; reset init; flash write_image c:/jakas/nazwa/pliku.hex; reset run; shutdown;"
I jeszcze jedno pytanie, w Eclipsie trzeba pisać plugin aby jednym kliknięciem móc przy pomocy OpenOCD programować mikrokontroler? Nie trzeba. Wystarczy odpowiednio uruchomić sobie OpenOCD (External tools configuration) podając odpowiednie parametry. Przykład (dla LPC1758/59/68/69) : [syntax=bash]openocd -fc:\Programs\ARM\OpenOCD\bin\lpc1768.cf... -c...
Pomimo tego, że program debugowałem, po resecie nie zostawał on w pamięci flash. Mam teraz takie pytanie pod jaki adres należy wgrywać program do flasha?, piszę teraz skrypt do programowania i zatrzymałem się na wywołaniu komendy flash write_bank. Pozdrawiam Krzysiek
Wgrywanie jednak nie jest poprawne. Robie sobie prosty program do mrugania diodą, kompiluje go w Eclipse, programuje tego hexa i niestety nie działa procek, czyli coś jest nadal nie tak. Kompilowałem tego hexa także z Atmel studio dla upewnienia się...niestety po wgraniu przez OpenOCD nie działa procek :/ Przed komendą "flash write_image ..." należy...
openocd write flash write write flash
karta wyjść cyfrowych mikrokomputer samodzielnego palnik kotła
bateria macallister interfejs lexia
Panasonic DMR-BCT745 – jak podłączyć do TV, oglądać i nagrywać DVB-C/DVB-T2 Mały filtr w pompie wtryskowej Bosch, Delphi, Denso – lokalizacja i czyszczenie sitka banjo