spc5studio 入门 -凯发k8官方网
前言:本教程使用spc5studio 5.8.1开发工具,创建一个附带freertos系统的初始工程。
点击ide左上角file -> new ->spc5 c/c application。
输入项目名称,选择保存的路径,点击next。
输入应用名称、版本以及应用描述,点击next。
选择自己的芯片信号,我使用的是"spc560bcxx platform component rla",点击finish。
至此一个新的spc project已创建在电脑上。
鼠标左击"spc560bcxx platform component rla",configuration里选择自己使用的芯片型号,ram、rom的大小,芯片引脚数都要对应自己使用的芯片。我选择的是" spc560b50l1 e200z0h 512k 32kram lqfp64"。
鼠标左击"spc560bcxx platform component rla",点击"add",添加一些驱动组件。
选择"spc560bcxx init package component rla",这个是必须添加的初始化包,点击"ok"。
完成以上操作之后,一些相关联的组件会被自动添加的项目里面。包括了clock component 时钟配置组件、irq copmonent中断配置组件、osal copmonent系统tick配置组件。
再鼠标右击"spc560bcxx platform component rla",点击"add",添加“底层外设驱动组件”和“freertos系统组件”。按着“ctrl”键,鼠标同时选择“spc5 freertos component rla”和“spc560bcxx low level drivers component rla”,然后点击“ok”添加。
至此,组件添加完成,接下来根据自己的需求,通过组件对工程进行配置。
点击“spc560bcxx clock component rla”,打开配置界面,首先关注initlization settings这里的四个选择,根据需求进行设置。:
在这个界面的下方是时钟调频的配置,我们可以不在这里进行配置,而是使用clock tree更为直观的进行配置。点击general,再点击spc560bcxx clock tree。
我使用了8mhz的外部晶振,然后通过pmpll产生48mhz的时钟作为系统时钟system clock, 双击蓝色框可以进入编辑,可参考下图进行配置:
其中fmfll双击之后配置如下,fmpll_clk = fxosc /
点击“spc560bcxx osal component rla”打开osal配置界面:
使用抢占式系统,使能system timer,system timer tick number的值可以理解为,在1s的时间内system timer irq中断触发的次数。
上面一段话的意思大概是,tick num的取值范围是受到系统频率(pit0)限制的;如果存在操作系统,那么这里设置的tick num将覆盖操作系统属性配置的tick rate的值(下面会提到);如果tick num设定的值接近其最大值,则系统无法正常工作,因为在完成一个tick中断处理之前可能会生成新的tick中断。
关于system timer irq priority中断优先级的配置,操作系统的调度维护是在该中断里面去处理,假设一个外设a中断的优先级比该中断的优先级高,那么当外设a中断发生时,就不会进行任务的切换。
点击“spc5 freertos component rla”打开“freertos”系统属性配置界面:
配置total heap size为11k。按照默认配置为32k的话会导致编译错误。
6.配置一个pin脚
打开pinmap editor界面,如图
鼠标右击选中一个pin脚(pa1),将其设置为普通输出io口模式,如图
点击确认之后会弹出以下界面,对pin脚进行命名,如图
点击ok,那么pa1脚的初始化代码就会自动生成,在main主函数里的componentsinit函数被调用里进行初始化。
7.创建一个任务
修改main.c文件,添加一个任务,每10ms翻转pa1引脚。
void cyclic10mstask( void *pvparameters) {while(1){siul_lld_togglepad(port_a,1);vtaskdelay(pdms_to_ticks(10));} } /** application entry point.*/ int main(void) {/* initialization of all the imported components in the order specified inthe application wizard. the function is generated automatically.*/componentsinit();xtaskcreate(cyclic10mstask,"cyclic10mstask",configminimal_stack_size,null,1,null);vtaskstartscheduler();/* application main loop.*/for ( ; ; ) {} }8.生成并编译代码
点击"generate spc5 application",自动生成组件代码,再点击编译。
编译通过。
烧录到板子上,用逻辑分析仪读取pa1引脚的状态,结果与预期一致。
总结
以上是凯发k8官方网为你收集整理的spc5studio 入门的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: