现在位置: 首页 > techbulo发表的所有文章
  • 04月
  • 30日
FPGA开发 ⁄ 共 405字 onchip_mem.hex 生成已关闭评论 ⁄ 阅读 1,086 次
The Nios® II Software Build Tools (SBT) for Eclipse can create .hex files and other memory initialization formats for a given software application. To generate memory initialization files, the following steps are performed: 1. Right-click on the application project.2. Point to "Make targets" and select Build to open the Make Targets dialog box.3. Select mem_init_generate.4. Click Build.5. Add the .qip file to your Quartus® II project.6. Recompile your Quartus II project.
阅读全文
  • 04月
  • 15日
技术文章 ⁄ 共 394字 python文件头部#!/usr/bin/env python和#coding:utf-8的作用已关闭评论 ⁄ 阅读 2,948 次
一、声明作用 #!/usr/bin/python #!/usr/bin/env python #coding:utf-8 以上代码,放在python文件的头部,仅作为声明作用 如果是python3,则改为python3 二、#!/usr/bin/python 指定 【/usr/bin/python】目录下的python解释器执行python脚本 三、#!/usr/bin/env python【推荐使用】 根据PATH环境变量中指定的第一个python解释器,执行python脚本 如果在linux环境中,创建了多个Anaconda或者virtualenv虚拟环境,而这些虚拟环境在不同路径中,会有各自的python解释器。使用【#!/usr/bin/env pyth......
阅读全文
  • 03月
  • 06日
FPGA开发 ⁄ 共 127字 <自制MCU> 8位CPU,上位机调试软件增加寄存器内容实时显示【八】已关闭评论 ⁄ 阅读 1,863 次
改了下MCU debug模块,将MCU的Core部分的一些寄存器引过来到Debug模块,发送到上位机显示,界面改成了如下: 下图是之前的LED点灯程序,按键未按下时寄存器的值: 下图是按下按键时各个寄存器的值: 其他功能待扩充,可能得过段时间了,有别的事情要忙。
阅读全文
  • 03月
  • 05日
FPGA开发 ⁄ 共 114字 Verilog中缩减运算符 形式如a=^b; a=|b; a=&b已关闭评论 ⁄ 阅读 7,461 次
如a=^b; a=|b; a=&b,其中a为1位,b>1位 计算过程,以a=&b为例: b的最低位和b的次低位进行按位与运算,得到的结果在和次高位进行按位与运算。然后结果再和此次高位按位与运算,直到最高位为止,然后将得到的结果赋值给a。
阅读全文
  • 03月
  • 04日
FPGA开发 ⁄ 共 276字 <自制MCU> 8位CPU,编写上位机调试软件,在线下载程序【七】已关闭评论 ⁄ 阅读 1,253 次
基于上一个测试,增加了一个上位机调试软件,实现上一次测试时用串口的操作: 并给8位MCU起了个名字,叫T_MCU. 下图是软件初始界面,使用MFC开发,功能还比较简单,以后慢慢扩充: 点击链接设备按钮: 首先会先打开通信用的串口,如下 然后自动发送与MCU握手命令,如果MCU正确返回握手码,则显示如下界面: 将机器码程序写到机器码编辑区,然后点击下载程序,即可下载到MCU ROM中: 如上图控制台信息所示,程序一条一条的烧写到ROM的从地址0开始的位置。 下一步计划:基于现在的界面程......
阅读全文
  • 03月
  • 04日
FPGA开发 ⁄ 共 594字 <自制MCU> 8位CPU,添加Debug模块,可以在线下载程序到ROM了,上开发板运行【六】已关闭评论 ⁄ 阅读 1,349 次
前面的所有测试都是提前编写好ROM.O文件,程序编译的时候提前初始化好rom空间,MCU在运行期间不能改变程序,感觉不方便,编写了一个Debug模块,使用Uart收发命令及数据,充当Jtag功能,仿真调试等等。 目前已实现程序在线下载功能,今天晚上测试通过。 增加了几条debug命令(Debug命令是4字节命令,使用Uart下发到MCU的debug模块): 同时MCU增加了软重启命令,机器码如下: 24'b0000_0001_0000_0000_0000_0000; Debug命令主要涉及以下两个模块(ROM、Core): 进入Debug模式后,会先复位MCU并中断CPU的......
阅读全文
  • 03月
  • 03日
FPGA开发 ⁄ 共 283字 <自制MCU> 8位CPU,添加UART模块,编写机器码程序,使用串口命令点亮LED,上开发板运行【五】已关闭评论 ⁄ 阅读 1,127 次
在上一个测试基础上,加入了UART模块,现在可以接收并发送串口数据了,添加的模块如下: Uart内部视图 需要实现的功能: 上位机串口发送0x8A,点亮LED2,发送0xA8,熄灭LED2,MCU收到命令之后,将收到的命令再发送回上位机,编写机器码程序如下: PS:使用机器码写程序太费劲了,看来得弄个编译器。 开始运行程序: 下面是初始状态 上位机串口收发去清零,并且LED2是熄灭状态 1、发送0x8A到MCU,显示如下: 可以见到,LED2已被点亮,并且串口收到了MCU回发的数据。 2......
阅读全文
  • 03月
  • 02日
FPGA开发 ⁄ 共 266字 <自制MCU> 8位CPU,按键检测与LED控制测试,上开发板运行【四】已关闭评论 ⁄ 阅读 1,497 次
硬件框图还是和上一个一样,稍微优化了一下结构,将总线控制器由CPU Core内部移出来了,放到了和Core平级的地方,以至于保持Core部分逻辑的稳定,不用随时修改,放到外边还方便了总线的控制;另外将CPU时钟评率改为了100M: 较上个测试的主要变化是程序加入了人机交互 并且将GPIO模块的两个pin,一个改为了输入口,用于接按键,另一个还是输出口,接到LED。 编写了一个机器码程序,功能如下: 循环检测按键口pin0的状态,当按键按下时点亮pin1口的LED. 机器码如下,共7条: 下面是实际运行效果: 按......
阅读全文
  • 03月
  • 01日
FPGA开发 ⁄ 共 204字 <自制MCU> 8位CPU,添加GPIO模块,使用机器码点亮LED,上开发板运行【三】已关闭评论 ⁄ 阅读 998 次
添加GPIO模块,如下图; 并添加引脚约束 FPGA资源占用情况 编写机器码程序: 查看开发板原理图,知道往对应引脚写1,是点亮LED,写0熄灭 由于程序中两个引脚都是写的1,所以两个LED都被点亮,时钟频率是60MHZ。 下面改一下程序,只改了下图红圈中的指令,将立即数1变为0,即往其中一个引脚写0,另一个引脚写1 下图是运行结果 只点亮了其中一个,另一个被熄灭。 下一次测试打算写个UART模块与电脑连接,测试数据收发。
阅读全文
  • 02月
  • 29日
FPGA开发 ⁄ 共 155字 <自制MCU> 8位CPU,mem空间加入bus控制,可以在不同的地址空间添加外设了【二】已关闭评论 ⁄ 阅读 1,676 次
首先加入了一个时钟及复位控制模块,时钟分频5路输出,现在只用了一路。 mem内存空间地址线改为16bit(之前为8bit),可寻址64K空间; 初步mem空间内存映射入下: Ram目前只用了256Byte 加入地址管理模块,做的很简单,根据地址范围输出相应的外设的使能信号: 下一步写个GPIO模块或者串口模块,测试一下
阅读全文
  • 02月
  • 29日
FPGA开发 ⁄ 共 466字 <自制MCU> 8位CPU,仿真成功【一】已关闭评论 ⁄ 阅读 2,556 次
今天晚上把指令集定了一下,编写了一串机器码测试了一下计算结果,是对的。 先放几个图片,需要做的内容还很多,外设现在只加了ram和rom,后续要丰富起来。 哈佛结构 单流水线,取指、译码、执行: 下图可以看出PC每3个机器周期+1,开始下一条指令的执行: 以下是指令集介绍,共分了4类指令: 1、特殊指令 2、立即数操作指令 3、访存指令 4、跳转指令 所有指令都是24位(有些浪费,大多数指令只需要16位,为了考虑跳转指令方便实现暂时把指令都定为了24位) 下图是MCU顶层视图:......
阅读全文
  • 02月
  • 15日
技术文章 ⁄ 共 129字 CSLScope波形显示Lib库初试已关闭评论 ⁄ 阅读 2,646 次
最近在写一个MFC调试程序,为了便于显示数据变化规律,使用CSLScope Lib库写了个小程序,图形显示成功,先记录一下,以后有时间再详细说明库的使用情况: 串口通信,电脑模拟出两个串口,一个使用串口助手打开,给波形显示程序发送数据,然后波形显示程序显示出来。
阅读全文
×