原创 解決由於卸載出錯導致的Python安裝報告0x80070643錯誤問題

由於自己騷操作,在安裝Python 3.8.0的同時卸載Python3.7.5,導致Python3.7.5的卸載進程報錯退出,然後後面就再也不能安裝Python3.7.5了:每次安裝時Python3.7.5安裝程序在第一步安裝tc

原创 Tomcat服務器中部署mantisBT的正確方法

因工作需要部署一個缺陷跟蹤系統,綜合考慮後決定選用mantisBT。 因計算機上已運行了一個Tomcat,爲節省資源考慮,想將mantisBT直接部署到Tomcat服務器中。在網上查找了很多文獻方法並嘗試後,搭建了PHP環境,併成

原创 SystemVerilog中結合interface實現輸出數據總線的功能(1)

前言 在經典的硬件設計中,衆多設備可以用分時複用的方案共享同一組數據總線,這大大簡化了設備間的通信接口設計,同時還能很容易的實現設備間一對多或者多對一的通信。在FPGA的HDL程序設計中,有時我們也希望能夠應用數據總線方案以降低設計難度並

原创 SystemVerilog中結合interface實現輸出數據總線的功能(2)

在上一篇文章中說明了如何使用SystemVerilog的interface來實現FPGA內部的輸出數據總線功能,但僅給出了傳輸單個數據的方法。然而在實際應用中,我們可能會遇到需要傳輸多個數據的需求,此時前文給出的方案將存在一定的侷限性。雖

原创 QSerialPort適應多線程應用的改進

類Unix系統的設備接口使用了基於select的事件驅動,這使得設備對象必須存在於某一個線程中,而因爲select事件無法直接從設備跨線程傳輸,雙工設備的跨線程操作也無法直接實現。Qt作爲跨平臺的開發庫,爲兼容類Unix系統的事件驅動,也

原创 MSYS2中編譯DBUS、freetype、fontconfig、harfbuzz的筆記

最新版的freetype源碼在http://freetype.org下載,編譯freetype需要的harfbuzz最新版源碼、以及最新版的DBUS、fontconfig源碼可以在http://www.freedesktop.org/wi

原创 關於Qt在子線程中使用QMessageBox的折衷方法

Qt將所有GUI相關的處理都限制在主線程中,這麼做有助於防止意想不到的訪問衝突產生,但也限制了線程中某些簡單的UI交互的實現,比如QMessageBox。 因爲QMessageBox必須在主線程中打開,爲了使用它,便不得不自己動手實現一些

原创 自己總結的部分SystemVerilog可綜合的常數函數的編寫規則

使用SystemVerilog語言近2年了,期間踩坑無數,其中最大的一個坑便是常數函數了。頭破血流的一點點經驗,總結於下: 1.變量聲明和變量賦值應分別書寫(適用於QuartusPrime)。 例如: package example_pk

原创 TI NDK應用開發過程中的一點經驗及改進

最近在TI的處理器上做軟件開發,項目需要網絡通訊功能,而在TI的處理器上做網絡編程只能使用TI自家的NDK,除非是非常專業的選手,否則用戶幾乎沒有其他選擇。 本文假設設計者熟悉TI的集成開發環境Code Composer Studio

原创 Shell腳本中實現字符串變量的去重功能

網上找了很久都沒找到關於字符串變量去重複的Shell腳本,於是根據已有的知識自己實現了一個。 用到的一個關鍵方法是字符串的截取,該方法參考自林瘋子的博客:(轉)shell腳本處理字符串常用方法: ${varible#*string}

原创 一則關於C99中variadic macro的使用經驗

C99標準提供了變長參數宏的特性,可以在宏中像經典的printf函數一樣使用變長的參數,基本的用法是: #define AN_EXAMPLE_OF_VARIADIC_MACRO(...) \ THE_IMPLEMENTATION_OF_T

原创 細數Quartus系列綜合器對SystemVerilog支持上的5個槽點

Quartus II以及後來的Quartus Prime(截止本文寫作時其最新版本是v16.1)是Altera公司爲自家FPGA編寫的集成開發環境,包括編譯、綜合工具。工具不錯,但對SystemVerilog的支持實在槽點多多,下面僅列出

原创 幾個衛星導航系統官方網站的鏈接

北斗系統 : http://www.beidou.gov.cn GPS系統 : http://www.gps.gov/ Galileo系統 : http://ec.europa.eu/index_en.htm Glonass系統 :

原创 2016年5月27日更新後MSYS2的shell用法

2016年5月27日使用pacman更新了MSYS2之後,原來的幾個用來打開shell的批處理文件被統一的msys2_shell.cmd腳本取代,然而直接運行該文件後的結果是沒有任何標識(MSYS / MinGW32 / MinGW64)

原创 QDockWidget設置初始大小的一個解決方案

QDockWidget僅僅作爲其子控件的一個包裝,因此對其使用resize()或者setGeometry()均不管用,這造成QDockWidget的初始大小常常不盡如人意。 網上有前輩提出通過調用QDockWidget的setMaxim