基于VXWORKS的嵌入式开发设计讲义

时间:2007-11-14
一、嵌入式系统简介
  1、  嵌入式系统的基本特征
(1)       专用的嵌入式CPU
 
  该CPU具有高效率、低功耗、体积小和集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部完成,有利于嵌入式系统设计趋于小型化,移动能力增强,与网络耦合紧密。
(2)       专用性和算法的性
  设计成完成某一特定任务,和相应具体任务有机结合在一起,具有较长的生命周期。
(3)       多种技术的结合体
  计算机技术、半导体技术以及电子技术和各行业的具体应用紧密结合在一起的系统。
(4)       软硬件紧密的相互依赖性
  专用性决定了设计目标是单一的,硬件和软件的依赖性强,用利于版权的保护。
(5)       系统对用户透明提供各类ARM开发板/开发工具https://edmarket.com.cn/plist-3-855.html
  用户使用只是按照预定方式使用,不需要用户编程和修改。
(6)       大多具有实时性
  如工业仪表、控制装置、数控系统、信息家电等。
(7)       系统资源有限
  速度和存储容量以及扩展接口有限。
(8)       多为分布式系统
  更易于保证硬实时要求、更便宜和更易于实现。
2、  嵌入式软件的特点
(1)       多具有实时性
  指操作系统内核采用了一种算法,使tc(context swich)和ts(system call)尽可能小、尽可能是常量和可确定。所谓可确定是指tc和ts有一个上限,而不是一个统计的结果,即不会出现峰值,不会随系统任务的增多而增多提供各类ARM开发板/开发工具https://edmarket.com.cn/plist-3-855.html
(2)       有并发处理能力
  能并发处理各个事件驱动,采用多任务运行机制。
(3)       具有快速启动、出错处理和自动复位能力
  能从只读存储器中快速启动,具有高容错机制,在系统出现死机前自动重启。
(4)       应用软件和操作系统一体化设计
  
  硬件和软件一起设计,以解决特定的问题,不同的系统有不同的配置。
(5)       交叉开发环境提供各类ARM开发板/开发工具https://edmarket.com.cn/plist-3-855.html
二、嵌入式系统软件开发流程
1、  需求分析
2、  设计思路
 
  (1)       概要设计
  (2)       详细设计
  (3)       详细写出测试项目(包括测试类别、测试过程、测试预测结果)
3、  编码
  (1)       各芯片代码模块化,有利于移植
  (2)       需要注意一些小问题(如边界条件、内存越界访问、空指针等)
typedef struct
{
    ……
    USHORT Wtr;
    UCHAR Delay;
    UCHAR Mode;
} SetLogicSubnetReqStruct;
void Oam_SetLogicSubnet_Req(UCHAR* pMsg)
{
    DatagramHead *pDatagramHead;
    UCHAR *pData;提供各类ARM开发板/开发工具https://edmarket.com.cn/plist-3-855.html
    SetLogicSubnetReqStruct *pSetLogicSubnetReq;
    ULONG i, count;
    USHORT SubNet_ID, E_From_Tsn1, E_To_Tsn1, W_From_Tsn1, W_To_Tsn1,
        E_From_Tsn2, E_To_Tsn2, W_From_Tsn2, W_To_Tsn2, E_S_B_Tsn, E_P_B_Tsn, W_S_B_Tsn, W_P_B_Tsn;
    UCHAR SelfID, Num, E_ID, W_ID, Delay, Mode;
UCHAR Wtr;
……
Wtr = pSetLogicSubnetReq->Wtr;
……
        }
        ⅱ
STATUS sysCpmEnetAddrGet(int unit,UINT8 *addr)
{
    char *buff = NULL;
#ifdef INCLUDE_NVRAM
getCpmMacAddr(buff, MAX_ADR_SIZE);
……
}
4、  测试提供各类ARM开发板/开发工具https://edmarket.com.cn/plist-3-855.html
  (1)       单元测试(在单机上测试)
  (2)       联调(主要测试接口)
  (3)       系统调试(测试功能)
三、VxWorks嵌入式实时操作系统
  1、  BSP(Board Support Package)的概念
  2、  满足应用对时间的响应要求
  3、  多任务内核(实时调度、任务间通信、互斥访问)
  4、  标准库文件
  5、  可抢占式调度、快速、系统小而且可配置
  6、  所有任务工作在同一个地址空间内,所有任务运行在特定优先级模式
  7、  VxWorks开发环境Tornado
  (1)       Launch
  (2)       WindSh
  (3)       CrossWind
  (4)       Browser
  (5)       Project Facility
  (6)       WindView
  (7)       Simulator
四、单盘软件主要应用举例
  MCU的初始化流程
 
  将以下划分的各个功能模块依次添加到UserAppInit()函数中以完成各单盘的上电初始化过程,在各个功能模块中按照单盘的具体情况填写相应程序段。提供各类ARM开发板/开发工具https://edmarket.com.cn/plist-3-855.html
如果需要其他特殊功能模块可以在适当的位置自行添加。



InitMemory()


InitDataStructure()



ReadConfig()


InitModule()


InitMcpMcuComm()


SendReset()


CreateTask()


CreateMsgQueue()



  
上一篇:基于ARM9的视频采集传输系统
下一篇:Costas序列在雷达信号设计中的应用研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料