keil

Keil(MDK) 5 软件安装教程

微笑、不失礼 提交于 2019-12-03 22:26:53
一、KEIL Keil公司是一家业界领先的微控制器(MCU) 软件开发工具 的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C 编译器 、 宏汇编程序 、 调试器 、 连接器 、库管理器、 固件 和 实时操作系统 核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。 MDK 即RealView MDK 或MDK-ARM(Microcontroller Development kit),是 ARM 公司收购Keil公司以后,基于uVision界面推出的针对ARM7、ARM9、Cortex-M0、Cortex-M1、Cortex-M2、Cortex-M3、Cortex-R4等ARM处理器的嵌入式软件开发工具。MDK-ARM 集成了业内最领先的技术,包括 uVision4 集成开发环境与 RealView 编译器RVCT。支持 ARM7、ARM9 和最新的Cortex-M3/M1/M0 核处理器,自动配置启动代码,集成 Flash 烧写模块,强大的 Simulation

keil格式化项目代码

倾然丶 夕夏残阳落幕 提交于 2019-12-03 13:33:31
有时候需要用到一个功能,就先会在网上找到对应的程序,但是百度直接拿来的程序通常不是很规范。想着keil5要是有一个自动格式化代码的功能就好啦,上网一查还真有!需要一些设置如下(keil4与keil5都适用) 使用 AStyle 进行代码格式化 1. Astyle 下载链接 :链接: https://share.weiyun.com/5FsV7Ob 密码: aqfkk3 下载并把软件解压 2. keil5 单击 Tools 菜单---> Customize Tools Menu 3. 添加 Astyle All Files 和 Astyle Current File 自定义菜单(可以使用中文) 添加 格式化当前文件 菜单的方法: 新建命令为 格式化当前文件 添加 Command 命令:单击 ... 按钮,选择 Astyle.exe 。 Arguments: Astyle Current File 即 格式化当前文件 菜单填写 !E 点击 OK 添加 格式化project中的所有文件 菜单的方法: 新建命令为 格式化project中的所有文件 添加 Command 命令:单击 ... 按钮,选择 Astyle.exe 。 Arguments: Astyle All Files 即 格式化项目所有文件 菜单填写 "$E*.c" "$E*.h" 点击 OK 注:!E

‘C\Keil\TOOLS.INI’ does not contain a valid tool path for 'C51'

匿名 (未验证) 提交于 2019-12-03 00:38:01
我在打开别人的UV工程时,出现以下错误: 主要是因为我之前安装的是UV for ARM,不支持C51,经查阅,搜到网上一篇文章用于解决此类问题 文章源自CSDN,作者:geekuno 文章链接:https://blog.csdn.net/u014663232/article/details/54411514/ 该文章主要内容如下(全文引用): 【 当我们在注册keil软件时,出现了“TOOLS.INI: TOOLCHAIN NOT INSTALLED ”时,首先看一下keil软件能不能正常使用,如果keil软件能够正常使用证明安装是正确的,问题应该是出现在安装文件夹中的“TOOLS.INI”里面,没有将[C51]项写入文件,我们只需要将[C51]写入即可。 RTOS2=RTX51.DLL (“RTX-51 Full”) 注册成功后,打开一个工程进行编译,如果通过,则安装成功,如果不通过,可能是安装目录下面没有C51编译程序,只要从正确安装的机器上将“C51”文件夹复制过来即可! “C51”文件下载地址 】 文章来源: ‘C\Keil\TOOLS.INI’ does not contain a valid tool path for 'C51'

STM32F407 上手-USART 收发数据

匿名 (未验证) 提交于 2019-12-03 00:21:02
研究了一下KEIL的MDK以及它的文档 总结一下,KEIL的入门要比arduino要复杂的多,arduino是为硬件小白及非专业人士准备的。但是它的功能并不弱。 KEIL入门 请一定要认真花点时间看一下它的文档 ,我是用这份文档入门的(http://www2.keil.com/docs/default-source/default-document-library/mdk5-getting-started.pdf?sfvrsn=0) 原以为找个hello world例子就可以轻松入门,后来发现错了。所以认认真真去看完了上面的文档。 不多说了,上面的文档很专业,看完就足够入门了。 我把例子放给大家,官方的例子在我的板子上运行有问题(只能发送一次),做了一些改动 #include "Driver_USART.h" extern ARM_DRIVER_USART Driver_USART2; /*---------------------------------------------------------------------------- * Application main thread *---------------------------------------------------------------------------*/ void myUART

支持KEIL5! KeilFDfix_新0xFD汉字补丁(冠铭同学版)

匿名 (未验证) 提交于 2019-12-03 00:19:01
发布支持KEIL5! KeilFDfix_新0xFD汉字补丁(冠铭同学版) 说明:将本软件放至KEIL的编译器【C51.EXE及A51.EXE】所在文件夹(例如:C:\KEIL_V5\C51\BIN),按[开始]即可自动打补丁(将0x[80 FB FD]替换为[80 FB FF],忽略CX51.EXE及AX51.EXE)。 本工具实测通用支持Keil C51 u2/u3/u4/u5等所有版本! https://pan.baidu.com/s/1bEsgjlJCBOUdwb7v64jktw 另一个下载地址: www.stcisp.com/keilfdfix/ 同时KEIL C51 V9.59 下载地址: 链接: https://pan.baidu.com/s/1kbOfRO_YFAW9qCuLtC2F1A 文章来源: 支持KEIL5! KeilFDfix_新0xFD汉字补丁(冠铭同学版)

keil 生成bin文件

匿名 (未验证) 提交于 2019-12-03 00:13:02
在 User 配置页面中,提供了三种类型的用户指令输入框,在不同组的框输入指令,可控制指令的执行时间,分别是编译前(Before Compile c/c++ file)、构建前(Before Build/Rebuild)及构建后(After Build/Rebuild)执行。这些指令并没有限制必须是 arm 的编译工具链,例如如果您自己编写了 python 脚本,也可以在这里输入用户指令执行该脚本。 图中的生成 bin 文件指令调用了 fromelf 工具,紧跟后面的是工具的选项及输出文件名、输入文件名。由于 fromelf 是根据 axf 文件生成 bin 的,而 axf 文件又是构建(build)工程后才生成,所以我们把该指令放到“After Build/Rebuild”一栏 来源:博客园 作者: 小小小p鱼 链接:https://www.cnblogs.com/birdBull/p/11611515.html

关于keil软件中Symbol XXX multiply defined (by usart.o and main.o).解决方法

匿名 (未验证) 提交于 2019-12-03 00:09:02
keil中结构体用法及Error: L6200E: Symbol XXX multiply defined (by usart.o and main.o).解决方法 1.认识问题 在keil中编写关于stm32的程序,出现这种情况往往是两个.c文件中出现了相同的定义变量。 2.解决方法 一、可看到在usart.o和main.o.中重复定义了fputc 二、Find ALL中查找fputc,可以看到,有多个不同.c文件中重复定义了fputc 三、此时可以将main或者usart中将fputc改成其他的变量名称,只要不与其他定义冲突就可以。将main.c以及main.c包含的stdio.h中的fputc改为fputcc,编译就完全没有问题了。 来源:51CTO 作者: 嗯哼得哟~ 链接:https://blog.csdn.net/qq_41711618/article/details/101062288

keil中的程序跳转IAP

匿名 (未验证) 提交于 2019-12-02 23:55:01
//appxaddr:用户代码起始地址. void Session_Change_load_app(u32 appxaddr) { __set_PRIMASK(1); //关闭总中断 if(((*(__IO uint32_t *) appxaddr) & 0x2FFE0000) == 0x20000000) { __ASM("CPSID I"); jump2app = (Session_Changefun)*(__IO uint32_t *) (appxaddr + 4);//复位函数 __set_MSP(*(__IO uint32_t *) appxaddr);//设置栈顶 jump2app(); } } //用户代码主函数 int main(void) { //step1:启动系统时钟(选择) //step2:初始化所有的外设 //step3:开放总中断 __set_PRIMASK(0); //开放总中断,跳转会无条件触发正在运行中断,若本段代码中无该中断,则会死锁 __enable_irq (); while(1) { //do something } } 来源:博客园 作者: 爱之心旅程 链接:https://www.cnblogs.com/zhangtongxin/p/11410285.html