昨天去了青岛的新唐研讨会,送了两块板子,回来后实践,按照默认进行按照。进入到隐藏超级无敌深的目录后正常编译运行,于是将该目录拷出来放到我的一个文件夹下,打算以此工程作为最小工程模板(个人比较懒),重新编译,发现有错误(如图一示),知道是路径设置问题,于是将所有路径手动修改为绝对路径,依然无法编译,查看err发现:Error:C3472E,于是查找keil的C3472E错误,也没怎么看明白,貌似是说不能将.c和.cpp的混合编译??(个人英文很差),感兴趣的见http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0282b/Cchbggjb.html。
看到CMSIS,于是查找CMSIS是什么东东,发现还真是不错,ARM的为方便移植做的一个统一接口吧,于是在本坛中搜了下,发现已经有大哥上传了,见
http://bbs.**/viewthread.php?tid=103433&highlight=CMSIS
不知道为什么,好像没多少人关心这个,谈这个的也不多,坛中作8962的很多,做stm32的也很多,基于库操作的(非直接操作寄存器)应该都是基于CMSIS库的吧??那么我想我们应该多讨论些关于它的接口定义,这样就更加方便了,因为与平台无关,比如操作一个中断,void GPIOE_Handler (void) ,M3的是这样的定义,而对于M0也是这样的吧??(个人理解)。
却是好东西!希望大家多讨论些CMSIS吧。
继续我的问题,后来发现路径包含是:BSP Library,猛一看没什么,再一看,妈的居然里面BSP与library间有空格。于是将直接将里面的内容全拷出来删掉BSP library目录,重新修改,问题解决。想想以前做8962的时候,也遇到过这样的问题,那时因为比较急,于是就直接在那个深深的路径里用那个例程来做了。不过不知道为什么新唐的安装包里面的默认路径中带空格。
总算迈出第一步啦!!
剩下的,我觉得与其说学习新唐M0,倒不如说 学习 CMSIS 接口规范了。 |