Python中的unittest

unittest是Python中自带的一个用于单元测试的库,可以满足我们大部分的测试需求。以前撸个代码一般只是侧重功能实现,往往对于测试不屑一顾,但是在最近一个小工程上,我初步尝试了一下测试驱动开发的开发流程,发现测试对于开发效率是有提升的,虽然要编写很多测试相关的代码,但是一旦测试完善起来,对于后期我们的代码重构或者代码调试是有很大帮助的。对于比较小的工程,直接使用unittest基本可以...

继续阅读 »

Python绘制新型冠状病毒感染曲线

最近被这个新型冠状病毒病毒闹得真是啥也干不了,整天闷在家里,闲着没事还是增长一下我们的技术水平才是王道,多读书,多宅一宅,也为祖国做贡献。最近眼睁睁看着感染病例数目急剧增加,心里还是有那么一点点慌张的,毕竟这玩意感染起来还是有点恐怖的,直接肺部纤维化,我的天哪,想想都废了。算了,我们还是看看我这里搜集的一些数据的曲线吧。本来想着是自己开发爬虫抓数据的,网上搜了一圈发现,原来很多高手宅在家里也...

继续阅读 »

QEMU仿真中串口的输入和输出

最近在QEMU上搭建CM33的仿真环境,目前QEMU支持的CM33的设备是musca-b1等系列板卡,这个系列是ARM公司做的一个CM33的参考设计,也有相应的硬件开发板。因为我们主要就是关心仿真环境,所以只是关心系统的memory map和串口相关的资源.实际上对于MUSCA开发板, QEMU只是支持NVIC,串口和Systick这几个模块,其它诸如GPIO,timer等都是不支持的。尽管...

继续阅读 »

HAPS系统中的UMRBus

基本概念UMRBus是HAPS系统中用于在用户Host PC和HAPS系统(FPGA板卡)之间进行通信的一个总线协议。UMRBus定义了从硬件到软件的一整套交互协议,可以让用户方便的将上位机软件和HAPS系统进行软件上的集成。除了支持数据交互之外,UMRBus还支持硬件中断的定义,每一个UMRBus的实例都可以定义一个中断触发信号和16位位宽的中断类型信号的传输,UMRBus中断还包含了握手...

继续阅读 »

TCL语言小试

搞芯片的要是不会tcl真的有点说不过去,虽然严格上我并不算是搞芯片的,但是tcl还是有必要了解一下的,因为FPGA里面还是要用到很多tcl脚本的。下面我们就根据一个具体的例子来看看tcl是怎么读取二进制文件的。先看需求现在我们要把一个二进制的文件通过tcl读取并转换成一个列表,二进制文件通常是我们程序生成的一个bin文件,转换成列表之后可以用于更新Memory或者仿真等操作。程序编写都说Go...

继续阅读 »