用于微控制器DS80G400的C语言应用

引言
自从推出了ds80c390的tini~运行环境(tini runtime environment),开发人员早就呼吁寻找一种方法,能在不使用javatm语言的前提下使用tini的强大功能。但遗憾的是,tini的网栈和其他特性与java虚拟机及运行环境曾经是紧密相连的,很难在c语言或汇编程序中去访问。为此,在设计ds80c400网络微控制器的rom时,一组功能被公开出来,可以在8051汇编、c语言或java程序中访问。受容量的限制,rom提供的功能仅限于tini运行环境的一个子集。这样,rom可以被视作一个可由c或汇编程序使用的模块,它提供了经过验证的网栈、进程调度器和存储器管理器。简单程序象网络扬声器|蜂鸣器可以用汇编语言轻松实现,更复杂一点的象http(超文本传送协定)服务器这种需要与文件系统交互的程序可以使用c语言。
本文先从一个用c语言实现的hello world程序人手,然后介绍一个简单的http服务器。文中介绍了如何设置开发五金|工具并编写一个简单的示范程序,然后演示如何使用ds80c400的rom功能。所有开发都使用tinim400验证模块和包含7.05版c编译器“c51’’的keil μvision2tm2.37版
从keil的μvision2开始
可以使用keil μvision2开发套件,构建一个简单的hello world型c语言程序。按照以下步骤完成你的第一个用于ds80c400的c语言应用程序。
.选择project->create new 。
输入项目名称。
.屏幕上将出现select device for target对话框。在data base中选择dallas semiconductor和ds80c400。选择use extended linker和use extended assembler。点击ok继续,见图1所示为该对话框的正确配置。
.将有对话框提示:copy dallas 80c390 startup codey to project folder和add file
to project?选择no。我们将提供自己的启动代码。
.当项目窗口在左侧打开时,打开target1。右击source group1,并选择add files to group''source group1’。在弹出的文件对话框中,将files of type 改为asm source file。添加文件startup400.a51。
.应该注意,建立应用的地址应为400000h,它对应于tinim400上flash的起始地址。双击打开文件startup400.a51。找到段声明?c_cpureset?0。确保代码段声明为400000h:
?c_cpureset?0
segment code at 400000h
.另外,应有一个“db,’tini’行,后跟另一个db行,带有注释“targe tbank”。这个声明是一个标记的一部分,用于告知ds80c400 rom从地址400000h开始执行代码。这样就可以确保应用的建立地址为400000h,对应于tinim400上flash的起始地址。请确认该行为:
db 40h ; target bank
.创建一个新的文件,以“main.c”为文件名来保存。在该文件中写人如下代码:
# include <stdio.h>
void main( )
{
printf(”test 400 program\r\n”);
while (1) { }
)
.保存文件内容。右击source group1,并添加源文件main.c。现在就可以将该源文件添加到项目中了。
.右击左侧的target1。选择options for target’target1’,打开选项对话框。第一个选择标签应该为target。将memory model改为large:variables in xdata。将code rom size改为contiguous mode:16mb program。选中检查框use multiple dptr registers和far memory type support。在off-chip code memory项目下加入第一个人口:start:ox400000,size:ox80000。在off- chip xdata memory项目下加入一个入口:start:0x10000,size:ox4000。
图2所示为配置完成后的对话框。注意,ox400000的最后一个0在窗口中没有显示出来。
上述设置基于tinim400参考模块的存储区配置,该模块在地址0有512k的ram,从地址400000h开始有1m的flash。keil配置中的起始地址与大小应根据用户的ds80c400设计来修改。
.选择output标签。点击create hex file,并在下拉框中选择hex-386。
.按f7键建立应用程序。如果每一步都正确完成,建立过程应不产生错误或警告信息。之后会生成一个hex文件。现在就可以将该应用程序装载到你的电路板上了。
将应用实例装载到tinim400模块
这部分介绍如何使用javakit工具将keil编译器生成的hex文件装载到tinim400验证模块中。使用javakit之前,必须首先安装java runtime environment(1.2版以上)和java communications apl。java runtime environment可以从http://java.sun.com/j2se/downloads.html网页下载,java communications api可以在http://java.sun.com/products/javacomm/index.html网页上找到。javakit包含在tini软件开发包中(tini software development kit),www.max-ic.com/tinidevkit上提供下载.运行java kit的说明可以在tini software development kit的docs目录下的running_javakit.txt文件中找到。如果在运行java kit时遇到任何技术问题,很可能其他人曾经遇到过类似的问题,这些问题被收集在tini主题列表中。你可以在www.maxim-ic.com/tini/lists上搜索有关

  • 用于微控制器DS80G400的C语言应用已关闭评论
    A+
发布日期:2019年07月02日  所属分类:新闻动态