Category Archives: Computer Engineering
Good ELF diagram

http://blog.k3170makan.com/2018/10/introduction-to-elf-format-part-vi.html 2024/04/13
Fixed dwarf bug

When i change kernelvec.S to -ggdb, my dwarf library broken but now fixed. Commit :e640c3d9 And I still don't understand why .S won't be an compile unit in dwarf, why design like that. 2024/04/09
Quantr Dwarf Library - Print address/lineNo/ColNo from specific address
2024/04/07
Install apache and php for http research

I need a super clean apache and forward all PHP requests to a independent php-cgi process which host by a specific port 1. Install Apache Mac In ubuntu, no need to build apache from source, just "sudo apt-get install apache2" Linux 2. Install PHP Mac Linux if you meet this error "configure: error: re2c 1.0.3 […] 2024/03/30
The way to extend qemu TCG plugin functionality

Hi, if want to to provide other function-calls to TCG plugin, such as reading guest memory, follow these steps: https://peter.quantr.hk/2024/01/qemu-risc-v-log-all-memory-operations/ 5. Run in qemu 6. Edit xv6-riscv Makefile: References: 2024/02/10
QEMU risc-v , log all memory operations

Step 1: Step 2: modify ./tests/tcg/plugins/mem.c , add this code in vcpu_mem() Step 3: in xv6-riscv change this to Then you see this References 2024/01/27
Qemu's trace_memory_region_ops_write

I was trying to find the body of trace_memory_region_ops_write function in qemu source code, can't find it. It is generated by python script (log.py) 2024/01/17
RISC-V qemu doesn't log "PRIV" in every instruction

RISC-V qemu seems wrong because it doesn't log "PRIV:" in every instruction in qemu.log. Even mret is execute and the mode is changed, it doesn't log "PRIV". To fix this: 2023/12/27
Create a breadboard FPGA

We tried to ask GOWIN to let us generate the bitstream but seems they are not willing to open their standard, xilinx and altera has no hope too. So for education purpose we now go for build a simple one. We found the way to break logic into LUTs, so we want to build a […] 2023/12/24
NOR vs NAND flash

i finally found the differences between NOR and NAND flash, but just dont know what is it 2023/12/22
ENC28J60 + Arduino

2023/11/09
Arduino Function Generator

I am using Nano and AD9833 to build a simple function generator. Code in here https://gitlab.com/quantr/hardware/arduino-function-generator 2023/11/07
Arduino + AD9833 using library by Rob Tillaart

Buy the board here : https://item.taobao.com/item.htm?spm=a1z09.2.0.0.6caf2e8dU9c4dS&id=590166217396&_u=6buhab0a8d9 Install the library, see below Make sure connect these pins to the board, total 5 pins, follow below Refer to https://github.com/RobTillaart/AD9833 , more examples in https://github.com/RobTillaart/AD9833/tree/master/examples 2023/11/06
Arduino + AD9833

Buy from here. I am using the example from here but ignore the switch buttons. You need to add this zip into the library and make sure don't install the other library call "AD9833", very important 2023/11/06
Rotate button by Arduino

Refer to https://zhuanlan.zhihu.com/p/349824627 , buy from here 2023/10/30
MCP4725 I2C DAC Breakout board

Bought from here Testing maximum frequency, around 800us 2023/10/30
GY-4725 board

Bought from here. This code test maximum frequency, around 1ms period is peak Documents 2023/10/30
計準NPN了

Main point: calculate Ib, we can do it by Ib=Ic / Beta min OR Ib=(Vb - 0.7) / Rb 2023/10/27
FPGA Research
This is a synthesis of a simple verilog program in vivado 2023/10/14
Funny Toy : Oscilloscope

I got this electronic toy from Taobao, i want to have more experience on soldering and putting different components on the PCB and making them work. After 3 hours in soldering and 1 hour in debugging, i finally make it works https://v.youku.com/v_show/id_XNjAyNDAwNDY2OA==.html?spm=a2hje.13141534.1_3.d_1&scm=20140719.manual.240103.video_XNjAyNDAwNDY2OA== All documents here 2023/10/09
Nucleo-L476RG DAC

2023/10/08
砌機 : FPGA

Lattice FPGA比STM32簡單, 我應該可以搞得掂 用户手册: https://github.com/wuxx/icesugar-nano/blob/main/README.mdwin7串口驱动: https://github.com/wuxx/icesugar-nano/blob/main/doc/usbser.inf原理图及源码: https://github.com/wuxx/icesugar-nano 主要component其實得兩個: FGPA同粒Flash 2023/10/05
Multimeter book, teach you how to build one

2023/09/16
Arduino read/write AT24C256
Many examples not work from google, it is because it needs a delay after write operand, so i put delay(100) 2023/08/31
Quantr-Logic + PLD

We are thinking of synthesis logic into FPGA but the task is quite complex, We found a new way to do what we want: We generate the jedec file and let the end user burn it into PLD. This brings us the ability to design logic from Quantr-Logic, kick a button, and burn it into […] 2023/08/28
ATMEGA328P default fuse

2023/08/23
RISC-V Day Hong Kong 2023

thank you Professor Ray invited us to join 2023/08/22
VTC個online library係無敵嘅

Download論文一個click, 至少比Cityu無敵 2023/08/09
Support debug using vscode for xv6-riscv

launch.json in ".vscode" folder tasks.json ".vscode" folder Remove "-O" in Makefile run: set some breakpoints in vscode make qemu-gdb click the "run" button in vscode, see below 2023/07/31
Elec components related to FPGA

2023/07/21
Nand / Nor

i know any gate can convert to NAND or NOR, asked many time why people always use NAND instead of NOR, no one can answer, but i found the answer now. NAND need voltage, NOR need current. 2023/07/19
Heltec Arduino super simple tutorial

Buy from here. Offical website. Steps to make it work in arduino: 3. Burn these examples To try the wifi example 2. Change the wifi ID and password, case sensitive 3. Run it and see the result in serial monitor, set the baudrate to 115200. It grab the html from outside, see the code then […] 2023/07/17
Arduino Nano V3.0 + NRF24L01

This little board is nearly the same size as nano but embedded with a NRF24L01, and also very cheap $4 USD. To make it works: The "RF24 > Scanner" will works like below 100% compatible with Arduino nano 2023/07/17
CLB and IOB design

altera and xilinx probably copying each other 2023/07/16
Remote riscv-qemu gdb in vscode

3. Change the no of hart to 1 Result : Step over fully work 2023/07/15
Programming Arduino using STK500 ISP

STK500 is better than MKII since it supports high voltage programming, it can reset fuses from any status. Step 1: Install the driver. Must be version from date 7th Oct Plug in the USB, if it detected wrong driver, update it by select specific folder'. Need reboot the computer to take effect. Step 2: connect […] 2023/07/12
Programming Arduino using MKII ISP

I got MKII ISP from here. To program Arduino Nano via Microchip studio, nothing special, remember have to select the chip. And Nano D8 pin is B0. Nano bootloader can be found in here. 2023/07/12
STM32 power up

Did it one more time and 2023/07/07
Step to make icesugar 40 works

Simplest steps To make the RGB led work, put on these three jumpers 2023/07/05
solder resistors to make oled change from spi to i2c

Arduino To make it work in Arduino, don't use adafruit SSD1306, you have to use SSH110X library. Run the example, no need to modify anycode. 2023/06/27