新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > DS80C400的Keil C语言编程

DS80C400的Keil C语言编程

作者:时间:2012-02-01来源:网络收藏
可以被视作一个构建C或汇编程序的起跑架,它提供TINI®经过验证的网栈、进程调度器和存储器管理器。简单程序,如网络扬声器,可以用汇编语言轻松实现,更复杂一点的,如HTTP服务器这种需要与文件系统交互的程序,可以使用C语言。

文中介绍了如何从的uVision2开发套件着手构建一个的C语言应用程序,通过实现一个简单的HTTP服务器演示如何使用的ROM功能。所有开发都采用了TINIm400验证模块和包含7.05版C编译器'C51'的 uVision2 2.37。

的uVision2开始
你可以使用Keil uVision2开发套件,构建一个简单的HelloWorld型C语言程序。按照以下步骤完成你的第一个用于的C语言应用程序。

选择Project-->Create New Project。 输入项目名称。

屏幕上将出现Select Device for Target对话框。在Data base中选择Dallas Semiconductor和DS80C400。选择Use Extended Linker和Use Extended Assembler。点击OK继续。图1所示为该对话框的正确配置。


图1. 为一个新的Keil uVision2项目选择

将有对话框提示:Copy Dallas 80C390 Startup Code to Project Folder and Add File to Project?选择No。我们将提供自己的启动代码。

当项目窗口在左侧打开时,打开Target 1。右击Source Group 1,并选择Add files to group 'Source Group 1'。在弹出的文件对话框中,将files of type改为Asm Source file。添加文件startup400.a51。该文件可以在http://files.dalsemi.com/tini/ds80c400/c_libraries/HelloWorld.zip上的zip文件中找到。

双击打开文件startup400.a51。找到段声明?C_CPURESET?0。确保代码段声明为400000h。

      C_CPURESET?0        SEGMENT CODE AT 400000h
另外,应有一个"DB 'TINI'"行,后跟另一个DB行,带有注释"Target bank"。这样就可以确保应用建立地址为400000h,对应于TINIm400上flash的起始地址。请确认该行为: 
      DB     40h           ; Target bank
创建一个新的文件,以"main.c"为文件名来保存。在该文件中写入如下代码:
      #include void main(){printf("Test 400 Program\r");while (1){}}
保存文件内容。右击Source Group 1,并添加源文件main.c。现在就将该源文件添加到项目中了。

右击左侧的Target 1。选择Options for target 'Target 1'打开选项对话框。第一个选择标签应该为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:0x400000,Size:0x80000。在Off-chip XData memory项目下加入一个入口:Start:0x10000,Size:0x4000。图2所示为配置完成的对话框。确认检查框Use On-Chip Arithmetic Accelerator被清除--多线程应用很难共用算术累加器。


图2. setp 7目标选项对话框(注意,'Eprom:start' 应为0x400000,最后一个'0'未显示)。

选择Output标签。点击Create HEX File,并在下拉框中选择HEX-386。按F7键建立应用程序。如果每一步都正确完成,建立过程应不产生错误或警告信息。之后会生成一个hex文件。现在就可以将该应用程序装载到你的电路板上了。

将应用实例装载到TINIm400模块
这部分介绍如何使用JavaKit工具将Keil编译器生成的hex文件装载到TINIm400验证模块中。使用JavaKit之前,必须首先安装Java Runtime Environment2 (1.2版以上)和Java Communications API3。JavaKit包含在TINI软件开发包中(TINI Software Development Kit),http://files.dalsemi.com/tini/tini1_11.tgz上提供下载。运行JavaKit的说明可以在TINI Software Development Kit的docs目录下的Running_JavaKit.txt文件中找到。如果你在运行JavaKit时遇到任何技术问题,很可能其他人曾经遇到过类似的问题,这些问题被收集在TINI主题列表中。你可以在http://lists.dalsemi.com/search/search.html上搜索有关该列表的文档。

通过以下命令行建立JavaKit与TINIm400的通话。

      java JavaKit -400 -flash 40
图3显示了JavaKit窗口。


图3. JavaKit界面。

运行JavaKit后,选择用来与TINIm400进行通信的串口。使用'Open Port'按钮打开该串口。然后按Reset按钮。DS80C400装载器将提示如下信息:

     DS80C400 Silicon Software - Copyright (C) 2002 Maxim Integrated ProductsDetailed product information available at http://www.maxim-ic.comWelcome to the TINI DS80C400 Auto Boot Loader 1.0.1>
在JavaKit顶部的'File'菜单中,选择Load HEX File as TBIN。找到并选择我们已经创建的helloworld.hex文件。Load HEX File as TBIN选项先将输入的hex文件转换为TBIN文件,然后装载。这样的操作比直接装载hex文件速度快,因为对于同样的数据,ASCII编码的hex文件的尺寸是二进制文件的二倍多。
用户程序装载后,有两种执行方法。由于程序装载到存储区40中,所以你可以直接键入:
      > B40> X
要选择存储区40,并在运行这里的代码,也可以键入:
      > E
这将使ROM查找可执行代码,有一个特殊标记符用来表示当前存储区中有可执行代码。该标记符由字符'TINI'和紧随其后的当前区号组成。它位于当前区的地址0002处。我们的HelloWorld程序对于此标记符的声明在startup400.a51文件中如下所示:

c语言相关文章:c语言教程



上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭