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

 
 
 
Reply to this topicStart new topic
> Порт для uCOS-II (AN-1014), У кого есть исправленый под Кеил ?
JeDay
сообщение Feb 26 2006, 21:58
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



В синтаксис директив компилятора не освоил еще. В коде ИАРа есть такие строки:
Код
RSEG CODE:CODE:NOROOT(2)
CODE32

Не знаю что с ними в Кейле делать...
Может у кого нить есть файлик "os_cpu_a.asm" уже переделанный ?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 26 2006, 22:40
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Есть весь ихний порт под IAR включая BSP для LPC2138 переделанный под KEIL, но для RealView компилятора.
А строки ихние заменяете на это
PRESERVE8
AREA CODE,CODE, READONLY
ARM

biggrin.gif правда этим не отделаетесь, но все равно с чего то надо начинать.
Go to the top of the page
 
+Quote Post
JeDay
сообщение Feb 28 2006, 05:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 276
Регистрация: 22-09-05
Из: Kiev
Пользователь №: 8 818



А какие там еще подводные камни есть ? Может лучше в IAR писать ?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 28 2006, 22:34
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



В принципе там уже по мелочам остается. Убрать спецификаторы ARM__ в С коде.
Изменить префиксы ?? на ченить другое в asm коде и т.д.
Новичку наверно лучше остаться на IAR. Там и OS viewer есть и startup попроще делается.
Но будет худщий код и ниже производительность отладки как процесса по сравнению с KEIL RealView. А с опытом это становится самым важным. Так что думайте.
Go to the top of the page
 
+Quote Post
bombastic
сообщение Mar 24 2006, 07:40
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 28-09-05
Из: Н. Новгород
Пользователь №: 9 034



Вот поправил os_cpu_a под KEIL...
Компилится без ошибок, но за работоспособнсть не могу сказать unsure.gif , еще не проверял.
Блин файл не прикрепляется поэтому код прям здесь напишу.

;*************************************************************************
; uOS
; The Real-Time Kernel
; Generic ARM Port
;
;*************************************************************************


EXTERN DATA (OSRunning) ; External references
EXTERN DATA (OSPrioCur)
EXTERN DATA (OSPrioHighRdy)
EXTERN DATA (OSTCBCur)
EXTERN DATA (OSTCBHighRdy)
EXTERN DATA (OSIntNesting)

EXTERN CODE32 (OSIntExit?A)
EXTERN CODE32 (OSTaskSwHook?A)
EXTERN CODE32 (OS_CPU_IRQ_ISR_Handler?A)
EXTERN CODE32 (OS_CPU_FIQ_ISR_Handler?A)


PUBLIC OS_CPU_SR_Save?A ; Functions declared in this file
PUBLIC OS_CPU_SR_Restore?A
PUBLIC OSStartHighRdy?A
PUBLIC OSCtxSw?A
PUBLIC OSIntCtxSw?A
PUBLIC OS_CPU_IRQ_ISR?A
PUBLIC OS_CPU_FIQ_ISR?A



NO_INT EQU 0xC0 ; Mask used to disable interrupts (Both FIR and IRQ)
SVC32_MODE EQU 0x13
FIQ32_MODE EQU 0x11
IRQ32_MODE EQU 0x12

;****************************************************************************
; CRITICAL SECTION METHOD 3 FUNCTIONS
;
;****************************************************************************

AREA OS_CPU_A, CODE, READONLY, ALIGN=2 ; Declare the segment


OS_CPU_SR_Save?A


MRS R0,CPSR ; Set IRQ and FIQ bits in CPSR to disable all interrupts
ORR R1,R0,#NO_INT
MSR CPSR_c,R1
MRS R1,CPSR ; Confirm that CPSR contains the proper interrupt disable flags
AND R1,R1,#NO_INT
CMP R1,#NO_INT
BNE OS_CPU_SR_Save?A ; Not properly disabled (try again)
BX LR ; Disabled, return the original CPSR contents in R0


OS_CPU_SR_Restore?A

MSR CPSR_c,R0
BX LR

.
.
и т.д.
.
.

;****************************************************************************
; POINTERS TO VARIABLES
;****************************************************************************

??OS_TaskSwHook:
DD OSTaskSwHook?A

??OS_CPU_IRQ_ISR_Handler:
DD OS_CPU_IRQ_ISR_Handler?A

??OS_CPU_FIQ_ISR_Handler:
DD OS_CPU_FIQ_ISR_Handler?A

??OS_IntExit:
DD OSIntExit?A

??OS_IntNesting:
DD OSIntNesting

??OS_PrioCur:
DD OSPrioCur

??OS_PrioHighRdy:
DD OSPrioHighRdy

??OS_Running:
DD OSRunning

??OS_TCBCur:
DD OSTCBCur

??OS_TCBHighRdy:
DD OSTCBHighRdy

END

Сообщение отредактировал bombastic - Mar 24 2006, 07:43
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 03:52
Рейтинг@Mail.ru


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