Applilet2 for V850ES/Fx3生成代码

笔者2011年毕业刚入门接触到的芯片有freescale的MC9S12系列, MPC5634, 及NEC的V850. 使用V850是做一个快速原型项目. 该项目的底层是在KPIT的Auto SAR 3.1版本上来集成开发, 笔者参与了所有底层驱动的开发, 接触了很多执行器驱动芯片、传感器等. 在这个项目上极大的提高了对驱动开发的认识, 特别有幸读到这么标准的、规范的、漂亮的代码, 对以后的代码开发也是一个榜样. 

本文是使用V850芯片的底层代码配置工具Applilet2来做一个经典的闪灯demo程序. 后续将使用KPIT的AutoSAR配置工具逐个介绍MCAL各模块的具体配置和工程实践.

——以LED闪灯程序为例:

创建工程

1. Applilet工具启动界面。

      Applilet2 for V850ES/Fx3生成代码_第1张图片

 

2. “FileàNew”创建新工程,如下图所示。

“Series Name” 选择“V850ES/FK3”,“Chip Name”选择“uPD70F3385”。单击“Next”继续。

Applilet2 for V850ES/Fx3生成代码_第2张图片

 

3. 编译器选择“GHS Compiler”。当然如果你用的其它的,你可以选择其他的。

Applilet2 for V850ES/Fx3生成代码_第3张图片

 

选择“GHS Compiler”后会直接生成一个Green Hill的工程。如果你选择“NEC Compiler”,生产的是PM+工程。

4. “Select RTOS” 不可选,直接“Next”。到“第5步:Confirmation”。单击“Finish”完成。

Applilet2 for V850ES/Fx3生成代码_第4张图片

 

5. 进入配置主界面。

Applilet2 for V850ES/Fx3生成代码_第5张图片

 

配置

1. 首先要配置时钟。简单配置一下时钟,“MainOSC clock”为8MHz,使用“PLL/SSCG模式”。

 

Applilet2 for V850ES/Fx3生成代码_第6张图片

Applilet2 for V850ES/Fx3生成代码_第7张图片

 

2. 看电路图知道LED1、LED2使用的是PCM2、PCM3脚(iSOFT板子,第一版)。所以配置PortCM。

Applilet2 for V850ES/Fx3生成代码_第8张图片

 

3. 配置完成后单击工具栏生成代码。

Applilet2 for V850ES/Fx3生成代码_第9张图片

 

单击Generate产生代码。

4. 修改代码,产生闪灯效果。

a. 修改产生的Port.c文件,添加如下内容。

/* Start adding user code. Do not edit comment generated here */
void Delay_10ms()
{
    UINT i,j;
    for(i = 0; i < 2000; i++)
    {
	for(j = 0; j< 27; j++);
    }
}

void led_flicker()
{
	PCM = Pn2_OUTPUT_1 | Pn3_OUTPUT_1;
	Delay_10ms();
	
	PCM = Pn2_OUTPUT_0 | Pn3_OUTPUT_0;
	Delay_10ms();
}
/* End user code adding. Do not edit comment generated here */

 

         b. 修改主函数。如下:

void  main(void)
{
	SystemInit();
	/* Start user code. Do not edit comment generated here */
	while (1) {
		led_flicker();  //闪灯
	}
	/* End user code. Do not edit comment generated here */
}

 

Applilet2工具的使用过程大概就是这样,根据自己的配置需要增加相应配置。

 

 

端口PCD1—PWM10_HB0INA—R152、PCS6—PWM11HB0INB—R154定时10s测试代码如下:

void PORT_Init(void)
{
	PMCD = PMn0_MODE_DEFAULT | PMn1_MODE_OUTPUT | PMn2_MODE_DEFAULT | PMn3_MODE_DEFAULT | PMn4_MODE_DEFAULT | PMn5_MODE_DEFAULT | PMn6_MODE_DEFAULT | PMn7_MODE_DEFAULT;
	PMCS = PMn0_MODE_DEFAULT | PMn1_MODE_DEFAULT | PMn2_MODE_DEFAULT | PMn3_MODE_DEFAULT | PMn4_MODE_DEFAULT | PMn5_MODE_DEFAULT | PMn6_MODE_OUTPUT | PMn7_MODE_DEFAULT;
	PMCCS = PMCn6_OPER_PORT;
}

/* Start adding user code. Do not edit comment generated here */
void Delay()    //定时10s
{
    UINT i,j,k;
    for(i = 0; i < 2000; i++)
    {
		for(j = 0; j< 27000; j++);
    }
}
void flicker()
{
	PCD = Pn1_OUTPUT_0;
	PCS = Pn6_OUTPUT_1;
	Delay();
	
	PCD = Pn1_OUTPUT_1;
	PCS = Pn6_OUTPUT_0;
	Delay();
}
/* End user code adding. Do not edit comment generated here */

通过示波器观察R152、R154脚波形如下:

Applilet2 for V850ES/Fx3生成代码_第10张图片

PCD1_R152_10s

 

Applilet2 for V850ES/Fx3生成代码_第11张图片

PCS6_R154_10s

Applilet2是V850芯片入门很好的小工具, 借助这个工具可以总览芯片架构及芯片具有的模块, 是帮助初学者的入门利器.

类似的像飞思卡尔有PE配置工具, 手头有飞思卡尔板子的可以参考一下, 从基础的动手尝试.

 

你可能感兴趣的:(嵌入式,单片机,V850,Applilet2,AutoSAR)