|
Вливаюсь в коллектив ARMоводов, жду советов и дележа опытом |
|
|
|
Jul 17 2006, 15:48
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Всем привет. С сегодняшенго дня началь "трогать" ARM. Раньше только AVRками занимался и зубы точил на армы (учил матчасть и мечтал как здорово было бы 926 в бжа с сопроцессорм ....). Купил малюсенькую devboard с LPC-H2103 производства OLMER , wriggler кабель "ARM-JTAG" производства OLMER (время тратить на пайку жаба задушила, которая кстате поумнела и жалеет мое время больше чем бабло  ) . Есть еще книга Тревора Мартина с CD примерами. Весь комплект "вливания" обошелся в 856 + 469(чето очень дорого за кусок пласмассы) + 150(букварь) рублей итого 1560р. Теперь вопросы. 1. Этого хватит чтоб не выходя из дома собрать исходник, залить в флеш, запустить и увидеть что все работает. 2. Использую для кодогенерации исключительно GCC. Собрал 4.1.1, по опыту если кто на нем сидит какие проблемы и глюки (неудобства и тд) ожидать. 3. В магазине сказали что кабель ARM-JTAG позволит проводить внутрисхемную отладку а) из микровижина  GDB(что для меня стало решающим) - это правда или нет, если да то как это делать и чем тогда лучше "внутрисхемные эмуляторы за более чем 300 баксов" ? В жизни не отлаживал через JTAG - всегда хватало цифрового осцылографа и отладочного светодиода, а 300баксов опятьже всегда нехватало. 4. Че интересное можно сделать перво наперво что ощутить вычислительное превосходство над AVR. Светодиоды не предлагать  . За ранее спасибо.
Эскизы прикрепленных изображений
|
|
|
|
11 страниц
1 2 3 > »
|
 |
Ответов
(1 - 99)
|
Jul 17 2006, 16:41
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 17 2006, 18:48)  Купил малюсенькую devboard с LPC-H2103 производства OLMER , wriggler кабель "ARM-JTAG" производства OLMER (время тратить на пайку жаба задушила, которая кстате поумнела и жалеет мое время больше чем бабло  ) . Ну производитель OLIMEX :-) сходите на olimex.com там может тоже кое-что найдете, ну и форум там есть. Wiggler наверное зря -уж больно странное поведение этой недожелезки, хотя, если заработает в Ваших конкретных условиях, то и ладно. Цитата Есть еще книга Тревора Мартина с CD примерами. Для начала и беглого обзора вполне хорошая книга. Цитата 1. Этого хватит чтоб не выходя из дома собрать исходник, залить в флеш, запустить и увидеть что все работает. Да, причем и без псевдо Wigler-а. Там свой бутовый загрузчик прошит. Цитата 3. В магазине сказали что кабель ARM-JTAG позволит проводить внутрисхемную отладку а) из микровижина  GDB(что для меня стало решающим) - это правда или нет, если да то как это делать и чем тогда лучше "внутрисхемные эмуляторы за более чем 300 баксов" ? Лучше тем, что работают всегда и много быстрее. Ну и стоят клоны 300баксовых по нынешним временам 70USD. Цитата 4. Че интересное можно сделать перво наперво что ощутить вычислительное превосходство над AVR. Светодиоды не предлагать  . Ну если вычислительную... Запустите поругаемеров типа 'камешков' разных...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 17 2006, 16:43
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(beer_warrior @ Jul 17 2006, 20:29)  1.Собрать и залить софт хватит. Посмотреть? А на чем? Придеться или MAX232/485 цеплять или светодитоды или ЖК. Я имел ввиду под "псмотреть" именно внутрисхемную отладку в GDB/Insight или CrossWork. Смогу? Цитата 2.Есть нюансы со входом в прерывание - я так понимаю gcc не совсем правильно сохраняет контекст (для этого проц должен перейти в ARM mode), Это если отн в Thumb был момент возникновения прерывания? Правильно? Цитата В остальном компилятор превосходен. Чьими стараниями? А? НАШИМИ!! поэтому и превосходен.
|
|
|
|
|
Jul 17 2006, 17:10
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Зря вы так про wiggler - с самой железкой самой проблем нет и не может быть - проста как топор, а программное обеспечение от macraigor ведет себя вполне адекватно. Хотя MT-Link за $70 конечно лучше  В GDB и CrossWorks есть поддержка wiggler. Есть GDB сервер от Маcraigor для вигглер. DASM тут давал как-то ссылку на GDB сервер для MT-Link. Но что-то никто не ответил как работает.
|
|
|
|
|
Jul 17 2006, 17:19
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(goodwin @ Jul 17 2006, 20:10)  Зря вы так про wiggler - с самой железкой самой проблем нет и не может быть - проста как топор, а программное обеспечение от macraigor ведет себя вполне адекватно. К сожалению: 1) железка, как правило, еще более "топор", чем оригинальный топорный wiggler. 2) фирмачи давно забили на поддержку оного "топора", а все что, далее пишется энтузиастами, во многих случаев годится только для работы в определенных тепличных условиях. Личный опыт попыток работать с MT-Wiggler оставил неизгладимое впечатление навсегда.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 17 2006, 17:23
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата Я имел ввиду под "псмотреть" именно внутрисхемную отладку в GDB/Insight или CrossWork. Смогу? Да. Цитата Это если отн в Thumb был момент возникновения прерывания? Правильно? Да. Цитата Чьими стараниями? А? НАШИМИ!! поэтому и превосходен. Я так думаю, через некоторое время на klen.org появиться много интересного?
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jul 17 2006, 18:11
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(goodwin @ Jul 17 2006, 21:58)  Цитата(klen @ Jul 17 2006, 20:51)  CrossWork лицензию требует, сволоч. Придется разбиратся c GDB/Insight. Надеюсь часам к двум ночи ченить хоть запустить и осцылом посмотреть.
Какая версия? У меня есть "молодильное яблоко" для v1.5... А на мыло можно? klen_s@mail.ru Поставил 1.6. На ноутбуке поставлю 1.5
|
|
|
|
|
Jul 18 2006, 18:31
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Минимально Железо 1.Плату под SAM. Шаг там очень мелкий, поэтому ручками припаять очень проблематично(хотя мне удавалось). 2.Стабилизатор 5->3.3 (3.3 ->1.8 у SAM бортовой) 3.Разъем USB -снимаем с него питание и программируем тоже через него. 4.Кварц 18.432МГц 5.Немножко россыпи Софт 1.SAM-BA для загрузки 2.IAR или gcc для программирования.(оба мегабайт по 70) Документация (не густо, с AVR не сравнить ) 1.Последнюю версию даташита(включена эррата) 2.Описание ARM7 с arm.com Базовая схема прилагается. ЗЫ Вкралась досадная ошибка - неправильные номиналы резисторов в стабилизаторе напряжения - нужно пересчитать на 3.3В (1К и 1К5 по-моему).
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jul 18 2006, 18:55
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(beer_warrior @ Jul 18 2006, 22:31)  Базовая схема прилагается. ЗЫ Вкралась досадная ошибка - неправильные номиналы резисторов в стабилизаторе напряжения - нужно пересчитать на 3.3В (1К и 1К5 по-моему). Большое спасибо за информацию. ЗЫ Можно подробнее про ошибку в схеме, что нужно пересчитать?... Что означает "1К5"? Можно ли как-то упростить схему?
--------------------
|
|
|
|
|
Jul 18 2006, 19:06
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата Можно подробнее про ошибку в схеме, что нужно пересчитать?... Что означает "1К5"? Можно ли как-то упростить схему? К стабилизатору LP2951 подключен резисторный делитель задающий выходное напряжение (R16/R18). Я скозлил его из схемы где резисторы стоят для выхода 5В. Можно заменить на фиксированный, но у LP2951 большое достоинство - у него входное где-то до 40В т.е. можно будет потом переходить на питание от 9-12В. 1К5 = 1 килоом + 500 ом  Упрощать? А куда дальше? Блокировочные конденсаторы убирать?
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jul 18 2006, 19:16
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(zltigo @ Jul 18 2006, 23:02)  Цитата(AVR @ Jul 18 2006, 21:55)  Что означает "1К5"?
Купите, пожалуй, готовую опладочную плату.... Да, я ламер. Честно говоря такое обозначение вижу впервые... Где можно дешевле купить отладочную плату на SAM7S64 в Санкт-Петерурге? Будет ли возможно заливка программы с помощью SAM-BA для такой платы? Тут, например, есть, но это очень дорого, видимо вместе с J-Link идет...
--------------------
|
|
|
|
|
Jul 18 2006, 19:22
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата У процов шаг между ножками 0.5мм. Это Вам не АВР паять на наколеночные платы. Не удержусь, фотик на столе,расставлю пальцы. Ну не было макеток у моих поставщиков, три дня мне голову морочили, а потом решился.
Эскизы прикрепленных изображений
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jul 18 2006, 19:30
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Цитата(klen @ Jul 18 2006, 15:55)  Как CrossWorkss'у сказать чтоб он зашил в контроллер программу котороая без JTAG кабеля начинала работать после сброса? Ничего понять немогу. Не поленился, сейчас установил CrossWorks 1.5... Отладочная плата SAM7-P64 от Олимекс, вигглер, пример из поставки компилятора - "usart", "ARM Flash Debug". Вот лог: Код Executing reset script FLASHReset() Loading target script file C:\CrossWorks\targets\ATMEL_AT91SAM7\AT91SAM7_Target.js Downloading Loader.exe to Macraigor Wiggler (20 Pin) Programming completed in 250 ms — 13,296 bytes/sec Programming 3.2 KB of at 0x200000 Download complete Downloading usart.elf to Macraigor Wiggler (20 Pin) Erasing completed in 15 ms — 240,800 bytes/sec Programming completed in 313 ms — 11,539 bytes/sec Programming 3.5 KB of at 0x100000 Download complete Verifying usart.elf on Macraigor Wiggler (20 Pin) Verifying completed in 31 ms — 116,516 bytes/sec verifying section : size 0xe1c, addr 0x100000 Verify completed Executing reset script FLASHReset() Loading target script file C:\CrossWorks\targets\ATMEL_AT91SAM7\AT91SAM7_Target.js Все программируется, оттлаживается, после выдергивания вигглера и сброса все работает автономно с терминалом... Так что неправда ваша
|
|
|
|
|
Jul 18 2006, 19:37
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
А с "терминалом" это как? вот мой лог: Цитата 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 219 ms — 22,739 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 Downloading “demo_0.elf” to Macraigor Wiggler (20 Pin) Erasing completed in 297 ms — 5,077 bytes/sec Programming completed in 78 ms — 19,333 bytes/sec Programming 1.4 KB of addresses 00000000 — 000005e3 Download complete Verifying “demo_0.elf” on Macraigor Wiggler (20 Pin) Verifying completed in 15 ms — 100,533 bytes/sec Verifying 1.4 KB of addresses 00000000 — 000005e3 Verify complete 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 Лыжи не едут  запускаю под отладчиком - работает, выдергиваю кабель - работает, нажимаю кнопочку ресет - ФСЕ! ТИШИНА И МЕРВЫЙ С КОСАМИ СТОЯТЬ...SOS...HELP...
Сообщение отредактировал klen - Jul 18 2006, 19:37
|
|
|
|
|
Jul 18 2006, 20:10
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Все тоже самое, только пример для LPC и плата соответственно Олимекс LPC-P2148 : Код Executing reset script FLASHReset() Loading target script file C:\CrossWorks\targets\Philips_LPC210X\Philips_LPC210X_Target.js Downloading Loader.exe to Macraigor Wiggler (20 Pin) Programming completed in 234 ms — 15,863 bytes/sec Programming 3.6 KB of at 0x40000000 Download complete Downloading uart.elf to Macraigor Wiggler (20 Pin) Erasing completed in 422 ms — 8,862 bytes/sec Programming completed in 203 ms — 18,423 bytes/sec Programming 3.6 KB of at 0x0 Download complete Verifying uart.elf on Macraigor Wiggler (20 Pin) Verifying completed in 62 ms — 60,322 bytes/sec verifying section : size 0xe9c, addr 0x0 Verify completed Executing reset script FLASHReset() Loading target script file C:\CrossWorks\targets\Philips_LPC210X\Philips_LPC210X_Target.js Все тоже точно так работает. Терминал - это встроенная в среду терминальная программа  После выключения/включения питания исправно тискает в последоваледовательный порт "Hello World (хххх)"  Только от CrossWorks у меня лично в глазах рябит  От понатыканных бантиков...
|
|
|
|
|
Jul 18 2006, 20:31
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(AVR @ Jul 18 2006, 22:16)  Где можно дешевле купить отладочную плату на SAM7S64 в Санкт-Петерурге? Ну если для Вас на Atmel свет клином не сошелся, то массой Philips-овских ARM в Питере торгует MT-System. Если очень хорошо просить и долго-долгл ждать, то привозили и другие OLIMEX-овские девайсы.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 06:31
|
Частый гость
 
Группа: Свой
Сообщений: 170
Регистрация: 30-06-05
Из: Киев
Пользователь №: 6 426

|
Цитата(klen @ Jul 18 2006, 22:28)  ... втрой день уже неоторватся от приобретенной платки с LPC2103 - я в детстве такой радости от игрушек не испытывал как щас  А не подскажете как платка с LPC2ХХХ обзывается, чтоб в Киеве что-нибудь похожее поискать?
|
|
|
|
|
Jul 19 2006, 08:38
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата А не подскажете как платка с LPC2ХХХ обзывается, чтоб в Киеве что-нибудь похожее поискать? На Кардачах есть. В 11 павильоне по-моему (двухэтажный возле верхнего входа). Под SAM7 у меня будет на следующей неделе, могу поделиться.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Jul 19 2006, 16:53
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(Сергей Борщ @ Jul 19 2006, 19:45)  Эта, вдруг подумалось... А ноги отвечающие за старт приложения/загрузчика подтянуты куда надо? Хотя на моей макетке никуда не подтянуты и все работает, но может тогда залипли не туда? ээ с этого места поподробней, а то я в теме всего два дня - тоесть не втеме. в аврках было все просто за - залил - раьотает, не залил - неработает Какие ноги куда и чего. Бьюсь как рыба об лед. На всякий случай картинку со схемой ложу. Что имеется: 1. Запускаю под отладчиком через JTAG платку - запускается и мигает диодом. 2. Отконекчиваю JTAG. 3. Отсоединяю кадель JTAG 4. Плата продолжает работать. 5 Нажимаю кнопку ресет. светодиод перестает мигать. 6. Посоеденяю кабель. 7. конекчусь отлдадчиком 8. Отладчик говорит что система исполняет код. 9. Прерываю отладчико исполнение кода и вижу где все застряло: кусок кода на котором зациклился процессор модуль Philips_LPC210X_Startup.s Код ........ line 278: b _start #ifndef STARTUP_FROM__RESET reset_wait: b reset_wait #endif Я так понимаю что просто настроить проект не умею правильно. Налицо что сигнал RESET и JTAG по разному сбрасывают кристал.
Сообщение отредактировал klen - Jul 19 2006, 17:06
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 19 2006, 17:21
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 19 2006, 19:53)  ээ с этого места поподробней P0.14 Lo при Reset приводит к запуску Bootloader по RS232. При заливке через JTAG, если в заливаемом формате присутствует указание на стартовый адрес (как, например в расширенных HEX) и заливальшик его отработает, то вполне может быть нормальная работа при загрузке и полный облом после Reset. Абсолютно такая-же ситуация с переходом на загрузчик получается при нарушенной контрольной сумме векторов, при неправильной тоже не происходит запуск приложения. Контрольные суммы обычно считают заточенные под LPC загрузчики или соответственно руками. Фокуса с P0.14 на Вашей плате не будет (подтянут) а с таблицей векторов - вполне :-) Я когда попытался разнообразными существующими грузить дополнительные блоки не с 0 адреса, тоже был очень удивлен поведением :-) загрузчик портящих контрольную сумму. Пришлось свой загрузчик писать.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 17:25
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(zltigo @ Jul 19 2006, 21:21)  Цитата(klen @ Jul 19 2006, 19:53)  ээ с этого места поподробней
P0.14 Lo при Reset приводит к запуску Bootloader по RS232. При заливке через JTAG, если в заливаемом формате присутствует указание на стартовый адрес (как, например в расширенных HEX) и заливальшик его отработает, то вполне может быть нормальная работа при загрузке и полный облом после Reset. Абсолютно такая-же ситуация с переходом на загрузчик получается при нарушенной контрольной сумме векторов, при неправильной тоже не происходит запуск приложения. Контрольные суммы обычно считают заточенные под LPC загрузчики или соответственно руками. Фокуса с P0.14 на Вашей плате не будет (подтянут) а с таблицей векторов - вполне :-) Я когда попытался разнообразными существующими грузить дополнительные блоки не с 0 адреса, тоже был очень удивлен поведением :-) загрузчик портящих контрольную сумму. Пришлось свой загрузчик писать. Так че мне делать ?  Оно так и должно быть? Это че - написал в среде программу залил - а оторвать от шланга устройство не возможно??? это так специально?
|
|
|
|
|
Jul 19 2006, 17:34
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 19 2006, 20:25)  Так че мне делать ?  Смотрим комментарии: Код ORG 0x00 __program_start: ldr pc,(?vect_entry + 4*0); 00 ldr pc,(?vect_entry + 4*1); 04 ldr pc,(?vect_entry + 4*2); 08 ldr pc,(?vect_entry + 4*3); 0C ldr pc,(?vect_entry + 4*4); 10 dc32 0 ; 14 Summ of other vectors instructions ;----------- ^^^^ это дополнение контрольной суммы по модулю 0xFFFFFFFF до 0 ;В большинстве случаев сервис подсчета контрольной суммы кто-то уже осуществляет ; и на этом месте может быть отфонарное число. Как в Вашем инструментарии мне не ведомо. ldr pc,[pc,#-0xFF0] ; 18 Jump directly to the address given by the AIC ; from [0xFFFFF020] Curent 18h +8(conveyer)=20h ldr pc,(?vect_entry + 4*7); 1C
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 17:52
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(zltigo @ Jul 19 2006, 21:34)  Цитата(klen @ Jul 19 2006, 20:25)  Так че мне делать ?  Смотрим комментарии: Код ORG 0x00 __program_start: ldr pc,(?vect_entry + 4*0); 00 ldr pc,(?vect_entry + 4*1); 04 ldr pc,(?vect_entry + 4*2); 08 ldr pc,(?vect_entry + 4*3); 0C ldr pc,(?vect_entry + 4*4); 10 dc32 0 ; 14 Summ of other vectors instructions ;----------- ^^^^ это дополнение контрольной суммы по модулю 0xFFFFFFFF до 0 ;В большинстве случаев сервис подсчета контрольной суммы кто-то уже осуществляет ; и на этом месте может быть отфонарное число. Как в Вашем инструментарии мне не ведомо. ldr pc,[pc,#-0xFF0]; 18 Jump directly to the address given by the AIC ; from [0xFFFFF020] Curent 18h +8(conveyer)=20h ldr pc,(?vect_entry + 4*7); 1C допуситм что сигнатура адресу FLASH+0x14 кривая и загрузчик увидев это послал всех нах(кстате че он в этом случае делает). с этим числом понятно, а как же тогда под отладчиком работает ?? JTAG самостоятельно мимо загрузчика обнуляет PC и запускае программу с нулевого адреса?? Я правильно понимаю?
|
|
|
|
|
Jul 19 2006, 18:04
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 19 2006, 20:52)  допуситм что сигнатура адресу FLASH+0x14 кривая и загрузчик увидев это послал всех нах(кстате че он в этом случае делает). Выпадет в свою консоль, но поскольку на RS232 Вы сэкономили, то этого не видать. Цитата Я правильно понимаю? Да, естественно. Он-же не собирается отлаживать Bootloader....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 18:19
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(zltigo @ Jul 19 2006, 22:04)  Цитата(klen @ Jul 19 2006, 20:52)  допуситм что сигнатура адресу FLASH+0x14 кривая и загрузчик увидев это послал всех нах(кстате че он в этом случае делает).
Выпадет в свою консоль, но поскольку на RS232 Вы сэкономили, то этого не видать. Цитата Я правильно понимаю? Да, естественно. Он-же не собирается отлаживать Bootloader.... 1. В обед спаял на FTDI 2232R переходник. Поставил VCP драйверы для него (тость теперь у меня есть COM3 ). Если я воткну выходы переходника в плату на ноги UART0 TX/RX я получу то на чем "сыкономил" ? CrossWork покажет мне что загрузчик ругнулся?
|
|
|
|
|
Jul 19 2006, 18:28
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Цитата(klen @ Jul 19 2006, 21:19)  Цитата(zltigo @ Jul 19 2006, 22:04)  Цитата(klen @ Jul 19 2006, 20:52)  допуситм что сигнатура адресу FLASH+0x14 кривая и загрузчик увидев это послал всех нах(кстате че он в этом случае делает).
Выпадет в свою консоль, но поскольку на RS232 Вы сэкономили, то этого не видать. Цитата Я правильно понимаю? Да, естественно. Он-же не собирается отлаживать Bootloader.... 1. В обед спаял на FTDI 2232R переходник. Поставил VCP драйверы для него (тость теперь у меня есть COM3 ). Если я воткну выходы переходника в плату на ноги UART0 TX/RX я получу то на чем "сыкономил" ? CrossWork покажет мне что загрузчик ругнулся? Да, конечно так легко получить, то что "сыкономил"  Только, надо чтоб физические уровни были одинаковы. Или ограничить напряжение с FT до 3В делителем или стабилитроном. Версия 1.5 CrossWorks пишет по адресу вектора 0х14 валидную контрольную сумму...
|
|
|
|
|
Jul 19 2006, 18:56
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(AVR @ Jul 19 2006, 22:32)  Извините за оффтоп, но хотелось бы спросить про контору Эфо: что из себя представляет? Там просто склад или склад-магазин (на их сайте не нашел)? Из всего перечисленного beer-warrior'ом особенно волнует наличие платки для корпуса LQFP-64, т.к. непосредственно к выводам проводки я припаять не сумею... Но как найти её в поиске по складу я не представляю (названия не знаю...). Я в питере на ЭФЕ не был, но сдесь их сотрудники говорят что все привозится из питера и еслиб вы (тоесть мы) жили в питере то не надобыло ждать 2дня-2недели. Я так полагаю что такие заявы можно понимать что у них там в питере есть розничная продажа, в москве очень неохотно они розницей торгуют - их я думаю напрягает 100 SMD резисторов возить из питерадва раза в месяц когда вдруг они мне приспичат Цитата(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к' ку можно сказать чтоб он считал сумму? Может это гденить настроить нада?
Сообщение отредактировал klen - Jul 19 2006, 18:58
|
|
|
|
|
Jul 19 2006, 19:07
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(goodwin @ Jul 19 2006, 21:28)  Только, надо чтоб физические уровни были одинаковы. Или ограничить напряжение с FT до 3В делителем или стабилитроном. Не надо, LPC документировано толерантен. Подключение через FT есть и на некоторых olimex бордах типа LPC-Exxxx. Заодно можете и RTS с FT с пользой для полной автоматизации применить - olimex-овцы почему-то не сделали. Цитата CrossWork покажет мне что загрузчик ругнулся? А причем здесь CrossWork? Наберете в терминале ? в ответ получите Synchronizing Ну и далее все по AN посвященному ISP. Ну или просто родной загрузчик присоединяете - он договорится, если консоль запущена...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 19:16
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(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
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 20:19
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 19 2006, 19:53)  кусок кода на котором зациклился процессор модуль Philips_LPC210X_Startup.s Код ........ line 278: b _start #ifndef STARTUP_FROM__RESET reset_wait: b reset_wait #endif Ну так пора тогда выложить сюда исходники сего сюда...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 20:34
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(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 как все завелось с полуоборота. Вопрос остается один - можно ли так делать (тость ведь не дураки писаои стартовыкод и ошибки внем не должно быть) и как делать правильго? Сразу появлась новая грабля  Скоссворк при попытке через JTAG ченить считать или записать рисует модальное окно со звуком "кирдык" . Это че еще за фича? переустановка среды результата не дала. Появилась это в обед. На ноутбуке пока все работает.
Сообщение отредактировал klen - Jul 19 2006, 20:39
Прикрепленные изображения
|
|
|
|
|
Jul 19 2006, 21:09
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 19 2006, 23:34)  Вопрос остается один - можно ли так делать (тость ведь не дураки писаои стартовыкод и ошибки внем не должно быть) и как делать правильго? Не дураки и посему для автономности кода поставили заглушки на все. Заглушку на точку входа по Reset просто следовало дезактивировать (там и ключик черным по белому)перед применением БОЛВАНКИ startup в реальной жизни. В этом startup еще заглушек полно :-) и ининциализаций разных, типа контроллера внешней шины начисто отсутствующего у 2103 :-)) Короче читать надо перед употреблениеу "унутрь"..... Ну, как правило, после мигания светодиодом дольшая часть проблем кончается :-), ну разве только RS232 и консоль поднять (не долюбливаю внутрисхемные отладчики за мелочность - все больше по старой прывычке со своей отладосной консолью..)
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 21:20
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(zltigo @ Jul 20 2006, 01:09)  Цитата(klen @ Jul 19 2006, 23:34)  Вопрос остается один - можно ли так делать (тость ведь не дураки писаои стартовыкод и ошибки внем не должно быть) и как делать правильго?
Не дураки и посему для автономности кода поставили заглушки на все. Заглушку на точку входа по Reset просто следовало дезактивировать (там и ключик черным по белому)перед применением БОЛВАНКИ startup в реальной жизни. В этом startup еще заглушек полно :-) и ининциализаций разных, типа контроллера внешней шины начисто отсутствующего у 2103 :-)) Короче читать надо перед употреблениеу "унутрь"..... Ну, как правило, после мигания светодиодом дольшая часть проблем кончается :-), ну разве только RS232 и консоль поднять (не долюбливаю внутрисхемные отладчики за мелочность - все больше по старой прывычке со своей отладосной консолью..) А это че.... значит было сделано правильно НО НЕРАБОТАЛО! потом я носом по ассемблеру дорыл то этой "заглушки" и разглушил ее? аригинальный подход еслиб у меня опыта небылобы, ну например типа чувак купил плату кабель и книжку - ябы месяц искал бы. Я то думал что "все подключено" а тут тако и главное ВСЕМОЛЧАТ КАК ПАРТИЗАНЫ, не верю что никто не знал куда меня носом тыкнуть. А насчет "почитать cпереди" это очень верно подмечено.. но я достойный сын своего русского племени - сначала делаем (неработает) потом думаем почему не работает(всервно не работает) а только потом читаем даташит. Нада статью написать и пример с использованием всех переферийнызх модулей под плату эту и выложить на сайт. А то под нее демок Olimex не наморочил, учитывая дешевезну(читай привлекательность) я думаю она станет популярно среди кексов подобных мне. А с дефайном STARTUP_FROM_RESET я конкретно лоханулся... ктож знал что кругом засада
Сообщение отредактировал klen - Jul 19 2006, 21:24
|
|
|
|
|
Jul 19 2006, 21:52
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Ну насчет партизанского молчания - это зря... Ты как раз среди участников этой конфы может являешься пионером в освоении CW 1.6 В CW 1.5 все было в "одном стакане" и у меня заработало сразу. В 1.6 примеры приходится качать отдельно. Сейчас как раз пробовал - та-же бодяга. Пробовал "Flash Release" - тоже не работает. И вообще что-то мне не шибко комфортно в этой среде, типа такого  : http://www.itcenter.com.ua/WORD.gifПлюс еще куча всяких рычажков в опциях проекта. Думаю авторы для "Flash Release" просто гдето пропустили этот #define второпях...
|
|
|
|
|
Jul 19 2006, 22:03
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Цитата(zltigo @ Jul 20 2006, 00:34)  Ну насчет "молчат", это зря - скоро 4 страница постов пойдет. Ну а то, что Вы там какой-то левый и избыточно толстый пример от не слишком (по моим наблюдениям) популярного (Вы да goodwin) в этих местах Rowley компилить пытаетесь, так тут уж Вам это вообще никто ни словом ни полсловом не навязывал :-) Дык я тоже только начинаю щупать ARM, и CrossWorks поставил только вчера с подачи klen  Что понравилось - с вигглером работает _очень_ шустро (видимо из-за своего быстрого драйвера). Не нравится шибко "пестряще пестрая пестрота"  И еще так умудрились затормозить J-Link, что он работает даже медленнее вигглера. v1.6 видимо еще сыровата - сразу ощущается после v1.5, даже на поверхностный взгляд...
|
|
|
|
|
Jul 20 2006, 03:55
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
"Начинаю вливатся: ДЕНЬ ТРЕТИЙ" Третий день начался с того что ни на одной из моих машин я нимагу препрошить 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.
|
|
|
|
|
Jul 20 2006, 05:39
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 5-12-05
Из: Екатеринбург
Пользователь №: 11 823

|
Цитата(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Большой рахмат, то есть спасибо
|
|
|
|
|
Jul 20 2006, 06:32
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 20 2006, 06:55)  ...что JTAG не умеет после аппаратного ресета управлять процессором поэтому вместо JTAG "умет", а вот отладчик-прошивальшик по вышеизложенному видать более, чем убогий с дивными требованиями к работоспособности. Зашейте ему обратно желеаемое через RS232 или через какой-либо другой прошивальщик. И подумайте над выбором инструмента :-( для нормальной работы.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 20 2006, 08:17
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ 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. Это не ошибка, это "не лечится" - отладились, зашили и больше никогда не трогайте :-)
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 20 2006, 08:42
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(Сергей Борщ @ 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 приятней, вощем посмотрим.
Сообщение отредактировал klen - Jul 20 2006, 09:01
|
|
|
|
|
Jul 20 2006, 09:47
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(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.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 20 2006, 11:57
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Все просто чудненько! Сделал описанные действия, все завелось с полоборота. Загрузка по UART это здорово. Максимальная скорость которой умеет филипсовский прошивальщик 115к - довольно быстро, нада попроывать размотать на побольше - FT2232 умет гнать 921.6к , осталось узнать какую скорость имеет само прошивание ячеек флеша. Получается что я правильно сыкономил - пришлось по бырому преходник на FT2232 спаять. Теперь у меня кроме JTAG каеля имеется и "USB программатор" Теперь попроую давно желаймую девайсину сделать - квадратурный приемник. Судя по симулятору можно будет на float успеть демодулировать сигнал в полосе порядка 10кГц. Симулятор сказал что квадратурное детектирование с представлением данных в float и стандартной библиотечной sqrt() потребует 2825 тактов что на частоте 60 мГц процессора позволит ему прокачать с АЦП до выходного порта значение полученной фазы и амплитуды в темпе ~21,2 КВыборок. Все начальники на всех моих работах ушли в отпуск - займуська я этим, никто не мешает. Ну вот, вроде теперь начинаю ориентироватся "как в этом лесу живут звери". Всем нечеловеческое спасиба за помощь. Былаб возможность всем встретится пивом угостил бы.
|
|
|
|
|
Jul 20 2006, 17:11
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(zltigo @ Jul 20 2006, 20:44)  Цитата(klen @ Jul 20 2006, 19:20)  Многие говорят плавающей за всю жисть в проектах не использовали, я с другой стороны луны живу.  Ну так-уж один одинешенек и "c другой" :-). Тут не говоря уже о DSP чего-нибудь измеряют-фильтруют частенько... Я имел ввиду именно плавучку, DSP чаще используют дробно-целочисленную арифметику, для реализации обработки сигналов это чаще быстрее и рациональнее. Я не прав? Возник еще вопрос. Выкачал pdf ARM7TDMI Revision: r4p1 Technical Reference Manual Очень интересная штукенция, про самое мне интересующее - набор инструкций я прочел сразу, остальное тоже нужно но лень. на английском чтать полезно но лень, есть русский перевод в природе? Именно перевод а не иносказания, а то ведь это всетаки документ в котором промышленный стандарт описан - тут нужен дословный перевод
|
|
|
|
|
Jul 20 2006, 18:42
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

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

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

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

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Цитата(zltigo @ Jul 20 2006, 22:22)  Цитата(klen @ Jul 20 2006, 21:52)  2_AVR Кто смелый? Кто первый... удлинять будет?  Удлинняйте с другой стороны. Во-первых работать будет, а во-вторых смелости не потребуется. И паять ничего не надо - стандартный удлиннитель для LPT...
|
|
|
|
|
Jul 21 2006, 03:18
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Вопрос: Где можно найти описание процессора Samsung SC32442 ( на ядре ARM920T ) P.S. Есть желание разобраться с железом КПК
|
|
|
|
|
Jul 21 2006, 07:42
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(AVR @ Jul 21 2006, 00:17)  При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++, Поставить курсор в окно с исходным текстом на С++. Цитата(AVR @ Jul 21 2006, 00:17)  а ещё лучше по брейкпоинтам?..  Ставишь брейкпоинт (кажется не более 3 при отладке из флеш, при том что одну отладчик ставит на main если стоит галочка "Run to main" и сколько угодно при отладке из ОЗУ), жмешь Run.
Сообщение отредактировал Сергей Борщ - Jul 21 2006, 07:45
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 21 2006, 18:17
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(klen @ Jul 21 2006, 20:53)  Ну это засада - че трудно чтоли TAP контроллеру.... Нормальное и естественное поведение для периферии. Ну что из того, что какое-то из ПЕРЕФЕРИЙНЫХ устройств случайно оказалось внутри корпуса контроллера? А если их реально 36 штук и все они внешние. Что "вешатся" по причине того, что при останове контроллера они в трепете не останавливаются? Более того, может оказаться желательным и именно неостанавливающаяся периферия. Общий случай отладки с периферийным устройством решения останова оного не имеет, ну и примите это как даденность.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 21 2006, 18:52
|

фанат Linux'а
    
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008

|
Цитата(Сергей Борщ @ Jul 21 2006, 11:42)  Цитата(AVR @ Jul 21 2006, 00:17)  При отладке я шагаю по ассемблерным инструкциям. Можно ли настроить IAR-ARM, чтобы можно было шагать по строчкам исходной программы на C++,
Поставить курсор в окно с исходным текстом на С++. Да, это конечно так, при отладке симулятором у меня всё шагает по коду на C++, но при запуске отладки "в железе" при начале отладки у меня вылетает ошибка что main не найдено и запускает отладку по ASMу...
--------------------
|
|
|
|
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|