|
|
  |
Вливаюсь в коллектив ARMоводов, жду советов и дележа опытом |
|
|
|
Jul 24 2006, 12:16
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(klen @ Jul 23 2006, 13:53)  Чето цифры не сходятся, если предположить что тратится по одному такту на инструкцию, частота переключения должна быть ~51Мгц (APBDIV выставлен равным 1-без деления частоты AHB), прчем 103.219 даже близко нацело не делится на 29,54. Почему так? Потому что частота PLL будет не 103.219MHz, а 88.47MHz. Цитата(klen @ Jul 23 2006, 13:53)  Эксперементы с разгоном могут привести к неприятностям? Конечно.
|
|
|
|
|
Jul 24 2006, 16:10
|

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

|
[quote name='zltigo' date='Jul 24 2006, 09:46' post='137004'] [quote name='AVR' post='136985' date='Jul 24 2006, 01:56'] У меня возникла проблема [/quote] Это не оно? http://supp.iar.com/Support/?note=70964&am...m=search+resultДа, оно. Спасибо.
--------------------
|
|
|
|
|
Jul 24 2006, 16:42
|

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

|
Цитата(klen @ Jul 24 2006, 14:53)  В книге написано что вся переферия в 2103 полноскоростная (АРBDIV=1) . 1. Ссылку. 2. Наверняка выходная логика GPIO дополнительно тактируется. 3. Фронты по 10ns нормированы и точно выдерживаются (проверял на 2148, тоже скоростном), посему уже на 50MHz чистейшая пила будет. 4. У старых было безумно медленная порядка 200ns. Помнится было обещано четырехкратное ускорение.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 8 2007, 12:55
|
Участник

Группа: Новичок
Сообщений: 45
Регистрация: 18-02-05
Пользователь №: 2 739

|
Добрый день! Пытаюсь освоить ARM LPC, до этого имел опыт активного использования AVR. Есть платка Olimex LPC-E2124, с которой шли 3 демо исходника, два для IAR и один для RowleyCrossworks. При первом включении на платке была залита демка с веб сервером, которая без проблем работала. Пытался скомпилить примеры, которые под иаром ( моргалка светодиодами, демка с UART) и поимел следующие грабли: Все компилится без проблем. Нажимаю дебаг, вигглер шуршит (debug and verifying aplication), а потом пишет JTAG Error: Invalid Register Code. В логе после этого наблюдается такой текст: Код Sat Sep 08 16:32:39 2007: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\ARM\config\flashloader\NXP\FlashNXPLPC256k.mac Sat Sep 08 16:32:41 2007: JTAG API v48.32, Wiggler v1.41, ARM ID: 4F1F0F0F Sat Sep 08 16:32:44 2007: 3734 bytes downloaded and verified (1.07 Kbytes/sec) Sat Sep 08 16:32:44 2007: Loaded debugee: C:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\ARM\config\flashloader\NXP\FlashNXPLPC256k.d79 Sat Sep 08 16:32:45 2007: Target reset Sat Sep 08 16:34:22 2007: Check that all cables are connected and power is OK Sat Sep 08 16:34:25 2007: Non-zero or missing exit code. Sat Sep 08 16:34:25 2007: Code still contains old breakpoints При этом проекты писанные под SAM7 в этом же иаре без проблем шьются во флеш и дебужатся пошагово этим же вигглером. Думаю, хрен с тобой, залью во флеш H-JTAG флешером. Скомпилил в бинарник, подсунул H-JTAG, он сказал что все прошилось. Но никакой реакции и признаков работы нет. Опять же для SAM7 с помощью H-JTAG флешера все заливалось и работало. 2. Пробую третий пример , который под РоулейКроссворкс писаный, в надежде что эта среда разработки с вигглером дружит без проблем, ну и на самом сайте роулей, моя платка заявленна как поддерживаемая и к ней прилагается код. (ссылка)При компиляции натыкается на #include <targets/LPC21xx.h> и говорит что не может его найти. У меня его найти тоже не получилось. ;-)) Подскажите где копать.... День уже убил на гугление по первой и второй проблемеЮ но безрезультатно...
|
|
|
|
|
Sep 8 2007, 15:50
|
Участник

Группа: Новичок
Сообщений: 45
Регистрация: 18-02-05
Пользователь №: 2 739

|
По поводу глюков ИАРа... Оказалось действительно глюк. Решение проблемы качаем тут.По поводу глюков с неработоспособностью генерируемого кода. Оказалось все тоже просто. Линкеру былы показаны стандартные какие-то файлы с разметкой памяти. Подсунул те, которые из проекта и все завертелось. (Project - Options - Linker - Config - Linker Command File). Что и откуда в этом файле берется пока не разбирался. Думаю если хорошо прокурить архитектуру ядра и разметку адресного пространства LPC2000 все встанет на свои места. В правильном направлении мыслю? А вот по поводу РоулиКроссверкс полная фигня.... Накачал кучу проджектов под эту среду, пытаюсь компилить. А они все упорно лезут в /Rowley Associates Limited/CrossWorks for ARM 1.6/targets/ и пытаются оттуда надергать всякого разного, начиная от хедеров с дефайнами на регистры, заканчивая стартап файлами (пока не до конца понял что это, ибо не видел еще, но думаю что-то похожее на то, что в предидущем абзаце ИАРовскому линкеру скормили) Где же мне эту папку targets взять? Роули стоит стянутый с местного ФТП. Хотя пробовал и последнюю демку версии 1.7. Симптомы те же - папка targets отсутствует.
|
|
|
|
|
Sep 9 2007, 18:50
|
Участник

Группа: Новичок
Сообщений: 45
Регистрация: 18-02-05
Пользователь №: 2 739

|
Да, действительно, теперь BSP поставляются отдельно. Качать тут. Еще маленький вопросик. Проект в CW скомпилился и запустился на отладку. Причем дебаг версия в которой нет оптимизации работает (пакетики из сети принимает, светиками моргает) , а релиз версия с оптимизацией первого уровня запускается, но работает раз в 10 медленнее (неспешно моргает светиками, из сети ничего не ловит). Как нибудь можно понять, что этот оптимизатор по ошибке выкинул? И еще, самый главный вопрос. Если заливаем проект через CW Debug, то все работает, но до первого ресета. Если залить проект просто как бинарный файл с помощью H-Flasher, то никаких признаков жизни нет. Где-то как-то нужно этому Роули линкеру указать точку входа в программу.... Товарищи, поддержите на самом сложном этапе освоения... ;-) Уж очень хочется ARM научиться использовать.
|
|
|
|
|
Sep 10 2007, 02:30
|
Участник

Группа: Новичок
Сообщений: 45
Регистрация: 18-02-05
Пользователь №: 2 739

|
Цитата(zltigo @ Sep 9 2007, 23:18)  99 из 100 - просто контрольной суммы нет и на автомате не запускается. При заливке дебагером управление безусловно на точку входа передается и работает. Странно... А где и чем она должна считаться и куда прописываться?
|
|
|
|
|
Sep 10 2007, 06:23
|

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

|
Цитата(zltigo @ Sep 9 2007, 22:18)  99 из 100 - просто контрольной суммы нет и на автомате не запускается. При заливке дебагером управление безусловно на точку входа передается и работает. Насколько помню здешние обсуждения, там есть в startup магический #define, который заставляет программу циклиться в startup чтобы отладчик мог перехватить управление. Этот #define надо закомментировать или наоборот. Ага, вот нашел.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|