微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于LINUX和CAN总线的工业嵌入式控制系统研究

基于LINUX和CAN总线的工业嵌入式控制系统研究

时间:07-31 来源:作者:陈治湘 李刚 刘少伟 点击:
5 Linux嵌入式应用编程简介

5.1 采嵌入式系统一般都没有编辑和编译工具,所以需要先在开发系统中完成程序的编辑、编译和仿真运行及修改工作,形成可执行文件,再转到运行系统(即嵌入式系统)上执行。

以Linux嵌入式为支撑系统开发系统上的应用程序属于事件驱动编程,也就是"消息队列"和"消息循环"。有2个涉及消息的函数十分常用:GetMessage( )和DispatchMessage( )。一般还需要common.h。

其编程与VC++编程所用消息处理函数极为相似,下面将介绍一些简单而又基本的GUI元素:主窗口、静态文本框、编辑框、按钮、进程条、对话框以及一些基本的图形操作

一些常用的消息处理函数如下:

  输出文本 MEG_PAINT(使用TextOut()函数)
  设置像素点颜色 SetPixel()
  画线条 LineTo()
  画矩形 Rectangle()
  画圆形 Circle()
  设置画笔颜色 SetBrushColor()
  创建窗口 MES_CREATE
  创建主窗口 CreateMainWindow(&CreateInfo)
  此外,大多数控件都可以使用CreateWindow()函数创建。

5.2 RTOS开发平台

通用计算机具有完善的操作系统和应用程序接口(API),是计算机基本的、不可分离的一部分,应用程序的开发以及完成后的软件都在平台上运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统而直接在芯片上运行,但是为了合理调度多任务、利用系统资源、系统函数以及专家库的接口,用户必须自行选配RTOS平台,这样才能保证程序执行的实时性,稳定性和可靠性,并减少开发时间,保证软件质量。

实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。在编写程序时,可以分别编写各个任务,从而减少了程序编写的工作量,而且减小了出错的可能,保证最终程序具有高可靠性。RTOS体现了一种新的系统设计思想和一个开放的软件框架,用户可以在不大量变动系统其它任务的情况下增加或去掉一个任务;一个项目开发的过程中,可以有多个工程师同时进行系统的软件开发,每个人之间只要制定好规程和协议即可,既缩短了开发时间,又降低了最终软件产品对于具体某个开发者个人的依赖性。为RTOS设计的成熟和通用的任务可以以库函数的形式供其他人继续利用,与C++语言的设计思想一致。

6 结束语

CAN总线技术在电厂、变电站、电力系统中有广阔的应用前景,能在可靠性、高精度、经济性等多方面获得最大的效益;以工业标准PC/104 为代表的嵌入式控制系统具有突出的优点,十分适合于工业环境的要求。随着微处理器和单片机的发展,工业控制技术中使用嵌入式实时操作系统已经成为一个特点。嵌入式操作系统已经经历了一个阶段的发展,它在工业控制中的应用必将越来越广泛。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top