月雾 发表于 2022-7-21 15:36

平头哥CDK助力中科昊芯HX2000系列芯片系统开发

平头哥半导体有限公司发布的剑池集成开发环境(以下简称“CDK”)V2.10.1版本开始支持中科昊芯HX2000系列的DSC28027、DSC28034芯片的开发与调试了。
平头哥半导体有限公司是阿里巴巴集团的全资半导体芯片业务主体,平头哥拥有端云一体全栈产品系列,涵盖数据中心人工智能芯片、处理器IP授权等,实现芯片端到端设计链路全覆盖。
平头哥CDK开发环境可以方便用户快速上手,该集成开发环境秉承着让客户“1天上手,5天出原型,20天出产品”1520技术理念,为开发者提供简洁统一的图形开发界面,帮助开发者进行应用开发。

开发环境的下载地址如下:
https://occ.t-head.cn/community/download?id=575997419775328256

下载界面如下:https://i0.hdslb.com/bfs/article/6d5b928d831c8e9f8a89376df8250cbe4c1eb235.jpg@942w_539h_progressive.webp
https://i0.hdslb.com/bfs/article/068c9832a3c91e8a0d7fad024e84cb7f6d5a55be.jpg@942w_588h_progressive.webp
下面我们将通过一段控制外部中断实现GPIO翻转的程序来介绍如何使用“CDK”调试中科昊芯DSC28027芯片。

准备阶段如下: 开发环境
https://i0.hdslb.com/bfs/article/503c5edcb6b8a52bc66e343e3c53eabd597d9cde.png@750w_450h_progressive.webp
下载地址:
https://occ.t-head.cn/community/download?id=575997419775328256

开发板
https://i0.hdslb.com/bfs/article/edb302357a5413719a6a14dae4c5d8217936b146.png@942w_659h_progressive.webp
申请开发板地址:
http://haawking.cn/core28027

仿真器
https://i0.hdslb.com/bfs/article/fe2211afee627e65a42d6b2ce5c112ea5b6933b7.png@942w_554h_progressive.webp
申请仿真器地址:
http://haawking.cn/DSP-EMULATOR
准备好开发工具后就可以做开发了。

第一步,下载完成后,首先将安装包进行解压缩,打开文件夹,双击setup应用程序。
如下图所示:
https://i0.hdslb.com/bfs/article/d0c8a28a1aaa9eeeaa83efa6eb55256f4d9c33f6.jpg@942w_419h_progressive.webp
第二步,安装完成后,双击桌面“CDK”的快捷方式,通过点击“File->New Project...”创建工程。
如下图所示:
https://i0.hdslb.com/bfs/article/87f9679f79ec588aea833329665690fc11e4034e.jpg@942w_627h_progressive.webp
第三步,新建工程选择“Haawking -> hello_haawking_dsc28027”。使用默认的工程名“hello_haawking_dsc28027”,也可以重命名符合命名规范的工程名。
新建工程界面如下:
https://i0.hdslb.com/bfs/article/6fe9b52ffaffe60081a28855ef8deb67ce73eceb.jpg@780w_609h_progressive.webp
第四步,点击“OK”以后,会跳转到程序编辑界面。双击“src”下的“main.c”文件之后,用户就可以编辑代码了。
操作界面如下图所示:
https://i0.hdslb.com/bfs/article/95756db065d9edc7e1b71eb64536b0256f7b5208.jpg@942w_620h_progressive.webp
在默认创建的情况下是RAM工程,如果用户想要切换到FLASH工程,需要手动更改链接文件。首先需要双击展开“DSC28027_SDK(v1.0.0)”下的内容,然后右键点击“haawking_dsc28027_board(V1.0.0)”,再点击“Options for “haawking_dsc28027_board(V1.0.0)”。
操作如下图所示:
https://i0.hdslb.com/bfs/article/0c1d9a53a7e39cd7cffb6470fe1edf7a72d6f306.jpg@942w_611h_progressive.webp
点击“Linker”打开该窗口,然后需要用户点击“...”图标。在弹出的窗口中双击“ldscripts”文件夹中双击“DSC28027_link_FLASH.ld”文件,最后点击“OK”。

https://i0.hdslb.com/bfs/article/b3826f7db867d5a81874c5dd330f133a572c8e12.jpg@942w_674h_progressive.webp
下面介绍外部中断原理、程序开发及运行结果展示。

外部中断是DSP实时处理外部事件的一种内部机制。当某种外部事件发生时,DSP的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理。中断处理完毕后又返回被中断的程序处继续执行。



在开发程序前,需要先查看开发板原理图。

GPIO0输出电平为低时,LED将会有正向电压差,便可导通发光;TEST键默认弹起,此时GPIO12输入高电平,按下TEST键时,GPIO12输入低电平。
https://i0.hdslb.com/bfs/article/b12e607be5beebf896362a91b4490ea8d22cb093.jpg@612w_281h_progressive.webp
之后就可以编写代码了。具体代码如下:
/*
* XintInterrupt.c
*
*Created on: 2021年10月25日
*      Author: Shentingting
*/
#include <stdio.h>
#include "dsc_config.h"
#include <syscalls.h>
#include "xcustom.h"
#include "IQmathLib.h"

/*函数声明*/
void xint1_isr(void);
void ExInt_Init(void);
void InitGPIO(void);

int main(void)
{
   volatile unsigned int i,j;
   InitSysCtrl();
   InitGPIO();
   DINT;
   InitPieCtrl();
   IER_DISABLE(0xFFFF);   //禁止中断使能
   IFR_DISABLE(0xFFFF);   //禁止中断标志使能
   InitPieVectTable();//初始化中断向量表,将中断服务函数与中断向量表关联
   ExInt_Init();   //初始化中断
   EINT;          //开启中断

   while(1){}
   return 0;
}

INTERRUPT void xint1_isr()
{
   GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1;
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
void InitGPIO(void)
{
   EALLOW;
   GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 0;
   GpioCtrlRegs.GPADIR.bit.GPIO12 = 0;
   GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1;
   GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 0;
   GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
   GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;
   GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1;
    EDIS;
}
void ExInt_Init(void)
{
   EALLOW;
   GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 12;
   EDIS;
   XIntruptRegs.XINT1CR.bit.POLARITY = 2;
   XIntruptRegs.XINT1CR.bit.ENABLE = 1;
   EALLOW;
   PieVectTable.XINT1 = &xint1_isr;
   EDIS;
   IER_ENABLE(M_INT1);
   PieCtrlRegs.PIEIER1.bit.INTx4 = 1;
}
“CDK”调试仿真界面如下:
https://i0.hdslb.com/bfs/article/3a93253b9d24386e039513d1b717bd74c6754bd2.jpg@942w_497h_progressive.webp
运行效果如下:
https://i0.hdslb.com/bfs/article/c76c17b277960434b669f5d52172ab33cb6a3d32.gif

月蓉小豆包 发表于 2022-7-22 16:54

昊芯专业!
页: [1]
查看完整版本: 平头哥CDK助力中科昊芯HX2000系列芯片系统开发