Отговори на тема  [ 10 мнения ] 
Някой занимавал ли се е с STR7XX програмиране? 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение Някой занимавал ли се е с STR7XX програмиране?
Чера ПДФто, но или аз испускам нещо или те са недомислиси:
1. Споменато е че поддържа ICP програмиране през JTAG-a но дотам... може да се предположи че се използват регистрите които се използват и за IAP програмирането.
2. Според това как аз разбирам нещата защитата се постига чрез програмиране на вътрешни регистри, но това би могло да означава че веднъж заключен може и да не можеш да го отключиш втори път освен ако самата програма която си заредил не го направи?
Та има ли хора които имат практика с тези контролери?


Пон Апр 03, 2006 5:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 10, 2006 2:40 pm
Мнения: 2258
Мнение 
програмирането през JTAG-а не е отворено и става с IDE-то Rowley и IAR го поддържат
като го заключиш няма проблем може да го изтриеш


Пон Апр 03, 2006 5:10 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение 
3aek написа:
не е отворено

имаш предвид че не е достъпно за широката публика ли - мен не интересува точно как става през JTAGa, т.е. как го правят споменатите от теб ИДЕ-та.


Пон Апр 03, 2006 5:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 10, 2006 2:40 pm
Мнения: 2258
Мнение 
имам превид че трябва да си ИАР или Роули за да ти даде СТ тази информация
никой не си открива JTAG private командите и flash програмирането понеже в болшинството от случаите това е свързано със фирмени тайни които ST или ATMEL или Philips или който и да е друг не иска другите да знаят
например това което съм чел по форуми е че вътрешната организация на LPC флаша е с 128 бита данни и на един такт се четят 128 бита (4 думи) и флаша който ползват е бавен но по този начин успяват да изпълняват код на до 30 Mhz


Пон Апр 03, 2006 5:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Mойта теория по въпроса (която сам съм си измислил) е че, през JTAG на АРМ-а в общия случай вътрешния флаш директно не може да се програмира (то същото важи и за външен чип Флаш). Под директно разбирам с командите на JTAG-a. Това което правят роули и иар е да зареждат малка програмка във РАМ-а (това става през JTAG-a), стартират я, и тази програмка хваща данни от JTAG-а и ги пише във флаша с помощта на процедурите които всеки пройзводител си има за целта (IAP). Така и става програмирането. В ИАР много ясно се вижда този процес (първо програмката и след това истинския код). Там също и имаше обяснено как да си напишеш въпросната програмка (flashloader) за конкртен чип, който в момента не се поддържа.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пон Апр 03, 2006 5:35 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение 
Заек, АТМЕЛ специално са си публикували как става JTAG програмирането на САМ7, Филипс са споменали че при тях става през боотлоадера им. След и като СТ са споменали че може да се прави JTAG програмиране редно е било да внесат яснота по въпроса...

Цецо, по принцип разсъждаваш правилно само мога да кажа че програмирането може да става или както ти вече си разбрал с агент програмка заредена в РАМа или чрез директно писане през JTAGa по вътресшното адресно пространство (памет и регистри) - това се предпочита ако ЦПУто няма (работещ) РАМ, но е в пъти по бавно от горното, но и при двата метода тук остава проблема ако STR7 се заключи той няма как да се отключи освен ако заредената вече програма не го направи по твоя воля, но познай какво става ако тя не работи както трябва... все трябва да има начин да може целия флаш да се изтрие за да се откючи (както е направено с пин при сам7 или с ИСП команда по серииния порт при ЛПЦ на Филипс)

Така че проблема остава отворен за сега - някои друг да може да помогне с нещо?


Пон Апр 03, 2006 6:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение 
не съм се занимавал с STR7, но имам представа за JTAG като цяло...
По принциш STR7 е ARM, a ARM сертифицират и TAP контролер. Досега не съм чул някой да се осмелил да промени нещо по този контролер. Примерно Atmel за да избегнат пипането по лицензиран код, са си сложили външен пин за избор между ARM TAP-a и Boundary Scan TAP-a. Нещо което е изключително тъпо - можеха да обеденят двата ТАП-а, ама така са си го решили...
Доколкото ARM TAP контролера позволява пълен контрол върху процесора и съответно достъп до коя да е периферия (не само флаш) следват 2 неща:
1) Няма нужда да се правят специални JTAG регистри за програмиране на флаш и съответно тяхното засекретяване...
2) единствената но затова пък абсолютно необходима защита е да се спре достъпа към ARM през JTAG.

Второто всеки си го прави както намери за добре. Вариантите са:
1) NVM бит който изключва JTAG-а, като битът може и да може да се ресетва от вътрешния софт, или чрез външен ERASE пин, който затърква всичко...
2) Изгаряне на фюз, който закъсява TDO/TDI и казва "сбогом" на JTAG интерфейса...
3) Прекарване на JTAG сигналите през допълнителна логика с ауторизация (много рядък случай)

Вероятно има и други варианти, но важното е че обикновено не флашът е предмет на защита, а достъпа до процесора...
А що се отнася до това как се управлява процесора през JTAG - това не е тайна, но едва ли ще го намериш обеснено на сайта на ST - просто не е тяхна работа... виж на arm сайта...


Пон Апр 03, 2006 6:36 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 21, 2005 9:35 pm
Мнения: 152
Местоположение: Варна
Мнение 
ST имат на сайта си код за bootloader през UART-а. Ако ти потрябва да не се "мъчиш" да го пишеш сам.

_________________
LDAA


Пон Апр 03, 2006 7:09 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение 
на форума на саийта на СТ идях подобен въпрос и отговора на модератора е (както и очаквах):
"чипа и неизползваем ако дебъг защитата се включи и вътрешната програма не позволява да се изключи или програмира флаша"


Вто Апр 04, 2006 11:26 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение 
мда... няма опция външен ERASE
и както се казва прекалената защита не е добра защита
ако не си оставиш "вратичка" рискуваш твърде много брак... ако си оставиш, рискуваш някой неканен да влезе.
Най-добрия вариант би бил да отключваш дебъга, само след като преди си си изтъркал флаша, но това май само 16 пъти може да си го позволиш - имаш моите съболезнования ако е така ;-)


Вто Апр 04, 2006 12:13 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 10 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 13 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни