arm架构的芯片(如stm32)开发工具为mdk,而C51的开发工具为C51,这两种开发工具在安装时都会自带一个keil编译器的安装。而这也导致了一些麻烦:打开两种不同芯片的工程时打开的编译器不是同一个。如果你在stm32的keil编译器里面的环境配置好了一些炫酷的字体或背景颜色,在C51打开的另一个编译器中是不会生效的,而且,系统还多安装了一个没有用的编译器。接下来,介绍可以将arm(stm32)开发环境与C51开发环境进行集成的方法。
一,安装mdk(记得以管理员身份运行),默认已经激活
二,安装C51(管理员身份运行),默认已经激活
三,安装C51时会出现询问你是否要替换一些东西的情况,这是由于你前面安装了mdk里面自带一个keil,然后你再安装C51,又会给你带一个keil,就会出现这样的情况,我们直接skip就好
三
四,安装完成后,你会发现你的安装目录下有MDK与C51两个文件夹(他们一定要在同一个目录下,不然后面激活C51的时候就会提示没有安装工具链)
五,安装芯片包
每一款芯片可以运行相应的程序,都需要PACK包的支持,以stm32f103c8t6为例,你需要安装stmf1系列的芯片包,编译才能通过。这里我安装的是MM32F5270的芯片包
不安装适合的芯片包的话,打开工程的界面如下
安装好了芯片包后,程序就可以正确编译了(C51的芯片包不用单独安装,它自带了)。
六、新建一个C51的工程测试两个环境是否成功融合(点击 project 选项卡下的new project,按照图示选择好芯片)
七、在新建的工程的文件夹下创建一个test.c文件,并将改文件加入到工程中(点击那个红绿灰相间的按钮)
八,编写程序并编译测试(你们还可以将以前的stm32工程也运行编译一下看看是否也能成功,并且打开的是同一个编译器)
至此,arm架构的芯片与C51架构的芯片的开发环境集成完毕
续言:关于编译或烧录时出现找不到内核的现象。这是由于算法文件错误导致的,你需要为keil添加合适的算法文件(特别注意同一款芯片容量不同,算法文件也会不一样,需要去网上找到你哪一款芯片对应的容量大小(大,中,小))
一,算法文件添加
魔术棒--->debug选项卡---->右侧的setting----->Flashdownload--->add,你会发现找不到你要的那个算法文件,以stm32F103c8t6为例,应该是一个128k的FLM文件
二,如何找到算法文件
算法文件在你的Pack芯片包的安装目录下面,如果你忘记了的话,你可以再双击一下你安装那个PACK芯片包,上面有提示。但是找到该路径还不够,你需要找到它下面的以FLM结尾的文件(不同芯片的位置会有变化),并将他们贴到keil可以识别的路径下面去 。
三、找到keil可以识别的路径
你可以到如下位置:魔术棒--->debug选项卡---->右侧的setting----->Flashdownload--->add,看看里面有些什么文件,之后在keil的安装目录下查找其中的一个,看看它的位置,你就可以判断出哪里是keil可以识别的位置了。
最后将你芯片包里面合适的FLM文件(建议全贴过去,我这这里的芯片包的FLM文件有如上图所示的三个,我的芯片不是stm32),粘贴到它可以识别的那个目录下即可。然后重新编译烧录,故障解决。(你需要的FLM文件一定是在PACK芯片包的安装路径下的,只是它现在的位置不对,keil识别不到,你找到它后,更改它的位置即可)
文章来源地址https://www.toymoban.com/news/detail-804116.html文章来源:https://www.toymoban.com/news/detail-804116.html
到了这里,关于让ARM与C51共用一个keil开发环境并解决Flash download failed -cortex-M3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!