电子说
我是一个追新强迫症的人,每次看到软件更新,都要去升级,不然浑身不自在,这次败在这个症上了。 用最新版的Keil for ARM 5.33版本做407开发板的开发,自己创建的工程怎么都没法正常编译,不是有错就有几十个警告。
按照我对这个软件的了解,以及我个人编程的能力来看,不应该有问题啊。终于最后发现这是软件自身BUG造成的。
本帖将该重大发现分享给大家,并分享给大家如何利用Keil那个工程向导配置工具创建新的项目工程文件。
言归正传,干什么事都要先开机启动这个软件。
1、启动软件、Project-》New Project,进入创建工程向导,并设置工程名字保存
注意事项:建议工程路径与工程名字全部用ASCII字符,不要出现中文路径或者全角字符,最好只有字母、数字、下划线。
2、在设备选型列表找到你要的设备,比如AT32F407VGT7
注意:这一步当然要先安装好官方提供的pack支持包,不然你的Keil里是找不到你要用的那个芯片型号的。
本帖用到的AT32F4系列pack下载地址
http://www.arterytek.com/downloa 。.. 2F4xx_CH_V1.3.5.zip
单击OK,进入下一步,管理RT环境,选择软件组件。这个界面很多人没看到过吧,很少有人用这个,搜索网上帖子里也没看到有人用这个,其实会用的话很方便。
选择CMSIS里的CORE,Device里的Startup、System_AT32Fxx
以及根据需要选择标准外设驱动,比如GPIO,……
根据需要选择外设库文件,也可以全选,只不过编译速度会慢一下,用到哪些外设就选择哪些会比较快一下。
如果嫌麻烦的,可以全选外设库的外设。
然后单击OK
工程基础建立完成,添加用户函数,比如随便写个main.c
添加进去
跟自己建立的工程目录是不同的,看着很多人可能不习惯,看多了就习惯了。
编译……等待几秒就搞定了,然而……
见鬼,怎么这么多错误和警告,吓死人了。这是为什么呢?
之前我遇到这个问题,搞了很久只能解决掉报错,但是警告没法搞定,总是说有类型转换的警告或者某个寄存器找不到定义的警告。这个问题困扰了我两天,终于解决了。
不要怕,进入工程配置,修改编译器版本由6修改成5,里面有多个版本,可以选择,6太新了,有BUG。
再次编译,奇迹出现了,0错误0警告。
这时候将编译器版本再修改成默认6,也没错误和警告了,真是奇了怪了。
上一步中选择AC编译器的选项一共有4个选项,我猜啊,实际上只有2个,不知道我的理解是否正确。
最后添加代码完成一个简单的Blink程序。这个时候就可以通过查找外设的头文件和函数原型了解外设库的用法了,编译一遍后还可以定位原型,这样就方便查找函数和变量了。
网友muyichuan2012表示,这里也遇到类似AC6问题,AC6有很多版本,AC6.14、AC6.15等等,其中AC6.14.1建议大家最好不用使用,问题较多。
原文标题:KEIL for ARM 5.33最新版无法正常编译,该如何解决?
文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !