Cortex-M3平台上lwIP+AJAX的Web嵌入式应用
系统软件设计
本文引用地址:http://www.eepw.com.cn/article/146836.htm整个系统软件基于FreeRTOS实时操作系统开发,TCP/IP协议栈采用精简高效的lwIP进行实现。系统软件框架如图5所示。
FreeRTOS系统配置
FreeRTOS预先固化在LM3S9D96的ROM中,提供了一种独特的方式快速开发可靠的高度集成的嵌入式系统。本系统中FreeRTOS运行参数须配置如下:
static xPORT_INIT_PARAMETERS g_sFreeRTOSPortInit ={
80000000, // System clock rate.
1000/portTICK_RATE_MS, // Scheduler tick rate.
FreeRTOSTaskDeleteHook, // Task delete hook.
FreeRTOSErrorHook, // Error hook.
FreeRTOSIdleHook, // Idle hook.
0, // System stack location.
0, // System stack size.
0 // Vector table base.
};
系统引导程序startup_ccs.c中,须配置NmiSR和FaultISR处理函数。
#pragma DATA_SECTION(g_pfnVectors, ".intvecs")
void (* const g_pfnVectors[])(void) =
{
(void (*)(void))((unsigned long)&__STACK_TOP), // The initial stack pointer
ResetISR, // The reset handler
NmiSR, // The NMI handler
FaultISR, // The hard fault handler
IntDefaultHandler, // The MPU fault handler
……..
}
与FreeRTOS相关的三个处理函数入口地址须在SafeRTOS SafeRTOS_API.h中指定:
#define vFreeRTOS_PendSV_Handler_Address ( 0x02000fdd )
#define vFreeRTOS_SVC_Handler_Address ( 0x02000f45 )
#define vFreeRTOS_SysTick_Handler_Address ( 0x02001175 )
此外,FreeeRTOS需要占用0x20C bytes RAM,可选择0x20000000—0x2000020C RAM区预留给内核kernel使用,在CCS工程配置文件xx.cmd文件中做如下配置:
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
评论