Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj siębit FOC0 a przerwanie (OCF0) w ATmega16 +
Moderatorzy:Jacek Bogusz, Moderatorzy
Witam.
Wstęp:
w dokumentacji mikrokontrolera atmega16 (jak rowniez sprawdziłem podobnie jest np. w atmega32) opisany jest sposób wymuszania zmiany stanu wyjścia pinu OC0 mikrokontrolera za pomocą wpisania bitu FOC0 w rejestrze TCCR0. Otóż atmel podaje, że wpisanie do FOC0 jedynki powoduje tą zmianę (co ma miejsce rzeczywiscie) oraz że flaga OCF0 nie jest zmieniana a tym samym układ nie wchodzi w przerwanie z tego powodu.
Problem:
Tak się składa że zarówno przy debugowaniu w avr studio 4.11 sp3 jak i w hardware widać że układ wchodzi w przerwanie, tz. pojawia sie nieszczesna flaga OCF0 ... czy jest na to jakiś sposób ? poza ręcznym kasowaniem flagi i np. blokadą przerwania ? czy może coś "wynalazłem" że tak sie dzieje....
pozdr
+5V
Wstęp:
w dokumentacji mikrokontrolera atmega16 (jak rowniez sprawdziłem podobnie jest np. w atmega32) opisany jest sposób wymuszania zmiany stanu wyjścia pinu OC0 mikrokontrolera za pomocą wpisania bitu FOC0 w rejestrze TCCR0. Otóż atmel podaje, że wpisanie do FOC0 jedynki powoduje tą zmianę (co ma miejsce rzeczywiscie) oraz że flaga OCF0 nie jest zmieniana a tym samym układ nie wchodzi w przerwanie z tego powodu.
Problem:
Tak się składa że zarówno przy debugowaniu w avr studio 4.11 sp3 jak i w hardware widać że układ wchodzi w przerwanie, tz. pojawia sie nieszczesna flaga OCF0 ... czy jest na to jakiś sposób ? poza ręcznym kasowaniem flagi i np. blokadą przerwania ? czy może coś "wynalazłem" że tak sie dzieje....
pozdr
+5V
Masz w 100% rację. Przypuszczam, że jest to skucha symulatora w AVR Studio. Nie martw się jednak bo pakiet ten zawiera więcej takich błędów. Jest to jeszcze jeden z powodów, dla których warto korzystać z JTAGa.
Acha, aby rozpocząć emulację trzeba programatorem szeregowym przełączyć w procesorze flagę JTAGEN. Inaczej JTAG nie będzie widział procka.
Pozdrawiam.
Acha, aby rozpocząć emulację trzeba programatorem szeregowym przełączyć w procesorze flagę JTAGEN. Inaczej JTAG nie będzie widział procka.
Pozdrawiam.
Cena nie jest wygórowana. Szkoda tylko, że uzyskasz za nią tylko trochę zmodyfikowaną, ale nadal starą wersję JTAGICE Atmela (mature product). Jak widać firma nie potrafi jeszcze zrobić podróbki aktualnego JTAGICEmkII. Cóż, pewnie znów czekają na artykuł w EP pozwalający im zrobić krok do przodu.
Pozdrawiam.
P.S. Jeśli kiedykolwiek odczytywałbyś zawartość flasha procesora umieszczonego w tym JTAGu to prosiłbym Ciebie o przesłanie mi tego kodu. W opublikowanym moim projekcie zrobiłem pewne zabezpieczenie softwareowe pozwalające odróżnić mój software od softwareu napisanego przez innych. Fajnie byłoby "złapać za rękę" firmę zżynającą cudze rozwiązania.
Pozdrawiam.
P.S. Jeśli kiedykolwiek odczytywałbyś zawartość flasha procesora umieszczonego w tym JTAGu to prosiłbym Ciebie o przesłanie mi tego kodu. W opublikowanym moim projekcie zrobiłem pewne zabezpieczenie softwareowe pozwalające odróżnić mój software od softwareu napisanego przez innych. Fajnie byłoby "złapać za rękę" firmę zżynającą cudze rozwiązania.
z tym odczytywaniem, to może być kłopot, mają zalane klejem silikonowym cześciowo, z dwóch stron płytki (SMT) spory glut kleju dolega do obudowy, jak działa to nie chce rozwalać. Ten klej to sposób montażu płytki do obudowy, bez niego by płytka wypadła na zewnątrz.
Poza tym odczyt z procka moze byc przecież zablokowany bitami bezpiecznikowymi ...
myslisz ze mimo fuse'ów to dało by sie jakoś odczytac układzik ?
Poza tym odczyt z procka moze byc przecież zablokowany bitami bezpiecznikowymi ...
myslisz ze mimo fuse'ów to dało by sie jakoś odczytac układzik ?
Eh, Panowie widzę, że jeszcze trochę musicie poczytać aby wiedzieć jak muszą być skonstruowane układy dające możliwość modyfikacji "wsadu".
Proszę jednak "bez obrazy" bo to nie jest jeszcze "wiedza powszechna".
Po kolei:
1. Nie wycieraj kleju bo szkoda tracić gwarancję. Bez problemu mogę poczekać aż ona minie. Ostatecznie program zawarty w procku nie zniknie, a nawet jeśli będzie modyfikowany przez AVR Studio to gwarantuję, że moje zabezpieczenie nie "wyparuje".
2. Układy dające możliwość modyfikacji "wsadu" nie mogą być zabezpieczone fuse bitami bo nie byłoby możliwości wpisania czegokolwiek do flasha bez jego skasowania. Kasowanie niszczyłoby bezpowrotnie program boot strap loadera, a to uniemożliwiałoby wpisanie nowego programu. Cóż, nie gniewajcie się za krótki wykład "belfra" bo warto o tym wiedzieć.
Na razie korespondencja ze mną będzie nieco utrudniona bo urlopuję się.
Pozdrawiam.
Proszę jednak "bez obrazy" bo to nie jest jeszcze "wiedza powszechna".
Po kolei:
1. Nie wycieraj kleju bo szkoda tracić gwarancję. Bez problemu mogę poczekać aż ona minie. Ostatecznie program zawarty w procku nie zniknie, a nawet jeśli będzie modyfikowany przez AVR Studio to gwarantuję, że moje zabezpieczenie nie "wyparuje".
2. Układy dające możliwość modyfikacji "wsadu" nie mogą być zabezpieczone fuse bitami bo nie byłoby możliwości wpisania czegokolwiek do flasha bez jego skasowania. Kasowanie niszczyłoby bezpowrotnie program boot strap loadera, a to uniemożliwiałoby wpisanie nowego programu. Cóż, nie gniewajcie się za krótki wykład "belfra" bo warto o tym wiedzieć.
Na razie korespondencja ze mną będzie nieco utrudniona bo urlopuję się.
Pozdrawiam.
Ech.. Jam:
Jesli o mnie idzie, to sie odnoslem tylko do 2 ostatnich linijek poprzedniej notki, brzmiacych
Co do bootloaderow... no fakt, nie widzialem do tej pory potrzeby ich pisania... no moze potrzeba byla, ale byly tez inne, wazniejsze.
Jesli o mnie idzie, to sie odnoslem tylko do 2 ostatnich linijek poprzedniej notki, brzmiacych
A wlasciwie do tej ostatniej.Poza tym odczyt z procka moze byc przecież zablokowany bitami bezpiecznikowymi ...
myslisz ze mimo fuse'ów to dało by sie jakoś odczytac układzik ?
Co do bootloaderow... no fakt, nie widzialem do tej pory potrzeby ich pisania... no moze potrzeba byla, ale byly tez inne, wazniejsze.
tzn przybliż co masz na myśli?Eh, Panowie widzę, że jeszcze trochę musicie poczytać aby wiedzieć jak muszą być skonstruowane układy dające możliwość modyfikacji "wsadu".
Zapytałem wcześniej czy widzisz możliwość odczytu a nie "wsadu". Skoro układ działa zgodnie z założeniami w 100%, to po co producent wyrobu miał by dawać mozliwość jego odczytu czy modyfikacji zawartości? Jeśli przez pomyłkę nie ustawili odpowiednich fuse'ów zabezpieczających to jednak całkiem powszechnie wiadomo że się da odczytać.
Chyba, że układ celowo jest tak skonstruwany aby był mozliwy dostęp do pamięci z zewnątrz. A jak to jest w tym interfejsie do avrów, to pojęcia nie mam.
Coz... moze znowu niepotrzebnie sie wpinam, ale co mi tamtzn przybliż co masz na myśli?
Zapytałem wcześniej czy widzisz możliwość odczytu a nie "wsadu". Skoro układ działa zgodnie z założeniami w 100%, to po co producent wyrobu miał by dawać mozliwość jego odczytu czy modyfikacji zawartości? (...) Chyba, że układ celowo jest tak skonstruwany aby był mozliwy dostęp do pamięci z zewnątrz. A jak to jest w tym interfejsie do avrów, to pojęcia nie mam.
Po co ?? A chociazby poto by uzytkownik mogl sobie sam aktualizowac oprogramowanie.
Dziala w 100% dobrze... owszem bo ma nowy soft, ale w momencie wypuszczenia nowego uC, JTAG, ktory niemialby takiej mozliwosci, bylby ograniczony jedynie do jego zaprogramwania (a i to nie jestem pewny), a o debugowaniu moglbys sobie pomazyc. Pozostawalo by Ci wyslanie ukladu do producenta w celu aktualizacji (strasznie bylo by to popularne ), albo kupowania nowego JTAG'a
A wogole to otworz sobie pdf do dowolnego (no prawie) AVR'ka i poczytaj o Boot Loaderze.
Ps. Przez pojecie "wsadu" nie powinienes rozumiec czynnosci programowania, tylko zawartosc pamieci procesora - bo mam wrazenie ze tego nie rozrozniles.
otworzyłem sobie EP 6/2004 i poczytalem o co chodzi w tym jtagu, no i rzeczywiscie, programuje sie go przez bootloadera no więc zajarzyłem już ten "wsad"
za zakupione urządzonko dopiero sie zabieram, więc jak pisałem: nie mialem pojęcia, np. o tych aktualizacjach. jak coś to wybaczcie, mea culpa.
pozdro.
ps. jakieś szopki jak narazie mam z tym propoxowym usb'owym jtagiem ...
za zakupione urządzonko dopiero sie zabieram, więc jak pisałem: nie mialem pojęcia, np. o tych aktualizacjach. jak coś to wybaczcie, mea culpa.
pozdro.
ps. jakieś szopki jak narazie mam z tym propoxowym usb'owym jtagiem ...
No to jestem już po urlopie. Fajnie, że problem rozwiązał się bez mojego udziału w oparciu o czytanie manuali AVRów. Niestety zagadnienie boot strap loaderów i zabezpieczeń oprogramowania wprowadzanego do procków z ich pomocą nie jest opisane do końca w literaturze. Wobec braku danych nie będę tutaj gdybał, ale warto zastanowić się jak to można zrobić.
Pozdrawiam.
Pozdrawiam.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 88 gości