7881|5

1305

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

R7F0C80212套件试用之开发环境搭建2---代码自动生成工具code generator [复制链接]

本帖最后由 yang_alex 于 2014-9-8 08:05 编辑

R7F0C80212套件试用之开发环境搭建2---代码自动生成工具code generator


    我看过好几家嵌入式处理器厂家的自动代码生成工具,其实所谓的自动代码生成工具主要还是根据开发工程师的需要,通过图形化的输入界面,裁剪和配置厂家已经编写好的外设驱动代码,来减少开发工程师在外设驱动工作上投入的工作量和开发难度。

    CubeSuite+中也提供了自动代码生成工具,而且是通过插件的形式提供的,所以,我们要想使用CubeSuite+中的自动代码生成工具,就必须在 ubeSuite+中打开相应的插件。

    CubeSuite+中打开自动代码生成工具插件的方法是:
1、选择主菜单中"TOOL"下的"Plug-in Setting..."


2、在弹出的"Plug-in Manager"对话框中选择“Additional Function"标签,在这里我们可以看到有许多可以选择的插件。关于自动代码生成工具插件,我们选"Code Generator2 Plug-in"。实际上还有一个"Code Generator Plug-in",有兴趣的网友可以试试,看看两者有什么区别。


3、选择"OK"按钮后会弹出对话框提示重启CubeSuite+软件以便使选中的插件生效。不重启是不会生效的。


   好了,我们接下来通过一个闪灯的例子看看CubeSuite+中的自动代码生成工具插件怎么使用吧。
1、我们需要创建一个新项目:


2、在弹出的对话框中选择我们项目中使用的MCU型号、项目类型、项目名称、项目保存位置。最后选择"Create"来生成代码。


3、打开生成的项目,我们可以看到,此时比不使用自动代码生成工具插件生成的项目在"Project Tree"下多了"Code  Generator(Design Tool)"。"Code Generator(Design Tool)"下面有两个目录夹,一个是"Peripheral Function",另一个是"Code Preview"。前面那个是MCU上的各个外设模块的功能配置,后面那个是厂家已经编写好的外设驱动代码。


4、我们双击"Peripheral Function",界面右框变为:


在"Pin assignment"标签里是引脚重定向选择,简单地说就是一个功能引脚可以从MCU多个PIN引出,在这个选项里定义从哪个PIN引出。在我们这个闪灯的例子里使用缺省的即可(不再做选择)。然后点击上面的"Fix settings"按钮。切记点这个按钮。


5、选择"Clock setting"标签,这里是设置MCU工作电压、相关时钟频率和复位引脚的地方。在闪灯的例子里保持缺省选项就可以了。



6、我们点击开Peripheral Function,可以看到下面有很多外设模块可选。闪灯的例子首先要有一个IO口驱动LED,因为评估板上是P04口连到一个LED,所以我们选"Port Function"下面的Port0,再在右框中把P04配置为out。


7、闪灯的例子还需要一个定时器来定时,所以我们还要选择"Timer Array Unit"下面的"Channel 0",并把它设置成中断定时器。如下图:


8、接下来我们选择标签"Channel 0",设置终端定时器时间500mS,并选择计数结束时产生中断:


9、成后点击上面的Generate Code,此时下面会提示创建文件成功。观察界面左框"File"目录夹下面生成了"Code Generator"目录夹,这个目录夹下包含了此次生成的代码。


10、我们闪灯的例子需要LED闪烁,所以我们需要在生成的定时中断中,让P04口定时产生翻转。自动生成的定时中断函数位于"Code Generator"目录夹下r_cg_tau_user.c文件中,我们需要在其中加入让P04口产生翻转的代码:

    if(P0.4 == 0)
    {
            P0.4 = 1;
    }
    else
    {
            P0.4 = 0;
    }


在函数void R_MAIN_UserInit(void)中增加R_PORT_Create();和 R_TAU0_Create();

11、生成的主程序框架在"Code Generator"目录夹下r_cg_main.c文件中。在我们闪灯的例子的主程序框架中需要通过调用自动生成的函数R_TAU0_Channel0_Start()启动定时器,R_TAU0_Channel0_Start()函数是在自动生成的r_cg_tau.c文件中定义的。


12、按保存所有文件的按钮保存文件。至此所有代码完成,选择编译。




编译成功:


下一节介绍如何用CubeSuite+中提供的软件仿真来验证代码功能。



最新回复

nmg
看看这本《瑞萨电子低功耗MCU实战手册》 https://download.eeworld.com.cn/detail/nmg/555320 集合了社区2届瑞萨电子MCU大赛的优秀作品和心得分享  详情 回复 发表于 2016-2-18 09:44
点赞 关注(1)

回复
举报

14

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
瑞萨的单片机怎么玩啊

点评

坛子里有很多关于瑞萨单片机的文章,楼主可以挑选入门的文章看看  详情 回复 发表于 2016-2-17 09:02
 
 

回复

2万

帖子

74

TA的资源

管理员

板凳
 
wobushisb 发表于 2016-2-17 08:54
瑞萨的单片机怎么玩啊

坛子里有很多关于瑞萨单片机的文章,楼上可以挑选入门的文章看看
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

4
 
soso 发表于 2016-2-17 09:02
坛子里有很多关于瑞萨单片机的文章,楼上可以挑选入门的文章看看

PM+和SM+哪里下载啊

点评

PM+和SM+是原NEC的软件,到瑞萨的官网看看还有没有链接,不行的话,就找找之前的光盘吧。  详情 回复 发表于 2016-2-18 23:34
nmg
看看这本《瑞萨电子低功耗MCU实战手册》 https://download.eeworld.com.cn/detail/nmg/555320 集合了社区2届瑞萨电子MCU大赛的优秀作品和心得分享  详情 回复 发表于 2016-2-18 09:44
 
 
 

回复

5263

帖子

239

TA的资源

管理员

5
 
wobushisb 发表于 2016-2-17 15:31
PM+和SM+哪里下载啊

看看这本《瑞萨电子低功耗MCU实战手册》
https://download.eeworld.com.cn/detail/nmg/555320

集合了社区2届瑞萨电子MCU大赛的优秀作品和心得分享
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

1305

帖子

0

TA的资源

纯净的硅(高级)

6
 
wobushisb 发表于 2016-2-17 15:31
PM+和SM+哪里下载啊


PM+和SM+是原NEC的软件,到瑞萨的官网看看还有没有链接,不行的话,就找找之前的光盘吧。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表