Keil使用中的若干问题】的更多相关文章

一.混合编程 1.模块内接口: 使用如下标志符: #pragma asm 汇编语句 #pragma endasm 注意:如果在c51程序中使用了汇编语言,注意在keil编译器中需要激活Properties中的“Generate Assembler SRC File” 和“Assembler SRC File ”两个选项.来个实例吧: #include void main(void) { P2=; #pragma asm MOV R7,# DEL:MOV R6,# DJNZ R6,$ DJNZ R…
这个问题一直烦了我很久,使用C51 keil进行.c文件链接的时候,老是报错诸如下面的信息: *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: aa MODULE: brightnessCTRL.obj (BRIGHTNESSCTRL) DEFINED: LED_Screen.obj (LED_SCREEN) 但是我发现,我确实只定义了一个这样名称的变量 其实这一点在arm keil中不会出现,arm keil的宽容度要好得多. 经过探索,我…
[环境] > KEIL5.25 > win10 > @2018-4-23 [问题] 头文件互包含导致的错误(使用了另一文件的类型定义) 文件<fileA.h> <fileA.h> #ifndef __FILEA_H__ #define __FILEA_H__ #include "fileB.h" typedef struct { int var; }stuct_A_s; #endif 文件<fileB.h> <fileB.h&…
1.QT窗口名称汉字设置问题? 答案:在MSVC中试用诸多方法,亲测都不行. 解决方案1:创建项目时,选择使用MSGW方案,用gcc进行编译,即可解决 2.QT中ui文件中组件不能再.cpp文件中显示调用? 答案:项目进行构建后就ok了 3.图片添加构建时报错: :-1: error: No rule to make target '../day3-pic/??.png', needed by 'debug/qrc_aaa.cpp'.  Stop. 答案:解决方案如下: (1)添加前缀后构建(锤…
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 和 SLA 保证 大规模扩展性支持 私有云外围环境支持(包括支持CDN .商业SDN控制器.防火墙和VPN/专线等) 良好的可使用性(用户和运维 Dashboard 等) 向上扩展性(PaaS 和 SaaS 等支撑) 企业数据中心IT环境支持…
MDK-ARM 使用中一直有个很纠结的问题,中文字符支持不好. 比如写代码注释,使用中文删除字符就会只删除一半问题.复制粘贴代码中间有中文就会出现乱码问题. 想过换IAR,新学个IDE也麻烦,上面的问题也不很大稍微绕一下也能解决,所以一直没换. 发现其实这个根本不是问题,安装好后默认是ANSI编码,所以会出现上述问题.只要把编码改成UTF-8编码就能解决上述烦恼. 设置步骤:     1.选择菜单:[Edit]->[Configuration]       2.页签[Editor]中 Gener…
上一讲中我们学习了如何建立工程.汇编.连接工程,并获得目标代码,但是做到这一 步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能 发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到 正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令.利 用在线汇编.各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用. 一.常用调试命令 在对工程成功地进行汇编.连接以后,按 Ctrl+F5 或者使用菜单 Debug->…
KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,这个相对简单的教程.KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经达到了相当搞的程度.C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器.uVision2 IDE可为它们提供单一而灵活的开发环境. Keil C51 软件是众多单片机应用开发的优秀软件之一…
1)一定要使用微软的txt文本编辑器,否则键入逗号时编译通不过.应该是这个样('),不该是这个样(,). 2) 用数字做标号时,前面一定要加一个英文字母,否则编译通不过. 3) 有时编译通过的.asm源文件却不产生.hex文件!原因是keil软件的设置没有勾选“产生hex文件:另一个是存放.hex的文件夹中删除过其他的.hex文件. 4) 用VU2新建文件键入源程序时,先键入程序部分,编译后,再键入注释部分:此外,不能用中文输入法输入分号,最好用大写输入程序部分及注释部分前面的分号,否则注释部分…
对程序进行优化,通常是指优化程序代码或程序执行速度.优化代码和优化速度实际上是一个予盾的统一,一般是优化了代码的尺寸,就会带来执行时间的增加,如果优化了程序的执行速度,通常会带来代码增加的副作用,很难鱼与熊掌兼得,只能在设计时掌握一个平衡点. 一.程序结构的优化 1.程序的书写结构 虽然书写格式并不会影响生成的代码质量,但是在实际编写程序时还是应该尊循一定的书写规则,一个书写清晰.明了的程序,有利于以后的维护.在书写程序时,特别是对于While.for.do…while.if…elst.swit…
对于一个大的文件,为了便于管理,一个好的办法时把一个大文件分为若干个小文件,每个小文件包含一部分相关的功能,这样功能将显得很整洁,而且移植到其它工程的时候也很方便,把文件copy过去即可. 对于汇编,我们也许知道,可以使用orgxxxx来指定函数的地址(org是一个段内指定偏移的伪指令),但是当指定这个地址时,是否与其它函数冲突呢?有可能其它函数过长已经占用了这个地址.难道要数手指计算函数的长度吗?另一个问题是主函数怎样调用被调函数呢? 在回答这些问题之前,先来看看使用的开发工具是怎样工作的.首…
源:keil c51的内部RAM(idata)动态内存管理程序 程序比较简单,但感觉比较有意思,个人认为有一定应用价值,希望大家有更好的思路和方法,互相促进. 程序的基本思路是:在CPU堆栈指针SP以上的RAM区域,通过把堆栈指针SP上移若干个字节,把空出的RAM区域供用户使用,当用户在使用完后又可以把该RAM区域释放. 头文件dmalloc51.h /* **********************************************************************…
idea 插件的使用 进阶篇(个人收集使用中的) 恭喜你,如果你已经看到这篇文章,证明在idear使用上已经初有小成!那么就要向着大神进发了! 下边就是大神之路! 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的,只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已,开发了很多优秀的插件. • 官网插件库:https://plugins.jetbrains.com/ • 如上图标注…
转载来自:http://emouse.cnblogs.com 1.1 开发工具与开发环境 1. 软件版本 本节所使用Keil MDK 为目前的最新版V4.21.其他版本差别不大,读者可以根据自己使用的版本进行操作或者从Keil的官网下载新版本.使用的标准外设库为目前最新的V3.5版本.使用的开发调试工具为JLINK-V8,使用的驱动版本为V4.08l. 2. 建立工程目录(第一步) 首先先建立一个用于存放工程的文件夹,此处命名为STM32, 在文件夹下分别建立LIB.USER.MDK三个文件夹,…
屏幕共享是视频会议中使用频率最高的功能之一,但在实际场景中用户所处网络环境复杂,常遇到丢包或者拥塞的情况,所以如何优化弱网环境下的用户体验也成为了音视频通信中重要的一环.本文主要分享阿里云 RTC QoS 如何通过若干编码器相关优化提升弱网环境下的屏幕共享体验. 作者:长程/田伟峰 审校:泰一 内容说明: 本文介绍以下四个方面的优化: Screen Content Coding Tools Long Term Reference (LTR) Fast QP Rate Control Conten…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是Keil在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致. 本篇是 <IAR EWARM复位类型>.<MCUXpresso IDE复位类型>的同系列篇,三大经典IDE(IAR EWARM.Keil MDK.MCUXpresso IDE)下的复位策略只剩 Keil MDK 没介绍了,心事不了,觉睡不好.今天痞子衡就来认真讲一下搞嵌入式生涯里最早接触的 IDE - Keil,完结这个系列. Note: 痞子衡…
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401开发 Keil MDK STM32系列(三) 基于标准外设库SPL的STM32F407开发 Keil MDK STM32系列(四) 基于抽象外设库HAL的STM32F401开发 Keil MDK STM32系列(五) 使用STM32CubeMX创建项目基础结构 Keil MDK STM32系列(六)…
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过汇编语言后再使用C来开发,体会更加深刻.Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面.另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解.在开发大型软件时更能体现高级语…
昨天买的stm32板子今天就到了,顺丰速度确实很快. 我这是刚开始整STM32,首先需要下载keil MDK,直接杀去keil官网下载,其实对于学习者,我建议大家下载软件能去官网就去官网,尽量少用二道贩子整的那些. 然后便以管理员方式运行安装,为什么要用管理员方式呢?其实是我的后遗症,不知道大家有没有,因为有一些软件安装不用管理员权限会出现一些问题,后来我干脆安装软件都用管理员权限. 安装完后会弹出这样一个框: 这个是要你选择设备的,keilMDK将器件(Software Packs)与编译器(…
目录 前言 若干坑 总结 一.前言        近期干了一件事情,将geotrellis程序移植到CDH中(关于CDH,可以参考安装ClouderaManager以及使用ClouderaManager安装分布式集群的若干细节),本以为这是件很简单的事情,没想到跟安装CDH一样却碰到了许多的坑,很多事情真的就是这样,我们不去亲自实践觉得都是简单的,当我们真正甩开膀子去干的时候却发现会遇到各种各样的问题,但是当我们将这些一个个解决的时候,你收获的将不仅是美好的结果,更是很多通过学习无法得到的东西,…
一.现象 编译存储过程时报ORA-02020错误. 错误详细信息:ORA-04052在查找远程对象 xx@yy时出错 ORA-00604 : 递归 SQL 级别 1 出现错误 ORA-02020 : 过多的数据库链接在使用中 二.解决步骤 1.查看一下有关link的参数 SQL> show parameter open_links NAME TYPE VALUE------------------------------------ ----------- -------------------…
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 Docker 在早期只有单机上的网络解决方案,在 1.19 版本引入了原生的 overlay 网络解决方案,但是它的性能损耗较大,可能无法适应一些生产环…
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 和 SLA 保证 大规模扩展性支持 私有云外围环境支持(包括支持CDN .商业SDN控制器.防火墙和VPN/专线等) 良好的可使用性(用户和运维 Dashboard 等) 向上扩展性(PaaS 和 SaaS 等支撑) 企业数据中心IT环境支持…
TeXstudio 编写Latex论文的若干问题解决方案总结       问题1: 如何安装TeXstudio 以及 Texstudio当中的中文字体使用问题.   一.如何安装TeXstudio 很多人推荐使用TexStudio.注意,texstudio是一个latex编译器,而非latex的软件实体.正如rstudio和r的关系.因此,先要安装latex软件,之后才能使用TexStudio.   1. 到这里下载并安装MikTex:http://miktex.org/ 或者TexLive20…
在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特别是从别人那里拷贝过来的工程目录,添加头文件路径就变得非常的繁琐.所以我们需要一个自动化的方法.该方法会搜索工程目录的文件夹和子文件夹,将其中包含了.h文件的路径找出来,并转换成keil和IAR要求的格式.这个难不倒程序员,只是简单的文件查找,再用点正则就行,QT也好,python也好都很容易实现.…
使用中,遇到各种奇葩问题,依依汇总. 1.引用了Subsonic层后,一运行就开始报错,提示未能找到文件!!    //引用后,目标框架可能会被改变,subsonic的默认框架是2.0,请检查框架是否一致. 2.执行中报异常,提示“Can't find the SubSonicService in your application's config”      //config未能正确初始化,将文件拷贝到解决方案下…
文章转自http://blog.csdn.net/gasbi/article/details/6186312 当我们使用Keil对我们的代码进行编译之后,下方Build Output窗口会出现:Program Size: Code=49220 RO-data=7060 RW-data=264 ZI-data=4584 Code      :是代码占用的空间大小RO-data :是 Read Only ,只读常量的大小(如const型)RW-data:是 Read Write ,已初始化了的或者初…
本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按需选择,可以是heap_1.c等,若需croutine型任务则还需添加croutine.c文件. 2.添加include目录,位于source下的include文件夹. 3.把FreeRTOSConfig.h文件复制到source下的include文件夹,或者其他用户文件夹下也可,这是FreeRTO…
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要的环境,比如堆栈初始化,变量初始化等.如果启动文件出现错误,则整个系统就跑不起来,因此研究启动文件非常必要. 在keil中,启动文件由汇编代码编写,一般命名为startup_xxx.s,xxx为支持的某种芯片,比如可以是lpc15xx(NXP的LPC15xx系列).MK60D10(飞思卡尔).stm…
mysqldump的一个小坑(自测) 正文:经常使用接触mysql复制功能的朋友应该对mysqldump命令不陌生吧,鄙人最近也在研究学习这一块的内容,经过几天的测试,发现mysqldump使用中容易遇到的几个问题,这里总结一下与大家分享,如果有不同意见欢迎多多交流学习, 测试环境:  软件版本,官网下载的5.5.53 应用场景,mysqldump主mysql服务器得到sql语句,然后还原到空白mysql服务器 总结1:如果原主服务器备份前有带有密码的非root用户,还原到备份mysql服务器时…