本篇主要说明如何在CCS3.3 对TI 6713 在 simulator中编写helloworld与LED设置。

simulator中编写helloworld,可以先参考下面的文章:

浅谈DSP开发创建第一个工程Hello World_TDD_0628的博客-CSDN博客https://blog.csdn.net/qq_24269643/article/details/104701879

对于6713而言,与上面这篇文章有一些差异,大致流程如下:

1. 通过SetupCCStudiov3.3进行配置时,要选择6713 simulator,最重要的是在Processer属性中要设置Detect Reserved Memory Access为No;否则运行时,simulator中访问GPIO或者硬件地址时会报错。

2. 创建hello.c并导入到project,和上面文章中一样。

3. 添加rts6700.lib(大端为rts6700e.lib)到project中,库的路径为CCStudio_v3.3PLA\C6000\cgtools\lib,作用是这个库定义了_c_int00入口。

如果使用汇编语言编程,可以不用包括rts.lib库,入口地址及其标号可以由人工指定。而使用c时,就不同了,必须从rts.lib定义的这个入口_c_int00入口,是约定的。

4. 添加c6713.cmd文件,6713的cmd文件,IT官方的例子就可以,如下:

/****************************************************************************/
/*  C6713.cmd                                                               */
/*  Copyright (c) 2010 Texas Instruments Incorporated                       */
/*                                                                          */
/*    Description: This file is a sample linker command file that can be    */
/*                 used for linking programs built with the C compiler and  */
/*                 running the resulting .out file on an TMS320C6713        */
/*                 device.  Use it as a guideline.  You will want to        */
/*                 change the memory layout to match your specific C6xxx    */
/*                 target system.  You may want to change the allocation    */
/*                 scheme according to the size of your program.            */
/*                                                                          */
/****************************************************************************/-stack 0x2000
-heap 0x8000MEMORY
{IRAM       o = 0x00000000 l = 0x00030000 /* 192kB - Internal RAM */L2RAM     o = 0x00030000 l = 0x00010000 /* 64kB - Internal RAM/CACHE */EMIFCE0      o = 0x80000000 l = 0x10000000 /* SDRAM in 6713 DSK */EMIFCE1      o = 0x90000000 l = 0x10000000 /* Flash/CPLD in 6713 DSK */EMIFCE2     o = 0xA0000000 l = 0x10000000 /* Daughterboard in 6713 DSK */EMIFCE3      o = 0xB0000000 l = 0x10000000 /* Daughterboard in 6713 DSK */
}SECTIONS
{.text          >  IRAM.stack         >  IRAM.bss           >  IRAM.cio           >  IRAM.const         >  IRAM.data          >  IRAM.switch        >  IRAM.sysmem        >  IRAM.far           >  IRAM.args          >  IRAM.ppinfo        >  IRAM.ppdata        >  IRAM/* COFF sections */.pinit         >  IRAM.cinit         >  IRAM/* EABI sections */.binit         >  IRAM.init_array    >  IRAM.neardata      >  IRAM.fardata       >  IRAM.rodata        >  IRAM.c6xabi.exidx  >  IRAM.c6xabi.extab  >  IRAM
}

.cmd文件的主要作用是进行内存配置,告诉连接器如何对段进行内存映射;

.cmd文件其实也不是必须的,这里如果不添加.cmd文件,会按照处理器默认的方式进行内存分配和映射。

5. 编译并装载、运行,程序正常运行,但是看不到printf的打印,Stdout窗口调不出来;网上查了很多资料,没找到原因。

6. 设置LED相关GPIO,参考了下面的文章:

DSP(TMS320C6713)入门教程 - TI微控制器&处理器论坛 - 德州仪器TI单片机DSP官方技术论坛 - 21ic电子技术开发论坛https://bbs.21ic.com/icview-749150-1-1.html改写hello.c,代码如下:

#include <stdio.h>void delay(unsigned int i) {while(i--);
}int main() {*(unsigned int *)0x01B00000|=1<<13;*(unsigned int *)0x01B00004|=1<<13;while(1) {*(unsigned int *)0x01B00008&=~(1<<13);delay(0xffff);*(unsigned int *)0x01B00008|=1<<13;delay(0xffff);}//puts("helloworld\n");//fflush(stdout);//return 0;
}

Run过程中,按下Halt,发现代码停在delay()函数中,如下:

寄存器设置是瞬间的事情,程序绝大多数时间都处在while循环中。

打开Watch Window, 观察变量i的值如下:

DSP6713 Simulator HelloWorld与LED相关推荐

  1. linux设备驱动开发详解孔夫子,Linux设备驱动开发详解

    [内容简介] <Linux设备驱动开发详解(第2版)>是一本介绍linux设备驱动开发理论.框架与实例的书,<Linux设备驱动开发详解(第2版)>基于ldd6410开发板,以 ...

  2. 【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真

    HIGHLIGHT: vivado设计流程: note: 分析与综合 和 约束输入 可以调换顺序 [基于zynq的卷积神经网络加速器设计](一)熟悉vivado和fpga开发流程:使用Vivado硬件 ...

  3. i.MX6ULL(一) HelloWorld Led点灯

    一 GPIO点灯,嵌入式的helloworld 1   何为GPIO? GPIO只是一个CPU内提供的一种功能外设,CPU外部的I/O引脚会被赋予一种功能(GPIO.UART.I2C等):该功能由CP ...

  4. iOS Simulator功能介绍关于Xamarin IOS开发

    iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...

  5. 初探linux子系统集之led子系统(一)【转】

    本文转载自:http://blog.csdn.net/eastmoon502136/article/details/37569789 就像学编程第一个范例helloworld一样,学嵌入式,单片机.f ...

  6. Ardino基础教程 1_让Arduino说出HelloWorld

    实验一:让Arduino说出HelloWorld 首先先来练习一个不需要其他辅助元件,只需要一块Arduino 和一根下载线的简单实验,让我们的Arduino 说出"Hello World! ...

  7. 【arduino】不做不死系列,用arduino玩CyberPi童芯派之helloworld点灯

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 童芯派CyberPi发售有2个月了,我在6月底拿到了一块,简单玩了一下,感觉还是非常N ...

  8. 起航,第一个程序——还是LED灯

    如同学基本语言一样,helloworld是很多语言的第一个程序.在嵌入式开发中,点亮LED灯也是各种架构和开发板的第一个程序,其中很多东西是和单片机例如stm32是类似的,只是,现在我们没有了库函数, ...

  9. android shell hello world,Android Framework 之HelloWorld(三)

    本来是要写一个linux驱动,用于控制led灯的,但考虑到nanopc-T4的内核已经帮我们配置好设备树,已经可以利用/sys/class/gpio操作gpio了,所以没必要再造轮子了! 在shell ...

最新文章

  1. 存储过程的优缺点 (转载)
  2. PCB差分走线的阻抗控制技术(一)
  3. ESP32-S的UART2的初始化需要注意的问题
  4. SQL_server_2000安装过程指导
  5. c语言wb和wb 区别,C语言文件 w+与wb+区别
  6. 如何加声调口诀_李变美:美容院老板小白如何快速打造自己的引流型文案系统!...
  7. OpenMP对于嵌套循环应该添加多少个parallel for
  8. 空间波(space wave)
  9. 透过安全事件看软件组成分析SCA
  10. 红帽linux7图形界面安装教程,RHEL7安装图形化
  11. win10安装双系统——ubuntu20.04安装步骤
  12. NEO(小蚁)Seraph ID调研
  13. 计算机网络网关设置路由器,天翼网关(宽带)怎么连接路由器?
  14. 第二届北京职教国际青年创新创业技能大赛启动
  15. 使用阿里云的国内镜像仓库地址
  16. c语言用函数求和与差,编写程序计算输入的两个实数的和与差.要求自定义一个函数]...
  17. android 仿微信群聊头像 合成图片
  18. python requests 模拟浏览器_Python3 requests模块如何模仿浏览器及代理
  19. 三木运算符return错误:
  20. 三国杀online网页版服务器更新,2019年《三国杀Online》更迭汇总,一切为了“fun”...

热门文章

  1. 【嵌入式基础】用C语言编程、寄存器实现LED流水灯程序;stm32CubeMX+Keil使用HAL库点亮流水灯
  2. 使用自签证书利用浏览器进行HTTPS接口的安全访问
  3. MySQL的SQL解析器是干什么的?底层原理是什么?
  4. 案例——中国篮球运动员的基本信息分析
  5. c语言程序设计实验13文件,第13章_文件---《C语言程序设计》实验指导.ppt
  6. 用鲁迅的四本书来形容大学四年~
  7. mendeley引用参考文献不显示_ubuntu下使用mendeley插入参考文献
  8. 用于ip伪装身份的网络爬虫
  9. 自然语言处理实战:机器学习常见工具与技术
  10. IMP-00003 ORA-00942 IMP-00023 IMP-00000