Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вливаюсь в коллектив ARMоводов
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3, 4
klen
Цитата(AVR @ Jul 19 2006, 22:32) *
Извините за оффтоп, но хотелось бы спросить про контору Эфо: что из себя представляет? Там просто склад или склад-магазин (на их сайте не нашел)? Из всего перечисленного beer-warrior'ом особенно волнует наличие платки для корпуса LQFP-64, т.к. непосредственно к выводам проводки я припаять не сумею... Но как найти её в поиске по складу я не представляю (названия не знаю...).


Я в питере на ЭФЕ не был, но сдесь их сотрудники говорят что все привозится из питера и еслиб вы (тоесть мы) жили в питере то не надобыло ждать 2дня-2недели. Я так полагаю что такие заявы можно понимать что у них там в питере есть розничная продажа, в москве очень неохотно они розницей торгуют - их я думаю напрягает 100 SMD резисторов возить из питерадва раза в месяц когда вдруг они мне приспичат smile.gif

Цитата(goodwin @ Jul 19 2006, 22:28) *
Только, надо чтоб физические уровни были одинаковы. Или ограничить напряжение с FT до 3В делителем или стабилитроном.

Версия 1.5 CrossWorks пишет по адресу вектора 0х14 валидную контрольную сумму...


1. 2232 работает по выходу с уровнями 3в, поэтому ее и запаял.
2. У меня стоит CrossWrork 1.6. Для всех проектов один и тотже исходник Philips_LPC210X_Startup.s ,
в нем черным по белому записана сигнатура . Я бля решил проверить - зашил кристал запустил его , остановил, сбросил PC перешел к таблице векторов и посмотрел дизассемблированный код. сложил сем чисел и вычел сигнатуру НУЛЯ НЕ ПОЛУЧИЛОСЬ.
ВЫВОД: ТАРАКАНЫ БЕЗ НОГ НЕ СЛЫШАТ! тоесть среда нихера ниче не считет и Philips_LPC210X_Startup.s не модифицирует. Я правильно понимаю что мне нада поправить (записать правимльную сигнатуру которую я по дизассемблированному коду получу) и тогда могу расчитывать на то что наступлю уже на другие грабли а не на эти, а то они бьт по лбу уже 48 час подряд.
4. Может как нибудь СrossWirк' ку можно сказать чтоб он считал сумму? Может это гденить настроить нада?
zltigo
Цитата(goodwin @ Jul 19 2006, 21:28) *
Только, надо чтоб физические уровни были одинаковы. Или ограничить напряжение с FT до 3В делителем или стабилитроном.

Не надо, LPC документировано толерантен. Подключение через FT есть и на некоторых olimex
бордах типа LPC-Exxxx. Заодно можете и RTS с FT с пользой для полной автоматизации применить -
olimex-овцы почему-то не сделали.
Цитата
CrossWork покажет мне что загрузчик ругнулся?

А причем здесь CrossWork?

Наберете в терминале
?
в ответ получите
Synchronizing

Ну и далее все по AN посвященному ISP.
Ну или просто родной загрузчик присоединяете - он договорится, если консоль запущена...
goodwin
Ну для начала неплохо бы ответить на мое письмишко smile.gif (пост выше)
Да, с неправильной CS у меня кристалл не стартует. Только что проверил утилитой JFlash.
zltigo
Цитата(klen @ Jul 19 2006, 21:56) *
2. У меня стоит CrossWrork 1.6. Для всех проектов один и тотже исходник Philips_LPC210X_Startup.s ,
в нем черным по белому записана сигнатура . Я бля решил проверить - зашил кристал запустил его , остановил, сбросил PC перешел к таблице векторов и посмотрел дизассемблированный код. сложил сем чисел и вычел сигнатуру НУЛЯ НЕ ПОЛУЧИЛОСЬ.

Ну для полной уверенности (а то вдруг ошиблись) занесите на место допонения в startup что-то типа 0x12345678, если в бинарнике останется неизменной - тогда точно не считает.

А это ссылка на тот момент, когда я сам на грабли с контрольной суммой наступил.
http://electronix.ru/forum/index.php?showt...201&hl=boot
goodwin
Цитата(zltigo @ Jul 19 2006, 22:16) *
Ну для полной уверенности (а то вдруг ошиблись) занесите на место допонения в startup что-то типа 0x12345678, если в бинарнике останется неизменной - тогда точно не считает.


Там действительно может быть что-то с потолка, но при прошивке среда просто обязана посчитать и занести правильную CS. К сожалению проверить не могу, v1.5 снес, поставил 1.6 - нет таблэтки...
klen
Цитата(goodwin @ Jul 19 2006, 22:13) *
2klen: Я письмишко намылил. Если ответите, могу проверить в v1.6...
В 1.5 у меня все работает правильно...

Чето я и не заметил ..
Отмылил, принимай.
klen
Сигнарута записана правильня - калькулятором проверил на том что отладчик из кристала в обратку и отдезасемблировал.

Всеравно после сброса кнопкой НЕРАБОТАЕТ. С сигнатурой была хорошая идея - я разобрался с этой хренЪю...хорошо... идем дальше. Че теперь делать бум?

А ведь когда я первый раз включил питание то по ресету сбрасывалось и работало то что было внутри зашито - тоже демонстрация мигания Но я сразу подсоеденил JTAG кабель и фсе, больше девайс не ресетился ни разу. Испортить микросхему я не мог поэтому причина одна софт кривой зашивается.
zltigo
Цитата(klen @ Jul 19 2006, 19:53) *
кусок кода на котором зациклился процессор
модуль Philips_LPC210X_Startup.s

Код
........
line 278:
    b   _start
#ifndef STARTUP_FROM__RESET
reset_wait:
    b reset_wait
#endif

Ну так пора тогда выложить сюда исходники сего сюда...
klen
Цитата(zltigo @ Jul 20 2006, 00:19) *
Цитата(klen @ Jul 19 2006, 19:53) *

кусок кода на котором зациклился процессор
модуль Philips_LPC210X_Startup.s

Код
........
line 278:
    b   _start
#ifndef STARTUP_FROM__RESET
reset_wait:
    b reset_wait
#endif

Ну так пора тогда выложить сюда исходники сего сюда...


Я плакаль! Проц оказывается все это время честно выполнял пользовательскую программу - тоесть кучтк приведенный выше - тоесть циклился. Стоило мне попробывать изменить на

Код
модуль Philips_LPC210X_Startup.s
........
line 278:
    b   _start
#ifndef STARTUP_FROM__RESET
reset_wait:
    b  _start
........
#endif

как все завелось с полуоборота. Вопрос остается один - можно ли так делать (тость ведь не дураки писаои стартовыкод и ошибки внем не должно быть) и как делать правильго?

Сразу появлась новая грабляsmile.gif Скоссворк при попытке через JTAG ченить считать или записать рисует модальное окно со звуком "кирдык" . Это че еще за фича? переустановка среды результата не дала. Появилась это в обед. На ноутбуке пока все работает.
zltigo
Цитата(klen @ Jul 19 2006, 23:34) *
Вопрос остается один - можно ли так делать (тость ведь не дураки писаои стартовыкод и ошибки внем не должно быть) и как делать правильго?

Не дураки и посему для автономности кода поставили заглушки на все.
Заглушку на точку входа по Reset просто следовало дезактивировать (там и ключик черным по белому)перед применением БОЛВАНКИ startup в реальной жизни. В этом startup еще заглушек полно :-)
и ининциализаций разных, типа контроллера внешней шины начисто отсутствующего у 2103 :-))
Короче читать надо перед употреблениеу "унутрь".....

Ну, как правило, после мигания светодиодом дольшая часть проблем кончается :-), ну разве только
RS232 и консоль поднять (не долюбливаю внутрисхемные отладчики за мелочность - все больше по старой прывычке со своей отладосной консолью..)
klen
Цитата(zltigo @ Jul 20 2006, 01:09) *
Цитата(klen @ Jul 19 2006, 23:34) *

Вопрос остается один - можно ли так делать (тость ведь не дураки писаои стартовыкод и ошибки внем не должно быть) и как делать правильго?

Не дураки и посему для автономности кода поставили заглушки на все.
Заглушку на точку входа по Reset просто следовало дезактивировать (там и ключик черным по белому)перед применением БОЛВАНКИ startup в реальной жизни. В этом startup еще заглушек полно :-)
и ининциализаций разных, типа контроллера внешней шины начисто отсутствующего у 2103 :-))
Короче читать надо перед употреблениеу "унутрь".....

Ну, как правило, после мигания светодиодом дольшая часть проблем кончается :-), ну разве только
RS232 и консоль поднять (не долюбливаю внутрисхемные отладчики за мелочность - все больше по старой прывычке со своей отладосной консолью..)


А это че.... значит было сделано правильно НО НЕРАБОТАЛО! потом я носом по ассемблеру дорыл то этой "заглушки" и разглушил ее? аригинальный подход cranky.gif
еслиб у меня опыта небылобы, ну например типа чувак купил плату кабель и книжку - ябы месяц искал бы. Я то думал что "все подключено" а тут тако и главное ВСЕМОЛЧАТ КАК ПАРТИЗАНЫ, не верю что никто не знал куда меня носом тыкнуть.
А насчет "почитать cпереди" это очень верно подмечено.. но я достойный сын своего русского племени - сначала делаем (неработает) потом думаем почему не работает(всервно не работает) а только потом читаем даташит.

Нада статью написать и пример с использованием всех переферийнызх модулей под плату эту и выложить на сайт. А то под нее демок Olimex не наморочил, учитывая дешевезну(читай привлекательность) я думаю она станет популярно среди кексов подобных мне.

А с дефайном STARTUP_FROM_RESET я конкретно лоханулся... ктож знал что кругом засада blink.gif
zltigo
Цитата(klen @ Jul 20 2006, 00:20) *
а тут тако и главное ВСЕМОЛЧАТ КАК ПАРТИЗАНЫ, не верю что никто не знал куда меня носом тыкнуть.

Ну насчет "молчат", это зря - скоро 4 страница постов пойдет. Ну а то, что Вы там какой-то левый
и избыточно толстый пример от не слишком (по моим наблюдениям) популярного (Вы да goodwin) в этих местах Rowley компилить пытаетесь, так тут уж Вам это вообще никто ни словом ни полсловом не навязывал :-)
klen
Спасибо за советы и помощь. Завтра продолжу.
goodwin
Ну насчет партизанского молчания - это зря... Ты как раз среди участников этой конфы может являешься пионером в освоении CW 1.6 smile.gif
В CW 1.5 все было в "одном стакане" и у меня заработало сразу.
В 1.6 примеры приходится качать отдельно. Сейчас как раз пробовал - та-же бодяга. Пробовал "Flash Release" - тоже не работает.
И вообще что-то мне не шибко комфортно в этой среде, типа такого smile.gif : http://www.itcenter.com.ua/WORD.gif
Плюс еще куча всяких рычажков в опциях проекта. Думаю авторы для "Flash Release" просто гдето пропустили этот #define второпях...
goodwin
Цитата(zltigo @ Jul 20 2006, 00:34) *
Ну насчет "молчат", это зря - скоро 4 страница постов пойдет. Ну а то, что Вы там какой-то левый
и избыточно толстый пример от не слишком (по моим наблюдениям) популярного (Вы да goodwin) в этих местах Rowley компилить пытаетесь, так тут уж Вам это вообще никто ни словом ни полсловом не навязывал :-)


Дык я тоже только начинаю щупать ARM, и CrossWorks поставил только вчера с подачи klen smile.gif

Что понравилось - с вигглером работает _очень_ шустро (видимо из-за своего быстрого драйвера).
Не нравится шибко "пестряще пестрая пестрота" smile.gif И еще так умудрились затормозить J-Link, что он работает даже медленнее вигглера.
v1.6 видимо еще сыровата - сразу ощущается после v1.5, даже на поверхностный взгляд...
klen
"Начинаю вливатся: ДЕНЬ ТРЕТИЙ"

Третий день начался с того что ни на одной из моих машин я нимагу препрошить FLASH.
Произошло это после того как я определил фалг STARTUP_FROM_RESET(это приводит к тому что полсе апаратного ресета процессор выполняет код модуля Crt0 и далее main() а не зацикливается).

В файле Philips_LPC210X_Startup.s есть по этому поводу коментарий (который я не прочитал и долго муался и мучал Вас с вопросом почему у меня неработает после ресета ):


Код
..............
* STARTUP_FROM_RESET
*
*   If defined, the program will startup from power-on/reset. If not defined
*   the program will just loop endlessly from power-on/reset.
*
*   This definition is not defined by default on this target because the
*   debugger is unable to reset this target and maintain control of it over the
*   JTAG interface. The advantage of doing this is that it allows the debugger
*   to reset the CPU and run programs from a known reset CPU state on each run.
*   It also acts as a safety net if you accidently download a program in FLASH
*   that crashes and prevents the debugger from taking control over JTAG
*   rendering the target unusable over JTAG. The obvious disadvantage of doing
*   this is that your application will not startup without the debugger.
*
*   We advise that on this target you keep STARTUP_FROM_RESET undefined whilst
*   you are developing and only define STARTUP_FROM_RESET when development is
*   complete.
.......
reset_handler_address:
#ifdef STARTUP_FROM_RESET
  .word reset_handler
#else
  .word reset_wait
#endif
  ....

  ....
  b _start

#ifndef STARTUP_FROM_RESET
reset_wait:
  b reset_wait
#endif


Если я правильно понял то в коментарии написано что JTAG не умеет после аппаратного ресета управлять процессором поэтому вместо ресета он через TAP обнуляет все регистры и все что соответствует состоянию "аппаратный сброс" и запускает его , и типа проц думает что он реально заресетился.
А вот что там про FLASH написано я не понял , блин, знаю английский, но тут жопа - все слова знаю а смысл не могу понять.
Пояснте тонкости этого вопроса и все что тут связано.

CW выдает лог:
Код
Executing reset script FLASHReset()
Loading target script file C:\Program Files\Rowley Associates Limited\CrossWorks for ARM 1.6\targets\Philips_LPC210X\Philips_LPC210X_Target.js
Downloading “Loader.elf” to Macraigor Wiggler (20 Pin)
  Programming completed in 312 ms — 15,961 bytes/sec
    Programming 4.8 KB of addresses 40000000 — 40001373
Download complete
Verifying “Loader.elf” on Macraigor Wiggler (20 Pin)
  Verifying completed in 203 ms — 24,532 bytes/sec
    Verifying 4.8 KB of addresses 40000000 — 40001373
Verify complete

ДАЛЕЕ пишет что таймаут на сомм порту JTAG и FLAS не шьет  :(


Налицо факт что я стото испортил в самом контроллере так как на обоих машинах перестало прошиватся FLASH.
Старый Бабай
Народ кто может поделится таблеткой к CrossWorks 1.6
Хочу его попробовать.
Доступа к "своим" пока нету
klen
Цитата(Старый Бабай @ Jul 20 2006, 08:50) *
Народ кто может поделится таблеткой к CrossWorks 1.6
Хочу его попробовать.
Доступа к "своим" пока нету

положил
http://www.klen.org/Files/Dolgoletie_dla_CW_1.6.rar
Старый Бабай
Цитата(klen @ Jul 20 2006, 08:25) *
Цитата(Старый Бабай @ Jul 20 2006, 08:50) *

Народ кто может поделится таблеткой к CrossWorks 1.6
Хочу его попробовать.
Доступа к "своим" пока нету

положил
http://www.klen.org/Files/Dolgoletie_dla_CW_1.6.rar

Большой рахмат, то есть спасибо a14.gif
zltigo
Цитата(klen @ Jul 20 2006, 06:55) *
...что JTAG не умеет после аппаратного ресета управлять процессором поэтому вместо

JTAG "умет", а вот отладчик-прошивальшик по вышеизложенному видать более, чем убогий с дивными требованиями к работоспособности.

Зашейте ему обратно желеаемое через RS232 или через какой-либо другой прошивальщик.
И подумайте над выбором инструмента :-( для нормальной работы.
Сергей Борщ
Цитата(klen @ Jul 20 2006, 06:55) *
"Начинаю вливатся: ДЕНЬ ТРЕТИЙ"

Третий день начался с того что ни на одной из моих машин я нимагу препрошить FLASH.
Пришел на работу, прочитал вчерашние сообщения и только рука потянулась написать предупреждение, как похоже вы уже "наступили" :-) Я недавно по дурости первыми же командами инициализации периферии перевел ноги JTAG в состояние обычных ног. А поскольку залил сразу во флешку то получил мигающий светодиод и мертвый JTAG. Пришлось подключить COM-порт, ногой P0.14 принудительно стартануть загрузчик, стереть через загрузчик флешку и только после этого JTAG ожил. Может вас тоже спасет стирание через загрузчик? А про инструмент соглашусь с zltigo - ИАР гораздо дружелюбнее. Там все работает и отладка начинается без всяких заглушек.
zltigo
Цитата(Сергей Борщ @ Jul 20 2006, 10:48) *
Я недавно по дурости первыми же командами инициализации периферии перевел ноги JTAG в состояние обычных ног.

Этот случай "хуже", поскольку толи конкретный отладчик, толи этот отлдадчик с простейшим Wiggler-ом
просто не умеет остановить работающий девайс, кроме как через трюк с loop...

Цитата
This definition is not defined by default on this target because the
debugger is unable to reset this target and maintain control of it over the
JTAG interface.


Это не ошибка, это "не лечится" - отладились, зашили и больше никогда не трогайте :-)
klen
Цитата(Сергей Борщ @ Jul 20 2006, 11:48) *
Пришел на работу, прочитал вчерашние сообщения и только рука потянулась написать предупреждение, как похоже вы уже "наступили" :-) Я недавно по дурости первыми же командами инициализации периферии перевел ноги JTAG в состояние обычных ног. А поскольку залил сразу во флешку то получил мигающий светодиод и мертвый JTAG. Пришлось подключить COM-порт, ногой P0.14 принудительно стартануть загрузчик, стереть через загрузчик флешку и только после этого JTAG ожил. Может вас тоже спасет стирание через загрузчик? А про инструмент соглашусь с zltigo - ИАР гораздо дружелюбнее. Там все работает и отладка начинается без всяких заглушек.


К сожалению я еще датащит не очень читал.
Я правильно понимаю
1. что нужно теперь сделать:
--а. взять НЕХ собранного проекта который "неработал без отладчика".
--б. прописать по четырнадцатому адресу нули .
--в. подключть RX/TX UART к компу и настроить утилиту програмирования Philips
--г. загрузить HEX в утилиту програмирования Philips которая сама посчитает сигнатуру
--д. опустить P0.14 на землю перемычкой.
--е. кнопка ресет.
--ё. утилиту програмирования Philips cвяжется с LPC и появится зашиить образ.
--ж. отпустить P0.14 и наслаждаться работой JTAG
2. все это косяки отладчика-прошивальшика (типа он так интересно сделан)
3. существуют утилиты которыми можно шить-читать через виглер и не иметь этих сложностей. Если да то тыкните носом, желательно GNU.
4. Загрузчик можно перепрошить, по умолчению он залит при изготовлении Philips и имеет стандартную функциональность - тоесть проверку сигнатуры, лапки P0.14. Исправив код собрав и залив его я могу изменить логику загрузчика.

чем отличается прошивание загрузчика и пользовательского кода? можно основную идею этого процесса.

Я вот всетаки не понял каким образом отключился JTAG? код был изменен всего в одной инструкции

А CW - это временная мера - чтоб быстро изучить. Далее все на свободном софте буду делать, чего не хватит сам напишу. С IAR у меня соцсоревноване в плане качества кодогенирации, у него свой компиллер у мне GCC которым я со товарищи допиливыем. Кстате по AVR IAR C компилятор уже не лучше GCC, местами один лучше другого и наоборот. Руки чешутся на ARM порт , но тут как я бегло посмотрел все очень сложно, нада "трогать". Для начала можно попробывать сделать поддержку ораотчиков по команде SWI #a как в кейле, это мне кажется не сложно , а работать будет с gcc приятней, вощем посмотрим.
zltigo
Цитата(klen @ Jul 20 2006, 11:42) *
Я правильно понимаю
1. что нужно теперь сделать:
--а. взять НЕХ собранного проекта который "неработал без отладчика".
--б. прописать по четырнадцатому адресу нули .
--в. подключть RX/TX UART к компу и настроить утилиту програмирования Philips
--г. загрузить HEX в утилиту програмирования Philips которая сама посчитает сигнатуру
--д. опустить P0.14 на землю перемычкой.
--е. кнопка ресет.
--ё. утилиту програмирования Philips cвяжется с LPC и появится зашиить образ.
--ж. отпустить P0.14 и наслаждаться работой JTAG

-a Да
-b Без разницы
-v Да и далее все да


Цитата
2. все это косяки отладчика-прошивальшика (типа он так интересно сделан)

Других вариантов не видать...

Цитата
3. существуют утилиты которыми можно шить-читать через виглер и не иметь этих сложностей. Если да то тыкните носом, желательно GNU.

Масса разных стественно существует, нвчните поиск с "родных". Точнее не скажу, поскольку меня от
Wiggler сильно стошнило и предпочел на первых порах вообще без внутрисхемного обходится.

Цитата
4. Загрузчик можно перепрошить, по умолчению он залит при изготовлении Philips и имеет стандартную функциональность - тоесть проверку сигнатуры, лапки P0.14. Исправив код собрав и залив его я могу изменить логику загрузчика.

Можно. А зачем?

Цитата
чем отличается прошивание загрузчика и пользовательского кода? можно основную идею этого процесса.

Через JTAG, если подгружаемый прошивальщик НЕ ПОЛЬЗУЕТСЯ IAPом Bootloadera - ничем не отличается. А если пользуется, но не прошить. Прошивка Flash у LPC не документирована, но если интересно - можете ковырять и переписывать. Вопрос ЗАЧЕМ? Хотите свой? Я для себя решил переход на свой загрузчик в начало вклеить, а IAP оставить.

Цитата
Я вот всетаки не понял каким образом отключился JTAG? код был изменен всего в одной инструкции

Да не отключился он, просто отладчик тупой не умеет правильно работать в произвольных условиях.


Цитата
С IAR у меня соцсоревноване в плане качества кодогенирации, у него свой компиллер у мне GCC которым я со товарищи допиливыем. Кстате по AVR IAR C компилятор уже не лучше GCC, местами один лучше другого и наоборот. Руки чешутся на ARM порт , но тут как я бегло посмотрел все очень сложно, нада "трогать". Для начала можно попробывать сделать поддержку ораотчиков по команде SWI #a как в кейле, это мне кажется не сложно , а работать будет с gcc приятней, вощем посмотрим.

Ну пробуйте соревноваться. Надеюсь не будет сему уготована обычная судьба некомерчесского продукта :-(. Ну а кодогенерация дело темное - на данный момент явных лидеров нет и не будет.
А соревноваться, на ARM платформе, придется и с Keil/ARM.
klen
Все просто чудненько!
Сделал описанные действия, все завелось с полоборота.
Загрузка по UART это здорово. Максимальная скорость которой умеет филипсовский прошивальщик 115к - довольно быстро, нада попроывать размотать на побольше - FT2232 умет гнать 921.6к , осталось узнать какую скорость имеет само прошивание ячеек флеша.

Получается что я правильно сыкономил - пришлось по бырому преходник на FT2232 спаять. Теперь у меня кроме JTAG каеля имеется и "USB программатор" w00t.gif


Теперь попроую давно желаймую девайсину сделать - квадратурный приемник. Судя по симулятору можно будет на float успеть демодулировать сигнал в полосе порядка 10кГц. Симулятор сказал что квадратурное детектирование с представлением данных в float и стандартной библиотечной sqrt() потребует 2825 тактов что на частоте 60 мГц процессора позволит ему прокачать с АЦП до выходного порта значение полученной фазы и амплитуды в темпе ~21,2 КВыборок. Все начальники на всех моих работах ушли в отпуск - займуська я этим, никто не мешает.

Ну вот, вроде теперь начинаю ориентироватся "как в этом лесу живут звери".

Всем нечеловеческое спасиба за помощь. Былаб возможность всем встретится пивом угостил бы.
zltigo
Цитата(klen @ Jul 20 2006, 14:57) *
Загрузка по UART это здорово.

Для более полного осознания счастья
http://guest.engelschall.com/~martin/lpc21xx/isp/

Если упретесь в плавучку, то самая быстая библиотека у Кейла....
klen
Цитата(zltigo @ Jul 20 2006, 19:21) *
Если упретесь в плавучку, то самая быстая библиотека у Кейла....

O-o-o-, плавающая запятая.. это объект моего первостепеного ковыряния, специальность знаетели дает знать smile.gif . Многие говорят плавающей за всю жисть в проектах не использовали, я с другой стороны луны живу. smile.gif
zltigo
Цитата(klen @ Jul 20 2006, 19:20) *
Многие говорят плавающей за всю жисть в проектах не использовали, я с другой стороны луны живу. smile.gif

Ну так-уж один одинешенек и "c другой" :-). Тут не говоря уже о DSP чего-нибудь измеряют-фильтруют частенько...
klen
Цитата(zltigo @ Jul 20 2006, 20:44) *
Цитата(klen @ Jul 20 2006, 19:20) *

Многие говорят плавающей за всю жисть в проектах не использовали, я с другой стороны луны живу. smile.gif

Ну так-уж один одинешенек и "c другой" :-). Тут не говоря уже о DSP чего-нибудь измеряют-фильтруют частенько...

Я имел ввиду именно плавучку, DSP чаще используют дробно-целочисленную арифметику, для реализации обработки сигналов это чаще быстрее и рациональнее. Я не прав?

Возник еще вопрос. Выкачал pdf

ARM7TDMI
Revision: r4p1
Technical Reference Manual

Очень интересная штукенция, про самое мне интересующее - набор инструкций я прочел сразу, остальное тоже нужно но лень. на английском чтать полезно но лень, есть русский перевод в природе? Именно перевод а не иносказания, а то ведь это всетаки документ в котором промышленный стандарт описан - тут нужен дословный перевод
zltigo
Цитата(klen @ Jul 20 2006, 20:11) *
Возник еще вопрос. Выкачал pdf

ARM7TDMI

Теперь выкачивайте ARM7TDMI-S :-) Ибо у Вас такой.
AVR
Как заливать программу в SAM7S64 при помощи ARM-JTAG'а (от Olimex) в среде IAR-ARM 4.31A?
klen
2_zltigo
Существенное замечание.. однако, есть оличия в части меня касающегося.

2_AVR
Сей провод просто как 20pin Macraigor Wiggler подрузамевается. Я иара не видел но гдето в меню отладке должен быть выбор Target , в нем выбрать этот самый Wiggler. Выбираешь его и конектишся - далее отладчик будет использовать JTAG и прошивальшик тоже.
Кстате о этом чуде Olimex ARM-JTAG, в нем кабель в длинну ... корочу у собаки длинне. Бесит. Втыкаю в ноутбук сзади и устройсва не видно - экран мешает, маразм. Если я его обрежу(20 жильный провод) и посталю ченить длинное , какойнибудь жгут из МГТФ например или шлейф от принерной головки - чтоб длинне и мягче было ГЛЮЧИТЬ НЕ НАЧНЕТ? Если кто пробывал скажите - пальцы так и тянутся к ножницам и к пакету с жгутами МГТФ с МИГ-23.

А ты тот AVR который на форуме телесистемы?
AVR
Цитата(klen @ Jul 20 2006, 22:15) *
Сей провод просто как 20pin Macraigor Wiggler подрузамевается. Я иара не видел но гдето в меню отладке должен быть выбор Target , в нем выбрать этот самый Wiggler. Выбираешь его и конектишся - далее отладчик будет использовать JTAG и прошивальшик тоже.

Спасибо, нашел. smile.gif
Цитата
Кстате о этом чуде Olimex ARM-JTAG, в нем кабель в длинну ... корочу у собаки длинне. Бесит. Втыкаю в ноутбук сзади и устройсва не видно - экран мешает, маразм. Если я его обрежу(20 жильный провод) и посталю ченить длинное , какойнибудь жгут из МГТФ например или шлейф от принерной головки - чтоб длинне и мягче было ГЛЮЧИТЬ НЕ НАЧНЕТ? Если кто пробывал скажите - пальцы так и тянутся к ножницам и к пакету с жгутами МГТФ с МИГ-23.

Удлиннение как-то скажется на его работоспособность? unsure.gif
Цитата
А ты тот AVR который на форуме телесистемы?

Не, это чистое совпадение wink.gif
klen
2_AVR
Кто смелый? Кто первый... удлинять будет? biggrin.gif

А как тебе SAM. Как впечатления. Мне чето атмеловские армы не глянулись, сам не знаю почему.
AVR
Цитата(klen @ Jul 20 2006, 22:52) *
А как тебе SAM. Как впечатления. Мне чето атмеловские армы не глянулись, сам не знаю почему.
Пока, честно говоря, никак =) Пробовал через Macraigor/Wiggler, но пишет "фатальная ошибка, не наден mac_mot.sys" - видимо надо драйвер ещё установить. Пробовал через RDI&H-JTAG, но его утилитка H-Flasher знает только филипсовсие АРМы, а Амеловских в
его списках нет... =( Надеюсь, это как-то лечится...
Зато SAM-BA работает, но мне эта утилитка кажется немного неудобной...
Атмеловские выбрал по привычке к продукции Атмел (что видно из ника =), USB у SAMов есть (тоже хорошо), хотя конечно если сравнить даташит на SAM и LPC21xx, последний выглядит пропроще =)
zltigo
Цитата(klen @ Jul 20 2006, 21:52) *
2_AVR
Кто смелый? Кто первый... удлинять будет? biggrin.gif

Удлинняйте с другой стороны. Во-первых работать будет, а во-вторых смелости не потребуется.
goodwin
Цитата(zltigo @ Jul 20 2006, 22:22) *
Цитата(klen @ Jul 20 2006, 21:52) *

2_AVR
Кто смелый? Кто первый... удлинять будет? biggrin.gif

Удлинняйте с другой стороны. Во-первых работать будет, а во-вторых смелости не потребуется.


И паять ничего не надо - стандартный удлиннитель для LPT...
AVR
У меня проблема возникла...
Если после включения ПК USB устройство на SAM7S64 распознается и драйвер находится, то после заливки и отладки Wiggler'ом, при повторной попытке залить, IAR пишет что "ничего не найдено, проверь кабеля". Отключаю от USB и подключаю заново - "USB устройство не опознано". И только если перезагрузить ПК, то SAM7 снова видится. Как решить эту проблему не прибегая к reset?..
AVR
Проблему решил (надо включать при отсоединенном JTAG).
При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++, а ещё лучше по брейкпоинтам?.. ohmy.gif
Kopa
Вопрос:
Где можно найти описание процессора
Samsung SC32442 ( на ядре ARM920T )

P.S. Есть желание разобраться с железом КПКsmile.gif
Сергей Борщ
Цитата(AVR @ Jul 21 2006, 00:17) *
При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++,

Поставить курсор в окно с исходным текстом на С++.
Цитата(AVR @ Jul 21 2006, 00:17) *
а ещё лучше по брейкпоинтам?.. ohmy.gif
Ставишь брейкпоинт (кажется не более 3 при отладке из флеш, при том что одну отладчик ставит на main если стоит галочка "Run to main" и сколько угодно при отладке из ОЗУ), жмешь Run.
zltigo
Цитата(Сергей Борщ @ Jul 21 2006, 10:42) *
Ставишь брейкпоинт (кажется не более 3 при отладке из флеш, при том что одну отладчик ставит на main если стоит галочка "Run to main"

Две :-( аппаратно поддерживаются, причем одна занимается в по умолчанию создаваемом проекте на перехват вывода и если не отключть (что-то типа галочки "runtime control..."), то уже не очень-то и потрассируешь с одной точкой.
klen
Сложилось впечатление что таймеры продалжают считать, даже если отладчик останавливает процессор. Это так или у меня глюки?
zltigo
Цитата(klen @ Jul 21 2006, 19:59) *
Сложилось впечатление что таймеры продалжают считать, даже если отладчик останавливает процессор. Это так или у меня глюки?

Да. В смысле таймеры а не глюки :-)
klen
Цитата(zltigo @ Jul 21 2006, 21:05) *
Цитата(klen @ Jul 21 2006, 19:59) *

Сложилось впечатление что таймеры продалжают считать, даже если отладчик останавливает процессор. Это так или у меня глюки?

Да. В смысле таймеры а не глюки :-)

Ну это засада - че трудно чтоли TAP контроллеру через элемент 2И-НЕ запереть clk всех шин, в том числе и переферийной от которой тактируются счетчики таймеров?
Ну да ладна, буду считать что так в какомто стандарте прописано. cranky.gif
zltigo
Цитата(klen @ Jul 21 2006, 20:53) *
Ну это засада - че трудно чтоли TAP контроллеру....

Нормальное и естественное поведение для периферии.
Ну что из того, что какое-то из ПЕРЕФЕРИЙНЫХ устройств
случайно оказалось внутри корпуса контроллера? А если их реально 36 штук и все они внешние. Что "вешатся" по причине того, что при останове контроллера они в трепете не останавливаются? Более того, может оказаться желательным и именно неостанавливающаяся периферия.
Общий случай отладки с периферийным устройством решения останова оного не имеет, ну и примите это как даденность.
AVR
Цитата(Сергей Борщ @ Jul 21 2006, 11:42) *
Цитата(AVR @ Jul 21 2006, 00:17) *

При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++,

Поставить курсор в окно с исходным текстом на С++.

Да, это конечно так, при отладке симулятором у меня всё шагает по коду на
C++, но при запуске отладки "в железе" при начале отладки у меня вылетает ошибка что main не найдено и запускает отладку по ASMу...
klen
В книге написано что в miniARM, LPC2101/2/3 в модуле MAM есть счетчики сбора статистики обращения к МАМ, к МАМ -> FLAS и тп, которые предназначены для мониторинга эфективности работы MAM и подсчета числа исполненых инструкций. Облазил хидеры, нигде немогу найти описания и адреса этих регистров. Где они находятся
AVR
Рассматривая пример программы для sam7s64 я наткнулся на следующее:
Цитата
//Setting PLL and divider:
//- div by 5 Fin = 3,6864 =(18,432 / 5)
//- Mul 25+1: Fout = 95,8464 =(3,6864 *26)
//for 96 MHz the erroe is 0.16%
//Field out NOT USED = 0
//PLLCOUNT pll startup time estimate at : 0.844 ms
//PLLCOUNT 28 = 0.000844 /(1/32768)
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 3) | (AT91C_CKGR_PLLCOUNT & (28<<8)) | (AT91C_CKGR_MUL & (24<<16)));

В комментарии написано, что при частоте кварца в 18,432 МГц чтобы задать частоту PLL в 96 МГц нужно установить предделитель на 5 и множитель на 26. Однако в строчке кода задается ((18,432 / 3) * 24) = 147,456 Мгц. У меня плохо с математикой или я что-то не учел?... w00t.gif
SpiritDance
Плохо с математикой, вернее с булевой алгеброй, 3 и 24<<16 это маски, а не множители. smile.gif Хотя код тоже не самый удачный.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.