新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Cortex-M3平臺(tái)上lwIP+AJAX的Web嵌入式應(yīng)用

Cortex-M3平臺(tái)上lwIP+AJAX的Web嵌入式應(yīng)用

——
作者:李少杰 時(shí)間:2013-06-26 來源:電子產(chǎn)品世界 收藏

  系統(tǒng)軟件設(shè)計(jì)

本文引用地址:http://2s4d.com/article/146836.htm

  整個(gè)系統(tǒng)軟件基于FreeRTOS實(shí)時(shí)操作系統(tǒng)開發(fā),TCP/IP協(xié)議棧采用精簡高效的lwIP進(jìn)行實(shí)現(xiàn)。系統(tǒng)軟件框架如圖5所示?! ?/p>

?

  FreeRTOS系統(tǒng)配置

  FreeRTOS預(yù)先固化在LM3S9D96的ROM中,提供了一種獨(dú)特的方式快速開發(fā)可靠的高度集成的系統(tǒng)。本系統(tǒng)中FreeRTOS運(yùn)行參數(shù)須配置如下:

  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.
  };

  系統(tǒng)引導(dǎo)程序startup_ccs.c中,須配置NmiSR和FaultISR處理函數(shù)。

  #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相關(guān)的三個(gè)處理函數(shù)入口地址須在SafeRTOS SafeRTOS_API.h中指定:

  #define vFreeRTOS_PendSV_Handler_Address ( 0x02000fdd )
  #define vFreeRTOS_SVC_Handler_Address ( 0x02000f45 )
  #define vFreeRTOS_SysTick_Handler_Address ( 0x02001175 )

  此外,F(xiàn)reeeRTOS需要占用0x20C bytes RAM,可選擇0x20000000—0x2000020C RAM區(qū)預(yù)留給內(nèi)核kernel使用,在CCS工程配置文件xx.cmd文件中做如下配置:

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程




關(guān)鍵詞: Cortex-M3 嵌入式 201307

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉