stm32笔记: 将用户自定义关键字从MDK3.8 搬到 MDK4.70A

发布者:温馨幸福最新更新时间:2017-02-19 来源: eefocus关键字:stm32  关键字  MDK3.8  MDK4.70A 手机看文章 扫描二维码
随时随地手机看文章

将用户关键字从MDK3.8 搬到 MDK4.70A 

 

新安装mdk4.70A ,有2.5G大小 ,
修改字体颜色等配置,发现以前keil9.0和 mdk3.8都有的几个*.ini配置文件没了

刚开始以为在别的什么地方,于是用EQ加了个文件修改记录规则,拦截文件修改

结果只得到如下2条有用的信息
=========================================================
2013-05-20 12:49:42 修改文件 操作:允许
进程路径:D:\IDE\MDK4.70A\UV4\Uv4.exe
文件路径:D:\IDE\MDK4.70A\UV4\global.prop
触发规则:应用程序规则->自动创建规则->D:\IDE\MDK4.70A\UV4\Uv4.exe->*


2013-05-20 12:49:42 修改文件 操作:允许
进程路径:D:\IDE\MDK4.70A\UV4\Uv4.exe
文件路径:D:\IDE\MDK4.70A\UV4\arm.prop
触发规则:应用程序规则->自动创建规则->D:\IDE\MDK4.70A\UV4\Uv4.exe->*

==============================================================
然后用记事本打开发现,这2个文件确实是配置文件,只是后缀不是ini而已

好了开始操作
===================================================
用户自定义关键字是存放在arm.prop中的,我们只要修改这个文件里就行了
打开mdk3.8程序目录下的CARMC.ini配置文件, 找到UserKeyWords域, 
形如 UserKeyWord 2=xxx 
复制所有UserKeyWord相关行,
粘贴到Excel中,选中所有,点数据,分列 , 选中默认的"分隔符号" ,
下一步
打勾"其他" ,输入一个等号"=" ,确定


这样就能提取 UserKeyWord 2=xxx 这行等号后面的xxx,也就是我们的用户关键字了
完了之后得到的是N列的数据,
复制这N列的数据,到一个空白的地方右键,
在右键菜单上选择“编辑”-“选择性粘贴”
在弹出的对话框中勾选“转置,



这样就排成一行了,
然后复制该行,粘贴到arm.prop文件的
keywords6.$(file.patterns.cpp)=这里


注意这个等号后面的字符串格式是 str1空格str2空格....str10空格\
str10后面是一个空格加一个续行符

(如果不加续行符也可以,那就排一行,但是重开mdk4.7后,它会自动这样10个一行的排版)

 

我们刚才得到Excel中一行数据中是按table符号分割字符串的,所以需要转换下
比如我的系统默认记事本是notepad2 , 那么我在arm.prop中直接选中这一堆字符串,点编辑,块,压缩空格 ,
这样以来str1和str2之间就是一个空格,而不是一个table符了,

最后形如
keywords6.$(file.patterns.cpp)=b B BIN bin BIT bit BIT0 bit0 BIT1 bit1 \
BOOl BOOL bool checkBit clBit CLOSE close clrBits DISABLE ENABLE \
enBit ERROR ErrorStatus FALSE getBit holdBit OPEN open p16 p32 \
p8 RESET s16 S16_MAX S16_MIN s32 S32_MAX S32_MIN s8 S8_MAX \
S8_MIN sc16 sc32 sc8 SET setBits START start STOP stop \
SUCCESS TRUE u16 U16_MAX u32 U32_MAX u8 U8_MAX uc16 uc32 \
uc8 vs16 vs32 vs8 vsc16 vsc32 vsc8 vu16 vu32 vu8 \
vuc16 vuc32 vuc8 main



以上说起来很多,操作就一会会, 当然关键字少的话直接添加就行了 ,

如果有自定义关键字有20个以上,我觉得用这个方法还是挺好的,

我这里用Excel转换的,如果大家有什么好方法,别忘了分享一下.

====================
效果


关键字:stm32  关键字  MDK3.8  MDK4.70A 引用地址:stm32笔记: 将用户自定义关键字从MDK3.8 搬到 MDK4.70A

上一篇:stm32笔记:按键输入(精简版)
下一篇:stm32笔记:点亮一个led (精简版)

推荐阅读最新更新时间:2024-03-16 15:33

STM32笔记--SDIO(SD卡读取)
学习这里首先要了解一下SD卡基本资料: SD卡的协议部分太多,也比较复杂,建议资料:《Simplified_Physical_Layer_Spec.pdf》其主要复杂在繁多的命令,一共有64个命令,各个命令代表什么可查资料。 关于这里大部分都是熟悉函数然后直接调用库就行,但还是需要每个函数都去读一下的,后面会有具体函数的使用实例,到时候再补充。 我们代码中一般用到的是ARM官方给的SD卡的库,但是库中存在问题,SD_Error SD_ReadBlock()缺少代码:(有标注,可直接替换) SD_Error SD_ReadBlock(uint8_t *readbuff, uint32_t R
[单片机]
<font color='red'>STM32</font>笔记--SDIO(SD卡读取)
【开篇】&【STM32】点亮LED
一、开篇作序 其实本人去年(2019年)就开始学习32了,CSDN也早就用了,一直没有写博客的想法。今年寒假就试着写写,虽然之前没写过,但是想努力写好吧。之前没有写博客的习惯。 但是我感觉有一个这样的习惯挺好的,若干年后,当自己再回头看这些文字时,可能不经意间会感受到当时自己的心路历程,回味着那年今日的自己,怀揣着未来的梦想,践行着对自己的承诺! 在CSDN上以此序作为开篇,序很短,不过
[单片机]
【开篇】&【<font color='red'>STM32</font>】点亮LED
使用stm32的HAL库完成pwm输入模式测量频率和占空比的详细教程
STM32定时器具有PWM的输入捕获模式。 PWM输入捕获是定时器输入捕获的一个特例,单通道的输入捕获只能获取波形的频率,但是PWM输入捕获可以获取到频率和占空比,对应的高低电平宽度也就能获取到。 它的时序如下图所示: 使用cubemx配置方法: 就是使用TIM2的ch1和ch2来捕获一个pwm信号。 这里只测试了update event,我测试55khz使用该分频与计数值可以正常工作,不过第一次捕获的数据是随机数,需要丢弃。另外这里分频值我改成89的时候不太正常,捕获到的占空比出现错误,更改为0之后正常。这里需要注意的是F429的TIM2是在APB1下,时钟频率90Mhz。而TIM1/TIM8则是在AP
[单片机]
使用<font color='red'>stm32</font>的HAL库完成pwm输入模式测量频率和占空比的详细教程
网络通信之UIP在STM32上的移植
1、什么是UIP协议栈: UIP是一种适用于小型嵌入式通信的TCP/IP协议栈,由瑞典计算机科学院的人开发编写的,它去掉了完整的TCP/IP中不常用的功能,简化了通讯过程,但其保留了网络通信中必须使用的协议,把设计重点放在IP、TCP和ARP协议的实现上。简单易用、占用资源少是它的设计特点。 2、协议栈接口 UIP协议栈通过一系列接口函数与底层函数和上层应用程序通信,在两者之中,UIP接口函数处于中间。 其中UIP提供两个个接口函数给底层系统。分别是 (1)uip_input() 当网卡驱动收到一个输入包时,将放入全局缓冲区uip_buf中,包的大小由全局变量uip_len约束。同时将调用 uip_input() 函数,这个函
[单片机]
网络通信之UIP在<font color='red'>STM32</font>上的移植
使用gcc编译STM32遇到的问题
1.针对IAR编译器和arm-none-eabi-gcc编译器,他们处理结构体内存对齐的方法是不同的。 对于IAR,取消结构体内存对齐优化是用__packed typedef __packed struct { int16_t x_to_center_mm; int16_t y_to_center_mm; int16_t z_to_center_mm; int16_t anti_clockwise_angle_to_center_degree; }base_pos_t; typedef struct { int16_t x_to_center_mm; int16_t y_to_center_mm
[单片机]
基于stm32通用定时器设置的学习心得
stm32 单片机的定时器资源相当丰富,它的定时器分为高级控制定时器、通用定时器和基本定时器,具体这些定时器资源在哪个系列的片子有就得看不同的片子的手册了。他们具体有什么区别,我也是刚接触这个,看他的数据手册介绍也是茫然,主要是刚开始摸,那些功能都没用到,反正用做定时作用的话哪种定时器都行。在这我就把我自己配置通用定时器的方法及心得简短做个总结,以防以后忘记了。我配置的是定时器2(TIM2)。 通用 定时器 的时钟可来自于外部或内部,选用默认即是采用内部的。通用定时器的时钟来源为APB1总线,所以首先,得将APB1外设时钟打开。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENAB
[单片机]
基于<font color='red'>stm32</font>通用定时器设置的学习心得
STM32的位操作和跑马灯实验
位操作代码在 sys.h 文件中,实现对 STM32 各个 IO 口的位操作,包括读入和输出。当然在这些函数调用之前,必须先进行 IO 口时钟的使能和 IO 口功能定义。 一。位带操作的原理 把一个位膨胀为一个32位的地址,如果要写这个位为1,只需要往这个地址写1. 二。哪些区域支持位带操作? 例如一个SRAM的区域 0x20000000上有32位,每一位都可以映射成一个地址,如果想往哪一位写1,只需要往这一位映射的地址写1.从而达到操作位的目的。 三。位带操作的优越性 不用位带操作的话,要把bit2置1,要先读取0x20000000的值,然后把bit2置1,然后再把寄存器的值写回0x2000000
[单片机]
<font color='red'>STM32</font>的位操作和跑马灯实验
STM32开发板例程讲解之二:GPIO的描述和配置
上一讲创建了一个stm32工程,从本讲开始将深入stm32内核与外设讲解。 首先介绍stm32的GPIO,这是入门的起点,也是最容易上手的部分。 一、GPIO的综合描述 stm32每一个GPIO端口拥有2个32bits的configuration寄存器(GPIOx_CRL,GPIOx_CRH),2个32bits的数据寄存器(GPIOx_IDR,GPIOx_ODR),1个32bits的set/reset寄存器(GPIOx_BSRR),1个16bits的reset寄存器(GPIOx_BRR)和1个32bits的Lock寄存器(GPIOx_LCKR)。 (一)每一个IO引脚都可以使用软件配置为以下几种模
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved