本帖最后由 hhr1017 于 2018-11-25 17:30 编辑
在我折腾了好久之后终于成功改好了固件,搭建好了IAR开发环境,下载了第一个代码。中间踩了好几个坑,给大家分享一下。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
首先是用LPCScrypt 将原本的LPCLink固件更改为Jlink或者CMSIS DAP,这里具体操作细节就不过多赘诉了,请参考其他人的分享,他们都写的很好了。但是这里有个细节要注意一下
请务必将LPCScrypt安装到C盘 大家就不要像我一样自作聪明改一下安装路径,导致弄了一天死活连接不上。
改好固件之后,我就开始搭建环境了,我看大家都用Keil来开发,但是我平时喜欢用IAR,所以就用IAR吧
先建好工程目录,把官方提供的库里的相应文件复制过来,在IAR中新建一个工程,然后在工程树里添加chip、board、startup三个子目录,并把刚才复制的库文件添加到相应的子目录里。 然后我们开始配置工程,在工程名上右键,然后选择Options... 第一步选择我们使用的芯片,具体路径为General Options->Target->Device->NXP->LPC->LPC11U00->NXP LPC11U68JBD100 第二步设置编译器预处理,具体路径为C/C++ Compiler->Preprocessor。这里需要将有用的.h文件的路径包含进来,这里有个小提示,在编辑路径的框边上有个向下的小三角,点开可以切换绝对路径和相对路径。然后在Defined symbols里填上CORE_M0PLUS,也就是我们LPC11u68的内核型号。 第三步就是设置我们的调试器了,这一步很简单,你用的什么调试器就选什么,我这里用的CMSIS DAP ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当我满怀希望开始编译时,报错了!!!这是编译官方库文件呀,咋还有错呢。仔细一查是“retarget.h”159行的 _STD_BEGIN报错,未定义!然后我就陷入折磨中了,尝试用IAR编译demo发现报错一样,但是用Keil编译就没问题(难道这就是大家用keil的原因吗),网上找了半天也没搞清楚 _STD_BEGIN的定义是啥,也不知道是干嘛用的。最后只能索性注释掉 _STD_BEGIN 和 _STD_END。终于可以编译通过了,然后稍微写了几行代码点个灯试试。终于把这条路走通了,很艰辛,但是也很值。 接下来可以开始进一步对LPC11u68进行探索了~~~~~~~ 最后把我配置好的工程发上来。
LPC11U68.zip
(5.89 MB, 下载次数: 24)
|