首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
嵌入式技术
» X86工控主板DOS应用程序的动态加载
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
X86工控主板DOS应用程序的动态加载
发短消息
加为好友
emtronix20104
当前离线
UID
809365
帖子
32
精华
0
积分
16
阅读权限
10
在线时间
4 小时
注册时间
2010-4-2
最后登录
2010-4-30
新手上路
UID
809365
1
#
打印
字体大小:
t
T
emtronix20104
发表于 2010-4-14 09:53
|
只看该作者
X86工控主板DOS应用程序的动态加载
加载
,
应用程序
,
DOS
,
工控主板
,
动态
在嵌入式操作系统中,DOS因其自身小巧、占用资源少、启动速度快等特点而占据了一席之地。DOS应用程序的自动加载运行,一般是通过编辑一个批处理文件来实现,对于英创x86板卡的用户来说,则只需要编辑user.bat文件即可。一般大多数的情况是客户指定运行单一的应用程序,编辑user.bat的内容为应用程序的文件名,就很方便地实现程序的自动加载运行了,这部分内容在英创系列X86嵌入式主板的“使用必读”均有详细的介绍。在实际的应用中,可能还会遇到根据不同的环境配置,需要加载不同的客户应用程序的情况,也就是说不是加载一个单一固定的程序,还需要在加载应用程序之前先行自动判断。在本文中将结合英创X86主板的特点,通过编辑user.bat的内容,介绍一种实现该功能的方法。
以英创公司的X86系列主板为例,英创公司的X86系列主板预装了DOS操作系统,支持DOS的标准应用,可以通过GPRS或以太网两种方式接入WAN,这两种接入WAN的方式往往是单独使用的,但也有可能对于不同的使用环境,使用者希望可以选择接入WAN的方式。为此,可以构建两个应用程序:通过GPRS接入WAN的应用程序APP1,通过以太网接入WAN的应用程序APP2,用户选择哪一种方式上网,其实就是选择执行哪一个应用程序,在本例中用GPIO来识别用户的选择。英创公司的工控主板都提供了数量众多的GPIO,关于GPIO的使用请查看相应的“编程手册”,这里不再赘述。专门编写一个test程序,系统启动后,先调用程序test,在test中判断GPIO的状态,并由这个状态返回一个值,系统判断test的返回选择执行相应的程序,所以编辑user.bat内容如下:
@ECHO OFF
Test
IF ERRORLEVEL 1 GOTO LabApp1
IF ERRORLEVEL 0 GOTO LabApp2
GOTO LabApp3
abApp1
APP1
GOTO LabApp3
abApp2
APP2
GOTO LabApp3
abApp3
ECHO end!
从user.bat可以看到,系统启动后,先执行test.exe,然后利用if errorlevel命令对test的返回值进行判断,if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令,需要注意的是if errorlevel 比较返回码的判断条件并非等于,而是大于等于,所以对于结合使用goto命令时的习惯用法是返回值按从大到小的顺序排列。在user.bat中,通过if errorlevel判断test的返回值,从而决定执行APP1还是APP2,也就实现了上网方式的选择。test.cpp中主要代码如下:
#define
BIT0 0x01
if
( inportb( PortAddr )&BIT0 )
// 读取GPIO状态(PortAddr为具体的端口地址 )
{
return
0;
}
return
1;
做完上面的工作后,把user.bat,test.exe,app1.exe和app2.exe下载到系统中,用户仅需要通过一个跳线器,将相应的GPIO脚置为高或低就可以轻松的选择应用程序的执行了,从而实现了DOS下应用程序的动态加载。
[
查看全文
]
[
关于英创
]
[
更多文章
]
[
技术论坛
]
本文PDF格式下载
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议