微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用IAR编译器开发DS80C400

用IAR编译器开发DS80C400

时间:12-16 来源:互联网 点击:

摘要:DS80C400微控制器ROM的功能可由8051汇编语言、C或Java?编写的程序访问。通过使用ROM功能和由Maxim开发的软件库能够构建多种应用程序。本应用笔记阐述了如何使用8051 IAR Embedded Workbench?来建立DS80C400的C语言应用程序。通过一个简单的HTTP服务器示例来演示DS80C400的ROM功能。

引言

DS80C400微控制器的ROM包含多种功能,可通过由8051汇编语言、C或Java编写的程序访问。DS80C400的ROM功能提供成熟的MxTNI?网栈、进程调度和存储器管理,是开始构建C和汇编程序的最佳选择。对于简单程序,可以用汇编语言轻松实现。对于更复杂的程序,C语言可以充分利用Dallas Semiconductor提供的ROM组件和软件库。这些软件库帮助您利用Keil ?Vision2?、SDCC和IAR 8051编译器构建应用程序。

本应用笔记阐述了如何开始使用8051 IAR Embedded Workbench?来创建DS80C400的C语言应用程序。通过一个简单的HTTP服务器演示如何使用DS80C400的ROM功能。所有开发都采用TINIm400验证模块和包含6.11A版本C编译器的8051 IAR Embedded Workbench.

从8051 IAR Embedded Workbench开始

本节阐述如何使用IAR Embedded Workbench套件创建一个C语言编写的Hello World程序,即您的第一个DS80C400 C应用程序。

1.安装IAR Embedded Workbench

2.选择File→New→Workspace,在工作空间窗口,输入workspace名称appnote

3.选择Project→Create New Project.在出现的对话框中,输入项目名称hellowworld,并确定选择了8051作为工具链

4.当左侧的项目窗口打开时,选择Project→Add Files…在弹出的对话框中,将files of type改为汇编程序文件。添加文件Cstartup.s51,该文件可在Download的zip文件中找到

5.双击并打开文件Cstartup.s51.找到程序段声明RSEG CSTART:CODE:ROOT(0)。这是代码段的开始。变量段的起始地址在link51ew_400.xcl中声明。代码的开始在文件中的0x400000h进行声明。另外,应有一个DB 'TINI'行,后跟另一个DB, high(?INIT)',带有注释Target Bank.这样就可以确保应用程序对应于TINIm400 flash的起始地址

6.建立新文件main.c.在该文件中写入如下代码:

#include stdio.h>
#include printf.c>
void main ()
{
printf(Test program using IAR compiler);
while (1)
{
}
}
保存文件内容。通过选择Project→Add Files,然后在文件对话框中选择main.c,这样就把刚建立的文件加入到项目hellowworld中。确定加入的文件就是您建立的文件main.c;因为在默认目录中很有可能存在另一个具有相同名字的文件

7.同样,将文件low_level_init.s51和putchar.c加入到项目中。low_level_init.s51文件包含初级DS80C400初始化程序;putchar.c文件包含将字符输出至默认控制台的初级程序

8.http://ftp.dalsemi.com/pub/tini/ds80c400/c_libraries/iar/bin/init.zip复制ROM initialization库文件,并将其解压缩到相同目录下。将rominit.r51库文件添加到项目中

9.在编译Hello_World应用程序之前,我们需要配置IAR工具链来满足DS80C400的目标要求

1)。选择Project→Options→General

单击Target标签并浏览,在Derivative中选择DS80C400.将Extended stack at:对应的地址值改为0xFFDC00.这是因为IAR起始代码重新定位DS80C400硬件堆栈至0xFFDC00.对应这些设置请参考图1.

单击Data Pointer标签。选择Number of DPTRs = 1.这是因为由Dallas Semiconductor所提供的库文件是在该选项下产生。

图1. 选择新的IAR 8051项目Target选项

2)选择Project-Options→Options→ICC8051

单击Code标签。选择Optimizations下的Size和None.

单击List标签。选择Output List File和Output assembler File.

单击Preprocessor标签。在include路径中放入以下程序:

$TOOLKIT_DIR$INC

$TOOLKIT_DIR$INCCLIB

$TOOLKIT_DIR$srclib

$TOOLKIT_DIR$srclibclib

include

上面最后一行是库的头文件(*.h)所处的include路径。确定头文件在上面指定的路径中。$TOOLKIT_DIR$与IAR安装路径有关(例如,c:/program files/iar systems/embedded workbench 3.n/8051)。

3)选择Project→Options→A8051

单击List标签。选中Output List File.

单击Preprocessor标签,在include路径中放入以下程序:

$TOOLKIT_DIR$INC

$TOOLKIT_DIR$srclib

include

上面最后一行是库的头文件(*.h; *.inc)所处的include路径。确定头文件在上面指定的路径中。

4)。选择Project-→Options→XLINK

单击Output标签

在Output file中,选择Override default,并

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top