单片机程序调试步骤
- 格式:doc
- 大小:2.99 MB
- 文档页数:13
驱动网卡芯片D M9000调试过程及其具体的单片机程序(总25页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March驱动网卡芯片DM9000A的过程及具体驱动程序一、电路连接DM9000E网卡芯片支持8位、16位、32位模式的处理器,通过芯片引脚EEDO(65脚)和WAKEUP(79脚)的复位值设置支持的处理器类型,如16位处理器只需将这两个引脚接低电平即可,其中WAKEUP内部有60K下拉电阻,因此可悬空该引脚,或作为网卡芯片唤醒输出用。
其它型号请参考相应的数据手册。
图1 DM9000引脚如图所示,对处理器驱动网卡芯片来说,我们比较关心的有以下几个引脚:IOR、IOW、AEN、CMD(SA2)、INT、RST,以及数据引脚SD0-SD15-SD31和地址引脚SA4-SA9。
其中,地址引脚配合AEN引脚来选通该网卡芯片,对于大多数的应用来说没有意义,因为在我们的应用中一般只用一个网卡芯片,而这些地址引脚主要用于在多网卡芯片环境下选择其中之一。
DM9000工作的默认基地址为0x300,这里我们按照默认地址选择,将SA9、SA8接高电平,SA7-DA4接低电平。
多网卡环境可以根据TXD0-TXD3配置SA4-SA7来选择不同的网卡,这里不做介绍,有兴趣的朋友请参考应用手册和数据手册。
数据引脚SD0-SD31则根据前面所讲的配置处理器模式与处理器的数据总线进行选择连接即可,没用到的引脚悬空。
那么,除了地址、数据引脚外,剩下的与处理器有关引脚对我们来说及其重要了,而与处理器无关的引脚,只需按照应用手册连接即可。
IOR和IOW是DM9000的读写选择引脚,低电平有效,即低电平时进行读(IOR)写(IOW)操作;AEN是芯片选通引脚,低电平有效,该引脚为低时才能进行读写操作;CMD的命令/数据切换引脚,低电平时读写命令操作,高电平时读写数据操作。
AVR单片机GCC程序设计1. 介绍AVR单片机是一种基于哈佛架构的8位微控制器,具有高性能、低功耗和广泛的应用领域。
GCC是一种开源的编译器套装,可用于编译C、C++和其他编程语言。
本文将介绍AVR单片机的GCC程序设计,包括开发环境的搭建、程序的编写和调试等内容。
2. 开发环境搭建为了进行AVR单片机的GCC程序设计,我们需要搭建相应的开发环境。
以下是搭建开发环境的步骤:2.1 安装AVR工具链AVR工具链是AVR单片机编程的基础,它包含了编译器、汇编器、链接器等工具。
可以从AVR官方网站上下载并安装AVR工具链。
2.2 安装开发环境在进行AVR单片机GCC程序设计之前,需要安装一个适合的开发环境。
常用的开发环境有AVR Studio和Atmel Studio等。
可以根据个人需求选择一个适合的开发环境进行安装。
2.3 配置编译器在开发环境中配置编译器是非常重要的步骤。
需要将AVR工具链的路径添加到系统环境变量中,以便编译器能够找到相应的工具。
3. GCC程序编写在搭建好开发环境后,就可以开始编写GCC程序了。
以下是GCC程序编写的基本步骤:3.1 编写主函数GCC程序的入口是一个名为”main”的函数。
可以在这个函数中进行初始化操作和主程序的编写。
#include <avr/io.h>int main() {// 初始化代码while (1) {// 主程序代码}}3.2 配置引脚AVR单片机的GPIO引脚可以作为输入或输出使用。
可以使用AVR提供的头文件来配置引脚。
#include <avr/io.h>int main() {DDRB = 0xFF; // 将PB引脚配置为输出while (1) {// 主程序代码}}3.3 读写引脚可以使用AVR提供的函数来读写引脚的电平。
#include <avr/io.h>int main() {DDRB = 0xFF; // 将PB引脚配置为输出while (1) {PORTB = 0xFF; // 将PB引脚输出高电平// 延时PORTB = 0x00; // 将PB引脚输出低电平// 延时}}3.4 中断处理AVR单片机支持外部中断,可以在需要的时候触发中断处理函数。
简述单片机系统的开发流程单片机系统是指由单片机芯片、外围电路和软件程序组成的一种嵌入式系统。
单片机系统的开发流程包括硬件设计、软件开发和系统调试等多个阶段。
1. 硬件设计阶段硬件设计是单片机系统开发的第一步,主要包括电路设计和PCB设计两个部分。
(1) 电路设计:根据系统需求,选择合适的单片机芯片和外围器件,设计电路原理图。
在电路设计过程中,需要考虑功耗、时钟频率、IO口数量、通信接口等因素,并根据需求进行电源供应、时钟电路、外设接口电路等设计。
(2) PCB设计:根据电路原理图,进行PCB的布线设计。
通过布线设计,将电路原理图中的元器件进行合理的布局和连接,以满足信号传输、电源供应等要求。
在PCB设计过程中,需要注意信号完整性、电源稳定性、阻抗匹配等问题。
2. 软件开发阶段软件开发是单片机系统开发的核心部分,主要包括编写程序和调试两个环节。
(1) 编写程序:根据系统需求和硬件设计,选择合适的开发工具和编程语言,编写单片机的软件程序。
在编写程序过程中,需要了解单片机的指令集、寄存器配置、中断处理等相关知识,并根据需求实现系统的各项功能。
(2) 调试:将编写好的软件程序下载到单片机芯片中,通过调试工具进行调试。
调试过程中,可以通过单步执行、断点调试等方式,逐步检查程序的运行情况,发现并解决程序中的错误和问题。
调试完成后,可以对系统的功能进行验证和优化。
3. 系统调试阶段系统调试是单片机系统开发的最后一步,主要包括硬件调试和软件调试两个环节。
(1) 硬件调试:通过仪器设备和测试工具,对硬件电路进行测试和验证。
主要包括电源稳定性、信号传输、外设功能等方面的测试。
在硬件调试过程中,可以使用示波器、逻辑分析仪等工具对信号进行观测和分析,发现并解决硬件电路中的问题。
(2) 软件调试:在硬件调试完成后,对软件程序进行全面的功能测试。
通过输入不同的参数和数据,验证系统的各项功能是否正常运行。
在软件调试过程中,可以使用调试工具和仿真器对程序进行调试和测试,以确保系统的稳定性和可靠性。
前一段时间使用stm8单片机做一个项目的时候,由于是初次使用这个开发环境。
刚开始非常的不熟悉,找了一些资料好像也不是很齐全。
使用在线仿真调试的时候费了好大得劲才搞清楚如何使用。
在下面总结一下在线调试仿真的时候一些具体步骤:
1、Debug instrument 选项里面的下拉菜单选择
2、选择上图中的swim ST-Link,此选项适用于ST烧写器的选项
3、点击红色椭圆形的按钮下载程序到stm8单片机
上图中红圈的部分是在仿真调试的时候会使用的快捷键
4、点击Watch选项,调出查看窗口
5、可以查看局部变量的数值
可以查看外设寄存器的数值
可以查看变量堆栈的使用情况。
注意:在查看变量的时候,不能运行程序,才能把变量拖放到Watch
窗口,然后运行程序。
就会看到变量在程序运行过程中的变化情况!。
avr单片机gcc程序设计一、前言AVR单片机是一种常见的嵌入式系统处理器,广泛应用于各种电子设备中。
GCC是一款常用的C语言编译器,也可以用于AVR单片机程序设计。
本文将介绍如何使用GCC进行AVR单片机程序设计。
二、准备工作1. 安装GCC编译器GCC编译器可以在Linux、Windows和Mac OS X等操作系统上安装。
安装方法请参考相关文档。
2. 安装AVR-GCC工具链AVR-GCC工具链包括编译器和调试器等工具,可以在Linux、Windows和Mac OS X等操作系统上安装。
安装方法请参考相关文档。
3. 准备开发板选择一款支持AVR单片机的开发板,并连接到计算机上。
4. 编写代码使用C语言编写程序,并保存为.c文件。
三、编译过程1. 编译源代码打开命令行终端,进入.c文件所在目录,执行以下命令:avr-gcc -mmcu=atmega328p -Wall -Os -o main.o main.c其中,-mmcu选项指定了目标单片机型号;-Wall选项启用所有警告信息;-Os选项启用优化;-o选项指定输出文件名。
2. 生成可执行文件执行以下命令:avr-gcc -mmcu=atmega328p -o main.elf main.o其中,-mmcu选项指定了目标单片机型号;-o选项指定输出文件名。
3. 生成HEX文件执行以下命令:avr-objcopy -j .text -j .data -O ihex main.elf main.hex其中,-j选项指定要复制的段;-O选项指定输出格式。
四、烧录过程使用AVR ISP编程器将HEX文件烧录到目标单片机中。
五、调试过程可以使用AVR-GDB进行调试。
首先需要在编译源代码时添加-g选项,生成带有调试信息的可执行文件。
然后执行以下命令:avr-gdb main.elf进入GDB调试界面后,可以使用各种GDB命令进行调试。
六、结语本文介绍了AVR单片机GCC程序设计的基本过程,包括准备工作、编译过程、烧录过程和调试过程。
单片机开发步骤单片机开发是指使用单片机进行程序设计、硬件连接调试,并最终实现预定功能的过程。
下面将介绍单片机开发的主要步骤及相关参考内容。
1. 硬件准备与选择在单片机开发之前,首先需要确定所需的硬件设备和器件。
包括选择合适的单片机型号、外部扩展模块(如传感器、显示器等)、连接线缆等。
可以参考相关单片机型号资料手册、选型指南以及硬件厂商的官方网站。
2. 系统设计与电路原理图在进行单片机开发之前,需要对系统进行设计,并绘制相应的电路原理图。
系统设计包括功能需求分析、外部硬件电路设计、电源管理设计等。
电路原理图用于描述各个硬件器件之间的连接关系和信号传输路径。
可以参考电路设计教材和相关电路设计软件的使用手册。
3. 程序设计与编程在硬件准备和系统设计完成之后,开始进行单片机的程序设计和编程。
首先需要选择合适的开发工具和编程语言。
开发工具可以是集成开发环境(IDE)或者单片机专用的编程软件。
编程语言可以是C、C++、汇编等。
可以参考编程手册、编译器使用说明以及相关编程教程。
4. 编译与烧录在进行程序编写后,需要将程序编译成单片机可以执行的机器码。
编译器是用于将高级语言代码转换为机器码的工具。
在编译过程中,需要选择合适的编译选项和编译参数。
编译成功后,将机器码通过烧录器写入到单片机的存储器中。
可以参考编译器使用手册、烧录器的操作手册以及相关编程教程。
5. 硬件连接与调试在程序烧录完成后,需要将单片机与外部硬件设备进行连接,并进行相应的硬件调试。
硬件连接包括各个器件的引脚连接、接地线连接、电源连接等。
硬件调试包括输入输出信号的验证、时序分析、电压测量等。
可以参考电路原理图、硬件手册以及相关硬件调试教程。
6. 功能测试与优化在硬件连接和调试完成后,进行单片机功能测试和性能优化。
功能测试主要是验证系统是否按照需求正常工作,可以通过输入输出测试、各个模块功能测试等方式进行。
性能优化主要是对程序和硬件进行优化,提高系统的运行效率和稳定性。
单片机编程思路及步骤一、明确需求在进行单片机编程之前,首先要明确程序的需求,包括需要实现的功能、输入输出设备、通信方式等。
只有明确了需求,才能有针对性地选择单片机型号、设计硬件电路和编写程序。
二、选择单片机型号根据需求,选择合适的单片机型号。
需要考虑单片机的性能、资源、封装等因素,同时还要考虑单片机的易用性和开发成本。
在选择单片机时,可以参考一些常见的单片机型号,如STM32、51单片机等。
三、学习单片机手册在选择了单片机型号后,需要认真阅读单片机的手册,了解单片机的引脚、寄存器、定时器、串口等资源的使用方法和操作流程。
学习单片机手册是进行单片机编程的基础,只有掌握了单片机的使用方法,才能更好地进行程序设计和开发。
四、设计硬件电路根据需求和单片机型号,设计合适的硬件电路。
需要考虑单片机的电源、时钟、复位电路以及输入输出设备的连接方式。
在设计硬件电路时,可以使用一些常用的电子元件和电路板,也可以使用一些集成开发环境(IDE)提供的硬件设计工具。
五、编写程序在明确了需求、选择了单片机型号、学习了单片机手册、设计了硬件电路之后,就可以开始编写程序了。
在编写程序时,需要按照需求编写各个功能模块的代码,并考虑程序的性能和可读性。
在编写程序时可以使用一些集成开发环境(IDE)提供的代码编辑器和编译器,如Keil、IAR等。
六、编译程序编写完程序后,需要进行编译。
编译是将程序转换成可执行文件的过程,这个过程由编译器完成。
在编译程序时,需要选择合适的编译器并进行配置。
在编译完成后,可以得到可执行的文件,该文件可用于程序的烧录和调试。
七、调试程序在编译完成后,需要进行程序的调试。
调试是检查程序中是否存在错误和异常的过程。
在调试程序时,可以使用一些调试工具,如调试器、示波器等。
在调试过程中,需要对程序进行逐步调试和单步调试,以便发现和修复错误和异常。
八、烧录程序在调试完成后,需要进行程序的烧录。
烧录是将可执行文件烧录到单片机中,使单片机能够运行程序的过程。
关于英飞凌单片机的工程建立和程序调试问题1.英飞凌单片机的工程文件是通过Dave软件先配置好寄存器,编译生成.dpt文件,再由Keil打开自动转换成.uvproj工程文件。
然后在用户代码区编写用户程序,编译连接成hex 烧写文件。
2.利用MiniWiggler仿真器器,可以在Keil中直接下载调试程序。
在此之前,需先安装好DAS驱动,以识别仿真器。
在设备管理器中可看到仿真器识别信息。
3.在下载程序前,需设置好Keil工程选项。
以16位单片机为例:Option-Utilities选项,下拉按钮选择Infineon DAS Client for XC16x。
点击Setting,在DAS Server选项选择UDAS,正常识别单片机的情况,Device选项会出现单片机信息,如XE166/XC2000-Family。
在下方的Flash Download Option,单击Add,添加对应单片机型号的Flash,如XE16x-48F On-Chip Flash,结果如下之后,通过Keil主菜单Flash-Download便可以下载程序了。
调试程序时,类似地在Option-Debug选项卡中对应设置即可。
4.完整版本MiniWiggler仿真器采用了电平转换处理,可以连接3.3V或5V系统板,故此仿真器不提供给系统板供电功能。
仿真器有三个指示灯,当仿真器和系统板同时上电,电源灯亮;当下载程序或调试程序刚开始时,连接指示灯亮,当调试程序开始Run时,调试指示灯亮。
5.有些时候仿真器连不上系统板,可能是工程原因或电脑原因,可检查工程设置或更换电脑测试。
注意关系到JTAG口的复用引脚,编程中避免占用,以免下次烧写程序时JTAG 口无法连接上,该情况请采用串口下载进行恢复。
6.使用Memtool串口下载程序时,需注意系统板的启动配置,即拨码开关的位置。
在Memtool中,主菜单Target-Change选择对应系统板型号,Browse选项中New-Use a default target configuration,选择对应系统板型号中Bootstrap Loader类型的,完成。
.
整理可编辑版
步骤:
① 首先建立工程项目文件;
② 为工程选择目标器件(如TA89S52);
③ 工程项目设置软硬件调试环境;
④ 创建源程序文件并输入程序代码;
⑤ 保存创建的源程序项目文件;
⑥ 把源程序文件添加到项目中;
第一步:
建立工程项目文件
双击桌面Keil uVision3.LNK快捷图标得到图1
在打开的下界面中点 工程项 得到图2。
图1
KEIL 图标
.
整理可编辑版
打开工程下拉菜单,选择点击“新建工程“,首先在这里要新建一个工程项目文件。
图2
为工程文件取一个名称,确定选择存放的路径(事先为每一个工程单独建立一个目录),
在建立工程时形成的所有文件全部存放在这个目录下,如起工程名y2(此时不加后缀),保
存类型选择 Project Files(*.uv2)点保存
图3
选择新建工
.
整理可编辑版
接下来选择CPU驱动芯片,如AT89S52芯片,然后点确定。
图4
这时提示:复制标准的8051开始代码到工程项目文件夹或添加文件到工程项目文件
夹?(如果选择Y之后将会产生一个STARTUP文件,对我们实验是一个无用的文件,会在
个别计算机上会导致不能创建目标文件,同时会产生一个空白的工程项目文件),选择N之
后只建立一个空白的工程项目文件,我们选N便于操作。
至此用户就完成了建立一个空白的工程项目文件,并为工程选好了目标器件,但却是空白的
工程项目文件。
.
整理可编辑版
第二步:
建立源文件
在界面中打开文件下拉菜单,在打开的选项中点“新建”,产生一个新建空
白文件。
图1
在新建空白文件中输入源程序文件
点新建
.
整理可编辑版
图3
在确认源程序无错时点保存,这时界面上弹出提示“另存为”菜单,选择好保存路径,
也就是刚才保存建立工程项目文件的目录路径,输入文件名,如y2.asm(要有后缀,汇编程
序是*.asm),然后点击保存。
图4这时仅仅是完成了汇编程序的建立而已,但y2.asm汇编程序与y2.Uv2工程项目文
件现在还没建立任何关系,此时应把y2.asm源程序文件添加到y2.Uv2工程中,构成一个完
整的工程项目。
.
整理可编辑版
第三步:将源程序文件添加到工程项目中
在左侧Project Windows窗口内右击 Source Group1,在弹出下拉菜单中选种 Add Files to
Group‘Source Group1’(向工程中添加源文件)命令,
图5
在弹出的菜单栏中点文件类型一栏下拉菜单,选Asm Source Files(*.a*:*.src:*.a*)即(汇
编程序),文件框中选择将刚才创建的源程序文件y2.asm然后点Add,这时在文件名框后出现
刚才选中y2.asm文件,在点击CLOSE完成源程序文件向工程项目的添加。
第四步:
为添加到工程项目的程序文件进行编译和链接
点Target,
选右键点
Source
Group1
选择
.
整理可编辑版
在界面上点工程(Project)选项,在下拉菜单中选择(Options For Target ‘Target ‘),命令
为目标设置工具选项。
图1
在“目标”(Target)选项卡片外代码内存,片外Xdata内存都为空白。
图2
在“输出”选项卡中选择创建HEX文件。
.
整理可编辑版
图3
在“C51”选项卡上勾选
中断向量在0X0000。
图4
在“调试”(Debug)选项卡选择使用模拟仿真,对于汇编程序不需要勾选运行到,然
后点确定
.
整理可编辑版
图5
其余选项卡内容则不需要改变设置。
在打开工程(Project)下拉菜单,选择创建目标(Build target)点击左键见图7。
图6
.
整理可编辑版
此时会出现“编译正确”,无错误,无警告提示。
图7
(如果在建立工程项目在提示’Y’或’N’时,选中了‘Y’,在创建目标时时就会出
现如下3个警告提示,但不影响影响程序运行)。
.
整理可编辑版
接下来选择重建全部目标文件(Rebuild all target files)命令,对项目工程文件进行重新
编译,链接,此后会出现提示,“编译正确,链接成功”,提示。(如果在前边建立工程项目
在提示’Y’或’N’时,选中了‘Y’,在创建目标时时就会出现如下3个警告提示,但不
影响程序运行。也可以省去上一步“创建目标”,直接运行这一步即可)。
图9
接下来打开调试下拉菜单,选择Start/Step Debug Session Crtl+F5,进行调试,也就是将
程序下载到仿真器里,然后可以进行运行程序。
图10
.
整理可编辑版
运行程序有全速运行,单步跟踪运行,单步运行,执行返回。在这里选用单步运行命令
运行程序,每执行一次此命令,是以语句为基本执行单元,但指令用黄色箭头标出,每执行
一步箭头都会移动,执行过的指令呈现绿色。
图11
在右下角内存视窗输入的D:0X0050可以看到50H~59H单元被写入的数据,同时左侧。
Project Windows窗口内可以看到相关寄存器的变化。
输入d:0x0050,在下边视窗可以
看到到写入到存储单元的值
.
整理可编辑版
图12
选择调试下拉菜单可以点Start/Step Debug Session Crtl+F5则停止调试。