必要C文件添加

接着上一篇博客(F28335第六篇——从头新建一个在线调试项目(CCS6.1)),本篇博客将实现自己编写的程序与调试过程演示。
本例程的硬件结构是在外接的SRAM中写入自己数据。SRAM占据的地址为:0x180000-0x1BFFFF;本例程采用的方式是通过cmd文件方式分配SRAM空间,然后通过数组操作,将数据写入。因为本例程使用外扩数据空间,所以需要添加响应的c文件(已经用红色标出)。文件系统如图所示。

编写地址映射文件

cmd文件作用是外扩的SRAM空间映射到数组中,可以分成两个步骤

  1. 编写cmd文件
  2. 编写DATA_SECTION程序
    以上代码具体含义,可以参见我之前的博客——F28335第三篇——寄存器文件结构(CODE_SECTION,DATA_SECTION)(传送门)。
编写cmd代码
  1. 新建cmd文件 在cmd文件夹右键->new->File->File name上写入文件名称如(XXX.cmd)。

  2. 编写cmd代码。在新建的cmd文件中编写分配外接SRAM的代码
MEMORY
{PAGE 0://程序空间PAGE 1://数据空间:本例程外接SRAM对应的内存为ZONE6BZONE6A   :   o = 0x100000,  l=0x080000ZONE6B   :   o = 0x180000,  l=0x040000ZONE6C   :   o = 0x1C0000,  l=0x040000
}SECTIONS
{Zone6AFile :>   ZONE6A,     PAGE = 1Zone6BFile     :>   ZONE6B,     PAGE = 1Zone6CFile     :>   ZONE6C,     PAGE = 1
}
编写DATA_SECTION程序

为了方便,可以将DATA_SECTION写在自定义的DSP28335头文件中。改写后的头文件代码如下:

#ifndef DSP28335_H
#define DSP28335_H#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File#pragma DATA_SECTION(X6a,"Zone6AFile");
volatile Uint16 X6a[0x80000];#pragma DATA_SECTION(X6b,"Zone6BFile");
volatile Uint16 X6b[0x40000];#pragma DATA_SECTION(X6c,"Zone6CFile");
volatile Uint16 X6c[0x40000];#endif  

编写主程序

在main.c文件中编写主程序,实现所需的功能。代码如下:

#include"DSP28335.h"/** main.c*/
int main(void)
{Uint32 i = 0;//1 初始化系统控制InitSysCtrl();//2 初始化GPIO,InitXintf();//3.关闭中断DINT;IER = 0x0000;IFR = 0x0000;InitPieCtrl();InitPieVectTable();//4. 自义定代码for (i = 0; i < 0x2000; i++){X6b[i] = i;//将外接SRAM中的前0x2000个内存写入i对应的数值}while(1);
}

编译与调试

编译
  1. 点击锤子形状的图标,即可实现项目的编译:
  2. 如下图所示,Description中没有提示警告或者报错,表示编译成功,可以在线调试。
调试与验证
  1. 点击run->debug(或者快捷键F11)即可实现在线调试。此时需要满足两个条件:

    1. 仿真器与PC端以及开发板都连接好。
    2. 开发板已经上电。

      成功后,连接标志已经选中,所有按键都是使能状态,如上图。
  2. 为了验证本例程,需要观察开发板的内存,观察窗口打开方式为:View->Memory Browser。

  3. 在Data窗口后面输入0x180000(开始写入的位置)和0x181FF0(快结束的位置)。由图可以看到,在写入前,内存中的数据都是0。

  4. 需要在第25行程序前双击添加一个端点。程序运行在端点的位置,内存显示窗口才能显示到内存数据。

  5. 点击运行按钮,程序运行到断点处。

  6. 通过Memory Browser窗口,可以看到成功将数据写入到内存中!

F28335第七篇——新建项目之编程演示相关推荐

  1. python由谁设计并领导开发_Python全栈开发之路 【第七篇】:面向对象编程设计与开发(1)...

    本节内容 一.编程范式 编程指的是写程序.敲代码,就是指程序员用特定的语法.数据结构和算法编写的代码,目的是来告诉计算机如何执行任务的. 在编程的世界里最常见的两大流派是:面向过程与面向对象.&quo ...

  2. 意大利卡乐1tool编程软件从模板新建项目

    意大利卡乐的控制器在全球空调制冷冷冻领域有着很高的地位,但是很多小伙伴都不会使用Carel的编程软件,今天我在这里给大家来一篇快速入门1tool软件的方法: 1.运行1Tool.exe 2.加载出主界 ...

  3. RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (一、无线温湿度传感器 之 新建项目)

    学完了 RT-Thread 内核基础,来使用 RT-Thread 实现一个小应用. 硬件平台:STM32L051C8 TCM310(Enocean无线芯片) 软件平台:RT-Thread Studio ...

  4. 从零开始写项目第七篇【搭建Linux环境】

    tags: 从零开发项目, title: 从零开始写项目第七篇[搭建Linux环境] 使用SSH连接Linux环境 经过十多天的时间,我的网站备案终于完成了...接下来我就收到了阿里云的邮件.它让我在 ...

  5. 如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇) - 广州.net微软技术俱乐部12月份活动报名帖...

    这是广州.net微软技术俱乐部12月份活动报名帖.此帖会持续更新. 活动课程标题是:如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇) 这是内容大纲: ABP框架简介(这里会聊聊.net真 ...

  6. ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新建项目(Windows) 对于任何语言和框架,都 ...

  7. ASP.NET Core 新建项目 - macOS 环境 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新建项目 - macOS 环境 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新建项目 - macOS 环境 对于任何语言和 ...

  8. 东航航空货运系统技术解析(一)新建项目与数据库

    1.1 新建项目 第一步:打开Vs界面,点击左上角文件,点击新建,选择项目 1.1 (图1) 第二步:点击WCF类型,选择WCF服务应用程序,在名称中输入项目名称(解决方案名称),位置可自行选择存放该 ...

  9. iOS SwiftUI篇-1 项目结构

    iOS SwiftUI篇-1 项目结构 介绍Xcode新建的SwiftUI模版项目结构.跟普通Storyboard模版项目的差异.SwiftUI项目的app启动流程.UIScene概念介绍.AppDe ...

最新文章

  1. 用数学方式打开Facebook新Logo,真的和视频号Logo来自同一方程
  2. CCRD_TOC_2015_EULAR专刊第二辑
  3. 史上最全,最完美的 JAVA 技术体系思维导图总结,没有之一!
  4. Boost:boost::atomic用法实例
  5. 浅谈Nginx负载均衡与F5(硬件)的区别
  6. Codeforces 1139F Dish Shopping 树状数组套平衡树 || 平衡树
  7. Emlog精简模板无繁琐操作,适合新手
  8. 我们来说一说TCP神奇的40ms
  9. LeetCode 234 Palindrome Linked List
  10. oracle非延迟约束,Oracle可延迟约束Deferable的使用
  11. 基于 RISC-V SoC 的可配置 FFT 系统设计(10)1024 点 FFT 程序的交叉编译
  12. 二维码生成原理及解析代码
  13. 大学计算机基础总结与复习
  14. java 毫秒转分钟和秒_毫秒转换为天、小时、分、秒
  15. docker服务假死解决方案
  16. Win10更新的若干弊端以及关闭Win10更新方法
  17. vba 添加outlook 签名_outlook2007使用vba签名的问题
  18. Tensorflow实现AlexNet
  19. python 学习日记 —— dict 字典的用法
  20. 护航者,腾讯云: 2017年度游戏行业DDoS态势报告—回溯与前瞻

热门文章

  1. 学习下win7任务栏个性化设置!
  2. 收货地址 (默认收货地址)
  3. windows命令行窗口打开mysql,并创建数据库,导入sql文件
  4. java打字小游戏源码_求JAVA编写打字游戏源代码!
  5. 六级词汇天天练(12.11)
  6. PHP 获取客户端的真实IP
  7. 跨模态行人重识别:Deep Learning for Person Re-identification:A Survey and Outlook(行人重识别综述)
  8. 计算机键盘的功能键在哪,台式电脑home键在哪里(有关电脑按键作用介绍)
  9. MATLAB实现地球表面上两点之间的仰角和方位角计算
  10. 数字后端物理设计输入文件介绍(.v .sdc .lib/.db .lef .tlef/.tf rc corner .view)