keil专题

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

KEIL中编译51程序 算法计算异常的疑问

KEIL开发 51 单片机程序 算法处理过程中遇到的问题 ...... by 矜辰所致 前言 因为产品的更新换代, 把所有温湿度传感器都换成 SHT40 ,替换以前的 SHT21。在 STM32 系列产品上的替换都正常,但是在一块 51 内核的无线产品上面,数据莫名其妙的总会遇到异常的情况,弯弯绕绕了好一阵子,最后才发现是程序在执行一个不算复杂的算法的时候会出错。 那么本文的目的就是说明

【转】keil(arm)中配置c99方法 及 C99特性

配置方法:option->c/c++->misc controls:--c99 附c99特性: 在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C++在自己的标准化创建过程中继续发展壮大。《标准修正案一》在1994年为C语言创建了一个新标准,但是只修正了一些C89标准中的细节和增加更多更广的国际字符集支持。不过,这个标准引出了1999年ISO 9899:1999的发表。它通常

Keil编译常见问题

1.led的前后今生 1.出现warning:  #1-D: last line of file ends without a newline 解决方案:这是由于在函数的“}”之后没有回车的原因造成的,添加回车后,可消除警告。 2.出现main.c: Error: command-line:  #992: invalid macro definition: USE_STDPERIPH_DR

关于keil卡在systeminit中,然后出现void HardFault_Handler(void)的几个问题详解

版权声明:本文为博主原创文章,未经博主允许不得转载。    https://blog.csdn.net/u013184273/article/details/83860802 相信很多程序员在用keil的时候都会遇到在仿真调试时,一直停在SystemInit()中的等待晶振中,怎么也出不来。出现HardFault时,可能不是因为内存溢出,访问越界或是堆栈溢出,有可能仅仅只是自己一些最基本的规则没

《嵌入式 - 嵌入式大杂烩》Keil反编译入门(二)

在阅读本文之前,你需要有汇编和寄存器的基础知识,请参看笔者以前的文章​。 ARM汇编入门 深入理解ARM寄存器 4 反汇编代码全解析 进入debug模式,在View下选择disassembly window。 这样就可将机器码和对应的代码对应起来。当程序运行起来了,也就从异常向量表中跳转到Reset_Handler中,然后跳转到main函数中,而main函数是在栈中,因此需要设置占空

《嵌入式 - 嵌入式大杂烩》Keil反编译入门(一)

我们在写单片机裸机程序时,在主函数之前,会有一段启动代码,而启动代码是用汇编写的,有些朋友可能看到汇编头都大了,当时要想深入研究底层架构,这快硬骨头就必须去啃。 汇编:汇编文件转换为目标文件(里面是机器码)。 反汇编:可执行文件(目标文件,里面是机器码),转换为汇编文件。 关于汇编的基础知识,请看笔者以前的文章。 今天笔者以STM32F1的点灯程序为例,带领大家进行反汇编,并阅读反汇编后的

Keil The selected deivce“xxx“is unknown。。。识别到芯片依然烧录不进去程序解决或者未识别

之前一直用DAP烧录,用Jlink后烧录发现不行 在网上找了很多教程,版本等问题都一一排查依然不行 最后通过修改Port解决。。。。 将JTAG改成SW后就可识别芯片并且可以烧录。。。。

关于KEIL_MDK编译生成的程序大小说明

这些参数的单位是Byte图中几个参数分别代表  Code:代码的大小RO:常量所占空间RW:程序中已经初始化的变量所占空间ZI:未初始化的static和全局变量以及堆栈所占的空间上述参数和芯片Flash以及SRAM的对应关系是  Flash占用大小=Code+RO+RWSRAM占用大小=RW+ZI

KEIL/MDK编译优化选项注意事项

来源:https://blog.csdn.net/chengdong1314/article/details/53463183 KEIL编译器C语言编译选项优化等级说明 原文 0     Minimum optimization. Turns off most optimizations.It gives the best possible debug view and

嵌入式Keil工具【微库】和【标准库】的对比

我们在学习或者用单片机做开发的时候,输出信息以及打印调试基本都会有用的 printf 函数,那么,这个时候基本都会用到【微库】。 如果使用 Keil 软件,就会勾选配置中的微库(MicroLib),如下图: 同样,在IAR、 e2 studio等开发单片机的集成开发环境中,也有类似的配置选项。 那么,今天就来简单展开说下MicroLib微库和标准C库的相关内容。

keil编译报错_sys_exit和_ttywrch,explicit type is missing (“int“ assumed)

报错信息: ..\SYSTEM\usart\usart.c(64): error:  #260-D: explicit type is missing ("int" assumed)   _sys_exit(int x)  ..\SYSTEM\usart\usart.c(69): error:  #260-D: explicit type is missing ("int" assumed)

keil编译51单品机程序

 keil错误提示FATAL ERROR L210: I/O ERROR ON INPUT FILE: 因为缺少c51fps.lib文件,把此文件下载后放到D:\KEIL\C51\LIB\C51FPS.LIB即可

关于keil仿真错误:no algorithm for :0x08000000H-08001823H

点开optaion后,在debug一栏里面去人选择J-Link/J-TRACK Cortex后点击一下旁边的settings,弹出一个窗口,无需做任何设置,直接点击确定就可以,这样OK后,就没有在再出现过错误提示,我有好多次都是这样操作的,可以解决问题。这种方法仅作为一个参考,试一下。 

keil在debug时,watch窗口中变量不变化的解决方法

在DEBUG时,我们可能遇到自己定义的变量在watch窗口中一直是一个固定值,不会变化,我们只需要在debug时点开view勾选上最后一个选项periodic window update即可

Keil C51 插件 检测所有if语句

此插件解决的问题 Keil 插件 -- Python 代码 import chardet, sys, glob, refrom pathlib import Pathfrom collections import deque# 变量名字典 key--数据名 value--数据s类型variable_dic = {}# 初始化一个空的二维数组matrix = []# 列表的头数据

【STM32】写Keil程序的注意事项

看正点原子的资料使用Keil写STM32程序的时候,总是在不断学习,不断探索。后续又学到啥再更新······ 目录 1    Keil设置 1.1    字体设置 1.2    快捷键设置 1.3    快速前往前一操作位置/后一操作位置 2    宏定义 2.1    宏定义函数时为什么使用do{…}while{0}  3    函数 3.1    形参 4    编

KEIL微库MicroLIB与程序大小

不使用微库MicroLIB Program Size: Code=23010 RO-data=16190 RW-data=1076 ZI-data=21412 使用微库 Program Size: Code=17356 RO-data=15636 RW-data=1076 ZI-data=20804 Code: -5654 字节RO-data :-554 字节RW-data :0 字节(没有变化

Keil工具使用逻辑分析仪

Keil 模拟调试使用逻辑分析仪 前言 目前在做STM32芯片的开发,有时候不一定能及时拿到硬件,或者有时候没条件直接用J-Link调试,于此,可以使用Keil自带的逻辑分析仪进行模拟测试,查看引脚输出输入的电平是否正常。 接下来简单的记录一下操作步骤。 设置模拟模式 在使用模拟模式的时候,首先要进行Debug模式的设置。 Tips:这里默认程序代码是已经编写好了的,不再理会程序是否

用VScode打开keil下的文件中文编码乱码的问题,以及利用VScode转换字符编码的方法

目录 问题描述  解决方法 利用VScode转换字符编码的方法 问题描述 keil中默认的编码是ANIS如下图所示。  而VScode中默认的编码为UTF-8 ,打开后如下。  解决方法 建议另存后,再打开目标文件,防止误操作! 在VScode的最下方可以找到“UTF-8”,点击该字样。 然后,上面会弹出选项,选择“通过编码重新打开”。   在搜索框中输入“

Keil MDK生成LIB库以及使用LIB库

一.keil下lib静态库的使用具有以下优点: 1.封装源代码,对外不开放,提高保密性。 2.将标准功能函数封装成库,提高代码的复用性。 3.使用库开发,简化开发流程,提高开发效率。 4.系统调用库函数,提高执行效率。 二.keil环境下Lib库的生成 1.建立一个keil空的工程(如果库代码和处理器无关,处理器型号选哪个都可以) 2.修改编译输出方式选择为Create Libr

【转】FreeRTOS通用移植,以keil和IAR工程 M7核为例

目录 keil: IAR keil: 原文在https://bbs.eeworld.com.cn/thread-1281875-1-1.html 本篇讲述移植FreeRTOS,并创建运行一个任务,对象芯片为M7系列的兆易创新GD32H7xx系列。 一.准备工作 1.下载FreeRTOS源码官网 http://www.freertos.org/ 或者托管网站FreeRTOS R

【ARM】如何通过Keil MDK查看芯片的硬件信息

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标: 解决在开发过程中对于开发项目所使用的的芯片的参数查看的问题 2、问题场景: 在项目开发过程中,经常需要对于芯片的时钟、寄存器或者一些硬件参数需要进行确认。大多数情况下是需要外部查找芯片的Datasheet。但是,在Keil MDK中可以看到芯片的一些基本信息。 3、软硬环境: 软件版本:Keil MDk 5.38

keil上如何用st-link调试和调试注意点

keil上如何进行调试 写这个文章之前我还考虑要不要写调试这一块,因为习惯问题很多人编程不会去用调试。以前也接触过但后来嫌麻烦就一直没用,其实调试用得好,对程序和硬件的检错有很大帮助。 调试分为软件调试和硬件调试,软件调试可以用来检测编好代码的可行性。硬件调试需要连接单片机,可以用来查看程序在硬件上运行的过程以及检测可行性。硬件调试更加可靠,比较常用,这里就只讲硬件调试。 工具 STM32芯

使用keil提供的JSON库——Jansson

前言 keil环境下已经有官方的JSON库了,下面是讲解如何导入和使用Jansson。 下载地址:http://www2.keil.com/mdk5/partnerpacks/ 安装并导入工程 下载Keil.Jansson.1.0.0.pack后双击安装,打开keil工程,点击下图的图标配置Json库到工程里。 接下来按图点击,最后点击OK。