реклама на сайте
подробности

 
 
> Начало работы с VxWorks
misyachniy
сообщение Jan 5 2007, 12:43
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Хочу поставить среду для работы с VxWorks для ARM.
Скачал с ФТП общие файлы, по моему мннению :-)
VSPWOKS 4.5.1-RORiSO.ShareReactor.rar
WINDRIVER.TORNADO.V2.0.ISO
WindRiver.Workbench.v2.3.1-ZWT.rar
ZINC 6.0 FOR TORNADO 2.0.ISO
И два для ARM.
WINDRIVER.TORNADO.V2.2.FOR.ARM.CD1.ISO
WINDRIVER.TORNADO.V2.2.FOR.ARM.CD2.ISO

Как их правильно развернуть на HDD чтобы инсталляция прошла успешно?
Что за архивы ShareReactor и Workbench?

Хочу использовать AT91SAM7S128, потянет?

Что порекомендуете почитать в сети на русском и родном английском? :-)

Спасибо за обстоятельные и толковые советы! :-)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
misyachniy
сообщение Jan 25 2007, 15:08
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Поставил с нуля
WINDRIVER.TORNADO.V2.2.FOR.ARM.CD1.ISO
WINDRIVER.TORNADO.V2.2.FOR.ARM.CD2.ISO
Нашел в TUTOR как загружать в симулятор и симулировать работу программы на PC.
Посимулировал, понравилось. :-)
Решил попробовать поближе к железу, у меня есть KIT c LPC2106.
Здесь нашел простой пример проекта для LPC2106
http://tnkernel.com/vxworks_lpc2106.html
Создал новый проект на основе templateARM, который нашел в инсталлированых папках Tornado.

Пошагово переделывая проект дошел до до обработчика прерывания от системного таймера

Код
void sysClkInt (void)
{
   rTIMER0_IR = 0xFF;  /* clear interrupt source */
    /* call system clock service routine */
   if(sysClkRoutine != NULL)
   (* sysClkRoutine)
   (sysClkArg);
}


Нашел как в VxWorks обращаться к регистрам отображенных на память:

Код
/* The default is to assume memory mapped I/O */
#ifndef TEMPLATE_READ
#define TEMPLATE_READ(reg, result) \
                (result = *reg)
#endif /*TEMPLATE_READ*/

#ifndef TEMPLATE_WRITE
#define TEMPLATE_WRITE(reg, data) \
        (*reg = data)
#endif /*TEMPLATE_WRITE*/


Определил регистр:
#define rTIMER0_IR 0xE0004000

Вставил в программу:
TEMPLATE_WRITE(rTIMER0_IR, 0xFF); /* clear interrupt source */

Получил "желтую карточку":
"F:\Tornado\target\src\drv\timer\templateTimer.c", line 102: warning (dcc:1554): illegal t
ype(s): '*' uint


*rTIMER0_IR=0xFF; аналогично вызывает warning.

Преобразовал так:
*(unsigned int*)rTIMER0_IR=0xFF;

warning пропал.

Правильно ли я сделал?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 13:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016