嵌入式系统实验 ● 交叉开发实验 ● 仿真开发实验.

Slides:



Advertisements
Similar presentations
台南市立後甲國中 訓導工作簡報 報告人:訓導主任 傅寶源 歡迎蒞臨指導. 訓導處是一個關懷學生生活問題、處理 學生生活事務的溫馨園地,舉凡生活常 規、安全防護、交通安全之教育,民主 法治、社團活動、訓育活動之訓練,衛 生習慣、飲食健康、預防疾病之培養, 體育活動,運動競賽、身心健康之鍛練, 均有專人專責為同學服務。
Advertisements

C++语言程序设计教程 第5章 构造数据类型 第6章 C++程序的结构.
天水圍的體育設施.
《单片机原理及应用》 《微型计算机原理及接口技术 》 授课专业:测控13级 授课学时: 78 学时 理论教学:52学 实验教学:26学时
什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
本章重點 認識衣物的基本保養程序 處理不同污漬的方法 不同布料的保養方法
寫作教學—標點符號.
毛峰教授 北京师范大学教授,博士生导师 国家社科基金项目专家 北京华文教育顾问
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
組長:5號-周辰瑜 組員:4號-王耀賢 10號-康叡維 11號-張佳文 27號-鍾昱卉
本章重點 認識香港不同年代時裝的特色 透過對服裝歷史的認識,了解香港的穿衣文化 透過服裝歷史加強對時裝潮流循環的洞悉力
興華之寶.
空間向量 朱泰吉 蔡宇翔 張力夫 莊孟霏.
第一章 计算机基础知识 计算机的发展简史 1 计算机软件系统 6 计算机的定义和分类 2 微型计算机的组成 7 计算机的特点和用途 3
新北市廠商聯合抗旱會議 104年3月23日.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
程序设计思想与方法入门篇 庄天红.
嵌入式系统应用 概述 随着现代物流业仓储、超市等行业的快速发展,物品流动的速度越来越快,仓储库存周期也越来越短。这样物流仓储盘点行业的压力也越来越大,传统的人工盘点方式已经不能适应现代物流的发展。为了解决这一问题,国际上一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们选取了一个十分典型的国产盘点机进行介绍。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器,操作系统采用了Windows.
第六章 ADS集成开发环境的使用.
安徽广播电视大学 组网技术与配置(第2版) 第8章 路由器的配置 汪本标.
计算机网络故障诊断与排除
媒体融合式转型 社会和文化教研部 高级经济师 郭全中
空間向量 朱泰吉 蔡宇翔 張力夫 莊孟霏.
第二章 计算机基础知识 2.1 计算机系统的组成与工作原理 2.2 数制转换及运算 2.3 数据在计算机中的表示.
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
第4章 需求分析 教学目的:了解需求分析的任务和步骤、评审标准和过 程,掌握基本技术,理解需求规格说明书的 作用与组成。
任务1: 点亮你的LED----初识单片机.
项目2 2个LED发光二极管控制 知识与能力目标 熟悉单片机的I/O口功能与特性。
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
第6章 CCS集成开发环境 6.1 CCS系统安装与设置 6.2 CCS菜单和工具栏 6.3 CCS中的编译器、汇编器和链接器选项设置
開發環境設置.
PIC16F1827介紹 以微控器為基礎之電路設計實務-微處理器實驗室.
Windows Movie Maker 使用教學
第六部分 ADSP-2189M EZ-KIT评估套件 a.
YM100开发实验板 演讲人:熊小燕 2009年月12月16日
作業系統 第八章 記憶體管理.
兒童電腦入門 第一課 八月八日.
第三章 系统的启动和初始化 (include lab1)
怎样从0开始写bootloader? 李明 北京亚嵌教育研究中心
EDA 原理及应用 何宾
模块五: 数控系统参数的备份与恢复 本章学习内容.
第一章 認識Arduino Arduino微電腦板 Arduino的擴充板(shield) Arduino的接腳 ATmega328微控器
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
第五章 C/C++及汇编语言的混合编程 5.1 ARM C/C++编译器 5.2 在C/C++程序中内嵌汇编指令
3 S7-200可编程控制器 使用入门 2019/2/17.
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
作業系統 Operating System 第四單元 檔案系統
5-6 串列埠模式0輸出埠擴充實習.
单片机原理与应用 主讲人:张荣刚 福建师范大学福清分校.
北投溫泉博物館 建築特色 ★小組成員:高103林孟璇、林念儀、施妤柔★.
实验2 中断模拟实验.
測試藍芽模組的接收和發送功能 班級:資通三A 學號: 姓名:簡宏恩.
数字图像处理(二).
第二章ADS1.2开发环境创建与简介.
第1章 MATLAB操作基础 1. 1 MATLAB概述 1. 2 MATLAB的运行环境与安装 1. 3 MATLAB集成环境 1
第1章 单片机及其开发环境 教学内容 初识单片机 单片机应用系统 Keil µVision软件的使用.
英語職涯規劃 移民署職場生涯 5.2.1善用慈濟資源‧提升職涯就業力.
第一章 認識Arduino Arduino微電腦板 Arduino的擴充板(shield) Arduino的接腳 ATmega328微控器
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
C语言程序设计 第13章 文件操作.
熟悉VC++开发环境.
11/22 DSD Project Team Leader Report
实验六、COM类型病毒分析实验 2019/10/9.
测试功能 目录 页 程序的状态监视功能 ……………... 2 程序状态监视的模式 …………………………. 3
《操作系统设计与实现》 第5章 文件系统.
第三章 计算机体系结构.
Presentation transcript:

嵌入式系统实验 ● 交叉开发实验 ● 仿真开发实验

交叉开发环境是指实现、编译、链接、调试应用程序代码的环境与运行应用程序代码的环境不同,分散在不同设备上。 提供实现、编译、链接、调试应用程序代码的环境的设备称为宿主机; 运行应用程序代码的设备称为目标机。

本实验中宿主机和目标机的硬件连接

编程语言 ● C语言 ● 汇编语言 编写程序使用的语言是SIC33 C语言和汇编语言。 符合标准C语言的所有规范,相应的源程序必须按照ANSI C编写。 在C源程序中可嵌入汇编语句。 ● 汇编语言 汇编语言语法见教材

硬件连接 本实验采用Monitor方式调试,PC机的COM1口连Monitor调试器。

实验板外形   长度L=18.6cm ,宽度W=16cm

实验板的重要部分说明 J2 :5V电源接口 POW_PSW :电源开关,控制整个实验板的电源 S1 ,S2:8位双列开关 U1 :CUP芯片(S1C33209) U2 :FLASH芯片(E28F320J3A) U4,U5 :SRAM芯片W24L011AJ JP1 :MON 接口 BYTE_MODE :FLASH的模式设置 弹上:x8模式;按下:x16模式 RP_SEL :FLASH复位节电控制 弹上:节电模式;按下:工作模式 实验板的重要部分说明

Monitor接口调试步骤 1.在断电情况下,将微机COM1口与Monitor接口中间件串行接口相连,再将Monitor接口中间件上Monitor接口与实验板Monitor接口(JP1)相连,同时将实验板上BYTE_MODE以及RP_SEL两开关均按下; 2.Monitor 接口中间件上的debug 按扭开关为“ON”; 3.将实验板上S1手拨开关中第7位拨到ON,使CPU工作使能; 4.给实验板供电,打开宿主机上的调试工具wb33就可下载程序,进行调试。

宿主机配置 宿主机为一台装有windows操作系统和wb33工具包的PC机,内含S1C33 C编译器gc33和调试器db33 。

调试程序包括以下几步: 1.编辑源程序,可用 wb33提供的编辑工具, 也可用其他的编辑工具; 2.当源程序编写完后,就可对源程序编译、连接等处理,在此过程还要编写相应的make 文件,参数文件等; 3.当编译成功后,将生成后缀名为srf的可调试的程序,此程序就可下载到目标板上进行调试。

下面通过一个例子来介绍整个程序的调试过程。 本程序只是一个简单的ram测试程序,它的功能就是循环打亮指示灯。 在实验板上,有4个指示灯,分别对应S2(8路开关)的前4个开关。可以通过提高RXD, TXD 电压来打通三极管的基极,从而使连接在发射极的指示灯点亮。 程序只需要向控制这些信号的端口写为高电平,就可点亮指示灯。 本程序的任务是循环点亮第1、2个指示灯,因此需要保持试验板上的对应两个开关打开。

源程序有两部分:boot.s, main.c。 boot.s 主要作系统一些初始化,如设置堆栈和全局指针。 main.c主要向端口写高电平。 要点亮指示灯的两个信号:P00 ,P01。 相关的寄存器如下: ● 功能选择寄存器 (0x402d0 内容形式D[0..7]): D[0]=0 选择的是P00 D[1]=0 选择的是P01

● I/O控制寄存器 (0x402d2 内容形式D[0..7]): D[0]=0 P00为输入 D[0]=1 P00为输出 D[1]=0 P01为输入 D[1]=1 P01为输出 ● I/O数据寄存器 (0x402d1内容形式D[0..7]): D[0]=0 P00为低电平 D[0]=1 P00为高电平 D[1]=0 P01为低电平 D[1]=1 P01为高电平

boot.s 程序如下: #define SP_INI 0x0800 ; sp is in end of 2KB internal RAM #define GP_INI 0x0000 ; global pointer %r8 is 0x0 .code .global BOOT ; BOOT VECTOR BOOT: xld.w %r8,SP_INI ld.w %sp,%r8 ; set SP ld.w %r8,GP_INI ; set global pointer xcall main ; goto main xjp BOOT ; infinity loop

main.c程序如下: main() {int i; *(volatile char *)(0x402D0)=0xf0; *(volatile char *)(0x402D2)=0xFF; *(volatile char *)(0x402D1)=0x00; for(;;) {for (i=0;i<500000;i++) *(volatile char *)(0x402D1)=0x01; for (i=0;i<500000;i++) *(volatile char *)(0x402D1)=0x02; }

写好了boot.s和main.c源代码之后,就可以使用wb33工具了:双击wb33图标启动wb33工具,打开work bench,并在左边的目录中找到源代码所在的文件夹,打开它,选中“所有类型文件”的小圆点,就可以看到main.c和boot.s文件。

点击正下方的make edit按键,出现如左图的界面,通过它来产生make文件。Make文件的后缀名为mak,文件名可以用户自己设置,系统的默认文件名是test,若要改变,可在左上方的Make file name的输入框中,将test改为别的名字。在这个例子中,我们保留了系统默认的test文件名。单击左上方的New Make file按键就可以生成test.mak。生成test.mak的同时,还会生成test.cm和test.cmx文件。分别选中左下方Add files框中的文件,通过点击下面的Add to Make file将它们逐一加入右边的内容框中。完成之后就如右图。

检查lib路径和执行路径是否正确,如与实际情况不符需要改正。 这时可以关闭make file edit界面,回到刚才的work bench。可以看到work bench左下的框中多出了三个文件:test.mak、test.cm和test.cmx文件。其中的test.cm很重要,并且在本试验中需要修改。通过选中左下框中的test.cm文件,并单击下面的edit按键,可以打开test.cm文件进行查看和编辑。系统生成的test.cm文件如下: ;Map set ;-code 0x0080000 ; set relative code section start address ;-data 0x0081000 ; set relative data section start address ;-bss 0x0000000 ; set relative bss section start address …… ;Library path -l E:\C33\lib 检查lib路径和执行路径是否正确,如与实际情况不符需要改正。

在本例中将程序代码绝对定位到芯片的内部ram 里,起始地址为:0x0000000。所以将本文件的第二行改为 -code 0x0000000 在此文件里也可将程序定位在外部的存储器里。比如后面的两个试验任务就需要把程序代码绝对定位到芯片外部的flash里,起始地址为:0x0800000。即将本文件的第二行改为 -code 0x0800000 修改完毕后,保存test.cm文件。

在左边的文件框中选中test. mak文件,单击右边的make按键,就可以产生目标文件test. srf,并产生一系列的相关文件:boot 在左边的文件框中选中test.mak文件,单击右边的make按键,就可以产生目标文件test.srf,并产生一系列的相关文件:boot.ms, main.ms, boot.o,main.o, test.map,boot.ms。 main.ms 是boot.s和 main.c 的汇编语言,boot.o 和main.o 是可重定位程序, test.srf 是绝对定位程序,test.map 表示程序的内存映射情况。错误信息保存在wb33.err文件中,

单击右下角的par gen按键,弹出parameter file generater窗口,设置好参数就可以单击上方的creat par file按键生成参数配置文件33104_1.par。 在本例中不需对parameter file generater的默认参数作出改变。但在后面两个实验任务中,需要激活相应存储区,即在地址800000对应的enable选项前打勾 。

关闭parameter file generater窗口,回到work bench界面。单击上面的open option windowns,弹出gcc-lk options窗口和other options窗口。在other options窗口中选择调试方式为monitor,并保持这两个窗口打开。

当上面的工作基本作完后,就可以用MON调试了。打开目标板的电源,在wb33 主窗口中选择33104_1 当上面的工作基本作完后,就可以用MON调试了。打开目标板的电源,在wb33 主窗口中选择33104_1.par,然后点击DB33按钮。立即在主机窗口中弹出db33的窗口,在此db33窗口中的命令窗口中显示正常连接的信息。 因为在前面将程序的初始位置定位在0x0000000处,所以要想执行这段程序,还必须将PC指针指向0x00000000。 可以用命令rs来改变PC指针,rs命令是用来修改一些寄存器内容的,也包括PC寄存器。在command框中输入rs命令后回车,就会显示当前pc指针的内容,输入要修改的值,本例是0,回车,再输入q,则可退出rs命令。

调试过程包括可以单步执行,连续执行,也可设置断点,查看符号变量,查看相应的内存空间等。 如果让程序连续执行,就可以看到目标系统上的两个指示灯交替闪烁。(这里注意实验板上的SW_LED的1,2开关应拨向ON。)

实验一 向内存区写一个菲波拉系列 实验要求 向内存区0x800100位置开始,写一个菲波拉系列。此系列的关系式如下: 实验一 向内存区写一个菲波拉系列 实验要求 向内存区0x800100位置开始,写一个菲波拉系列。此系列的关系式如下: A0=1; A1=1 AN=A(N-1)+A(N-2) (N=2,3, … … ) 在内存区存储的形式为: 0x800100 0001 0x800102 0001 0x800104 0002 0x800106 0003 …………………….. 任务中N=16

实验目的 通过此任务,使实验者达到如下目的: 了解整个小型应用程序的开发过程,熟悉EPSON提供的开发工具WB33, DB33。了解编辑、编译、连接、下载调试的整个过程。 针对此任务,使实验者熟悉DB33中有关对内存操作的命令如:dw,dh,db。

实验二 编写一个键盘中断应用程序 实验要求 编写一个键盘中断应用程序,当按下某个键时,使一些指示灯循环点亮。此键盘对应的信号是NMI, NMI对应的中断向量号是7;要点亮指示灯的两个信号。 实验目的 通过此实验任务,使实验者达到如下目的: 了解整个中断机制。从中断服务程序的编写,中断服务程序的挂接及如何响应中断深入了解中断思想。 了解如何利用处理器的端口资源,如何对处理器提供的相关端口进行控制达到用户的要求。使实验者对处理器内部结构有一些认识。

在演示过程中,可把一些db33提供的指令编成后缀为cmd文件,作批处理执行。在下载的过程中可在DB33选项中选中db33. cmd file 在演示过程中,可把一些db33提供的指令编成后缀为cmd文件,作批处理执行。在下载的过程中可在DB33选项中选中db33*.cmd file.如下页图的选项框中蓝色部分。一旦下载就可一次执行cmd文件中所有的命令。 task2.cmd文件如下: eb 4812d 59 q ew 48134 800000 lf int_test.srf rsth

谢谢观赏 2003年12月20日