文档介绍:摘要:在设计DS80C400网络微控制器的ROM时,一组功能被公开出来,可以在8051汇编、C或Java™程序中访问。DS80C400的ROM可以被视作一个构建C或汇编程序的起跑架,它提供TINI®经过验证的网栈、进程调度器和存储器管理器。简单程序,如网络扬声器,可以用汇编语言轻松实现,更复杂一点的,如HTTP服务器这种需要与文件系统交互的程序,可以使用C语言。
文中介绍了如何从Keil的µVision2®开发套件着手构建一个DS80C400的C语言应用程序,通过实现一个简单的HTTP服务器演示如何使用DS80C400的ROM功能。所有开发都采用了TINIm400验证模块和包含705版C编译器'C51'的Keil µVision2 237。
另请参考:
在DS80C400应用中使用SDCC编译器
用IAR编译器开发DS80C400
从Keil的µVision2开始
你可以使用Keil µVision2开发套件,构建一个简单的HelloWorld型C语言程序。按照以下步骤完成你的第一个用于DS80C400的C语言应用程序。
选择Project-->Create New Project。 输入项目名称。
屏幕上将出现Select Device for Target对话框。在Data base中选择Maxim和DS80C400。选择Use Extended Linker和Use Extended Assembler。点击OK继续。图1所示为该对话框的正确配置。
图1 为一个新的Keil µVision2项目选择
将有对话框提示:Copy Maxim80C390 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。添加文件startup400a51。该文件可以在http://filesdalsemicom/tini/ds80c400/c_libraries/HelloWorldzip上的zip文件中找到。
双击打开文件startup400a51。找到段声明?C_CPURESET?0。确保代码段声明为400000h。
?C_CPURESET?0 SEGMENT CODE AT 400000h
另外,应有一个"DB 'TINI'"行,后跟另一个DB行,带有注释"Target bank"。这样就可以确保应用建立地址为400000h,对应于TINIm400上flash的起始地址。请确认该行为:
DB 40h ; Target bank
创建一个新的文件,以"mainc"为文件名来保存。在该文件中写入如下代码:
#include
void main()
{
printf("Test 400 Program\r\n");
while (1)
{
}
}
保存文件内容。右击Source Group 1,并添加源文件mainc。现在就将该源文件添加到项目中了。
右击左侧的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被清除--多线程应用很难共用算术累加器。<BR
图2 setp 7目标选项对话框(注意,'Eprom:start' 应为0x400000,最后一个'0'未显示)。