ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
87083
xelax (20.04.2007 10:59, просмотров: 934)
Кто-нибудь по шагам по FreeRTOS в IARе ходил Пытаюсь сейчас переложить FreeRTOS на IAR 4.31 для LPC2214. Натолкнулся на такую фишку в асм файле portasm.s79 в <asm> vPortStartFirstTask: portRESTORE_CONTEXT </asm> При запуске тасков регистр SP выходит за пределы указанные в линкере. IAR начинает постоянно warning'и сыпать. Вопрос спецам, это вообще нормально? Причём готовый пример, который вместе с исходниками скачивается на LPC2129 вытворяет тоже самое в симуляторе. Поскольку это мой первый опыт общения с РТОСами, на этом всё и за стряло. Запустить пока не получается. Программа пролетает создание и запуск тасков и начинает благополучно слать 55 через uart. Что не так делаю? <c> #include "system.h" #include "uart.h" /* Scheduler includes. */ #include "FreeRTOS.h" #include "task.h" // Task to be created. void vTaskCode( void * pvParameters ) { for( ;; ) { // Task code goes here. UART0WriteChar(0x77); UART1WriteChar(0x77); } } int main() { // PLL, MAM, Port's initialization SystemInit (); // UART initialization InitUart0(); InitUart1(); // Create the task, storing the handle. xTaskCreate( vTaskCode, "NAME", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); vTaskStartScheduler(); // loop forever while(1) { UART0WriteChar(0x55); UART1WriteChar(0x55); } } </c>