关于在KEIL C51工程中添加STARTUP.A51文件后编译失败的原因 [问题点数:50分]

Bbs1
本版专家分:0
结帖率 0%
Bbs5
本版专家分:2630
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
红花 2019年1月 VC/MFC大版内专家分月排行榜第一
2018年12月 VC/MFC大版内专家分月排行榜第一
2018年11月 VC/MFC大版内专家分月排行榜第一
2018年10月 VC/MFC大版内专家分月排行榜第一
2018年9月 VC/MFC大版内专家分月排行榜第一
2018年8月 VC/MFC大版内专家分月排行榜第一
2018年5月 VC/MFC大版内专家分月排行榜第一
2018年4月 VC/MFC大版内专家分月排行榜第一
2018年3月 VC/MFC大版内专家分月排行榜第一
2018年2月 VC/MFC大版内专家分月排行榜第一
2018年1月 VC/MFC大版内专家分月排行榜第一
2017年12月 VC/MFC大版内专家分月排行榜第一
2017年11月 VC/MFC大版内专家分月排行榜第一
2017年7月 VC/MFC大版内专家分月排行榜第一
2012年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2018年7月 VC/MFC大版内专家分月排行榜第二
2018年6月 VC/MFC大版内专家分月排行榜第二
2017年9月 VC/MFC大版内专家分月排行榜第二
2017年8月 VC/MFC大版内专家分月排行榜第二
2017年4月 VC/MFC大版内专家分月排行榜第二
2017年3月 VC/MFC大版内专家分月排行榜第二
2017年2月 VC/MFC大版内专家分月排行榜第二
2016年8月 VC/MFC大版内专家分月排行榜第二
2016年7月 VC/MFC大版内专家分月排行榜第二
2016年6月 VC/MFC大版内专家分月排行榜第二
2015年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2017年10月 VC/MFC大版内专家分月排行榜第三
2017年6月 VC/MFC大版内专家分月排行榜第三
2017年5月 VC/MFC大版内专家分月排行榜第三
2016年9月 VC/MFC大版内专家分月排行榜第三
2016年4月 VC/MFC大版内专家分月排行榜第三
2015年4月 VC/MFC大版内专家分月排行榜第三
2012年8月 VC/MFC大版内专家分月排行榜第三
Bbs7
本版专家分:16518
版主
Blank
红花 2013年11月 硬件/嵌入开发大版内专家分月排行榜第一
Blank
黄花 2014年7月 硬件/嵌入开发大版内专家分月排行榜第二
Blank
蓝花 2013年10月 硬件/嵌入开发大版内专家分月排行榜第三
2013年6月 硬件/嵌入开发大版内专家分月排行榜第三
2013年3月 硬件/嵌入开发大版内专家分月排行榜第三
Bbs1
本版专家分:0
51单片机程序执行流程(STARTUP.A51) [李园7舍_404]
<em>keil</em> 版本:uVision 4         单片机是没有上操作系统的东西,在<em>keil</em>中编写的代码都是裸机代码,深入编写裸机代码有助于了解硬件的特性。       若不是硬件特性已定的情况之下的其它流程都是代码作祟。忽然想到来探探51单片机的执行流程。这个念头起源于最初见到每个51程序里面的主函数里面最终都挂一个while(1);语句。为何要加一句while死循环让程序停留在main函
51单片机程序执行流程(STARTUP.A51)
2013-06-05 11:21 3856人阅读 评论(6) 收藏 举报 <em>keil</em> 版本:uVision 4         单片机是没有上操作系统的东西,在<em>keil</em>中编写的代码都是裸机代码,深入编写裸机代码有助于了解硬件的特性。       若不是硬件特性已定的情况之下的其它流程都是代码作祟。忽然想到来探探51单片机的执行流程。这个念头起源于最初见到每个51程序里面的主函数
51单片机启动代码:STARTUP.A51
通过Keil<em>编译</em>器建立<em>工程</em>时,Keil会提示是否<em>添加</em>STARTUP.A51<em>文件</em>到<em>工程</em>,该<em>文件</em>即为51单片机启动代码。 51单片机复位后马上执行STARTUP.A51<em>文件</em>中的启动代码,根据启动代码中的设置依次执行以下操作: 内部RAM清零外部RAM清零清零分页的外部RAM初始化SMALL内存模型的可重入模拟堆栈及其堆栈指针初始化LARGE内存模型的可重入模拟堆栈及其堆栈指针初始化COMP
Keil C中startup.a51的作用【转】
原文地址:Keil C中<em>startup.a51</em>的作用【转】作者:51大海启动<em>文件</em>. 清理RAM.设置堆栈等.即执行完start.a51后跳转到.c<em>文件</em>的main函数.和汇编一样,在C中定义的那些变量和数组的初始化就在<em>startup.a51</em>中进行,如果你在定义全局变量时带有数值,如unsigned char data xxx=&quot;100&quot;;,那<em>startup.a51</em>中就会有相关的赋值。如果没有=100...
Keil环境下“无法执行C:\Keil\C51\BIN\A51.exe”
本人近来编写了些许硬件代码,一些问题还是脚坑,在此
Keil C51初始化代码 Startup.a51的中文说明
Keil C51初始化代码 Startup.a51的中文说明
51单片机keil提供的启动代码解析(STARTUP.A51)
参考文档:http://hi.baidu.com/yc_dy/item/4ff959be36ccff72254b0959 1.        由Keil C生成的启动代码  程序清单1.1 AT89C51启动代码 $NOMOD51    //不使用51默认的特殊功能寄存器 ;----------------------------------------------------
简单使用GCC编译Keil下工程C文件
不得不说Keil貌似是国内用户使用最多的IDE了,其被ARM收购之后,ARM嵌入了ARMCC等<em>编译</em>器推出了Keil MDK开发环境更是受到了广大ARM开发<em>工程</em>师的欢迎,庞大的用户群(很多是从当年的51等8位机直接转过来的)、简洁的管理窗口和友好的UI界面等优势都让其风靡一时,而且毕竟现在成了ARM的“亲儿子”了,其对ARM内核的产品支持还是灰常不错的。     而GCC更是大名鼎鼎,这个至今仍然
STARTUP.A51文件分析
$NOMOD51  ;Ax51宏汇编器控制命令,禁止预定义的8051。使<em>编译</em>器不使能预定义的;8051符号,避免产生重复定义的错误。 ;------------------------------------------------------------------------------ ;  This file is part of the C51 Compiler package ;
keil 创建多文件工程
第一步:新建一个<em>工程</em><em>文件</em>夹,再在<em>文件</em>夹下新建inc、user、output、listing四个<em>文件</em>夹。 第二步:打开KEIL,新建<em>工程</em>并保存到上一步的新建的<em>工程</em><em>文件</em>夹下。 第三部:在KEIL的<em>工程</em>框内新建分组inc、user。inc存放.h<em>文件</em>,user存放.c<em>文件</em>。 第四部:点击<em>keil</em>菜单下的魔术棒,然后把inc<em>文件</em>夹放在C51下include path路径下。 第五部: 点击<em>keil</em>
在Keil C51下生成LIB库文件以及如何使用LIB库文件
                                                                                                                如何生成LIB库<em>文件</em>1.首先准备好生成LIB库<em>文件</em>对应的.c和.h<em>文件</em>,在这里用到的.c和.h<em>文件</em>分别是:&quot;reg303.h&quot;&quot;rjwf303_flash.h&quot;&quot;rjwf303...
Keil C51中的启动程序startup.a51最新中文说明!
由于CPU和程序启动代码<em>文件</em>STARTUP.a51的重要性,一些8051派生的CPU产品要求初始化CPU来满足设计中的相应的硬件,因此,有时候用户需要对STARTUP.a51进行修改,所以进行注释一下: ;————————————————— ;startup.A51: 用户上电初始化程序 ;—————————————————- ; ;使用以下EQU命令可定义在CPU复位时需要用0进行初始化
用Keil编译C51和ARM时,分别生成.Bin文件的方法
一、C51     1、使用srec_cat.exe           a、Keil<em>工程</em>需生成.hex<em>文件</em>           b、将srec_cat.exe放在<em>工程</em>路径中任意<em>文件</em>夹下           c、新建一个文本文档,之后填写如下内容,保存后更名为 1.bat (后缀必须为.bat)                 CD obj                        ...
如何让Keil MDK兼容Keil C51?
原来用51单片机,使用的是Keil C51 uVision V4.02;最近搞STM32,装了<em>keil</em>MDK uVision V4.23。 原来我是先装<em>keil</em>C51,后装<em>keil</em>MDK的,装在不同的目录里,装完之后不管是51<em>工程</em>还是stm32<em>工程</em>默认都会用<em>keil</em>MDK打开,这样打开51<em>工程</em>时会出错,所以要打开51的<em>工程</em>必须先打开<em>keil</em>C51程序,然后再程序里打开<em>工程</em><em>文件</em>。 下面这个方法可
bat脚本编译单片机程序
编写了一个批处理<em>文件</em>来实现对单片机源<em>文件</em>的<em>编译</em>、连接、生成。
KEIL 工程编译生成 hex和 bin文件
1、生成hex(这个应该都会吧...)点击选项 按钮  如下图选择Output  然后在Create HEX file前面打钩...确定即可2、生成bin  同样点击1中所说的option  ,  然后点击User,  然后在After Build/Rebuild  下的 Run #1前面打钩,并在后面的User Command增加一行脚本命令:fromelf.exe --bin -o &quot;%L@L...
keil4打开keil2工程文件时卡死解决办法
解决办法:将<em>工程</em><em>文件</em>夹中的(.uvopt)<em>文件</em>删除,再重新打开即可。
Keil C51 编译错误总结
1.第一种错误信息***WARNING L15:  MULTIPLE CALL TO SEGMENTSEGMENT:   ?PR?_WRITE_GMVLX1_REG?D_GMVLX1CALLER1:   ?PR?VSYNC_INTERRUPT?MAINCALLER2:   ?C_C51STARTUP***WARNING L15:  MULTIPLE CALL TO SEGMENTSEGME
如何使用keil 5 编写 51单片机 工程
目前我们通常编写51程序使用的是<em>keil</em>4,而好多编写STM32等单片机程序的使用<em>keil</em>5。那么如何在<em>keil</em>5中兼容51和STM32程序编写,省去切换版本的繁琐呢? 很简单只需两步就可以完成。 下面这个方法针对已破解<em>keil</em>5的stm32等一系列。这个肯定是最常见的,因为破解<em>keil</em>5然后编写32<em>工程</em>的教程一大把。1、首先下载编写51的相关东西。 可以在官网上下载,例如百度<em>keil</em>官
在KEIL中建立了工程之后,编译就出现这样的提示can't execute 'C:\Keil\C51\BIN\A51.EXE'
转载:http://www.51hei.com/mcu/3857.html 在百度上找到了以下的解答 出错<em>原因</em>;被打开的KEIL程序的<em>编译</em>器安装在C盘,即c:\<em>keil</em>的路径下。而使用者的KEIL装在不同路径。 针对这样的<em>原因</em>,就有两种解决方法: 1、自己重建<em>工程</em>,把要打开的程序的<em>文件</em>拷贝过去,<em>编译</em>即可以通过,但这样做比较费事。 2、打开出错的程序,选择菜
小记:关于keil5破解失败和首次程序编译停止/报错的解决办法
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C<em>编译</em>器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等
STM32 清除Keil工程无用的编译文件脚本
        <em>编译</em>Keil<em>工程</em>时会生成很多<em>编译</em><em>文件</em>,在备份程序时如果将<em>编译</em><em>文件</em>一起备份会浪费M级别的存储空间,当随着程序版本的增多,占用的存储空间会很大,如果将这些无用的<em>编译</em><em>文件</em>删除,再备份程序,会将存储空间缩小到K级别。   实现方法:通过编写bat脚本删除无用的<em>编译</em><em>文件</em>。   脚本实现: 1.创建一个.bat属性的<em>文件</em>,起名“清理<em>keil</em>无用<em>文件</em>”。 2.打开创建的.bat属性文...
keilMDK兼容51的工程,只要一个keil就都能编译51和stm32的工程
1、安装<em>keil</em>C51,安装目录 D:\<em>keil</em>51\2、安装<em>keil</em>MDK,安装目录 D:\<em>keil</em>32\3、把 D:\<em>keil</em>51\ 里面的 C51 <em>文件</em>夹复制到 D:\<em>keil</em>32\ 里4、把 D:\<em>keil</em>51\ 里面的 UV4 <em>文件</em>夹复制到D:\<em>keil</em>32\里,提示有同名<em>文件</em>都不要覆盖(注意是不要覆盖)5、把D:\<em>keil</em>51\TOOLS.INI<em>文件</em>里面的内容复制到D:\<em>keil</em>32\...
解决keil打开工程无响应
用<em>keil</em>打开一个<em>工程</em>后,当打开一个.c<em>文件</em>时,<em>keil</em>跳转至<em>文件</em>最后,无法拉动进度条,并且经多次操作后出现<em>keil</em>无响应现象。究其<em>原因</em>也许是.uvproj<em>文件</em>名字重复,可尝试更改<em>文件</em>名称,或许能够解决这个问题。
在51单片机KEIL中如何建立多个C文件及注意事项 模块化编程
模块化编程.c和.h<em>文件</em>关系及建立方法简记 1如何建立多个C<em>文件</em>        首先,我们需要一个新文档,这个文档的建立有两种方法,下面将以delay函数进行叙述:       第一种,在<em>工程</em>目录下建立一个delay1ms.txt然后将其改名为delay1ms.h。因为都是同编码的所以不会出现乱码,然后在<em>工程</em>中将其打开。       第二种方法是直接在<em>工程</em>中新建一个文档,然后保存的时候将名...
解决KEIL 建立工程后Target下无法加Add Group的问题
笔者在使用Keil学习STM32时,建立好一个<em>工程</em>以后,发现右键Target,点击Add Group选项,在建立5个New Group以后,Project框下不会出现新的New Group。而笔者的同学只能<em>添加</em>两个New Group。 于是笔者去百度了下,却没有找到解决办法,于是自己去尝试,终于功夫不负有心人,成功的解决的这个问题。 步骤如下: 1,右键Target,点击Manage Projec
keil 同时编译ARM和C51
我们之前用过<em>keil</em><em>编译</em>过C51,ARM也是通过<em>keil</em>来<em>编译</em>的,但是我们用之前<em>编译</em>C51的<em>keil</em>来<em>编译</em>ARM时,发现是无法<em>编译</em>的,这是因为我们安装<em>keil</em>时破解是按照C51来破解的。有的同学为了<em>编译</em>C51和ARM,在电脑上同时安装了两个版本的<em>keil</em>,但是打开<em>工程</em>时也稍微有点麻烦,这里其实可以在一个<em>keil</em>下兼容<em>编译</em>,方法如下: 1 .安装MDK      安装过程比较简单,直接next
51单片机程序错误,无法编译?怎么搞好STC15F
 http://zhidao.baidu.com/link?url=DmCONESvSPQsY7Rt_dutlyG8EQB_UW9lPz0w9uX3z9VRL9QvrDowx0T6l4qiQbC6eF7CSLMzU-rnGcHRDAJ-LzpzEgfQg-uNJSPcVmfefVm #include sbit P2_0 = P2 ^ 0; sbit P2_1 = P2 ^
keil像makefile那样选择文件进行编译
1、分开建target,Project->Manage命令允许你在项目里面增加Target.每个target一个项目,创建target时,包含所需的<em>工程</em><em>文件</em><em>编译</em>即可。    缺点:项目多时,创建target比较麻烦。    优点:比较不容易出错,因为<em>工程</em><em>文件</em>较独立,其它target修改时,不会影响到该target。 2、使用条件<em>编译</em>,#define + #if .    编写程序时,用以下
KeilC编译后LCD显示不正常问题
代码优化等级导致 使用默认优化等级8显示不正常,改为0读看门狗时钟及显示均正常
Keil 4/C51与Keil 5的融合安装,51系列可在keil 5下编译安装方式
在上篇文章我写了<em>keil</em> 4的安装,本篇博文我将介绍将<em>keil</em> 4和Keil 5融合安装。实现不管是51系列单片机,还是ARM系列芯片,都可在<em>keil</em> 5一个软件中<em>编译</em>。下面我开始今天的教程。准备材料: <em>keil</em> 4/C51安装包:链接:https://pan.baidu.com/s/1bGB87s 密码:zu9i <em>keil</em> 5安装包:链接:https://pan.baidu.c
Keil 汇编asm/A51多个文件
最近在使用<em>keil</em>写51单片机(用汇编),代码比较多,想分成多个asm<em>文件</em>进行<em>编译</em>,这样能实现模块化。如果是c语言,就很简单,直接分成多个.c<em>文件</em>就行了。但是在纯汇编<em>工程</em>里面,还是有一些需要注意的地方。 首先,代码空间(CODE SPACE)中,代码可以分为很多代码节(CODE SEGMENT)。代码节与代码节之间不能重叠。使用CSEG伪指令可以指定代码节的位置。与ORG伪指令不同,CSEG是指
单片机程序MDK编译大小说明及小建议
---------------------------------------------------------------------------------------------------字段说明:Code:即代码域,它指的是<em>编译</em>器生成的机器指令,这些内容被存储到ROM区。 RO-data:Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在ROM区,因...
教你如何使KEIL中同时具有51和ARM的编译功能
大家刚开始接触ARM时,肯定是先建立开发环境。如果你用<em>keil</em> 时会发现,你在此基础上你如果装了51版本的<em>编译</em>器的话,会发现无法装ARM版本的<em>编译</em>器,这就会很尴尬。用了51就无法用ARM,用ARM就无法用51。我之前装了KEIL2当做51的<em>编译</em>器,<em>keil</em>4当做ARM的,实际用的时候特别不方便。好了,不废话了,切入正题吧。        不管你之前装的是51的还是ARM这都没关系。其实很简单的,
关于keil中STARTUP.A51的研究
        让我们先来看看STARTUP.A51<em>文件</em>(默认设置)吧!根据源<em>文件</em>中的说明文字,我们很容易分析出STARTUP.A51<em>文件</em>的工作方式和作用!让我们把它先汉化一下看看!         $NOMOD51;Ax51宏汇编器控制命令:禁止预定义的8051        ;---------------------------------------------------------
keil编译没有main函数的工程的方法
首先感谢这个帖子:http://bbs.csdn.net/topics/390793598提供的思路。我稍微总结了一下: 创建<em>工程</em>          创建<em>工程</em>时不需要<em>添加</em>启动<em>文件</em>。 改写Scatter<em>文件</em> 屏蔽如下图所示两行(使用“;”屏蔽)即可: 下载          若想下载到固定的地方需要以下步骤:          1、点击魔术棒: 2、改变如下区
KEIL中左侧project 的文件编译后没有显示.h文件
1. 退出软件,重新打开试试 2. 如果还没有,查看是否点了show
51单片机初级之KeilC51新建工程[1]
1.新建一个DEMO<em>文件</em>夹2.KeilC51中点击新建<em>文件</em>3.命名<em>工程</em>,并保存到DEMO<em>文件</em>夹中4.选择芯片设备(我们选择AT89C52芯片) 5.<em>添加</em>启动<em>文件</em>(STARTUP.A51) 6.整个<em>工程</em>建好了,但是这个时候<em>工程</em>没有东西,需要<em>添加</em><em>文件</em> 7.新建main.c<em>文件</em>7.1点击左上方新建<em>文件</em>图标(或者使用快捷键CTRL+N) 7.2出现一个不知名的Text1<em>文件</em> 7.3保存该Text1
Keil工程Lib库文件的制作和运用
最近看了百度手环开源项目,发现所有的算法都被封装成了一个lib<em>文件</em>在<em>keil</em>中调用 也是第一次学习到。 问题引出:为什么要做成lib库? 1、有些方案公司为了将自己写的关键部分源代码不进行公开,但是同时库<em>文件</em>又需要让别人能够正常调用,那封装成lib的格式就是一个好方法。 2、<em>编译</em>某些<em>工程</em><em>文件</em>时非常耗时,像UCGUI和ST官方的库时,由于<em>文件</em>众多,<em>编译</em>一次可能得1两分钟
如何使用keil5软件 同时包含C51与ARM
<em>文件</em>包含破解机,与破解过程。按照安装步骤完成之后,把里面的C51<em>文件</em>与TOOLS<em>文件</em>拷入到你安装的干目录即可。在此<em>编译</em>环境下即可<em>编译</em>C51<em>文件</em><em>工程</em>也可<em>编译</em>ARM<em>工程</em><em>文件</em>
Keil 使用.bat文件(批处理)删除工程中的临时文件
平常在 Keil开发环境下开发我们常常会看到生成一些 *.o、*.d等等<em>文件</em>,导致整个<em>工程</em><em>文件</em>占用存储空间增加。可以使用.bat<em>文件</em>的方式去删除这些临时<em>文件</em>,可以使整个<em>工程</em><em>文件</em>占用空间变下,便于存储。 本方式也适用于其他开发环境下,比如IAR、CodeWarrior等。只需要按照下文的<em>文件</em>格式去<em>添加</em>你想要删除的<em>文件</em>格式后缀即可。首先新建一个txt<em>文件</em>,命名为Keil_kill 输入如下<em>文件</em>内容
Keil C51编译及连接技术(覆盖技术OVERLAY)
http://www.cnblogs.com/heiyue/p/3271421.html Keil C51<em>编译</em>及连接技术
如何让keil5可开发51系列单片机
    通常,我们使用<em>keil</em>5开发32,<em>keil</em>4开发51。但这样切换版本太过繁琐,下面介绍一种让<em>keil</em>5兼容51程序的方法。只针对已经破解的<em>keil</em>5系列!     1.下载 C51相关依赖包 从官网下载       (或者使用最下面提供的链接下载!!!)   2.安装按照默认配置,点击下一步即可     3.打开<em>keil</em>5,新建项目,选择对应型号的51...
keil软件汇编为啥不能生成HEX文件
我程序检查了  没有语法问题  可是为啥生成不了目标<em>文件</em>呢   提示是"File has been changed outside the editor ,reload ?"路径在D盘根目录下也不行  生成不了目标<em>文件</em>    谁知道帮帮忙~~!
关于keil软件编译后的data xdata 和code的说明
在对51单片机的程序进行<em>编译</em>的时候,在<em>编译</em>的最后会提示Program Size: data= xx  xdata=xx  code=xx那么,这些存储时根据什么计算的呢?并且根据这个如何判断单片机内部的存储空间是否够用呢? 那么首先data  xdata  code分别代表什么意思呢? data表示使用的内部RAM,xdata表示使用的是外部RAM,code表示的是程序的大小。那么这些大小和程
51单片机之keil4创建一个合格的单片机项目
    作为一个菜鸟,刚开始用<em>keil</em><em>编译</em>c程序时应该注重代码的学习,而不是代码<em>文件</em>的结构,所有的.c<em>文件</em>、.h<em>文件</em>以及<em>编译</em>产生的.hex<em>文件</em>等都放到一个<em>文件</em>夹下也能运行,程序也能跑得很欢乐。但是每次看着一堆乱七八槽的<em>文件</em>在一起,心里总是莫名的烦躁,于是在网上找资料寻求如何建立一个整洁的项目,但是没有找到,有的只是简单的建立项目导入.c<em>文件</em>,所以写一个整洁项目的创建过程。    前面创建项目的过程...
Keil C 里面Lib库文件的生成与调用
附件里是制作方法介绍,还有LCD1602的例子,有视频教程,呵呵,自己做的。 Keil C里面 lib<em>文件</em>生成方法 包含关系 LCD1602.C里面包含LCD1602.H       LCD1602.H的<em>文件</em>格式   设置生成lib<em>文件</em>   Lib<em>文件</em>调用
KEIL5 for arm 软件编译Keil4 C51程序的方法
通常大家用KEIL5 <em>编译</em>stm32程序,<em>keil</em>4<em>编译</em>C51程序,两个软件不能同时支持stm32和C51程序的<em>编译</em>,造成许多不便。从网上搜索到网友提供的方法并操作,发现只要将<em>keil</em>5设置下就可以实现同时支持stm32和C51<em>编译</em>的功能,操作方法如下: 首先你要安装好<em>keil</em>5 for arm并破解后,然后把安装目录下TOOLS.INI <em>文件</em>里面<em>添加</em>红字内容 [UV2] CDB0=
keil编译后code大小
<em>keil</em><em>编译</em>后会有一行:Program Size:Code=xxxRO-data=xxx RW-data=xxx ZI-data=xxx Code 代表执行的代码,程序中所有的函数都位于此处。 RO-data 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。 RW-data 代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。 Z
关于keil2建立的的project打不开的问题
问题: 在发现此问题之前,因清理电脑将<em>keil</em>2卸载,电脑上保存了<em>keil</em>4。今天在学习<em>c51</em>时,发现大表哥在我大三时给我的<em>c51</em> project完全打不开,当然是用<em>keil</em>4试图打开的。连续试了几个项目后发现都一样:not contain a valid file(英文渣渣,大概是这句话)。后来想到应该是<em>keil</em>版本的问题,然后下载了<em>keil</em>2,去打开之前试图用<em>keil</em>4打开的<em>文件</em>,依
Keil C51文件
Keil for arm支持51配置时需要<em>添加</em>的C51<em>文件</em>夹
【STM32学习笔记】软件使用---win10下 keil5打开keil4工程的问题
升级电脑,出现了奇怪的问题 环境: 操作系统---win10 <em>keil</em>版本---<em>keil</em> MDK5.24a 问题: 1.<em>keil</em>5打开<em>keil</em>4 <em>工程</em>卡死 2.<em>keil</em>5 <em>编译</em>图标变为保存的问题 解决: 1.<em>keil</em>5打开<em>keil</em>4卡死 2.<em>keil</em>5<em>编译</em>图标变为保存 先在view---toolbar隐藏<em>编译</em>工具栏 再在Window
keil编译后生成的M51文件解析
通过*.m51<em>文件</em>我们可以清楚的看到单片机存储器的使用情况,以及可以看到每个变量包括局部变量的位置。 之前碰到一个问题,同样的程序,在small模式下<em>编译</em>后运行没问题,但在large模式下可以<em>编译</em>,但是运行出错。最后查看m51<em>文件</em>,发现了问题,在一个对时序要求很严格的地方声明几个局部变量,这几个局部变量有的被分配到data中,有的分配到xdata,在xdata中的变量访问时间要大于data中,导
Keil工程下各个后缀名文件的作用
比如有如下<em>工程</em><em>文件</em>夹: 1. test1 无后缀<em>文件</em>,这个是最终生成的<em>文件</em>,只要有这个<em>文件</em>KEIL就可以软件仿真,不能打开 2. test1.hex 这个<em>文件</em>可以直接下载到单片机里,他就是从无后缀<em>文件</em>test1里提取的,去掉了调试信息,可以打开 3. test1.DSN,这个是另外一个软件PROTUES软件的<em>工程</em><em>文件</em>,里面是电路图,用来和KEIL联合仿真 4. test1.LST 列表文
keil C51语言编程如何缩减编译代码长度
1、整形数字符做乘除法的C51程序,代码比较大。约9B左右,所以尽量不做乘除法。       例如:uchar a=6;a=a*6;第二行代码要9个字节,而平时的语句只有2B。2、定义变量的语句,不赋值或者不参与运算是不算代码的,能用短变量就用短变量,省RAM也省代码空间.       例如:uchar a; 这句有没有代码长度不变。但是赋非0值 uchar  a=5;字符型,就要3B的代码长度。
Keil_C51绝对地址编译
Keil C51中变量和函数的绝对地址定位问题:   1.  变量绝对地址定位        1)    在定义变量时使用 _at_ 关键字加上地址就可.               e.g.                      unsigned char idata myvar _at_ 0x40;               把变量 myvar 定义在 idat
keil c51编译未调用函数
      在用KEIL C51,经常会遇到定义了的函数未调用,<em>编译</em>时会发出“UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS”的警告,我们不想手动去删除,也不想这部分代码被<em>编译</em>和链接进最终的程序,以免浪费有限的储存空间。方法如下:       未设置的情况下:设置如下1.把target options中的device页中选上“use Extended Li...
keil c文件中加入汇编方法
1.汇编语句写法2.设置嵌套了汇编的C<em>文件</em>属性勾选这两项为黑色4.汇编常包含的库<em>文件</em>。自己看着选 存储模式是small模式<em>添加</em>这个<em>文件</em>、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、C51下加入汇编代码使用如下标志符:#pragma asm;汇编语句#pragma end
Keil C51中静态库的生成与使用
1、将要生成库<em>文件</em>的代码新建一个<em>工程</em>,比如LibExample,然后把代码加到其中,在Option for target中的Output里选择Create Library,<em>编译</em>通过生成库<em>文件</em>。如下2图   2、将生成的库<em>文件</em>(LibExample.lib)拷贝到新项目(Hello)<em>文件</em>夹中,<em>添加</em>到<em>工程</em><em>文件</em>中,并包含库<em>文件</em>的.h<em>文件</em>(LibExample.h),这样在新项目中即可调用,如下2
keil编译后load一直是灰色的解决办法
解决办法很简单,如下: 首先就是有没有<em>编译</em>,<em>编译</em>之后有没有报错,有错会导致无法下载,然后安装下面步骤选中USE
keil5的安装+工程的创建
我们要安装<em>keil</em>5,首先我们应该去资料里面下载下来 1,如下所示,我将其安装在了如下的路径 2,接下来,我们打开MDK5,首先我们应该看的是readme.txt,这里面会告诉我们安装的一些过程,请大家务必看一下这个东西!!!
Keil C51对C语言的关键词扩展之八: far
far的出现,是Keil <em>编译</em>器为了支持新出现的8051家族增强型MCU,这些增强型MCU可能拥有大于64KB的存储器。使用far可访问扩展的RAM,使用const far可访问扩展的ROM。 NXP 51MX架构51单片机提供通过通用指针访问多大8MB的code和xdata存储空间。Dallas 390架构的51单片机通过24位的DPTR寄存器结合传统MOVX 、MOVC指令来访问扩展的RAM
在Keil中创建工程并烧写hex文件
一、创建<em>工程</em> Project  --&amp;gt;   New uVision Project   --&amp;gt;  选择保存路径  --&amp;gt;  名称  --&amp;gt;  选择核心板型号(stm32f429bit6) --&amp;gt; OK    二、<em>添加</em><em>文件</em> 选择group右键  --&amp;gt;  Add Files to Group .....    --&amp;gt;  .....   --&amp;gt; ...
搭建keil5的开发环境(MDK和C51)
一、搭建MDK5——开源电子网(里面包含有STM32需要的一切)www.openedv.com/二、在<em>keil</em>5里面开发51,需要下载C51的支持包http://www.panduoduo.net/r/33964699<em>keil</em>5的MDK和C51破解注册都是使用keygen,成功后的标志三、<em>keil</em>5里面<em>添加</em>STC芯片(STC芯片在中国用的还是比较多的),以下是最简单的方式https://jingy...
Keil的三种编译模式:smal、compact、large
收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn Keil Cx51<em>编译</em>器提供三条<em>编译</em>模式控制命令:SMALL,COMPACT,LARGE,它们对变量存储器空间的影响如下。 SMALL:所有变量都被定义在8051单片机的片内RAM中,对这种变量的访问速度最快。另外,堆栈也必须位于片内RAM中,而堆栈的长度是很重要的,实际栈长取决与不同函数的嵌套深度。采用
Keil中找不到CPU型号怎么办?
<em>原因</em>是你的<em>keil</em>版本不对! 1、<em>keil</em> uvison4是普通版本,只能适用于单片机,主要是基于8051系列单片机的开发环境。 2、需更换为<em>keil</em> MDK版。<em>keil</em> MDK是扩展版本,包含了部分ARM。为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境。...
keil工程里面添加文件
虽然一开始就接触建<em>工程</em>,但是由于有模板,所以直接跳过,但是学会建模板还是很重要的。因为你拿到人家的一个<em>工程</em>,很可能有一些<em>文件</em>没有加载进去,<em>编译</em>就会出错,像学长用的比较高端的IAR,而我用的是<em>keil</em>,这时候从他那里考过来的程序直接打开时<em>编译</em>不了的,因为好多<em>文件</em>没有加载。 往<em>工程</em>里面加<em>文件</em>夹和<em>文件</em>还是很简单的,基本就下面几个图 记得选择Al
Keil编译之后程序大小说明
<em>keil</em><em>编译</em>后code,RO-data,RW-data,ZI-data含义及mcu的flash实际存储数据 这些参数的单位是Byte,几个参数分别代表含义如下: Code:代码的大小 RO:常量所占空间 RW:程序中已经初始化的变量所占空间 ZI:未初始化的static变量和全局变量以及堆栈所占的空间 上述参数和芯片Flash以及SRAM的对应关系是 Flash占用大小=Code+
转利用_DATE_和_TIME_宏在keil添加编译日期和时间到C51程序中
可以使用KEIL内置的__DATE__ 和 __TIME__ 宏来实现这个功能 参考范例: unsigned char code DataStr[]=__DATE__; unsigned char code TimeStr[]=__TIME__; 这样,<em>编译</em>后TimeStr的字符串正好是<em>编译</em>的当前时刻,相当于 unsigned char code TimeStr[]="09:12:04"
编译过程及keil中选项的作用
以下过程都是<em>编译</em>器做的1.预处理所有#展开生成.i<em>文件</em>2.<em>编译</em>将上述<em>文件</em>生成.s汇编<em>文件</em>,即<em>文件</em>里面现在是汇编代码3.汇编将上述汇编<em>文件</em>生成二进制<em>文件</em>.o,也就是机器码4.链接给上述二进制<em>文件</em>找到依赖的库,最后生成可执行<em>文件</em>.out所以可以看出,不是说汇编语言就不需要<em>编译</em>器,<em>编译</em>器的作用是将不管是.c<em>文件</em>还是.s<em>文件</em>,最后生成可执行<em>文件</em>所以,很多<em>编译</em>器比如gcc,armcc不只有<em>编译</em>高级语言的功能...
使keil5支持51单片机
需要用到的工具:https://download.csdn.net/download/qq_33160790/10302877PS:两个工具都是要用管理员身份运行。<em>keil</em>5默认不支持51,51单片机的<em>工程</em>放到<em>keil</em>5会报错:<em>keil</em>5 --- Error: failed to execute 'G:\<em>keil</em>\C51\BIN\C51.EXE'安装方法:1.运行<em>c51</em>v954a.exe,将路径选...
Keiluversion4开发51和ARM环境的配置
前两天在利用<em>keil</em>C编写ARM程序时,发现都不能打开ARM的<em>工程</em>,<em>编译</em>,运行等按钮都是灰色的。左思右想感觉是环境配置方面出了问题,结果百度了一下,真的是。可是在C51的基础上,安装了MDK_ARM的环境,发现还是有问题。那么如何才能解决在一台电脑上面,利用KeilC既可以编写51又可以编写ARM的程序呢,今天摸索到了一个简单可行的办法,在这里分享给大家。 首先,你可能百度了如何才能让一
Keil 编译前后 自动将 hex 转 bin
  After Buid/Rebuid  选项下的Run#1 打上勾,在后一格<em>添加</em>一行代码,此代码的功能为将Objects下的project.axf<em>文件</em>转换为project.bin<em>文件</em>输出至Objects<em>文件</em>夹下。其中.axf<em>文件</em>为<em>keil</em><em>编译</em>过程产生的<em>文件</em>。 fromelf --bin --output Objects\project.bin Objects\project.axf fro...
在Keil MDK编译环境下使用UEstudio编写程序
在Keil MDK<em>编译</em>环境下使用UEstudio编写程序 由于一些<em>原因</em>目前只能使用ulink2来调试arm微处理器,因此不得不放弃iar与jlink。转入MDK的阵营后,为了减小对自己的习惯的影响,今天花了一些时间整理了在MDK下如何使用UEstudio来编程,并顺利完成。经验宝贵,也为了广大网友节省时间,特分享如下: 上面即为配置的全部东西。当然,如果只想配置的话,看到这
当你的keil工程同时有c文件和CPP文件
当你的<em>keil</em><em>工程</em>同时有c<em>文件</em>和CPP<em>文件</em>,那么c<em>文件</em>的函数在cpp<em>文件</em>中肯定无法访问了。 正常的include“”xxx.h“”那肯定是不行的,<em>编译</em>会提示说c<em>文件</em>中函数未定义。 那么只要稍微修改一下就好了。 extern "C" { #include "XXX.h" } 在cpp中这样包含c<em>文件</em>就ok了
keil编译定义
<em>keil</em>可以在option中预定宏定义
keil编译不能生成“.HEX”的解决方法
<em>keil</em><em>编译</em>不能生成“.HEX”的解决方法
C51命令行生成hex
觉得命令行很有意思,就试了试如何通过命令行的形式来生成hex<em>文件</em>。首先我们要把C51<em>编译</em>的命令加到环境变量中去。计算机->系统属性->更改设置->高级->环境变量。<em>添加</em>到用户path或者管理员path都可以。当然我们也可以直接到C51命令目录中去,我的是D:\Keil_v5\C51\BIN。windows在执行命令的时候会首先在他的path路径找中查找,比如javac命令,如果path中有就直接执行
在Keil C51函数中加入ASM代码
使用C51进行单片机编程是事半功倍的事,但是很多算法上以及<em>编译</em>上的问题,往往使用ASM代码更为方便又高效。但不知什么<em>原因</em>,Keil在实现C51夹杂ASM代码比SDCC麻烦很多,方法如下:预处理指令 #pragma asm 开始ASM代码预处理指令 #pragma endasm 结束ASM代码如果就这样直接<em>编译</em>的话,会出现以下错误:error C272: asm/endasm requires
Keil中添加自己的头文件
 方法一 在<em>keil</em>的开发环境下<em>添加</em>:                   请注意上面的系统生成的头<em>文件</em>目录是:,即.\dd\jj\pp\kk,其中.\是相对于项目<em>文件</em>.uvproj 而言的,其中 .\ 表示项目<em>文件</em>所在的当前目录, 项目<em>文件</em>的绝对路径是:E:\MY_Documents\<em>keil</em>\C5
keil4 如何创建一个新的工程
一 这是一个<em>工程</em>建立好后的截图。具体实现方法看下面。 当driver打开后   1、32学习<em>文件</em>夹下创建一个code<em>文件</em>夹 用于存放所有的代码还有库函数内容等等  ,32的官方库存在于code下。   2、在code下创建三个<em>文件</em>及 分别是 lib(库代码)reg(寄存器)stm32lib(官方库函数)   3、reg下建立一个demo<em>文件</em>夹,然后
Keil C51 的命令行调用
<em>keil</em>是采用最广泛的51单片机开发工具,下面介绍采用命令行的方法使用<em>keil</em><em>编译</em>连接 1 用命令进入<em>keil</em>安装目录 Keil/C51/BIN,看到有<em>c51</em> bl51 oh51几个程序,下面将使用这三个命令<em>编译</em>运行。 2 将源<em>文件</em>例如calc.c放入上面目录,输入<em>c51</em> calc.c,生产obj<em>文件</em> 3 输入bl51 calc.obj,若程序中使用了idata,输入 calc.ob
keil 编译以后,查看代码的大小
<em>关于</em>段的补充:段可以分为代码段和数据段,其中代码段的内容就是可执行代码。 Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data 是(Read Write) 初始化了的可读写变量的大小,ZI-data 是(Zero Initialize) 没有初始 化的可读写变量的大小。ZI-data 不会被算做代码里因为不会被初始化...
解决keil5出现红叉号的问题(编译通过)
一般情况下的项目<em>编译</em>通过了,也可以仿真运行了,以至于这些红叉看起来多余,实在是别扭。如何解决掉这些红叉呢?点击Edit-&amp;gt;configuration, 在configuration对话框点击第五个选项卡Text Completion, Dynamic Syntax Checking 下面的Enable框去掉勾即可。...
关于keil软件左侧不出现 .h文件的解决办法。
<em>关于</em><em>keil</em>软件左侧不出现 .h<em>文件</em>的解决办法。 在左侧<em>工程</em>里右键,把最后一项打上对勾,就可以看到.c<em>文件</em>对应的.h<em>文件</em>了。 如图:
keil uV4一个工程内各个后缀名文件的作用
1 test1 无后缀<em>文件</em>,这个是最终生成的<em>文件</em>,只要有这个<em>文件</em>KEIL就可以软件仿真,不能打开 2 test1.hex 这个<em>文件</em>可以直接下载到单片机里,他就是从无后缀<em>文件</em>test1里提取的,去掉了调试信息,可以打开 3 test1.DSN,这个是另外一个软件PROTUES软件的<em>工程</em><em>文件</em>,里面是电路图,用来和KEIL联合仿真 4 test1.LST 列表<em>文件</em>,这个<em>文件</em>是某个C<em>文件</em><em>编译</em>后的<em>文件</em>,在你
Keil C51编译错误警告解决方法积累
错误:1. error C183: unmodifiable lvalue<em>原因</em>:修改了不能改变的变量,注意定义在某些区域的变量是不能修改的,如前面定义了unsigned char code table[6],在后面是不能修改table[6]的。}解决办法:将code去掉警告:1.WARNING L15: MULTIPLE CALL TO SEGMENT<em>原因</em>:同一个函数即在主函数中调用了,又在中断服务程序里调用解决办法:很简单,可以在二者之间取其一2. WARNING L16: UNCALLED SEGMEN
keil添加STC的MCU型号步骤
http://wenku.baidu.com/view/20361706b52acfc789ebc9fd.html
新建keil工程每一个文件夹的作用
问: 头<em>文件</em>stm32f10x_sdio.c的作用? 有时候在<em>添加</em>路径的时候为什么不<em>添加</em>src?有些<em>工程</em>里就<em>添加</em>了 新建<em>工程</em>的每一个<em>文件</em>夹的作用 core, obj,STM32_FWLIB(这个在<em>添加</em>group的时候为什么名字发生了变化!),SYSTEM,USER。。。。 define USE_STDPERIPH_DRIVER,STM32F10X_HD这两个,大多数的<em>工程</em>都没<em>添加</em>,为
KEIL生成 bin文件的方法
KEIL5生成 bin<em>文件</em>的两种方法 在<em>keil</em>的使用过程中,有的时候想看看当前<em>工程</em>生成的bin<em>文件</em>的大小,却发现在自己定义的OBJ目录下没有.bin<em>文件</em>,我们需要自己在KEIL软件中设置才能生成bin<em>文件</em>,有两种方法: 第一种方法: 在有<em>工程</em><em>文件</em>的<em>文件</em>夹下按shift+右键,会跳出“在此处打开powershell窗口”,打开后输入指令: fromelf --bin --output ./OBJE...
nuvoton N76E003 BSP Keil_C51
nuvoton N76E003 BSP Keil_C51_V1.0.1源码,Nuvoton_8051_Keil_uVision_Driver_v2.00.6561
Keil C 堆栈溢出【转至:半岛渔翁的博客】
我写在前面的几句话: 1。除非你的程序非常大,否则不要考虑堆栈溢出的问题,还是找找其它错误的<em>原因</em>。更不推荐自己手动修改启动<em>文件</em>,来增加堆栈使用空间。 2。现在大部分<em>编译</em>器(就我所知),没有堆栈溢出检测!!自己小心。一般是由于递归调用外加中断引起的。 http://blog.linuxsky.org/463/viewspace-14564.html Keil C是非常优秀的C51<em>编译</em>器,可能
单使用GCC编译Keil下工程C文件
不得不说Keil貌似是国内用户使用最多的IDE了,其被ARM收购之后,ARM嵌入了ARMCC等<em>编译</em>器推出了Keil MDK开发环境更是受到了广大ARM开发<em>工程</em>师的欢迎,庞大的用户群(很多是从当年的51等8位机直接转过来的)、简洁的管理窗口和友好的UI界面等优势都让其风靡一时,而且毕竟现在成了ARM的“亲儿子”了,其对ARM内核的产品支持还是灰常不错的。     而GCC更是大名鼎鼎,这个至今
在Eclipse下编译Keil MDK工程
最近业余时间在玩下ARM7, 使用Keil uVision集成开发环境, 有时真的受不了, 编辑器的代码提示/高亮功能几乎为0, 代码基本是要一个一个字母往里敲! 想想在的VS, Eclipse等下开发多舒服, 都什么年代了, Keil竟然还不升级下它的代码编辑器!   后来发现MDK里有个Eclipse插件, 想想以后可以在Eclipse for C/C++下写代码了--狂喜. 于是, 赶紧安
怎么使用Keil C51建立一个新项目并添加C语言程序文件
怎么使用Keil C51建立一个新项目并<em>添加</em>C语言程序<em>文件</em> 很详细简洁的说明
keil 采用 makefile 实现编译
1 说明 由于<em>keil</em> 软件需要收费,故有许多公司或者个人希望能够使用makefile 实现<em>编译</em>功能。如此一来,就可以脱离了<em>keil</em> 公司的限制,自由开发。 2 开发环境 (1) windows 操作系统的PC一台。 (2)arm-gcc windows端交叉<em>编译</em>工具链(个人使用版本:gcc-arm-none-eabi-4_7)。 如需下载,可到本人的上传链接下载: http:/
文章热词 社会工程 社会工程课程 社会工程课程 h.264码流工程创建 社会工程视频教程
相关热词 android跳转失败的原因 c#连接数据库失败的原因 c++编译 keil c++test测试keil文件 国务院文件关于人工智能课程 关于python培训班
我们是很有底线的