keil 使用笔记 (经典)  
转载
2024-08-28 13:05:19
494阅读
一 建一个工程框架1.在电脑中新建一个文件夹,命名为Template2. 点击
MDK
的菜单:
Project –>New Uvision Project
,然后将目录定位到刚才建立的文件夹 Template
之下,在这个目录下面建立子文件夹
USER(
我们的代码工程文件都是放在
USER 目录)工程命名为 Template,点击保存。
keil中常见的几种警告,固然,相对于错误的,警告的程度不及错误的严重性,有时候忽略,会出现意想不到的错误。先看看常见的几种错误,分析出来现的原因。 1. Warning 280:’i’:unreferenced local variable 说明 局部变量 i 在函数中未作任何的存取操作解决方法 消除函数中 i变量的宣告2 Warning 206:’Music3’
STM32微处理器基于ARM核,所以很多基于ARM嵌入式开发环境都可用于STM32开发平台。开发工具都可用于STM32开发。选择合适的开发环境可以加快开发进度,节省开发成本。本章将先对STM32常用的开发工具Keil MDK和IAR EWARM进行简单介绍,然后结合STM32_SK仿真评估板和STM32F103C的开发板讲解STM32片上资源使用,最后给出一个基于STM32的数据采集器
转载
2024-08-12 09:28:00
918阅读
有时我们会遇到这样的报错:*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ LENGTH: 002CHProgram Siz
转载
2024-08-15 16:35:30
260阅读
一直以来,我在写arm程序的时候,都是避免使用malloc函数。这一次要用yaffs文件系统,没有办法只好研究一下malloc函数。
要用malloc函数需要指定堆栈的位置和大小,我的硬件环境中有SDRAM,所以我想让malloc函数在sdram中分配空间,首先要指定堆栈的开始地址。在keil中打开系统的sct文件,在我硬件环境中时Emc_Yaffs.sc
其他博主已经介绍过了但本人由于对keil有点生疏,使用时还是碰了写问题,所幸后来向作者邮箱gongxd@126.com解决了问题。本文补充一些比较细节的问题。1.软件需要在debug模式下执行之前本人以为,debug完,再点击load,就可以通过这个软件看数据波形。但后来发现报“地址错误”的问题,必须点开在线调试才行。在线调试的打开方式如下: 首先点击,Options for Target,在De
目录一、概述二、编译结果三、map文件 一、概述本文主要记录下keil环境下,分析空间资源使用情况的基本方法。二、编译结果使用keil进行编译后,首先会得到如下信息: 其中:
Code 表示程序代码部分
RO-data 表示 只读的数据(read-only),如程序定义的常量const temp;
RW-data 表示 可读写的数据(read-write),如已初始化的全局变量
ZI-data
转载
2024-10-25 22:12:41
298阅读
一、程序调试时的常用窗口 Keil 软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、观察 窗口(Watch&Call Statck Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)串行窗口(Serial Window)等。进入调试模式后,可以通过菜单 View 下的相应命 令打开或关闭
转载
2024-04-15 11:39:35
2230阅读
从业十年,教你单片机入门基础 第五讲:Keil平台软件的安装我就不多讲了,网上这方面的资料很多,大家可以百度一下如何安装keil的教程。下面开始讲解用keil软件新建,关闭,打开一个完整工程的操作流程。第一步:新建一个工程文件夹。先在电脑D盘目录下新建一个文件夹,取名为“stc89c52rc”。第二步:启动keil软件。双击桌面”keil uVision4”的图标启动keil软件。第三
Memory Model:用鼠标点击Memory Model的下拉箭头,会有3个选项: Small:变量存储在内部ram里;  
转载
2024-06-21 10:43:07
366阅读
在MDK(Keil) 中编译工程时关于Program Size的信息Code :是程序中代码所占字节大小 RO-data :程序中所定义的指令和常量大小 (Read Only)RW-data :程序中已初始化的变量大小 (Read/Write) // int a = 0; 全局初始化区 ZI-Data :程序中未初始化的变量大小 (Zero Initialize) //int a ; 全局未初始化
转载
2024-10-21 07:58:26
75阅读
目的不管是Keil还是IAR对代码补全,高亮等编辑功能支持的不是很好,虽然现在的Keil 5.25对界面的支持好了很多,但是很多人还是青睐于第三方的编辑器,命令行的编译方式可以让我们在使用第三方编辑器编辑的时候进行代码编译和下载,通常我们比较喜欢的编辑器有下面一些,不是很全。常用的第三方编辑器介绍Visual Studio 2010 - 2017
Windows 下面的VS工具配上番茄助手写代码爽
转载
2024-07-04 09:38:30
34阅读
一、概述 本文面向已经懂得软件基本操作的职业老手,如果是未使用过该软件的小鲜肉,请移步基础篇。这里以STM32芯片为例对工具进行讲解,其他品牌的芯片在工程配置上可能存在差异。二、软件说明 Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。 目前软件对中文的支持不友好,不建
使用matlab绘制从KEIL memory导出的内存数据如标题,某些时候我们需要分析keil调试过程中的数据,比如从I2S、SPI、I2C或者UART获取到的波形数据,这些数据时数字流,通过逻辑分析仪是没有办法直观的观察其波形,因此,我们需要把数据导出来,通过合适的工具使数据可视化,比如一些规律的波形图。
下面我将提供一种方法供参考高潮来了第一步:导出数据到本地KEIL通过ULINK调试STM3
转载
2024-06-25 07:33:27
364阅读
使用matlab绘制从KEIL memory导出的内存数据如标题,某些时候我们需要分析keil调试过程中的数据,比如从I2S、SPI、I2C或者UART获取到的波形数据,这些数据时数字流,通过逻辑分析仪是没有办法直观的观察其波形,因此,我们需要把数据导出来,通过合适的工具使数据可视化,比如一些规律的波形图。 下面我将提供一种方法供参考高潮来了第一步:导出数据到本地KEIL通过ULINK调试STM3
下面是我搜索到的可以借鉴的讨论+我的评述评述:在一个芯片系统里,uart的驱动是厂商自己写好的,那他们是怎么关联printf到uart的呢?有人说,printf最终是调用了putchar,我搜索了源码,没有这个函数,估计是开发工具,像KeilC u3,里面已经集成了putchar。于是我奇怪,这个工具怎么知道厂商哪个函数时uart的,有没有命名规则要求?好像没有,看了下面的讨论,估计是通过UART
一、缘起 这两天改进MCU的液晶显示方法,采用“即编即显”的思路,编写了一个可以直接显示字符串的程序。如程序调用disstr("我是你老爸");液晶屏上就会显示“我是你老爸”。二、问题 但是,花了1天多时间辛辛苦苦改好的程序后,却发现有些汉字显示有问题。比如: P1:在第一行显示“实时参数”
一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘。编译器会将一个程序分为好几个部分,分别存储在 MCU 不同的存储区。ROM:即单片机的FLASH,只读存储器 RAM:随机存储器Keil 工程在编译完之后,会有相应的程序所占用的空间提示信息,如下所示:Program Size: Code=87556 RO-data=35944 RW-da
转载
2024-07-06 21:59:16
79阅读
我们常常在使用一款芯片的时候往往都会考虑芯片的RAM和ROM大小,因为这觉得了我们的很多功能,虽然可以采用外置的FLASH以及RAM芯片来扩展,但是无论使用了外置还是内置的空间,我们都需要去了解我们工程中使用了多少的RAM空间以及多少ROM空间。今天我们就来分享一下如何快速从keil中查到使用了多少的空间,而在keil工程中一共两个地方可以查到。首先第一个地方就是编译输出提示栏,当我们编译完后在下