使用Haawking IDE 新建一个LED闪烁的工程
中科昊芯
2021年08月20日 10:02
收录于文集
共36篇

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; } // ---------------------------------------------------------------------------- 三 仿真编译 第一步:给开发板供电,连接仿真器,如下图所示

第二步:编译调试

第三步:运行

四 实验现象

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