使用Haawking IDE 新建一个LED闪烁的工程


HAAWKING IDE 是北京中科昊芯科技有限公司本着适合国内DSP、RISC-V开发人员使用的初心,推出的基于Eclipse开发的RISC-V DSP集成开发环境。
1.提升DSP指令集优势,实现配套编译环境及调试系统
2.实现了性能领先的定点数学函数库和电机控制算法库
3.集成与国外原厂芯片API接口一样“位域”裸板驱动程序
4.针对性优化Eclipse相关功能并提供完整的模板工具

一 新建工程
第一步:打开Haawking IDE,点击file下面的new,选择C/C++++ Project

第二步:选择C 工程,点击下一步

第三步:选择工程,给工程起个名字,点击下一步

第四步:选择DSC28034芯片和工程类型,点击下一步

第五步:点击下一步

第六步:点击完成,工程就建好了

二 编写程序
第一步:编写LED灯、按键、蜂鸣器的驱动函数
/******************************************************************
函数名:void InitKEY(void)
参数:无
返回值:无
作用:配置GPIO27为输入模式,上拉禁止
******************************************************************/
void InitKEY(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO27 = 0;
GpioCtrlRegs.GPAPUD.bit.GPIO27 = 1;
EDIS;
}
/******************************************************************
函数名:void InitLED(void)
参数:无
返回值:无
作用:配置GPIO41、GPIO43、GPIO34为输出模式
******************************************************************/
void InitLED(void)
{
EALLOW;
GpioCtrlRegs.GPBMUX1.bit.GPIO41 = 0; //普通IO,对应D400,LED灯
GpioCtrlRegs.GPBDIR.bit.GPIO41 = 1; //输出
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; //普通IO,对应D401,LED灯
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; //输出
GpioCtrlRegs.GPBMUX1.bit.GPIO43 = 0; //普通IO,对应D402,LED灯
GpioCtrlRegs.GPBDIR.bit.GPIO43 = 1; //输出IO
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; //普通IO,对应蜂鸣器
GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; //输出IO
EDIS;
}
第二步:主函数调用驱动函数并实现一个LED的闪烁,按键按下,蜂鸣器响,LED亮,弹起蜂鸣器关闭,LED灭
int main(void)
{
//int temp, in;
//volatile unsigned int i;
//DisableDog();
EALLOW;
P_SysCtrlRegs->INTOSC1TRIM.bit.FINETRIM = 0;
P_SysCtrlRegs->INTOSC2TRIM.bit.FINETRIM = 0;
EDIS;
InitSysCtrl(); //将PLL配置成10倍频1分频,配置系统时钟为120M
DINT;
int i = 0;
InitPieCtrl(); //初始化PIE 控制寄存器
IER_DISABLE(0xffff);
IFR_DISABLE(0xffff);
InitPieVectTable();
//PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
InitKEY();
InitLED();
GpioDataRegs.GPBSET.bit.GPIO41 = 1;
//Disable CPU interrupts and clear all CPU interrupt flags:
while(1){
GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;
GpioDataRegs.GPBTOGGLE.bit.GPIO43 = 1;
for(i = 0;i<1000;i++)
{
for(j = 0;j < 1000;j++)
{}
}
if(GpioDataRegs.GPADAT.bit.GPIO27 == 0)
{
GpioDataRegs.GPBCLEAR.bit.GPIO41 = 1;
GpioDataRegs.GPASET.bit.GPIO6 = 1;
}
else
{
GpioDataRegs.GPBSET.bit.GPIO41 = 1;
GpioDataRegs.GPACLEAR.bit.GPIO6 = 1;
}
}
return 0;
}
// ----------------------------------------------------------------------------
三 仿真编译
第一步:给开发板供电,连接仿真器,如下图所示

第二步:编译调试


四 实验现象

(本文出自昊芯发烧友论坛)