UCD3138数字电动工具:源固件 - 项目结构和实验室代码概述

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • UCD3138数字电动工具:源固件 - 项目结构和实验室代码概述
  • 登录
我现在概要介绍一下UCD 项目结构 和实验练习一中的源代码。 这是一个典型的项目文件夹结构。 其设置使您可以通过 Code Composer Studio 中的 单一项目访问每个 UCD 版本的 标题和连接器命令文件。 C 源文件位于其自身的文件夹中。 该文件也将包含项目的一些 标题文件。 我们稍后将简要介绍一下主源文件。 输出文件是在包含 源文件的文件夹中构建或放置项目时 生成的。 每个 UCD 版本有一个单独的 输出文件夹。 Pmbus_common 包含PMBus 处理程序例程 所需的文件,这对于所有 UCD 版本都是相同的。 每个 UCD 器件版本的标题和 连接器命令文件也放置 在该级别上。 当您在 CCS 中选择特定的配置时, CCS 创建过程将配置为 给所选的 UCD 器件选择正确的标题 和连接器命令文件。 这些标题和连接器命令文件夹的 大部分内容都不必更改。 因此,目前只需知道它们的存在即可。 每个 UCD 器件的样片标题和连接器命令文件 都由 TI 提供。 现在概要介绍一下主源文件。 在 CCS 中打开实验练习一项目。 main.c 包含主程序函数。 一般而言,在 main.c 中会调用一些初始化函数。 例如,调用 SPMBus以初始化 UCD 器件中的 PMBus 外设,以及设置 PMBus 处理程序 例程的变量。 clear_integrity_word这个函数 用于清除程序FLASH 校验和, 是决定器件是在 RAM 模式还是闪存模式中引导的关键。 我稍后将更详细地解释这个函数, 以及 RAM 模式与闪存模式的差异。 这是主循环。 您可以看到,它是一个无限循环。 在主循环中,我们通常放置常规处理例程 -- 即,并非特别时间关键或 时间敏感的例程。 例如,PMBus处理程序例程 总是放置在这里。 这些例程通常作为 状态机使用静态或全局变量来实现, 使它们可以通过快速和标准中断服务 例程来中断,并且在中断服务例程 完成执行后可以继续无缝地 执行。 interrupts.c 包含快速和标准中断服务 例程。 中断服务例程现在是空的。 随着我们逐渐完成实验练习, 我们将向它们添加代码。 外设的全局变量定义 位于cyclone_global_variable_defs.c 中。 例如,ADC寄存器就在此处定义。 现在,我们将浏览部分 include 文件和连接器 命令文件。 首先,简要看一下连接器命令文件。 我们将看一下适用于 UCD3138 的连接器命令文件。 UCD3138 系列中的每个器件 都具有其自身的连接器命令文件集。 目前只需知道这些文件的存在即可。 您无需修改它们。 cyclone_headers.cmd 是将 UCD 器件的外设结构 映射至内存的连接器命令文件。 例如,LOOP_MUX、UART 外设以及 ADC。 UCD 器件的总体内存映射 都在 cyclone.cmd 中定义。 例如,我们将DFLASH 或者说数据闪存的 起始地址定义为十六进制 18800,并且长度是 以十六进制表示的 800 字节。 load_ucd3138.asm 含有适用于 UCD3138 器件的 自定义系统和变量初始化。 UCD3138 系列中的每个器件 都有其自身的 load.asm 文件。 load.asm 还包含中断和复位矢量。 相应 load.asm文件的纳入 取决于您在 Code Composer Studio 中构建的代码是针对哪种 UCD 器件。 例如,如果您针对 UCD 3138064器件构建代码, 负载 [? _ ?]ucd3138064.asm 将会纳入项目中。 该代码的开销必须低, 因此以汇编语言编写该代码。 您无需修改此代码。 因此现在无需更为详尽地学习该代码。 现在,简要看一下头文件。 我们将看一下适用于UCD3138 的头文件。 UCD3138 系列中的每个器件 都具有其自身的头文件集。 目前只需知道这些文件的存在即可。 您无需修改它们。 ucd3138a64_header文件夹中的这些文件 包含 UCD3138A64器件的头文件。 这些特定的文件包含外设的结构文件。 cyclone_device.h 是一个含有所有其他 外设头文件的头文件。 我们稍后将更为详细地展示这些按位结构的 使用。 简而言之,它们使我们能够使用一次读取/修改/写入操作 设置或清除寄存器中的单个位。 与使用单个常量编写的单个寄存器相比, 它们在时间和代码空间方面相对低效。 最佳方法是在开发中使用这些结构体, 然后在稍后需要优化代码时,切换至常量。 现在,简要看一下实验练习一的代码。 它非常简单。 它只不过将一个字符串变量设为“Hello World”。 在实验练习一,我们创建了一个称作 a_string 的字符串变量, 该变量在 variables.h 中定义。 如果我们回到main.c,我们会将 A_string 的值设置为“Hello World”。 当我们使用 UCD GUI 将该程序下载至 UCD 编程闪存后, 我们将能够使用 UCD
课程介绍 共计6课时,36分25秒

UCD3138数字电动工具

数字 UCD3138 电动工具

现在,我将简要概述 在写入编程闪存时 用于 UCD3138 及校验和安置的 引导 BOM 程序。 这些校验和提供了 一种在允许 ARM 内核 执行编程闪存 中的代码前 让引导 ROM 检查编程闪存 完整性的方法。

推荐帖子

免费申请TI 样片, 新春好礼相赠!
活动时间:1月22日-2月28日 如何参与 1、免费样片申请:点击以下任意样片,成功申请2种以上芯片,即有机会获奖。(必须是通过点击以下链接进入参与申请) 用于低功耗可穿戴应用的符合 Qi (WPC) 标准的无线充电器(TIDA-00318)          用于系统唤醒和中断的基于电容的人体接近检测参考设计(TIDA-00220) &...
EEWORLD社区 TI技术论坛
TI CCS5.4.0.00091_win32 (CCS5.4)安装教程以及测评
TI CCS5.4.0.00091_win32 (CCS5.4)安装教程以及测评 TI CCS5.4.0.00091_win32 (CCS5.4)安装教程以及测评 ...
qwqwqw2088 微控制器 MCU
你晒单我送礼,晒TI样片订单即可赢好礼!
活动详情>>你晒单我送礼,晒TI样片订单即可赢好礼! 活动时间:7月24日-8月23日 如何参与: 1、免费样片申请:>>点击此处,成功申请2类以上芯片,即有机会获奖。 2、申请成功样片后,以“【晒样片】+自拟”为标题,在TI 技术论坛发帖。3、帖子内容包括:本页面截图并圈出所申请的样片类型,申请样片的订单及物流信息、并晒出收到货样片型号,格式不限,内容须原创。 评奖设置:根据大家申...
EEWORLD社区 TI技术论坛
关于CMD文件的小疑问
我知道了MEMORY命令下,  给一些内存区域命名是用户自定义的, 但是SECTIONS命令下, 有些段名让我不明所以。 今天看了点关于程序段的段的知识,知道了.text ,.stack这些代表什么意思。 但是我看了一些CMD文件,如F28335.CMD     SECTIONS下有IQmath,  IQmath...
无知的萝卜 DSP 与 ARM 处理器
分享到X
微博
QQ
QQ空间
微信

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved