公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

Infineon XMC2GO-IAR开发

Infineon XMC2GO-IAR开发

混森蓝兽
Level 2
Level 2
50 comments on blog 25 comments on blog 10 comments on blog

关于上一个帖子出厂例程的问题,最终还是被我找到了。例程在keil官网中的cmsis pack文件之中,进去keil官网,找到Infineon XMC1100-Q024x0064对应的Device Family Pack DFP文件下载下来即可:

1.cmsispack.png

解压下载的文件(Infineon.XMC1000_DFP.2.9.0.pack),即可在InfineonXMC1000_DFP2.9.0Documents目录中找到名为XMC_2Go_Initial_Start.zip的文件,这个就是XMC2GO出厂的工程文件了,基于DAVE开发平台的工程,解压导入即可。

2.start.png

************************************分界线*******************************************


官方提供的基础固件库名为XMC Peripheral Library,里面有单片机各种片上外设的基础驱动程序,方便用户使用。XMC Peripheral Library支持多种编译器,例如官方DAVE1里使用的gcc编译器。同时,XMC Peripheral Library也可以在keil和iar上面使用(两者的启动文件有区别)。

3.XMClib.png

习惯上,我会更偏向于IAR开发,所以我使用官方提供的XMC Peripheral Library建立IAR工程。keil当然也可以,而且keil可能会更方便,keil的cmsis pack里面以及带有的xmc1100的工程了,也是相当方便的。IAR工程如何建立这里就不赘述了,主要需要注意的就是工程的.s启动文件了,这个文件可以在前面提到的(Infineon.XMC1000_DFP.2.9.0.pack)文件中获取。

4.iar.png

工程是基于出厂的例程改的,主要实现功能是MCU按照一定的频率,使两颗led交换闪烁,串口输出字符串,编译下载,打开串口工具,即可看到输出log:

5.uart log.png

查看IAR编译之后生成的.map文件可知,程序所占的flash大小为2077 bytes,差不多2KB左右的大小了,只是简单的小例程而已,貌似占用的资源有点大。研究一下,主要的原因应该在于工程包含了GPIO.h这个文件。在.h里面定义了许多函数,它将MCU的每个IO pin都作为了一个对象,并创建了许多方法,相当庞大的工作了,不过这样操作GPIO确实简单了很多。

在IAR工程之中,每个芯片开发商都会针对每款芯片来编写一个.icf文件,就是传说中的链接文件。对于基本的应用,这个.icf文件足以满足你的工程需要。但有时也会需要改动,比如当你的项目要添加外部RAM时就要修改一下icf。那.icf到底干了啥呢?下回再说。


IAR工程附件:论坛无法上传?

0 点赞
1822 次查看
4 评论