欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程资源 > 编程问答 >内容正文

编程问答

spc5studio 入门 -尊龙游戏旗舰厅官网

发布时间:2024/10/14 编程问答 8 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 spc5studio 入门 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言:本教程使用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 /  * / ,即fmpll_clk = 8mhz /1*48/8 = 48mhz:

点击“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引脚的状态,结果与预期一致。

 

总结

以上是尊龙游戏旗舰厅官网为你收集整理的spc5studio 入门的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图