英飞凌DAVE4软件使用教程---以XMC4800为例

 时间:2024-10-21 06:31:54

1、首先,DAVE是基于Eclipse平台的,因此代码提示肯定是具备的,为了避免代码提示的快捷键冲突(一般会和输入法冲突),需要修改成适合自己的组合键方式,比如这里设置成Ctrl+H作为Content Asisit功能的快捷键

英飞凌DAVE4软件使用教程---以XMC4800为例

2、 在DAVE软件上的编程,通常只要将需要的模块(我们称为DAVE APPs)拖到工程中来,然后进行一系列图形化的配置界面后,可以自动生成源代码库供开发者进行上层逻辑的开发。2. DAVE软件使用的编译链工具为GCC ARM

英飞凌DAVE4软件使用教程---以XMC4800为例

3、 这里新建一个名字叫做Blinky的DAVE CE(Code Engine)工程,选择好器件为XMC48002. 新建的工程目录包括有DAVE(将来会从DAVE APPs中自动产生源码库放到这个文件夹中);Library(存放CMSIS底层库,XMC的标准外设库等);Startup(存放系统的启动源码,包括中断向量表,上电后的时钟初始化,最后跳转到main函数执行);main.c中就是用户会手动去实现的逻辑代码;linker_script.ld是链接脚本文件

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

4、 为了大致了解程序上电后的执行顺序,应该去查看链接脚本文件,这个文件由DAVE软件根据新建工程的配置自动生成。2.ENTRY(Reset_Handler),这漉胜衲仰表示整个可执行程序的入口就是Reset_Handler函数,即系统复位向量3. 如果程序中没有另外宏定义stack_size的大小,那么默认stack_size(栈)的大小为2K字节4. MEMORY字段定义了MCU的存储空间地址划分,如果不放心可以根据数据手册的memory map章节对照着检查一下5. 再往下看,就是对程序中各个段的在MCU存储器中的排放位置的安排,可以看到Flash中安放了.reset段,.text段,.init段等常见的段,还存放了.eh_frame_hdr,.eh_frame等以太网相关的段还有一些别的自定义的段6. 接下里就是对SRAM的分配了,排在最前面的自然就是栈,在栈的结束地址处给变量__initial_sp赋值当前地址(该变量定义在startup_XMC4800.S中),将来赋给sp指针,作为栈顶指针。

英飞凌DAVE4软件使用教程---以XMC4800为例

5、私网褡爸整个可执行文件的代码段最开始是.reset段,它位于startup_XMC4800.S文件中,开头部分丬涪斟享正是中断向量表,2个字节对齐,最前面的自然是复位向量Reset_Handler2.Reset_Handler函数的定义在中断向量表的下面,它使用thumb2指令集编译,这个函数的主要作用是赋值sp指针,这样后面就可以运行C语言的代码了3. 接着会调用C语言编写的函数SystemInit,它位于startup_XMC4800.c文件中,前面的__WEAK表示,用户可以自己也写一个同名的函数,然后编译器会优先选择你自己写的那个,如果你没有写,那就默认选择这个了,有点重载的意思4.SystemInit函数返回后还是在startup_XMC4800.S中,接下来是数据段.data的初始化,即将数据段的内容从flash中搬到ram中5. 接下来是初始化.bss段,统统清零,这是为了保证C语言中初始化的任何变量默认值为06. 最后将跳转到main函数,从此程序正式完成了loader的功能

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

6、分析一下,在调用main函数之前,System诔罨租磊Init函数做了哪些事情。1. 我们已经安排好了中断向量在内存中的位置,但是CPU还不知道,因此需要告滴楔孜垭诉CPU,这叫中断向量重定位2. 重定位中断向量之后,使用函数__enable_irq();开启全局中断3. 接下来就是判断是否开启VFP浮点运算协处理器,XMC4800是含有FPU的,在XMC4800.h中已经预先定义好了#define __FPU_PRESENT 1 4. 但是新建的工程默认并没有在代码中使用它,为了以后编程的方便,我们在这一并开启。为了开启浮点运算单元,需要打开宏定义__FPU_USED,从core_cm4.h文件中可以看到,只需要打开__VFP_FP_这个宏就可以打开__FPU_USED,我们需要修改工程配置,加入__VFP_FP_这个宏定义5. 接下来配置Flash的访问周期为4个周期6. 以上是SystemCoreSetup函数的分析,主要是完成了系统内核相关的极其重要的几个参数的配置7. 接下来是SystemCoreClockSetup函数的调用,就完成了一件事情,时钟初始化,过程没有必要去深入分析,最终结果见图中所示

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

7、下面演示如何在此基础上添加DAVE APPs,并且用两种方式实现闪烁灯。1. 在APP Dependency Tree那选择Add New App2. 在弹出页面的Search filter中输入PWM,选择PWM模块,然后单击Add3. 以同样的方式添加DIGITAL_IO模块和 Interrupt模块4. 完了以后,APP Dependency窗口中应该会显示已经添加的APP与他们之间的联系5. 为了方便记忆,一般需要修改APP的默认名字,在APP模块上右击选择Rename Instance Label

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

8、这里开始对选择的模块旅邯佤践进行配置1. 双击DIGITAL_IO模块,将Pin direction修改为Input/Output2. 双击Interrupt模块,选中Enable interrupt at initialization,可以进一步设置该中断的优先级,修改默认的中断处理函数名3. 双击PWM模块,在General Settings中选择定时器模块为CCU4,设置的PWM频率为1Hz,占空比为50%;在Event Settings中选中Compare Match作为中断信号源,Pin Settings选项卡暂不修改

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

9、有了中断信号产生源后,需要将将该信号连接至指定的信号就收模块中,点击HW Signal Connection按钮,进入信号连接页面,这里讲PWM的compare match信号连接至中断模块的sr_irq中。完成这一步后,HW Signal Connectivity页面中能够看到模块之间有了连接关系

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

10、这一步需要配置硬件引脚信息。在需要连接硬件引脚的APP上右键选择Mannual Pin Allocator,然后选择具体的Pin Number后点击Save

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

11、这样就完成了APP的所有配置,点击工具栏的Generate Code按钮,DAVE软件会自动根据APP的配置信息,生成相应的源码库,在Dave下的Generated文件夹下能够看到这些源码

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例

12、下面开始添加自己的代码。1. 在系统初始化后启动PWM模块的工作2. 在main.c文件中增加PWM_Event_Handler的中断处理函数

英飞凌DAVE4软件使用教程---以XMC4800为例

13、 编译整个工程,生成二进制文件2. 用USB线连接好XMC4800 Relax Kit和电脑,点击Debug按钮,开下将程序下载到XMC4800芯片中,并且DAVE软件调出Debug调试界面。调试器选择SEGGER J-LINK,这是板载的一个Jlink仿真器3. 然后点击全速运行,查看执行现象4. 可以拿到,板子上的LED4每秒闪烁一次,这是由于PWM的频率为1Hz,即500ms灯亮,500ms灯灭。而LED2每2秒闪烁一次,这是由中断程序决定的

英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
英飞凌DAVE4软件使用教程---以XMC4800为例
  • 检测不到硬盘怎么办
  • Symbol条码扫描器如何恢复出厂设置?
  • windows屏蔽硬盘分散坏道方法
  • 西门子SIMATIC ET200S IM 151-7 CPU接口模块说明书:[2]
  • Win7开机显示无法加载登陆用户界面怎么办
  • 热门搜索
    普通话的手抄报 传统文化手抄报内容 文学手抄报 爱劳动手抄报简单漂亮 初中生手抄报 歌颂祖国手抄报 植树造林手抄报 植树节手抄报一等奖 我和祖国共成长手抄报 改革开放40周年手抄报