MergedFile

Similar documents
Microsoft Word - Atmel-45136A-Pick-Best-Microcontroller-Strom-Eiland-Flodell_Article_CS

Panaboard Overlayer help

自然辩证法索引

Applied Biosystems StepOne™ Real-Time PCR System Quick Reference Card for Installation

2

1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

Microsoft Word - Xinhua Far East_Methodology_gb_2003.doc

LH_Series_Rev2014.pdf

* * 2

关 于 瓶 装 水, 你 不 得 不 知 的 8 件 事 情 关 于 瓶 装 水, 你 不 得 不 知 的 8 件 事 情 1 水 质 : 瓶 装 的, 不 一 定 就 是 更 好 的 2 生 产 : 监 管 缺 位, 消 费 者 暴 露 于 风 险 之 中 人 们 往 往 假 定 瓶 装 水 是

2014 年 前 言 房 地 产 投 资 信 托 基 金 (Real Estate Investment Trusts,REITs) 在 海 外 早 已 发 展 成 熟, 而 香 港 政 府 去 年 也 进 一 步 准 备 放 宽 房 托 限 制, 相 比 之 下, 中 国 已 经 改 革 开 放

AI-AUTO-011 Saflex® Advanced PVB - Color Interlayer (Chinese)

发行说明, 版

(Microsoft PowerPoint A UPEC IR ppt \(cn\) \(NDR\)4.8 [\317\340\310\335\304\243\312\275])

Microsoft Word - A_Daily

Microsoft Word - A_Daily

Microsoft Word - A_Daily

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD

Applied Biosystems StepOne™ Real-Time PCR System User Bulletin: StepOne™ System Updates (PN A / SN 117UB20-01)



經濟部智慧財產局

<4D F736F F D20B6BCB0EE5FB1B8B0B85F5B DB8BD A1AA BAC52DB5D8CCFABDA8D6FEB9A4B3CCD2BBC7D0CFD5B8BDBCD3CFD5CCF5BFEE2E646F63>

HKG_ICSS_FTO_sogobrilingual_100_19Feb2016_31837_tnc

PCPDbooklet_high-res.pdf

Microsoft PowerPoint - IAS 21 - IFRS宣導會.pptx

:5-6

「香港中學文言文課程的設計與教學」單元設計範本

全唐诗28

EMC® VNX® Series VNX8000™ Block 安装指南

Microsoft Word - SH doc

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc

緒 言 董 事 會 宣 佈, 為 能 更 具 效 率 調 配 本 集 團 內 的 資 金 有 效 降 低 集 團 的 對 外 貸 款, 並 促 進 本 集 團 內 公 司 間 的 結 算 服 務, 於 2016 年 9 月 30 日, 本 公 司 中 糧 財 務 與 管 理 公 司 訂 立 財 務

Easyprint 产品手册 Compact CM Compact IM

The presentation is prepared by BH Global Corporation Limited. (the Company ) and is intended solely for your personal reference and is strictly confi

AD Y

Layout 1

2


专 业 为 本 客 户 为 先 北 京 康 信 知 识 产 权 代 理 有 限 责 任 公 司 是 一 家 经 相 关 主 管 部 门 批 准, 具 有 国 内 外 专 利 商 标 代 理 资 格, 能 够 提 供 全 方 位 知 识 产 权 代 理 服 务 的 法 律 服 务 机 构 公 司 成

一、

SA2RGA Chinese user manual

L360/L363

-i-

Microsoft Word - 强迫性活动一览表.docx

509 (ii) (iii) (iv) (v) 200, , , , C 57


2. 贵 阳 沙 文 工 业 园 汉 方 药 业 新 工 厂 资 本 性 支 出 费 用 高 估 : 根 据 我 们 的 访 谈 得 知, 在 2014 财 年, 截 至 2014 年 6 月 30 日, 该 项 目 仅 完 工 约 30% 因 此, 仅 有 人 民 币 千 万 元 (

Microsoft Word - MP2018_Report_Chi _12Apr2012_.doc

南華大學數位論文

李天命的思考藝術

皮肤病防治.doc

性病防治

中国南北特色风味名菜 _一)

全唐诗24

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

2. 我 沒 有 說 實 話, 因 為 我 的 鞋 子 其 實 是 [ 黑 色 / 藍 色 / 其 他 顏 色.]. 如 果 我 說 我 現 在 是 坐 著 的, 我 說 的 是 實 話 嗎? [ 我 說 的 對 還 是 不 對 ]? [ 等 對 方 回 答 ] 3. 這 是 [ 實 話 / 對 的

Microsoft Word - Appendices (Chi) revised August 2014

Epson Perfection V39

(Chi)_.indb

14A 0.1%5% 14A 14A

穨_2_.PDF

QQGQ2.E Power Supplies, Information Technology Equipment Including Ele... 1/10

<4D F736F F D203938BEC7A67EABD7B942B0CAC15AC075B3E6BF57A9DBA5CDC2B2B3B92DA5BFBD542E646F63>

Preface This guide is intended to standardize the use of the WeChat brand and ensure the brand's integrity and consistency. The guide applies to all d

Chn 116 Neh.d.01.nis

公平交易法損害賠償制度之功能與詮釋

國家圖書館典藏電子全文

XP-225 Series

教區禮儀委員會

Microsoft Word _4.doc

目 录 I. 出 口 单 证 业 务 正 本 提 单 签 发 提 单 更 改 ( 提 单 已 经 签 发 ) Seaway bill 提 单 签 发 电 放 第 三 地 / 目 的 港 签 单 船 证 明.

目 录 院 领 导 职 责... 1 院 长 职 责... 1 医 疗 副 院 长 职 责... 1 教 学 副 院 长 职 责... 2 科 研 副 院 长 职 责... 2 后 勤 副 院 长 职 责... 3 主 管 南 院 区 副 院 长 职 责... 3 党 委 书 记 职 责... 4

2

2

穨學前教育課程指引.PDF

Logitech Wireless Combo MK45 English

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) 60.99%39.01%

(a)(b) (c)(d) 25% 100% (i) (ii) (iii)(iv) 2

眼病防治

中国南北特色风味名菜 _八)

* RRB *

群科課程綱要總體課程計畫書

II II

論 文 摘 要 本 文 乃 係 兩 岸 稅 務 爭 訟 制 度 之 研 究, 蓋 稅 務 爭 訟 在 行 訴 訟 中 一 直 占 有 相 當 高 的 比 例, 惟 其 勝 訴 率 一 直 偏 低, 民 87 年 10 月 28 日 行 訴 訟 法 經 幅 修 正 後, 審 級 部 分 由 一 級 一

untitled

SC-127.doc

ATA2536T

目 录 释 义... 1 公 司 声 明... 4 交 易 对 方 声 明... 5 相 关 证 券 服 务 机 构 声 明... 7 重 大 事 项 提 示... 8 重 大 风 险 提 示 第 一 节 本 次 交 易 概 述 一 本 次 交 易 背 景 和 目 的 二 本

[ ] [ ] Sino-French Life Insurance Co., LTD. ( ) ( ) ( )


高層辦公建築避難演練驗證與避難安全評估之研究

% 100% % 75% 14 (i)(ii) (iii) 2

untitled

第 2 頁 (a) 擔 任 機 場 擴 建 統 籌 辦 總 監 的 首 席 政 府 工 程 師 職 位 第 3 點 ) ; (b) 擔 任 ( 機 場 擴 建 統 籌 辦 ) 的 首 長 級 丙 級 政 務 官 職 位 ; 以 及 (c) 擔 任 總 助 理 ( 機 場 擴 建 統 籌 辦 ) 的

市 场 综 述 三 季 度, 上 海 投 资 市 场 交 易 量 持 续 攀 升, 共 有 八 宗 主 要 交 易 达 成, 交 易 金 额 共 计 人 民 币 160 亿 元, 环 比 增 长 59% 投 资 者 尤 其 是 国 际 投 资 者, 逐 渐 增 购 租 金 收 入 稳 定 的 核 心

cgn

封面及首頁.doc

Microsoft PowerPoint - TTCN-Introduction-v5.ppt

A68b v13 PFL CO

Transcription:

模块 3

3.0 目标 本实验的目标是介绍 Cortex M 架构 1. 您将学习有关寄存器 RAM 和 flash ROM 的知识 2. 您将编写一个含有输入和输出参数的汇编函数, 其中包含条件执行和数值 运算 3. 您将学习利用单步运行 断点和查看窗口进行调试 4. 您将使用一种名为黑匣子函数的自动测试方法来验证您的算法是否正确 小知识 : 我们将用 C 语言编写机器人的软件代码 然而编译器将会把 C 代码转化为汇编代码 真正运行在基于 Cortex-M 架构的 MSP432 微控制器上的是底层汇编代码 在本实验中, 您将体验到软件究竟是如何在微控制器中被执行的 了解底层的细节有助于您成为一个更好的顶层软件开发者 3.1 入门 3.1.1 从下面的软件工程起步 浏览以下 3 个工程 : SimpleProject_asm ( 一个简单的随机数生成函数 ) LinearInterpolation_asm ( 计算正弦值 ) Lab_Assembly ( 本实验的起步工程 ) 3.1.2 参考资料 ( 在 datasheets 文件夹内 ) spmu159a.pdf, Cortex-M3/M4F Instruction Set 3.1.3 阅读材料 Volume 1 Section 1.7, Chapter 3, and Section 5.3 Embedded Systems: Introduction to the MSP432 Microcontroller", 或 Volume 2 Sections 1.1, 2.1, and 2.5 Embedded Systems: Real-Time Interfacing to the MSP432 Microcontroller", 3.1.4 本实验所需组件 Quantity Description Manufacturer Mfg P/N 1 MSP-EXP432P401R LaunchPad 3.1.5 所需实验设备 ( 无 ) 3.2 系统设计要求 TI MSP-EXP432P401R 本课程中您将学到很多解决机器人挑战所需的知识 本实验的目标是是更深入地理解处理器运行的过程 您将用 C 语言编写后续的机器人程序, 然而在本实验中您将编写一些简单的汇编程序 注 : 在机器人挑战环节中您将一种距离传感器, 它是由红外传感器和集成的位置探测器构成的 这种传感器也被叫做接近传感器, 在机器人上, 它一般被用于测量距离 在模块 4 的实验中您将编写一个 C 语言程序, 用于将 GP2Y0A21YK0F 接近传感器的 ADC 采样值转换成距离 设 n 为 14 位 ADC 的采样值 ( 从 0 到 16383), 且 D 为距离, 单位是 mm 二者之间存在如下的非线性转换关系 D = 1195172/(n 1058) 其中 1195172 和 -1058 是校准系数的经验值, 可以通过模块 15 的实验, 也就是 ADC 实验取得 传感器可以测量的最大距离为 800 mm, 因此如果 ADC 值小于 2552, 您的函数应返回 800 函数的 C 语言原型是 int32_t Convert(int32_t n); 2 Texas Instruments

然而, 鉴于您要使用汇编语言编写此函数, 您必须遵从一个程序编写标准, 名为 ARM 架构过程调用标准 (ARM Architecture Procedure Call Standard, 简称 AAPCS) 这个标准由很多部分组成, 但与本实验相关的主要有下列部分 : 如果有 1 个输入参数, 它将被传入 R0 如果有 2 个输入参数, 它们将被传入 R0 和 R1 如果有 3 个输入参数, 它们将被传入 R0-R2 如果有 4 个输入参数, 它们将被传入 R0-R3 如果有一个输出参数, 它将被返回至 R0 函数可以自由修改 R0-R3, 还有 R12 如果一个函数想要使用 R4-R11, 那么它必须使用栈来保存并还原它们如果一个函数调用了另一个函数, 那么它必须保存并还原 LR 函数必须保证栈平衡 遵从上述标准将是您能够开发能被 C 语言调用的汇编程序, 而且允许您的 C 代码被汇编程序调用 具体来说, 编译器在生成机器代码时将遵从这个标准 3.3 实验准备本实验使用 LaunchPad, 但无需任何输入输出硬件设备 3.4 实验步骤 3.4.1 函数和调试 在本实验中您将对 SimpleProject_asm 例程进行编译和调试 请在主程序中使用单步调试功能, 同时观察函数的输入和输出参数 回答下列问题 : i) 数据是如何传入 Seed 函数中的? ii) Rand 函数的结果是如何返回的? iii) 当一个函数被调用时,LR 寄存器会发生什么现象? iv) 函数如何返回? v) 软件如何对 RAM 进行读写? vi) 把数据存在寄存器中和存在全局 RAM 中有什么区别? vii) 机器代码存在什么地方? viii).data 和.text 有什么含义? ix) 常数 1664525 和 1013904223 存储在什么地方? x) 您可以通过将变量 M 和 n 的地址放入 Memory Browser 窗口来查看它们的值 xi) 使用 step-over 命令, 执行几次 Rand 函数, 并观察 M 和 n 的值 特别注意观察 M 的第 0 位, 在第 0 位中您观察到什么规律? 接下来您将编译并调试 LinearInterpolation_asm 工程 如果您对 线性插值 这个概念不熟悉, 请先到网络上搜索一下相关的话题, 并尝试对它有一个基本的了解 在 Sin 函数中放置一个断点, 并使用调试器观察每次执行 Sin 函数后寄存器值的变化 从编程理论的角度出发, 这些寄存器应被看作函数的局部变量 回答下列问题 : i) 您是否能证明以下三个减法指令 (Ix-x1), (y2-y1) 和 (x2-x1) 永远不会溢出? ii) 您是否能证明在计算 (y2-y1)*(ix-x1) 时乘法指令永远不会溢出? iii) 您是否能证明此函数永远不会除以 0? iv) 此函数中为什么要用 SDIV, 而不是 UDIV? 观察主程序是如何测试 Sin 函数的 我们把 main.asm 中的测试方法称为黑匣子函数测试, 因为这种测试方法仅设置输入, 并观察输出 换言之, 我们是从函数外部来观察它, 而不对内部做任何探测 黑匣子测试方法在不探究软件内部如何工作的前提下对它进行整体测试 3.4.2 距离转换 写一个汇编函数, 将 14 位 ADC 数据转换为以 mm 为单位的距离数据 使用.field 声明来封装校准参数 IRSlope.field 1195172,32 IROffset.field -1058,32 IRMax.field 2552,32 3 Texas Instruments

Distance (mm) 您可以使用 Lab_Assembly 工程中的主程序来测试您的 Convert 函数 与 LinearInterpolation_asm 类似, 这里也用了黑匣子测试方法 这个测试程序包括 16 种测试情况 ( 输入及期望输出 ) 期望的结果如图 1 所示 3.5 疑难解答 转换不成功 900 800 700 600 500 400 300 200 100 0 图 1. GP2Y0A21YK0F 转换结果的期望值 运行 main 函数, 并将您的运行结果与期望结果相比较 如果您的运行结果与期望结果相差 ±1 的话, 是可以接受的 ( 误差可能是四舍五入造成的 ) 3.4.3. 查看由编译器生成的汇编代码 Expected Results 0 5000 10000 15000 14-bit ADC 重新查看实验 1 中您运行过的 C 语言例程 在调试器中打开一个汇编 (disassembly) 窗口 单步运行 C 代码, 并观察实际的汇编指令 使用 main 函数, 找到无法正常转换的输入值, 写一个 main 函数, 在其中仅调用您的函数计算该输入值的转换结果, 然后使用单步调试对比函数内部的计算结果和期望结果 观察内部计算结果的方法叫做白匣子测试 如果仍有其他 bug, 请与您的老师或同学进行讨论 您可能从和他们的讨论中获得寻找问题解决方案的全新视角 3.6 请思考 本环节中将列出一些问题, 供您在完成实验之后思考 这些问题是为了检验您对于本实验中所涉及到的概念的理解 本模块的目标是让您掌握足够的汇编语言技巧, 以帮助您能够看懂有编译器生成的汇编程序 ROM 中存储的是什么信息? 为什么? RAM 中存储的是什么信息? 为什么? R0-R12 寄存器中存储的是什么信息? 为什么? R4-R11 与 R0-R3 及 R12 有何不同? 如何使用 LR 寄存器? 如何使用 SP 寄存器? 如何使用 PC 寄存器? 函数是如何工作的? 输入参数和输出参数呢? 您是否能证明 (n 1058) 的减法永远不会溢出? 您是否能证明除法运算永远不会尝试将一个数除以 0? 对于任意大于 1 的数字 n, 使用整型除法计算 1/n 的结果? 这个错误 ( 信息丢失 ) 叫做丢弃 (dropout) 输入是 14 位数字 ( 从 0 到 16383), 但输出仅为 10 位数字 ( 从 0 到 800) 这 4 位的减少是一种轻微的丢弃 (dropout) 请问您有什么办法可以减轻这个丢弃的情况? 请注意 SimpleProject_asm 工程只用了一个源文件, 但 LinearInterpolation_asm Lab_Assembly 有两个源文件 这两个源文件是如何被使用的? 把执行代码和测试代码分开有什么好处? 列出本实验中所使用的调试技巧 4 Texas Instruments

3.7 其他挑战 本环节中将列出一些与本章知识点有关的挑战项目, 您可以在尝试去完成它们 您可以对系统进行扩展, 或提出全新的问题 例如 : 考虑如何用穷举法测试从 0 到 16383 的所有 14 位输入 如何生成测试条件? 如何更改主函数? 穷举法的优点有哪些? 机器人可能有多个接近传感器 重新设计 Convert 函数来处理 3 个传感器的情况, 其中每个传感器都有单独的一组校正系数 (IRSlope IROffset IRMax) 使用调试器来估计执行 Convert 函数所需的时间 Cortex M 处理器支持浮点数运算 开发一个本实验的浮点数版本, 并开发一个方法来进行测试 比较两个版本的精度和执行时间 3.9 您应该已经学会 本环节中我们来回顾一下本模块中您应该已经学会的重要概念 : 理解处理器在执行过程中是如何使用寄存器的 明白 RAM 与 ROM 的区别, 以及软件如何使用这二者 使用汇编语言进行加减乘除运算 理解微控制器中常数是如何储存的 学会如何使用条件分支汇编语句 使用调试器进行单步调试和变量查看 进行函数测试 3.8 接下来是哪些模块? 我们将通过接下来几个实验来创建控制机器人所需的部件 输入 / 输出是嵌入式系统的重要部件 以下模块将在本模块的基础之上建立 : 模块 4) 模块 5) 模块 6) 模块 7) 模块 8) 介绍 C 语言并开发机器人所需的一些函数开始搭建机器人, 包括电池和电源转换学习如何使用微控制器的引脚进行输入和输出学习使用有限状态机来控制机器人用微控制器与开关和 LED 进行交互 这将扩展输入输出的功能并增加系统复杂度 5 Texas Instruments

IMPORTANT NOTICE FOR TI DESIGN INFORMATION AND RESOURCES Texas Instruments Incorporated ( TI ) technical, application or other design advice, services or information, including, but not limited to, reference designs and materials relating to evaluation modules, (collectively, TI Resources ) are intended to assist designers who are developing applications that incorporate TI products; by downloading, accessing or using any particular TI Resource in any way, you (individually or, if you are acting on behalf of a company, your company) agree to use it solely for this purpose and subject to the terms of this Notice. TI s provision of TI Resources does not expand or otherwise alter TI s applicable published warranties or warranty disclaimers for TI products, and no additional obligations or liabilities arise from TI providing such TI Resources. TI reserves the right to make corrections, enhancements, improvements and other changes to its TI Resources. You understand and agree that you remain responsible for using your independent analysis, evaluation and judgment in designing your applications and that you have full and exclusive responsibility to assure the safety of your applications and compliance of your applications (and of all TI products used in or for your applications) with all applicable regulations, laws and other applicable requirements. You represent that, with respect to your applications, you have all the necessary expertise to create and implement safeguards that (1) anticipate dangerous consequences of failures, (2) monitor failures and their consequences, and (3) lessen the likelihood of failures that might cause harm and take appropriate actions. You agree that prior to using or distributing any applications that include TI products, you will thoroughly test such applications and the functionality of such TI products as used in such applications. TI has not conducted any testing other than that specifically described in the published documentation for a particular TI Resource. You are authorized to use, copy and modify any individual TI Resource only in connection with the development of applications that include the TI product(s) identified in such TI Resource. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE TO ANY OTHER TI INTELLECTUAL PROPERTY RIGHT, AND NO LICENSE TO ANY TECHNOLOGY OR INTELLECTUAL PROPERTY RIGHT OF TI OR ANY THIRD PARTY IS GRANTED HEREIN, including but not limited to any patent right, copyright, mask work right, or other intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information regarding or referencing third-party products or services does not constitute a license to use such products or services, or a warranty or endorsement thereof. Use of TI Resources may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. TI RESOURCES ARE PROVIDED AS IS AND WITH ALL FAULTS. TI DISCLAIMS ALL OTHER WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED, REGARDING TI RESOURCES OR USE THEREOF, INCLUDING BUT NOT LIMITED TO ACCURACY OR COMPLETENESS, TITLE, ANY EPIDEMIC FAILURE WARRANTY AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. TI SHALL NOT BE LIABLE FOR AND SHALL NOT DEFEND OR INDEMNIFY YOU AGAINST ANY CLAIM, INCLUDING BUT NOT LIMITED TO ANY INFRINGEMENT CLAIM THAT RELATES TO OR IS BASED ON ANY COMBINATION OF PRODUCTS EVEN IF DESCRIBED IN TI RESOURCES OR OTHERWISE. IN NO EVENT SHALL TI BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, COLLATERAL, INDIRECT, PUNITIVE, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES IN CONNECTION WITH OR ARISING OUT OF TI RESOURCES OR USE THEREOF, AND REGARDLESS OF WHETHER TI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You agree to fully indemnify TI and its representatives against any damages, costs, losses, and/or liabilities arising out of your noncompliance with the terms and provisions of this Notice. This Notice applies to TI Resources. Additional terms apply to the use and purchase of certain types of materials, TI products and services. These include; without limitation, TI s standard terms for semiconductor products http://www.ti.com/sc/docs/stdterms.htm), evaluation modules, and samples (http://www.ti.com/sc/docs/sampterms.htm). Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265 Copyright 2018, Texas Instruments Incorporated