本帖最后由 viva_xin 于 2024-2-4 00:27 编辑
Tang20K使用的FPGA型号支持高云官方定制的Cortex-M1软核CPU——“Gowin_EMPU_M1”
打开这个IP可以进行定制,如下图所示。
双击,可以打开CPU Core的设置,在一般设置中可以选择中断数量和外部中断的支持,操作系统的支持,硬件乘法器等。
可以开启在线调试,支持JTAG和Serial Wire两种模式。
最后一项是内存的选择,ITCM和DTCM都可以选择内部存储或者外部存储。
我这里都选择为内部存储,大小均为32KB,这个大小还是比较富裕的。
我这里使用初始化的itcm文件,所以把Initialize勾上,并给出itcm文件的路径
然后是外设的选择,这里我使用GPIO、UART、Timer以及SPI。
最后点击OK,生成IP。
例化这个CPU IP,需要给一个时钟,并且将管脚映射和Tang 20K对应上。
将硬件CPU设置好后,下一步就是进行软件C程序的开发。
由于是ARM Cortex M1的内核,可以直接使用MDK进行开发。
高云官网可以找到对应的CPU和外设驱动文件,这里在此基础上写一个SPI驱动的OLED的APP,工程会附在结尾。
从视频中可以看出OLED正常进行显示和内容的刷新,表明CPU和外设正常运行。
006
下一步尝试将LVGL移植到此系统中。