关于keil5-MDK

关于keil5-MDK,第1张

你好我非专业人员,如何让Keil5可以打开Keil4的Project

相信初次使用Keil MDK Version 5的人会发现,以前用Keil4建立的项目打不开了,本经验介绍如何让Keil5可以打开Keil4的项目。

工具/原料

Keil5 MDK Core,MDK v4 Legacy Support

方法/步骤

首先是到Keil官网下载最新版本的MDK Core;

接着安装MDK Core,按照默认安装就可以;

在MDK Core安装完成后, Pack Installer会自动运行, 它允许用户添加Software Packs 接着你可以安装Software Pack去支持你的MCU device 在Devices选项卡选择你要用的microcontroller 然后在Packs选项卡点击Install按钮安装相应的Device Family Pack (DFP):

最后,安装MDK v4 Legacy Support,就可以在Keil5中支持Keil4的项目。

注意事项

Keil5编译器好像不支持中文路径,编译时产生的临时文件暂存在用户变量Tmp中,所以如果你的用户名是中文,编译时就会出错。解决方法是将keil安装在一个英文用户上。

之前用的一直是 MDK 423,后来升级成MDK 460,编译连接的时候就总是出现“ArmCCexe 停止工作”这个错误,然后只能关闭程序。后来在一个论坛上查到要把计算机用户名改成英文的,照这个方法改了后也不行,因为我发现C盘“用户”这个文件夹里面还是原来的中文名,经过几番挣扎,终于发现了解决方法:

1、先把MDK 460卸载,右击“计算机”,选择“管理”,点击里面的“本地用户和组”,然后把现在已经登陆了的计算机名改成英文的,修改之后注销,换成“Administor”重新登录。

2、换成“Administor”登陆过后,进入到电脑C盘-》“用户”,把之前登陆的那个账户的文件夹名重命名为相应的英文,并进入注册表里面把相应的中文也改成相应的英文,改好之后注销,换成原来的英文用户名登录。

3、弄好之后再重新装上MDK 460,破解之后就可以用了。

您问的是:mdk514exe解压后打不开的解决方法。解决方法如下:

1、确认您的系统是否满足该软件的要求,例如 *** 作系统版本和硬件配置等。

2、确认您已经正确地解压了mdk514exe文件,并且解压后的文件没有被损坏。

3、尝试以管理员身份运行该软件,右键单击该软件的快捷方式,选择"以管理员身份运行"。

4、检查您的电脑是否有防病毒软件等安全软件,这些软件会阻止某些程序的运行,尝试暂时关闭这些软件后再次运行该软件。

MDK 软件中的器件支持包 (Pack) 是一种可重用的软件模块,它为用户提供了各种硬件平台、芯片型号、外设驱动等方面的支持。更具体地说,一个器件支持包通常包含如下组成部分:

1 设备描述文件 (Device Description File, ddf):包含了芯片的基本信息,比如内存大小、Flash 和 RAM 的地址范围、时钟频率等等。

2 外设驱动程序 (Driver),可支持多个开发工具的阵营:编写驱动程序是使用 MDK 软件的关键之一。因为该软件的驱动程序是建立在CMSIS模式之上的,因此可以利用该库轻松地实现基于某个特定器件的通用外设驱动。这种驱动程序是每个器件支持包中最重要的资源之一,并且为后来者包括服务器以及SPI、CAN、UART等常见外设提供了方便。

3 中间层库或应用程序软件 (Middleware):提供通用的标准库或其他外部组件,使用户可以轻松地实现各种功能,如文件系统、USB主机/从机设备、网络协议等等,当然了,仅限于您的CPU支持USB主机/从机设备的功能。

4 样例代码 (Examples):为用户提供了易于理解和跟踪的实验室作业,该实验是根据板卡而来的,每个人都可以自己快速复制,自己调整,自己封装的一个完美机会。

在以上四个主要组成部分之上,MDK 软件还提供了一些其他细节方面的支持,如工具流支持、在线技术支持、丰富的API文档和源代码示例等等。每个器件支持包中的文件夹也有不同的作用:

1 Documents 文件夹:包含器件支持包的 PDF 文件以及其他重要的文件,这些文件可以帮助用户了解芯片的详细信息,以及如何使用器件支持包中的资源。

2 Drivers 文件夹:包含一些需要连接到计算机的外围设备所需的驱动程序文件,例如JTAG引脚转换器,如果没有这些驱动程序,那么无法成功地使用软件进行调试。

3 Firmware 文件夹:包含一些可以直接烧录到芯片内部的固件文件,这些固件文件包含了一些预定义的外设设置,比如系统时钟频率、UART 端口配置等等,方便用户进行快速原型测试。

4 Source/Demo 文件夹:包含一些演示程序,这些程序可以让用户更深入地了解如何使用特定的外设,同时也可以作为参考代码,以便用户自己编写自己的应用程序。

5 Inc/Lib 文件夹:包含一些头文件和库文件,这些文件是用户编写自己的应用程序所需的必要环节。Inc 文件夹中的头文件包含了外设寄存器的地址声明和相关函数的原型声明,而 Lib 文件夹中的库文件包含了针对特定的处理器和外设的函数实现。

按照板子说明书上的顺序一步步来。

可能是有两个原因:

1你只是告诉编译器用的是什么期间,但是没有在下载器里面设置,解决办法,按照说明书上的步骤,一步一步来,建立工程;

2你的CPU被锁死了,解决办法:用串口烧录器把里面的程序全部擦除。

在Keil uVision 5中,对于变量的断电上电不重置(non-volatile)可以使用Flash或EEPROM等不易失性存储器类型。

1 Flash存储器

可以通过在代码中指定变量的存储地址,如下所示:

```c

#pragma location=0x0800C000 // 定义变量存储位置为0x0800C000

__no_init uint32_t non_volatile_var; // 声明不初始化的变量

```

上述代码声明了一个名为`non_volatile_var`的uint32_t类型的变量,并将其存储在地址为0x0800C000的Flash存储器中。由于使用了`__no_init`关键字,因此该变量在程序运行时不会被自动初始化。

在使用该变量之前,需要读取其值,并进行初始化。如果要更新该变量的值,则需要使用Flash编程器将其擦除并重新写入新的值。

2 EEPROM 存储器

EEPROM是一种专门设计用于存储数据的存储器,其中的数据在断电后不会丢失。在Keil uVision 5中可以使用类似Flash存储器的方式访问EEPROM存储器。需要注意的是,不同芯片的EEPROM存储器具有不同的特性和接口,因此需根据具体芯片的手册来使用。

以下代码演示了如何在STM32F4芯片中使用EEPROM存储器:

```c

#include "stm32f4xxh"

#include "stm32f4xx_flashh"

#include "stm32f4xx_hal_flashh"

uint32_t FLASH_Read(uint32_t address) {

return ((uint32_t)address); // 将给定地址的内容作为uint32_t类型返回

}

void FLASH_Write(uint32_t address, uint32_t data) {

HAL_FLASH_Unlock(); // 先解锁Flash

FLASH_Erase_Sector(FLASH_SECTOR_7, VOLTAGE_RANGE_3); // 擦除Sector 7

HAL_FLASH_Program(TYPEPROGRAM_WORD, address, data); // 写入数据

HAL_FLASH_Lock(); // 锁定Flash

}

int main() {

uint32_t non_volatile_var = FLASH_Read(0x080FFFF0); // 从EEPROM中读取变量

if (non_volatile_var == 0xFFFFFFFF) { // 如果没有被初始化,就设置为默认值

non_volatile_var = 1234;

FLASH_Write(0x080FFFF0, non_volatile_var); // 将默认值写入EEPROM

}

// 使用non_volatile_var的值进行计算

return 0;

}

```

上述代码通过调用`FLASH_Read`和`FLASH_Write`函数从EEPROM中读取和写入非易失性变量。在使用EEPROM时,需要确定变量的存储地址和大小,并且需要使用专门的函数对其进行读写 *** 作。

以上就是关于关于keil5-MDK全部的内容,包括:关于keil5-MDK、求助,mdk编译总是出现ARMCC.EXE停止工作、mdk514.exe解压后打不开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9682442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存