keil 下模拟u-boot的cmd功能
使用Keil软件模拟调试单片机串行口
使用Keil软件模拟调试单片机串行口单片机串行口是单片机中很常见的接口之一,常用于与外界通讯,如与PC机通讯,接收或发送数据等。
Keil软件可以帮助我们模拟及调试单片机串行口,下面是详细介绍。
一、Keil软件简介Keil是一款强大的单片机编程软件,具有模拟器和仿真器。
其可支持多种嵌入式系统和多种编译器。
同时Keil具有标准C 编译器,专门用于单片机编程,而且具有与某些模拟器和编译器的集成,可提供完整的嵌入式开发环境。
二、使用Keil软件模拟1. 连接软件与硬件在开始模拟之前,需要将单片机与电脑通过串口连接好。
打开“Options for Target”对话框,选择“Debug”选项卡,选择正确的COM 端口,设置存根速度,完成调试设置。
2. 添加串行口文件在Keil软件中打开设计文件,键入“#include <reg52.h>”来添加注册头文件,其中包含了需要使用串口的相关寄存器位。
利用如下代码,可以对串行口的各项参数进行设置,例如波特率、校验位等等。
void init(){SCON = 0X50; //使串口工作在方式1,即8位数据,可变波特率TMOD |= 0X20; //TMOD的高4位设为0010,使Timer1工作在方式2TH1 = 0XF3; //波特率设为2400bpsTL1 = 0XF3;TR1 = 1; //启动Timer1ES = 1; //开启串口中断EA = 1; //打开总中断}3. 编写数据收发代码在调用串口的过程中,我们往往需要使用到接收和发送两个函数。
在接收方面,我们需要设置好接收中断模式以及缓冲区的异步处理。
编写简单的数据接收收发代码如下:void send_data(unsigned char dat){SBUF = sdat; //将数据传输到SBUF当中while(!TI); //等待发送完成TI = 0; //完成发送}unsigned char receive_data(){while(!RI); //等待接收完成RI = 0; // 完成接收return SBUF; // 返回接收缓冲区}4. 最后进行模拟完成串行口配置和数据处理之后,就可以开始模拟调试了。
keil调试 汇编语言
keil调试汇编语言首先要介绍一下Keil,Keil是一种专门用于嵌入式系统中的集成开发环境,它可以用来编译,调试和仿真嵌入式系统中的C和汇编程序。
在Keil中调试汇编语言需要掌握几个方面:1. Keil中的窗口在Keil中,有许多窗口可以用来查看或编辑代码,例如Project 窗口、Command窗口、Disassembly窗口等。
其中比较重要的是Debug 窗口,它可以用来监视程序的执行,包括CPU寄存器值、内存地址和指令执行情况等。
同时,它也可以用来设置断点、单步执行程序等调试操作。
2.调试命令在Keil中,有许多调试命令可以用来操作程序的执行。
例如,Step Over可以用来执行当前指令,并移动到下一条指令,Step Into 可以用来进入当前指令所调用的子程序中执行,而Step Out则可以用来退出当前子程序的执行。
除此之外,还有一些命令可以用来设置断点、修改寄存器值等调试操作。
3.汇编指令在调试汇编语言程序时,需要熟悉各种汇编指令的用途和语法。
例如,MOV可以用来将一个值从一个寄存器移动到另一个寄存器中,ADD可以用来将两个值相加并将结果存储到一个寄存器中等等。
同时,还需要了解一些特殊的汇编指令,例如INT可以用来触发中断,JMP可以用来跳转到指定的地址等。
4.内存映像调试汇编语言程序时,可以通过内存映像来查看程序在内存中的执行情况。
在Keil中,可以用Memory窗口来查看各个地址中的值,并根据需要修改它们。
同时,也可以使用Watch窗口来监视某个变量或内存地址的变化,并在程序执行时实时显示它们的值。
总体来说,调试汇编语言程序需要先熟悉Keil中的窗口和调试命令,同时还需要了解汇编指令的语法和用途,并能够使用内存映像来查看程序在内存中的执行情况。
此外,还需要有耐心和细心,仔细观察程序的执行情况,并通过断点和单步执行等操作来排查程序中的问题。
u-boot简单使用手册
u-boot简单使⽤⼿册(转⾃)1.u-boot 简介-----------------------------------------------------------------1.u-boot2.它有两种模式引导模式(⽤于引导OS)下载模式(⽤于开发,在u-boot启动按任意键)进⼊控制台。
在控制台执⾏ boot 命令,则进⼊引导模式去引导OS。
2.u-boot 控制台常⽤命令--------------------------------------------------------------------help 显⽰帮助命令boot ⽤引导常数来引导OS。
bootm 从内存引导OS。
.bootp/tftpboot 从TFTP/BOOTP引导OSgo 从某⼀个地址开始直接运⾏程序mtdparts 管理flash上的分区ping 简单发送⼀个ICMP包测试。
printenv 打印环境变量setenv 设置环境变量saveenv 把内存的环境变量存到flash上的param分区.usbslave 从USB下载⽂件 (PC机要运⾏dnw)version 显⽰u-boot 版本4. 设置环境变量printenv 打印环境变量bootargs=noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0bootcmd=nboot 0x32000000 kernel; bootm 0x32000000bootdelay=0baudrate=115200ethaddr=0a:1b:2c:3d:4e:5fipaddr=192.168.1.6serverip=192.168.1.8netmask=255.255.255.0stdin=serialstdout=serialstderr=serialmtdids=nand0=nandflash0mtdparts=mtdparts=nandflash0:256k@0(bios),128k(params),128k(toc),512k(eboot),1024k(log)partition=nand0,0mtddevnum=0mtddevname=biosEnvironment size: 453/131068 bytes经常修改是 bootargs ( 启动参数)ipaddr (开发板IP地址)serverip( 默认tftp/NFS/...下载主机)setenv 命令只是改变内存的环境变量值,如果不调⽤saveenv,下次的设置仍然是旧的配置。
uboot dm-gpio使用方法以及工作流程
uboot dm-gpio使用方法以及工作流程1. 引言1.1 介绍【引言】uboot dm-gpio是uboot中的一个驱动模块,用于控制板上的GPIO(General Purpose Input/Output)引脚。
GPIO引脚在嵌入式系统中起着非常重要的作用,可以用于控制外设、传输数据、进行通信等功能。
uboot dm-gpio模块可以帮助开发人员在bootloader阶段对GPIO进行操作,这在嵌入式系统的启动过程中是非常关键的。
本篇文章将介绍uboot dm-gpio的概述、使用方法、工作流程以及示例和注意事项。
读者可以通过学习本文了解如何在uboot中使用dm-gpio模块来控制GPIO,并且掌握一些使用上的注意事项,从而更好地应用于自己的嵌入式系统开发中。
1.2 背景在嵌入式系统开发中,GPIO(General Purpose Input/Output)是一种非常常用的接口,用于控制外部设备和传感器。
在嵌入式系统中,引导加载程序(Bootloader)的选择至关重要,因为它负责初始化硬件设备和加载操作系统。
U-Boot是一种常用的开源引导加载程序,它支持多种处理器架构和嵌入式设备。
随着U-Boot的不断发展,新的GPIO框架被引入,称为`dm-gpio`,它提供了更强大和灵活的GPIO控制接口。
`dm-gpio`通过设备模型(Device Model)的方式管理GPIO设备,使得开发者可以更方便地管理和控制GPIO。
在使用`dm-gpio`之前,开发者需要了解其概念、使用方法和工作流程,以确保正确地配置和操作GPIO接口。
本文将介绍`dm-gpio`的概念、使用方法和工作流程,同时给出一个示例来演示如何在U-Boot中使用`dm-gpio`来控制GPIO。
我们还会提供一些注意事项,帮助开发者避免常见的问题和错误。
2. 正文2.1 uboot dm-gpio概述在U-Boot中,dm-gpio是一个设备模型中的GPIO控制器,用于控制通用输入输出端口。
keil arm编译手册
Keil MDK(Microcontroller Development Kit)是一套用于嵌入式系统开发的工具,其中包括编译器、调试器、模拟器等。
以下是关于Keil MDK ARM编译的一些基本步骤。
请注意,具体步骤可能会根据你的项目和硬件平台而有所不同。
Keil MDK ARM 编译手册基本步骤:创建新工程:打开Keil MDK,选择"Project" -> "New µVision Project"。
在弹出的对话框中,选择工程的存储位置和工程名称,然后点击"Save"。
选择目标设备:在弹出的"Device" 对话框中,选择你的目标微控制器或处理器型号,然后点击"OK"。
添加源文件:在"Project" 窗口中,右键点击"Source Group 1",选择"Add New Item to Group 'Source Group 1'",然后添加你的源代码文件。
配置编译选项:在"Project" 窗口中,右键点击你的工程,选择"Options for Target 'Target 1'"。
在弹出的对话框中,配置"C/C++"、"Miscellaneous" 和其他选项,例如选择编译器、调试器、优化选项等。
设置链接脚本(可选):在"Options for Target 'Target 1'" 对话框中的"Linker" 选项卡中,你可以设置链接脚本,以指定程序的内存布局。
编写源代码:打开添加的源代码文件,编写你的程序代码。
构建项目:点击工具栏上的"Build" 按钮或者使用快捷键(通常是F7)进行编译。
Keil 的辅助工具和部份高级技巧
Keil 的辅助工具和部份高级技巧在前面的几讲中我们介绍了工程的建立方法,常用的调试方法,除此之外,Keil 还提供了一些辅助工具如外围接口、性能分析、变量来源分析、代码作用分析等,帮助我们了解程的性能、查找程序中的隐藏错误,快速查看程序变量名信息等,这一讲中将对这些功工具作一介绍,另外还将介绍Keil 的部份高级调试技巧。
一、辅助工具这部份功能并不是直接用来进行程序调试的,但可以帮助我们进行程序的调试、程序性能的分析,同样是一些很有用的工具。
1、外围接口为了能够比较直观地了解单片机中定时器、中断、并行端口、串行端口等常用外设的使用情况,Keil 提供了一些外围接口对话框,通过Peripherals 菜单选择,该菜单的下拉菜单内容与你建立项目时所选的CPU 有关,如果是选择的89C51 这一类“标准”的5 1 机,那么将会有Interrupt(中断)、I/O Ports(并行I/O 口)、Serial(串行口)、Timer(定时/计数器)这四个外围设图 1 外围设备之并行端口备菜单。
打开这些对话框,列出了外围设备的当前使用情况,各标志位的情况等,可以在这些对话框中直观地观察和更改各外围设备的运行情况。
下面我们通过一个简单例子看一看并行端口的外围设备对话框的使用。
例4:MOV A,#0FEHLOOP: MOV P1,ARL ACALL DELAY ;延时100 毫秒JMP LOOP其中延时100 毫秒的子程序请自行编写。
编译、连接进入调试后,点击Peripherals->I/O-Ports->Port 1 打开,如图1 所示,全速运行,可以看到代表各位的勾在不断变化(如果看不到变化,请点击View->Periodic Window Updata),这样可以形象地看出程序执行的结果。
注:如果你看到的变化极快,甚至看不太清楚,那么说明你的计算机性能好,模拟执行的速度快,你可以试着将加长延时程序的时间以放慢速度。
keil使用技巧
keil使用技巧Keil是一款非常强大的集成开发环境(IDE),被广泛应用于嵌入式系统开发中。
以下是一些使用Keil的技巧,可帮助提高开发效率和代码质量。
1. 设置编译器选项和优化级别:Keil允许用户自定义编译器选项,如编译警告级别、优化级别等。
通过适当设置编译器选项和优化级别,可以提高代码的执行效率和可靠性。
2. 使用断点:Keil提供了强大的调试功能,包括设置断点、单步调试等。
合理使用断点可以帮助我们快速定位和解决问题。
3. 使用调试输出:Keil提供了在调试过程中显示输出信息的功能,通过使用printf函数等,可以将调试信息输出到终端或者调试窗口中,帮助我们了解代码执行过程中的状态和错误信息。
4. 使用宏定义:宏定义是一种在编译期间进行文本替换的机制,可以提高代码的可读性和可维护性。
在Keil中,可以使用宏定义来定义常量、简化代码等。
5. 使用内联汇编:Keil支持内嵌汇编,可以在C代码中嵌入汇编指令,以提高代码的执行效率和灵活性。
6. 正确使用C标准库函数:Keil提供了一套标准C库函数,如字符串处理函数、数学函数等。
正确使用这些函数可以简化代码,提高代码的可读性和可维护性。
7. 使用代码模板:Keil提供了一些代码模板,可帮助开发者快速生成常见的代码结构,如中断处理函数、定时器初始化函数等。
合理使用代码模板可以节省开发时间,提高代码质量。
8. 使用版本控制工具:在Keil中进行开发时,建议使用版本控制工具,如Git,来管理代码的版本。
版本控制工具可以帮助我们追踪代码的修改记录,恢复代码到任意历史版本,并协作开发。
总之,使用Keil进行开发时,合理配置编译器选项、使用断点和调试输出、使用宏定义和内联汇编、正确使用C标准库函数、使用代码模板以及使用版本控制工具等技巧,可以提高开发效率和代码质量,帮助我们更好地开发嵌入式系统。
自己弄的Keil uVision3使用方法
存储器窗口
进入调试模式后,选择菜单命令view|memory window,可以显示或隐藏存储器窗口
监视窗口
进入调试模式后,选择命令view/watch&call stack window,可以显示后隐藏件事窗口。
串口输出窗口
选择菜单命令view/serial window#1,可以显 示或隐藏串口输出窗口。
C51选项页
用于c51编译器的设定,使用这些选项可以改 进代码质量。
调试工具栏
位于用户界面上方,主要用于程序调试方面的 控制。
中断控制窗口
选择菜单命令peripherals|interrupt,可以显示 或隐藏中断控制窗口。
I|O口控制窗口
菜单令peripherals|i|o-prots,可打开或隐藏 i|o口控制窗口。
串口控制窗口
菜单命令peripherals|serial可以显示或隐藏串 口控制窗口。
工具栏
编译工具栏
状态栏
位于界面的最下方,显示当前命令执行情况、 光标所在位置等信息。
编辑窗口
用户可以输入或修改源程序
项目窗口
菜单命令view/project window可显示或隐藏项 目窗口。
输出窗口
用于显示uv2本身的调试、命令等信息。
编译后窗口
进入调试模式后,选择菜单命令view/disassembly window,可以显示或隐藏编译 后窗口
3.编译和连接
选择菜单命令project|opinions for target对话 框,使用设定样机的硬件环境。其有多个选项 页,用于设置设备选择、目标属性、输出属性 等信息。下面对其中一些选项页进行介绍。
DEVICE选项页
可修改目标单片机的型号。
单片机实验报告KeilC的使用与汇编语言上机操作
单片机实验报告KeilC的使用与汇编语言上机操作单片机实验报告:Keil C的使用与汇编语言上机操作一、实验目的1.掌握Keil C的使用方法,了解其集成开发环境下的单片机编程流程。
2.掌握汇编语言的基本语法和指令,通过上机操作熟悉其应用。
3.通过实际操作,增强动手能力和解决问题的能力。
二、实验设备1.单片机开发板2.Keil C软件3.电脑及编程器三、实验原理及步骤1.Keil C使用介绍Keil C是一款广泛使用的单片机集成开发环境,它提供了包括编译器、调试器、仿真器等在内的全套开发工具。
使用Keil C可以方便地进行代码编写、编译、调试和模拟,适用于多种单片机开发。
2.汇编语言基础汇编语言是一种直接与硬件相关的编程语言,它通过特定的指令集直接控制硬件进行操作。
汇编语言具有高效、直接的特点,但编写和理解相对困难。
本实验主要学习并熟悉汇编语言的基本语法和指令。
3.实验步骤(1) 在Keil C中创建新项目,选择合适的单片机型号。
(2) 创建源文件,编写汇编程序。
(3) 对源文件进行编译,生成目标文件。
(4) 将目标文件下载到单片机开发板进行调试和运行。
四、实验内容及分析1.在Keil C中创建新项目并选择单片机型号。
在创建项目时,需要选择正确的单片机型号,这将直接影响到程序的编写和运行。
根据实际需要,我们选择了AT89C51作为实验用的单片机。
2.创建源文件并编写汇编程序。
在Keil C中,可以方便地创建新的源文件,并在其中编写汇编程序。
例如,下面是一个简单的汇编程序,用于点亮开发板上的LED灯:MOV P1, #1 // 将1赋值给P1端口此程序将使P1端口的所有引脚输出高电平,从而点亮LED灯。
3.对源文件进行编译并生成目标文件。
在Keil C中,可以通过简单的点击完成编译操作。
编译成功后,将生成一个目标文件(如*.obj文件)。
4.将目标文件下载到单片机开发板进行调试和运行。
在Keil C中,可以通过仿真功能模拟程序的运行,也可以通过调试功能查看程序运行过程中的细节信息。
Keil_uVision2仿真软件的使用说明.
附录一 Keil uVision2仿真软件的使用说明μVision2集成开发环境μVision2 IDE是德国Keil 公司开发的基于Windows 平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE 工具。
其中KeilC51是一种专门为单片机设计的高效率C 语言编译器,符合ANSI 标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。
1.关于开发环境μVision2的界面如图1-1所示,μVision2允许同时打开、浏览多个源文件。
图1-1 μVision2界面图2.菜单条、工具栏和快捷键下面的表格列出了μVision2菜单项命令,工具栏图标,默认的快捷以及他们的描述。
1)编辑菜单和编辑器命令Edit (如表1-1所示)表1-1 编辑菜单和编辑器命令Edit2在μVision2中,可以通过按住Shift 键和相应的键盘上的方向键来选择文本。
如Ctrl+ →可以移动光标到下一个词,那么,Ctrl+Shift+ →就是选择当前光标位置到下一个词的开始位置间的文本。
当然,也可以用鼠标来选择文本。
3)项目菜单Project 和项目命令Project (如表1-2所示)表1-2 项目菜单和项目命令Project34)调试菜单Debug 和调试命令(如表1-3所示)45)外围器件菜单Peripherals (如表1-4所示)6)工具菜单Tool (如表1-5所示)利用工具菜单,可以设置并运行Gimpel PC-Lint、Siemens Easy-Case和用户程序。
通过Customize Tools Menu…菜单,可以添加需要的程序。
表1-5 工具菜单ToolμVisio n2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。
要创建一个应用,需要按下列步骤进行操作:启动μVision2,新建一个项目文件并从器件库中选择一个器件。
5● 新建一个源文件并把它加入到项目中。
keil程序运行方法
keil程序运行方法Keil是一款专业的嵌入式系统开发工具,主要用于编写、编译和调试嵌入式系统的软件。
在Keil中,程序的运行过程主要包括创建项目、编写代码、配置项目、编译程序、下载程序到目标设备和进行调试等步骤。
下面是关于Keil程序运行的基本方法的详细介绍:1. 创建Keil项目在Keil中,首先需要创建一个项目。
打开Keil软件,选择“Project” -> “New μVision Project”,然后选择项目的保存位置和项目名称。
接着,添加源文件、头文件等项目所需的文件。
2. 编写代码在创建项目后,需要编写嵌入式C语言代码。
在Keil中,可以使用集成的编辑器编写代码,也可以将已有的代码文件导入到项目中。
代码的编写主要包括实现嵌入式系统的功能,如初始化硬件、配置寄存器、处理中断等。
3. 配置项目配置项目是为了指定目标设备、选择编译工具链和配置编译选项。
在Keil中,可以通过“Project” -> “Options for Target” 来进行配置。
选择适合目标设备的芯片型号,并配置编译器选项、链接器选项等。
4. 编译程序在代码编写和项目配置完成后,通过点击“Project” -> “Build Target” 或者使用快捷键(通常是F7)来进行编译。
编译完成后,可以在输出窗口查看编译信息和错误。
5. 下载程序到目标设备将程序下载到目标设备是Keil中的一个重要步骤。
在Keil中,可以使用调试器(如ST-Link、J-Link等)连接目标设备,并通过“Flash” -> “Download” 来下载程序。
在下载之前,确保目标设备处于下载模式。
6. 进行调试Keil提供了强大的调试工具,可以用于单步执行、设置断点、观察变量值等。
在下载完成后,通过“Debug” -> “Start/Stop Debug Session” 或者使用快捷键(通常是Ctrl + F5)来开始调试。
bootcmd参数
bootcmd参数
在计算机中,bootcmd参数是一种用于配置引导过程中的命令的参数。
引导过程是计算机启动时的一系列操作,包括加载操作系统和初始化设备等。
bootcmd参数通常在引导加载程序(bootloader)中使用,它们定义了计算机在启动过程中要执行的特定命令。
这些命令可以包括加载操作系统的命令、设备初始化命令或其他启动前的配置命令。
使用bootcmd参数,可以根据系统需求来自定义引导过程。
例如,可以通过bootcmd参数指定从哪个设备加载操作系统,比如硬盘、光盘还是网络等。
还可以使用bootcmd参数执行一些自定义的初始化命令,例如设置环境变量、加载特定的驱动程序或执行一些系统配置操作。
修改bootcmd参数的方式取决于具体的引导加载程序。
在大多数情况下,bootcmd参数可以通过编辑引导加载程序的配置文件来进行设置。
这些配置文件通常位于引导分区或引导设备中,可以使用文本编辑器来进行修改。
然而,需要非常谨慎地修改bootcmd参数,因为错误的设置可能导致系统无法正常启动或引起其他问题。
在修改bootcmd参数之前,建议事先备份相关的配置文件,并了解系统的工作原理和相关的技术知识。
总之,bootcmd参数是配置计算机在引导过程中执行的命令的一种参数。
通过正确地设置bootcmd参数,可以满足系统启动时的不同需求,例如加载特定的操作系统或执行一些系统配置命令。
然而,在修改bootcmd参数时需要谨慎,以免引起系统问题。
uboot dm-gpio使用方法以及工作流程
uboot dm-gpio使用方法以及工作流程全文共四篇示例,供读者参考第一篇示例:u-boot是嵌入式系统中常用的引导加载程序之一,它的功能非常强大,可以用来引导内核启动和设置所需的硬件环境。
本文将介绍在u-boot中使用dm-gpio的方法和工作流程。
dm-gpio是u-boot中一个用来管理GPIO引脚的设备模型,通过dm-gpio可以方便地对GPIO进行配置和控制。
在使用dm-gpio之前,我们需要在u-boot的配置文件中开启CONFIG_DM_GPIO选项,以启用dm-gpio功能。
在u-boot中使用dm-gpio的方法如下:1. 初始化dm-gpio设备:在u-boot启动过程中,我们可以通过调用dm_gpio_init函数来初始化dm-gpio设备。
该函数会扫描系统中的GPIO设备,并将其注册到设备模型中。
2. 获取GPIO设备:要操作一个GPIO引脚,首先需要获取指向该引脚的GPIO设备指针。
可以通过调用dm_gpio_lookup_name或dm_gpio_lookup_index函数来获取GPIO设备。
3. 配置GPIO引脚:一旦获得了GPIO设备指针,我们就可以使用dm_gpio_set_value和dm_gpio_get_value函数来设置和读取GPIO引脚的状态。
通过调用dm_gpio_set_value将引脚设置为输出模式,并可以通过dm_gpio_get_value来读取引脚的状态。
dm-gpio的工作流程如下:4. 完成:当GPIO引脚的操作完成后,可以释放GPIO设备指针或在程序退出时做清理工作。
dm-gpio提供了一种方便而灵活的方式来管理GPIO引脚,让开发者能够更加轻松地进行GPIO操作。
通过对dm-gpio的使用方法和工作流程的了解,可以更加高效地利用GPIO资源,提高嵌入式系统的稳定性和可靠性。
第二篇示例:U-Boot 是一个开源的引导加载程序,被广泛应用于嵌入式系统中。
第十二章Keiluv2软件操作指南
Keil uv2软件操作指南1 点击Project(工程)菜单,选择New Project(新工程),在"文件名"中输入您的第一个程序项目名称,假定我们用"test"."保存"后的文件扩展名为uv2这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目.这时会弹出让你选择单片机型号的对话框,我们选择ATMEL---AT89C51。
注意我们实际使用的是89s51, 他们的资源基本是一致的,不必理会。
2汇编源文件的建立: 点击FILE(文件)菜单中的NEW...(新文件)命令新建一个文本编辑窗口,在里面输入一个程序范例如流水灯程序, 然后点击FILE(文件)菜单中的SAVE(保存)命令保存文件,注意必须输入文件的后缀名.asm,例如保存为d:/prog/001.asm(注意不要有中文目录,文件名不超过8个字符, 否则编译不通过!如果您是第一次使用,建议直接保存在c盘的根目录,文件名同样取001.ASM, 不要试图把他保存在桌面/我的文档等等!)3.点击Target 1(目标1)前面的”+”,出现Source Group 1,(源程序组1)选中右键点选”Add files Group Source Group 1”(增加文件到源程序组1)这时选择文件类型为Asm,再选中001.asm文件,再按Add添加,在随后的提示框中按”确定”4.仿真部分采用Mon51协议,在使用之前应必须对软件项目进行如下设置:单击"Project"(工程)菜单,再在下拉菜单中单击"options for target target 1"(目标1属性)在下图中,单击"Target"(目标)输入仿真器的工作频率(12MHz)。
5.选择output(输出)”Create HEX file”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用.6.在"Debug"(调试)中点选"KeilMonitor-51 Driver",同时选中加载代码到仿真器,运行到main0,然后点击设置7单击"Settings"(设置)选择要使用串口(必须和实际相符合,你的计算机可能是COM2或者其他,对此不能确定可以通过察看控制面板\硬件\端口\通讯端口来解决,同时注意电脑上不能够同时运行其他可能占用串口资源的软件例如XLISP下载软件,串口调试软件等等也必须退出,否则将引起冲突,如果您使用的是USB通信方式,那么选择系统分配的虚拟串口号)8.按以下两个向下小箭头的图标进行编译,(或者按F7快捷)编译成功后如会出现下图红箭头所指的文字,表示编译成功!此时就生成了hex文件,同时,有了这个hex文件,我们也可用isp方式烧写到单片机试验)。
bootcmd参数 -回复
bootcmd参数-回复Bootcmd参数是嵌入式系统启动过程中的一个重要参数,它控制着系统在启动时执行的命令。
在嵌入式系统中,bootcmd参数的配置对于系统的启动和运行具有重要的意义。
本文将详细介绍bootcmd参数的定义、作用、配置方法和常见应用场景,帮助读者全面了解和运用这一重要的系统启动参数。
一、bootcmd参数的定义和作用bootcmd参数是嵌入式系统启动过程中的一个环境变量,它定义了系统在启动时要执行的命令。
系统启动时,bootcmd参数指定的命令将会被自动执行,从而完成系统的初始化和配置工作。
bootcmd参数的作用在于确保系统在启动时按照特定的顺序和方式执行一系列的命令,以完成各种启动和初始化任务。
二、bootcmd参数的配置方法1. 串口调试方式配置bootcmd参数:通过串口连接嵌入式设备,并使用串口调试工具进行配置。
通常,可以使用终端软件,如Tera Term、SecureCRT等,通过串口连接到设备,然后在终端中输入相应的命令进行bootcmd参数的配置。
具体的配置过程可能因不同的嵌入式系统而有所不同,但通常包括以下几个步骤:连接串口、进入系统的调试模式、输入配置命令并保存配置。
2. U-Boot方式配置bootcmd参数:U-Boot是一种常用的嵌入式系统引导加载程序,它提供了一种更为方便和灵活的方式来配置bootcmd 参数。
一般情况下,可以通过U-Boot的命令行界面进行bootcmd参数的配置。
步骤大致如下:连接串口进入U-Boot命令行界面、使用命令行工具(如tftp、setenv等)设置bootcmd参数值、使用saveenv命令保存配置。
三、bootcmd参数的常见应用场景1. 启动过程中加载内核和文件系统:bootcmd参数中通常会设置加载内核映像和文件系统的命令,以确保系统能够正确地启动。
通过配置bootcmd参数,可以指定系统在启动时从何处加载内核和文件系统,并将其保存到相应的内存地址中。
Keil软件及其调试功能简介
Keil软件及其调试功能简介目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,见图2)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-O pen…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
keil软件的使用方法
使用仿真器时对KEIL的设置 使用仿真器时对KEIL的设置 仿真器时
单击“工程” 单击“工程”菜单 在下拉式菜单中选择 在下拉式菜单中选择 目标1属性” “目标1属性” 点击“输出” 点击“输出”选项, 生成hex文件 文件” 勾选“生成hex文件”
使用仿真器时对KEIL的设置 使用仿真器时对KEIL的设置 仿真器时
MAIN: MOV A,#55H MOV R0,#20H MOV R1,#21H
增加文件 增加文件
按【+】 展开目标 右击【源程序组1 】 弹出快捷菜单,
再选
【增加文件到组‘源程序组1’】
按【▼】 选****.ASM文件 【add】 按【+】 展开源程序组1
注意: 注意:
工程-源程序组1 –源文件 右击【源程序组1 】 可删除(移除)文件 可增加文件
KEIL的文件组织结构 KEIL的文件组织结构
工程窗口
KIEL的主菜单功能 KIEL的主菜单功能工具条 打开/关闭 对应的窗口
工程窗口 源代码浏览 输出窗口
KIEL的主菜单功能 KIEL的主菜单功能
工程
KIEL的主菜单功能 KIEL的主菜单功能
调试 菜单
调试 工具
KIEL的主菜单功能 KIEL的主菜单功能
KEIL编译器使用方法 KEIL编译器使用方法
KEIL是众多单片机应用开发软件中优秀的软件之一 KEIL是众多单片机应用开发软件中优秀的软件之一 支持51 51汇编语言编程 支持51汇编语言编程 支持C 支持C语言编程 KEIL安装 KEIL安装 光盘中有KEIL KEIL文件夹 光盘中有KEIL文件夹 KEIL文件夹拷贝到 盘根目录下, 文件夹拷贝到C 把KEIL文件夹拷贝到C盘根目录下,并除去所有 文件的只读属性 文件的只读属性 执行KEIL uv2\ KEIL\ 即可启动KEIL 执行KEIL\uv2\uv2.exe 即可启动KEIL 可将uv2.exe uv2.exe发送到桌面作为快捷方式 可将uv2.exe发送到桌面作为快捷方式
uboot下执行U_BOOT_CMD定义的命令
uboot下执行U_BOOT_CMD定义的命令今天研究了一下uboot中怎么用do_run()函数来执行定义好的一些命令,发现其实也挺简单的,关键是得把do_run函数的几个参数吃透,这几个参数都是由uboot commmod 的cmd_tbl_s结构体决定的,U_BOOT_CMD的宏定义也取决于它,如下:#defineU_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage, help}struct cmd_tbl_s {char *name; /* Command Name */int maxargs; /* maximum number of arguments */ int repeatable; /* autorepeat allowed? *//* Implementation function */int (*cmd)(struct cmd_tbl_s *, int, int, char *[]);char *usage; /* Usage message (short) */#ifdef CONFIG_SYS_LONGHELPchar *help; /* Help message (long) */#endif#ifdef CONFIG_AUTO_COMPLETE/* do auto completion on the arguments */int (*complete)(int argc, char *argv[], char last_char, int maxv, char *cmdv[]);#endif}对比两者后很容易就明白了怎样去定义一个uboot下的命令。
接下来看看do_run函数的定义(在../boot/common/main.c 下):#if defined(CONFIG_CMD_RUN)int do_run (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]){int i;if (argc < 2) { //参数个数小于2则提示重新输入cmd_usage(cmdtp);return 1;}for (i=1; i<argc; ++i) {char *arg;if ((arg = getenv (argv[i])) == NULL) {printf ("## Error: \"%s\" not defined\n", argv[i]);return 1;}#ifndef CONFIG_SYS_HUSH_PARSERif (run_command (arg, flag) == -1){ //调用run_command函数,先查找命令,然后执行命令return 1;}#elseif (parse_string_outer(arg,FLAG_PARSE_SEMICOLON | FLAG_EXIT_FROM_LOOP) != 0){return 1;}#endif}return 0;}其中第一个参数cmd_tbl_t * cmdtp为Command Table,即命令表参数,该结构体的定义在common.h下,一般设为NULL。
keil调试各种窗口用途介绍
Keil 程序调试窗口上一讲中我们学习了几种常用的程序调试方法,这一讲中将介绍Keil 提供各种窗口如输出窗口、观察窗口、存储器窗口、反汇编窗口、串行窗口等的用途,以及这些窗口的使用方法,并通过实例介绍这些窗口在调试中的使用。
Keil软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows )、观察窗口(Watch&Call Statck Windows )、存储器窗口(Memory Window )、反汇编窗口(Dissambly Window )串行窗口(Serial Window )等。
进入调试模式后,可以通过菜单View 下的相应命令打开或关闭这些窗口。
图1是输出窗口、观察窗口和存储器窗口,各窗口的大小可以使用鼠标调整。
进入调试程序后,输出窗口自动切换到Command 页。
该页用于输入调试命令和输出调试信息。
对于初学者,可以暂不学习调试命令的使用方法。
1、存储器窗口存储器窗口中可以显示系统中各种内存中的值,通过在Address 后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C 、D 、I 、X ,分别代表代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM 空间,数字代表想要查看的地址。
例如输入D :0即可观察到地址0开始的片内RAM 单元值、键入C :0即可显示从0开始的ROM 单元中的值,即查看程序的二进制代码。
该窗口的显示值可以以各种形式显示,如十进制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择,该菜单用分隔条分成三部份,其中第一部份与第二部份的三个选项为同一级别,选中第一部份的任一选项,内容将以整数形式显示,而选中第二部份的Ascii 项则将以字符型式显示,选中Float 项将相邻四字节组成的浮点数形式显示、选中Double 项则将相邻8字节组成双精度形式显示。
第一部份又有多个选择项,其中Decimal 项是一个开关,如果选中该项,则窗口中的值将以十进制的形式显示,否则按默认的十六进制方式显示。