roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 23:41

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 120 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 23 фев 2010, 20:44 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
так я его специально и выставил чтоб убедится в правильности кода.

Добавлено спустя 5 минут 51 секунду:
а почему если отладчиком выставить виглер, то дальше этого окна ничего не идет?

Вложение:
2.PNG
2.PNG [ 81.14 КиБ | Просмотров: 2730 ]


Добавлено спустя 2 минуты 13 секунд:
а... вроде понял, потому что виглер не правильно в кейле настроен, я-то прошиваю прямо из вигреровской софтинки, а не из кейла

Добавлено спустя 8 минут 53 секунды:
кстати, кто нибудь настраивал виглер под кеил?
я вроде всё правильно настроил согласно инструкции с его сайта

Цитата:
Q. How to configure KEIL?
A. KEIL->PROJECT->OPTIONS FOR TARGET->DEBUG->USE RDI Interface Driver->SETTING->BROWSER->Choose H-JTAG.DLL loacted in the installation folder.


Добавлено спустя 14 минут 28 секунд:
тут всё правильно настроено?

Вложение:
3.PNG
3.PNG [ 20.76 КиБ | Просмотров: 2670 ]


Добавлено спустя 23 минуты 19 секунд:
Настройка Wiggler совместно со средой IAR, Keil, CrossWorks

http://www.evodbg.com/index.php?option= ... 5&Itemid=1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 23 фев 2010, 21:09 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Не поленился поставить кейл (правда четвертый). Короче - чтобы программа работала из ОЗУ, если это пример кейловский (я взял пример MCB2100) - у него есть 3 конфигурации, MCB2100 Flash, MCB2100 RAM и Simulator. Вот настройки, которые прописались когда я выбрал RAM. Главный смысл я так понимаю в адресах IROM1/IRAM1 и в Initialization file: . \RAM.ini

Добавлено спустя 1 минуту 6 секунд:
Да, злой прикол в том, что когда меняешь тип контроллера - настройки памяти скидываются. На флешевые.


Вложения:
target.PNG
target.PNG [ 16.77 КиБ | Просмотров: 2665 ]
debug.PNG
debug.PNG [ 16.77 КиБ | Просмотров: 2663 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 23 фев 2010, 21:24 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
а на последнем скриншоте Ram.ini ты сам прописвал?
Он по какому пути находится?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 23 фев 2010, 21:52 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Адреса IROM И IRAM выставляются автоматически, в зависимости от типа МК на адрес функции main. Если используют закгрузчики, Линукс, тогда их меняют

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 23 фев 2010, 22:18 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
а чем отличается работа из флеша и из ОЗУ?
и зачем ввели вообще такую неразбериху?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 23 фев 2010, 22:35 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Наверно тем чо во флэше прога хранится может и без питания, а в ОЗУ ее загрузить нужно после включения питания.

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 03:38 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Эд, здесь ядро быстрое, а флешь тормозная.
Буфер это исправляет, но не полностью.
А оперативка быстрая, в нее можно выгрузить некоторые особо используемые функции и таким образом улучшить производительность своей программы.
Хотя на мой взгляд это скорее метод оптимизации на случай, если все уже почти готово, но не влезает по производительности :)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 08:07 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
а как и что сказать Keil, что программу писать во флеш или в ОЗУ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 08:41 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
А документацию почитать и примеры посмотреть слабо? Поиск в гугле рулит. http://www.keil.com/support/man/docs/ca/ca_le_ram.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 08:57 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
да я не про то...
я имел ввиду что так и не понял куда прошивается мой код
т.е. такое впечатление что прошиваю во флеш, а арм стартует из ОЗУ, ну или на оборот.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 09:08 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Скажи какой камень и кварц, я тебе могу пример скинуть ножкой помигать или там в uart вывести что-нибудь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 09:14 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
LPC2294 14,7456Мгц
светодиод висит на P0.30
кнопка на P0.29
а если еще и из usb (uart0) будет в терминалку чё нибудь передоваться я ваще умру от счастья


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 09:45 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Интересно справится ли с такой задачей мастер кода для ARM маленького компилятора ICC ARM http://imagecraft.com

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 09:46 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
боюсь мы этого никогда не узнаем... :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil uVision3
СообщениеДобавлено: 24 фев 2010, 12:34 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Работа кода из ОЗУ применяется в двух случаях:
1. Чтобы работало побыстрее. Вроде как на LPC не сильно актуально, там MAM есть, аффтары утверждают что программа из флеши тоже исполняется на полной скорости. Реализация: прога вся пишется во флеш, но при старте часть кода, который должен исполняться из ОЗУ, копируется туда (механизм тот же, что и для инициализированных данных).
2. Чтобы флешу зря не мучать. Это тот вариант, про который я говорил. Вся прога, в том числе и векторы прерываний, собирается для работы в ОЗУ и записывается в ОЗУ прямо через JTAG из среды. Естественно размер кода ограничен размером ОЗУ - но это не проблема для светодиодной мигалки. В общем, это идеальный режим для мелких тестов - потому как все очень просто, нажал в IDE кнопку "Debug" - и прога скомпилилась, залилась в МК и побежала. Или встала на начале функции main(), а дальше по шагам.

К сожалению не работал всерьез с кейлом, только с CrossWorks. На приведенных скринах ничего не менял, просто открыл первый попавшийся пример-мигалку и выбрал конфигурацию RAM - файл Ram.ini именно в таком виде прописался сам. Поиск показал, что такой файл есть во многих папках с примерами, в нем написаны некие инструкции для отладчика. Что это за формат - я не знаю, но действия достаточно очевидные: загрузить скомпилированный файл в ОЗУ, установить PC на 0x40000000 (начало ОЗУ) и запустить исполнение. Еще упомянута функция main, возможно на нее поставится брейкпоинт.

А что касается вопроса откуда стартует LPC - вообще он всегда стартует с бутлоадера. Бутлоадер проверяет состояние ножки P0.14 (на олимексовской плате переключатель ICSP), если на ней 0 - переходит в режим ISP. Если 1 - он проверяет, есть ли во флеши программа. Прошивающий софт при прошивке считает контрольную сумму векторов прерываний и помещает ее в специальную ячейку. Бутлоадер считает контрольную сумму векторов во флеши, затем сверяет ее с этой ячейкой. Если сошлось - значит во флеши валидная программа, тогда управление передается ей на адрес 0x00000000. Если нет - опять же ISP (ну то есть он ждет заливки программы по уарту).

Если отладка по JTAG работает, определить куда плюхнулся МК, легко - нажать "стоп" и посмотреть адрес в PC. Флеш находится с нулевого адреса, ОЗУ с 0x40000000, бутлоадер еще дальше (0x7fff....). Отладчик через JTAG может менять ОЗУ и любые регистры - поэтому ему на эти перемычки-суммы глубоко пофиг, он может ручками заставить проц выполнять то, что ему надо.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 120 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 8  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO