用户登陆 用户注册
您的位置:首页> 技术文章>内容正文
嵌入式系统设计要点
[正文]:嵌入式系统 采用大容量eprom来固化程序的专用系统,正在智能仪器和自动化等领域里 得到广泛应用。
传统设计方法用汇编语言编写程序,这主要是从保证速度和节省存储 空间考虑,但编程费时,调试和排错很不容易。
微电子技术的飞速发展,使高性能微 处理器和大容量存储器的价格变得十分便宜,速度和存储容量不再是困扰设计者的主 要问题。
人们将rombios和crt显示器等外设加进这类专用系统,并尝试用 高级语言来开发其软件,即把通用计算机上的软件和硬件“嵌入”专用系统,构成所 谓的嵌入式系统(embeddedsystem)。
由于c语言容易编程、代码紧 凑、可移植性和可维护性好,因而被普遍用于嵌入式程序的设计。
大多数嵌入式系统无操作系统支持,要由设计者提供所有低级i/o功能。
系统 i/o资源有限,程序必须固化在eprom中,不能象在dos下那样从磁盘装入 和由用户编程。
设计者要编写一个定位程序(locator),把exe格式的应 用程序转换成可固化进eprom的二进制文件(rom图)。
还要编写一个启动程 序(runtimestartupcode),与rom图一起嵌入eprom, 先由它建立数据区和对系统硬件作必要初始化,然后调main函数,执行应用程序。
若想发挥c语言之优势,使用一些标准i/o语句,如用printf驱动显示器等, 则要在嵌入式程序中加进经过修改的库函数。
总之,c语言编程会使系统开发面临一 些新问题,要求设计人员具备软硬件方面的综合知识,才能正确进行系统调试和排错。
当然,如果拥有专用的嵌入式系统开发工具,设计工作便要省劲些。
它们通常配 有定位程序和可供设计者修改的启动程序样板,有些还能通过串口或并口,在pc机 上联机调试程序,甚至有源级代码调试功能。
利用工控机来设计系统,事情就更简单。
不过,专用开发工具和工控机价格昂贵,因此许多人在设计嵌入式系统时选择自己编 写定位程序和启动程序,甚至编写可嵌入的i/o库函数。
本文就嵌入式系统的程序 设计方法及设计中可能遇到的问题作些讨论,供打算设计嵌入式程序的读者参考,有 关编写定位程序和启动程序的具体方法将另文介绍。
2 嵌入式程序的定位 2.1 exe文件格式和dos重定位 dos下的exe文件是一种可重定位文件 (re-locatablefile),它由重定位标头和装入模块组成。
后者含 一段或几段程序代码,段数与类型取决于程序规模和编译时所用的内存模式,然后是 初始化与未初始化的数据及堆栈,还可能有程序排错信息。
代码、数据和堆栈段地址 均是参考到程序开头的相对地址。
标头放在装入模块之前,含若干定位控制信息和一 张定位表。
控制信息包括exe文件大小、标头长度、需要重定位的项数和位置、装 入模块的开头和堆栈的相对地址等。
定位表是一组形式为段址:偏址的远指针,指示 装入模块中要重定位的那些段址相对于模块开头处的位置。
装进ram后,加载程序 建立起程序段前缀psp,并根据系统当前可用ram地址修改这些段址,对装入模 块重定位,使程序中所有参考绝对地址的量正确指向模块装入后的起始地址,然后执 行(图1)。
因此它可在ram中的任何位置上执行。
图1 dos对exe文件的 定位过程  


网站首页 培训课程 维修指南
技术文章 家电专栏 供应信息
求购信息 培训资讯 展会信息
电脑专栏 教程下载 资料下载
常用软件 PLC教程 PLC资料
变频伺服 低压电器 维修资料
人机界面 自控仪表 工控机类
文章标题: 搜文章
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
 京ICP备11002135号
报时(2026-04-04 03:51:50) 流量统计