首页 > 其他分享 >在友晶DE10-Lite开发板实现8051单片机

在友晶DE10-Lite开发板实现8051单片机

时间:2024-05-20 15:43:01浏览次数:17  
标签:8051 rom DE10 hex 开发板 单片机

在友晶DE10-Lite开发板实现8051单片机

1. 移植过程

利用FPGA片内资源构建51系统。软核来自https://www.oreganosystems.at/。还需要添加rom、ram和ramx。rom用来放51单片机的程序,即编译后的.hex文件。ram用来运行51单片机程序。时钟由PLL IP生成20MHz的时钟信号。分配管脚,编译配置FPGA的.sof文件。

 

 

 

(1) 修改Quartus工程的器件

针对DE10-lite,需要把FPGA型号修改成MAX10 10 10M50DAF484C7G.

(2) 更新IP

把rom、ram、ramx和PLL的器件都修改成MAX10.

 

 

 

注意,修改rom时,要指定一下.hex的文件。

PLL的locked信号,在代码里没有,这里可以根据需要,重新生成一次pll时钟信号。

(3) 修改.v文件

参考设计里的rst和点亮数码管都是高有效,这里要处理成低有效。

wire [7:0] seg;

assign digit_seg=~seg;

把信号先翻转一次。

mc8051_top mc8051_top_inst(

.clk(Clk20M),       

.reset(~button[0]), //mc8051高电平复位

(4) 分配管脚

根据情况,分配管脚,没有用到的信号,要设置成virtual pin,可以在assignments > assignment editor里设置。主要用到了按键,拨动开关,led和hex0,注意数码管的段序不同。

 

 

 

最后,编译,生成sof,移植就完成了。

2. 验证移植结果

安装编译工具sdcc,进入example目录,运行make.bat,生成.hex文件。然后配置FPGA,运行C程序。打开8051工程,Tools-In-system memory content editor,连接开发板,指定接口,器件,选择前面的sof文件,配置好,再导入生成的之前hex文件,写入。就可以看到流水灯和数码管循环计数。移植成功。

实验结果视频展示

【8051移植到DE10-lite】 https://www.bilibili.com/video/BV1YD421V7BE/?share_source=copy_web&vd_source=68c33dfb

807678d785a70ba1e19f297a

 

参考文献

https://mp.weixin.qq.com/s/UylS0KPbSxymiY-um69diA

标签:8051,rom,DE10,hex,开发板,单片机
From: https://www.cnblogs.com/halflife/p/18202076

相关文章

  • 中移ML307A(C-SDK,OpenCPU)学习开发-开发板基本介绍
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ML307A_OPEN"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 链接: https://item.ta......
  • 嵌入式Linux中的LED驱动控制(以野火STM32MP157开发板为例)
    在嵌入式Linux系统中,由于从硬件到软件都是自己定制的,所以很多时候需要对自己定义的设备编写驱动程序。本例就以野火STM32MP157开发板为例,讨论如何控制开发板上三个LED的亮灭。先来看一下LED部分的电路原理图,如下所示。从上图中可以看到,三个RGB颜色的二极管采用共阳接法,因此在......
  • RK3576开发板NPU分享:探索6T强大性能,智能化应用无限可能!
    RKNNSDK快速上手指南开发板:ArmSoM-W3,ArmSoM-Sige7,ArmSoM-Sige5,ArmSoM-AIM7OS:Debian11/12目的:本文介绍如何使用rk的npusdk。作为瑞芯微8nm高性能AIOT平台,RK3576/RK3588NPU性能可谓十分强大,6TOPS设计能够实现高效的神经网络推理计算。这使得RK3576/RK3588在图像识别......
  • FPGA笔记[1]-在macOS烧录码流到开发板
    摘要在macOS使用oss-cad-suite工具烧录fs码流到Sipeed-Tang-Primer-20k开发板.关键信息系统macOS14.4.1,AppleSiliconM2开发板:Sipeed-Tang-Primer-20kFPGA芯片:GW2A-LV18PG256C8/I7(GW2A-18C-PBGA256)原理简介oss-cad-suite工具链简介[https://gitcode.com/YosysHQ/......
  • 实现ARM平台开发板开机动画+切换界面
    *@functionname: read_JPEG_file*@brief:实现开机动画+切换界面*@param :*filename :start_x :start_y*@retval:int*@date:2024/05/14*@version:1.0*@note:本函数要在移植好JPEG库的前......
  • 开发板登录返回以及退出设计
    IO编程开发板登录返回以及退出设计/******************************************************************************filename:2024-05-14_main.c*author:[email protected]*date:2024-05-14*function:在LCD上显示并触摸开发板登录返回以及退......
  • 定义三个信号保证在开发板不乱跳转
    定义三个信号量完成三个界面登录游戏、退出、进入登录的跳转/*************************************************/***@filename: jumo.md*@brief实现在开发板不同界面跳转*@[email protected]*@date2024/05/14*@version1.0:在下坂本,有何贵干......
  • 在开发板上显示动态动画
    在开发板上显示动态动画/************************************************************************************filename:bootanimations.c*cauthor:[email protected]*date:2024/05/14*function:显示动态动画*note:none*CopyRigh......
  • 将bmp图片画到开发板的指定坐标上
    #include<stdio.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<sys/mman.h>/***********************************************************************************......
  • 设计程序,实现在LCD上任意位置显示一张任意大小的色深为24bit的bmp图片,要求图像不失真
    文件IO练习题设计程序,实现在LCD上任意位置显示一张任意大小的色深为24bit的bmp图片,要求图像不失真可以在开发板的LCD上显示。代码:/****************************************************************************************************************** * filename : Show......