下面是我搜索到的可以借鉴的讨论+我的评述评述:在一个芯片系统里,uart的驱动是厂商自己写好的,那他们是怎么关联printf到uart的呢?有人说,printf最终是调用了putchar,我搜索了源码,没有这个函数,估计是开发工具,像KeilC u3,里面已经集成了putchar。于是我奇怪,这个工具怎么知道厂商哪个函数时uart的,有没有命名规则要求?好像没有,看了下面的讨论,估计是通过UART
有时我们会遇到这样的报错:*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ LENGTH: 002CHProgram Siz
转载
2024-08-15 16:35:30
260阅读
一、缘起 这两天改进MCU的液晶显示方法,采用“即编即显”的思路,编写了一个可以直接显示字符串的程序。如程序调用disstr("我是你老爸");液晶屏上就会显示“我是你老爸”。二、问题 但是,花了1天多时间辛辛苦苦改好的程序后,却发现有些汉字显示有问题。比如: P1:在第一行显示“实时参数”
一、程序调试时的常用窗口 Keil 软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、观察 窗口(Watch&Call Statck Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)串行窗口(Serial Window)等。进入调试模式后,可以通过菜单 View 下的相应命 令打开或关闭
转载
2024-04-15 11:39:35
2230阅读
keil 使用笔记 (经典)  
转载
2024-08-28 13:05:19
494阅读
一 建一个工程框架1.在电脑中新建一个文件夹,命名为Template2. 点击
MDK
的菜单:
Project –>New Uvision Project
,然后将目录定位到刚才建立的文件夹 Template
之下,在这个目录下面建立子文件夹
USER(
我们的代码工程文件都是放在
USER 目录)工程命名为 Template,点击保存。
1. C语言中直接嵌入汇编程序段1、在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码:#pragma ASM; Assembler Code Here#pragma ENDASM2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使检查
转载
2024-09-30 14:04:02
108阅读
一、简介很多时候我们需要将单片机内部的数据导出进行分析与处理,但是实际上内存数据是以HEX格式存储在内存中的并且不同类型的数据的存储格式也是不一样的。为了方便统一使用浮点型数组存储数据然后一并导出,并采用matlab进行转换得到原始数据。二、工具1.Keil2. Vim3. matlab三、预备知识3.1 SAVE命令 命令格式:SAVE filename st
首先要实现对寄存器的配置,可以参考手册《Development kit User Guide》,如下图所示: 此文件包含在 文件中。上述的应用文档详细介绍了如何利用KEIL实现对固件程序的编写。 对于USB 配置程序,下图是几个重要的模块,其中fw.c是主程序框架,periph.c文件是用户用来进行配置的主程序。 在《Development kit&
1、KEIL MDK 编译后的信息Code=86496 RO-data=9064 RW-data=1452 ZI-data=161161)Code 是代码占用的空间;2)RO-data 是 Read Only 只读常量的大小,如const型;3)RW-data 是(Read Write)初始化了的可读写变量的大小;4)ZI-data 是(Zero Initialize) 没有初始化的可读写变量的大
proteus+keil简单的联调例程第一种调试方法另一种调试方法小结 有的同学proteus+keil联调有问题,特此写个入门贴,简单介绍下proteus+keil如何联调。第一种调试方法 先打开proteus 建立一个简单的单片机最小系统,再加点外围器件 打开keil 写个对应的例程 选择输出hex文件 双击单片机弹出对话框,点击选择固件按钮 hex文件一般输出在keil工程文件夹下的obje
作者 | strongerHuang变量是程序中重要的一部分,产品中很多业务代码都是变量起到了关键作用。传感器采集的数据、通信中传输的数据、算法中的数据等这些数据都需要借助变量这个东西来实现。我们为什么要将变量、数组(例如表或函数)存储到特定的地址?因为有些特殊的数据可能需要指定地址,比如加密的密钥、校验和等这些数据可能需要存储在指定内存。1变量查看工具 在描述将变量储存在指定内存地址之前,我们
在keil (我用的是realview mdk3.11)建立ARM的工程时
其中有一项是选 use MicroLIB
由于对KEIL不是很熟悉,于是就查了查,得到了以下信息:microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行。microlib 进行了高度优
我们知道,编译时可以有不同的编译选项及组合。在编译器中,有两种编译选项组合,分别是release与debug,编译时,选择release或者debug,编译出来的程序分别称为release版或者debug版,前者优化较多,文件较小,后者因为调试的需要,文件较大。当然,不管是releas选项,还是debug选项,其中的一些编译选项可以在工程设置中做修改,从而得到优化过的调试版本或是带跟踪语句的发布版
keil mdk调试小技巧RealView MDK具有强大的调试功能。正确使用这些调试功能可以更快更准地发现软件中存在的问题,其中有些调试小技巧并不是很引人注意,在实际工作中如果能注意并使用这些小技巧将大大方便我们工作。下面从Symbol窗口、逻辑分析仪和Watch窗口三个方面来介绍一下调试中的小技巧。一、Symbol窗口ymbol窗口可以查看虚拟寄存器和外围特殊寄存器的名称、地址、类型。当我们想
转载
2024-07-09 20:40:01
108阅读
经过一番分析,功夫不负有心人,找到global.prop这个文件,这个文件是用来保存用户对keil界面和字体等信息的参数,如果想要保存或分享漂亮的设置,直接替换这个文件就可以了 global副本是备份原来的配置 这是我的配置,喜欢可以保存下面代码,替换原来的global(原来的直接用记事本可以打开)! # properties for all file types
从业十年,教你单片机入门基础 第五讲:Keil平台软件的安装我就不多讲了,网上这方面的资料很多,大家可以百度一下如何安装keil的教程。下面开始讲解用keil软件新建,关闭,打开一个完整工程的操作流程。第一步:新建一个工程文件夹。先在电脑D盘目录下新建一个文件夹,取名为“stc89c52rc”。第二步:启动keil软件。双击桌面”keil uVision4”的图标启动keil软件。第三
Memory Model:用鼠标点击Memory Model的下拉箭头,会有3个选项: Small:变量存储在内部ram里;  
转载
2024-06-21 10:43:07
366阅读
Keil IDE 工具学*前言学*过*4年的STM32,通过正点原子的视频还有资料入门的,里面的资料很齐全。可是我很少去看除了视频,原理图,中文手册之外的资料。但是最*翻看了一下那些资料发现了许多的宝藏,比如,CM3权威指南,Ucos-ii的讲解,个人对基础比较喜欢,所以没有去看关于界面EmWin等资料。但是在此之前我解决问题基本靠百度,在座不知道有多少和我一样,哈哈哈哈,遇到问题是完全没有任何头
转载
2024-07-29 17:36:27
337阅读
1、创建前的准备新建一个文件夹,作为创建寄存器工程模板的主目录,在该文件夹中创建两个子文件夹,名字分别为Obj与User。Obj文件夹:用于存放编译产生的c/汇编/链接的列表清单、调试信息、hex 文件、预览信息、封装库等文件。 User文件夹:用于存放用户编写的main.c、STM32F1启动文件、stm32f10x.h 头文件。将寄存器工程模板所需的基础文件main.c、STM32F1启动文件