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

 
 
> LPC2478 FreeRTOS port никто не видел/делал?
sergik_vrn
сообщение Dec 16 2008, 14:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



Перешел на новый проц (с STR710 на LPC2478), компиляю проект под IAR, FreeRTOS порт втупую не собирается, судя по всему, изменились регистры, и прилично изменились (для иар порт называется LPC2000, судя по хидерам он даже для LPC23хх не сгодится). Прежде чем самому разбираться, хотелось бы узнать, может не стоит изобретать велосипед?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergik_vrn
сообщение Dec 17 2008, 10:49
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491



вдогонку. кстати, о птичках. разобрался с векторами, порт переделал, все собралось, запускаю я свой урезанный проект под FreeRTOS, он успешно зависает в момент старта операционки. начинаю разбираться, обнаруживаю любопытный факт

Код
portRESTORE_CONTEXT MACRO

[..]
; Restore all system mode registers for the task.                 
    LDMFD    LR, {R0-R14}^
    NOP

; Restore the return address.                                     
    LDR        LR, [LR, #+60]

; And return - correcting the offset in the LR to obtain the     
; correct address.                                                 
    SUBS    PC, LR, #4

    ENDM

данный код используется для переключения задач, в том числе при старте. для первого запуска, разумеется, значения регистров в стеке забиваются фейковыми значениями. при выполнении LDMFD LR, {R0-R14}^ регистр LR (он же R14) восстанавливается из стека, значение его теряется, после чего
Код
    LDR    LR, [LR, #+60]
    SUBS    PC, LR, #4

отправляет PC в аут. любопытно, что в STR710 этот код прекрасно себе работает. никто с этим не сталкивался? или я опять туплю? и как лучше избавляться от этого, не восстанавливать R14 из стека? а как тогда быть с переключением контекста?...
Go to the top of the page
 
+Quote Post



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

 


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


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