全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

用IAR编译器开发DS80C400

时间:2011-12-07 09:35

人气:

作者:admin

标签: DS80C400  IAR编译器 

导读:用IAR编译器开发DS80C400-本应用笔记阐述了如何开始使用8051 IAR Embedded Workbench™来创建DS80C400的C语言应用程序。通过一个简单的HTTP服务器演示如何使用DS80C400的ROM功能。所有开发都采用T...

 

  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应用程序。

  安装IAR Embedded Workbench

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

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

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

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

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

  #include

  #include

  void main ()

  {

  printf("Test program using IAR compiler");

  while (1)

  {

  }

  }

  保存文件内容。通过选择Project→Add Files,然后在文件对话框中选择main.c,这样就把刚建立的文件加入到项目hellowworld中。确定加入的文件就是您建立的文件main.c;因为在默认目录中很有可能存在另一个具有相同名字的文件

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

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

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

  选择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选项。

 

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

  选择Project-Options→Options→ICC8051

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

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

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

  $TOOLKIT_DIR$\INC\

  $TOOLKIT_DIR$\INC\CLIB

  $TOOLKIT_DIR$\src\lib

  $TOOLKIT_DIR$\src\lib\clib

  ..\include\

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

  选择Project→Options→A8051

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

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

  $TOOLKIT_DIR$\INC\

  $TOOLKIT_DIR$\src\lib

  ..\include\

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

  选择Project-→Options→XLINK

  单击Output标签

  在Output file中,选择Override default,并将文本文件名改为hello_world.hex。

  在Format中,选择Other,并从选项中选择Intel Extended。详情请参考图2。

  单击List标签。选择Generate Linker Listing。

  单击include标签,参考图3。

  选择Ignore CSTARTUP in Library。

  单击Override default,将文件名改为$TOOLKIT_DIR$\config\lnk51ew_400.xcl

  。 $TOOLKIT_DIR$与IAR安装路径有关(例如,c:/program files/iar systems/embedded workbench 3.n/8051)。确定文件lnk51ew_400.xcl和lnk_base_400.xcl在指定的路径中。可在zip文件Download中找到这些文件。

  

图2. 选择新的IAR 8051项目的XLINK Output选项。

 

  图2. 选择新的IAR 8051项目的XLINK Output选项。

  

图3. 选择新的IAR 8051项目的XLINK Include选项。

 

  图3. 选择新的IAR 8051项目的XLINK Include选项。

  建立Hello_World应用程序。如果正确完成了每一步,建立过程应不会出现错误或警告信息;之后会在/debug/exe目录中产生hello_world.hex。如果你的项目配置为Release,那么hex文件将在/release/exe目录中产生。

  现在已经生成了可执行文件,我们需要将应用程序装载到TINIm400模块中并运行。

 

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信