- 博客(34)
- 收藏
- 关注
原创 谷歌chrome浏览器升级 120.0 后书签显示变黑变粗的解决方式
在地址栏输入 chrome://flags, 然后搜索 chrome-refresh-2023-chrome-font, 从 default 改为 Disable 即可。
2024-01-07 10:30:25
1126
原创 ubuntu 飞书 VLC is unable to open the MRL
在 ubuntu 下使用飞书,播放消息里的视频时会遇到如下错误。解决方法是在系统设置里将视频的默认播放器改为 vlc。
2023-10-31 11:23:00
1036
原创 ubuntu从19.04升级到20.04输入密码登陆后又自动退出到登陆界面的问题
因为需要安装一个在20.04上使用的应用程序,所以将系统从原来的19.04升级到20.04,方法是替换20.04的源,然后使用sudo apt upgrade。过了一段时间因为项目需要,要使用集显,所以将Nvidia的显卡拿下来,然后就悲剧了,重启后输入密码,系统并没有进入桌面,而是立即回到了输入密码界面,如此反复。。。折腾了两天,终于解决了这个问题,但。。。具体原因是什么也未知解决办法重新安装gdmsudo apt install gnome-session gdm3删除一些文件s
2021-11-22 14:32:25
1783
2
原创 centos 7上编译gcc 4.9
从github下载gcc 源码https://github.com/gcc-mirror/gcc/tree/releases/gcc-4.9.0安装必要的包yum install -y gmp-devel.x86_64 libmpc-devel.x86_64 mpfr-devel.x86_64 mpfr.x86_64 bison build-essential flex make automake gcc gcc-c++ kernel-devel glibc*.i686 libgcc*.i686 t.
2021-11-16 17:51:10
637
原创 由一个小小错误导致FPGA上各种奇怪问题
问题经过iverilog验证过设计,生成bitstream下载到FPGA开发板上后出现了各种各样奇怪的问题:assign 的值并不完全相等。2. 存入dmem的值,在取出来的时候就不相等了。将0x4000e9c(函数返回地址)存入地址0x3f3c,在几个时钟周期后取出时,则变成了0x4000e90,这错误的返回地址就导致了程序会跑飞。原因最初以为这些问题是由于设计上的缺陷,或者由于使用了错误的变量类型和verilog语法,经过排查问题依旧。最后无意发现了如下这条warning信息:c
2021-10-18 08:42:19
770
原创 vivado的ila在线调试找不到信号
即使在信号前面添加了(mark_debug = “true”),在Open Synthesized Design->Set Up Debug中还是找不到信号,尝试在xdc文件中添加调试信息如下:set_property MARK_DEBUG true [get_nets yc_hs]set_property MARK_DEBUG true [get_nets yc_vs]set_property MARK_DEBUG true [get_nets yc_de] set_property
2021-08-24 08:00:46
5593
1
原创 One solution to error: “Failed to compile generated C file xsim.dir/ ... /xsim_1.c“
在使用vivado进行post timing simulation时,会出现如下报错:ERROR: [XSIM 43-3409] Failed to compile generated C file xsim.dir/cmpy_v6_control_b026c1cb9d0f3349afc505b487268840_behav/obj/xsim_1.c.ERROR: [XSIM 43-3915] Encountered a fatal error. Cannot continue. Exiting...
2021-08-08 09:55:33
4806
8
原创 how to set wire value in always block
wire test;//At all times, test equals inputassign test = input;has the same behaviour as:reg test;//Each time input changes(with the always@*), test takes its valuealways@* test = input;there are two experience rule:Always use blocking assignm
2021-03-28 21:38:58
89
原创 VCS的各种坑和Iverilog的曙光
使用VCS的过程真是充满了痛苦,写此文章记录一下。1. 破解文件过期可以看到破解器里显示的EXPIRE date是2020-12-12号,所以导致在我第一次安装完时(还是2020年)可以正常使用,到了2021年就不能运行了。解决办法是修改这个时间到2030-12-12(或者任意的时间),同时还需要修改Synopsys.src中所有的2020到2030.2. 环境变量设置有误环境变量需要设置如下:不要忘了设置VCS_TARGET_ARCH=linux64,3. root权限运行必须在roo
2021-01-27 22:17:37
2418
原创 Xilinx spartan 6 资源分析
最近在玩一款FPGA开发板,但是在map后发现开发板的资源严重不足,所以有必要分析一下这款开发板的资源情况。先看一下ISE工具里的Map Report:我使用的是XC6SLX9型号的FPGAXC6SLX9总共有1430个Slice,并且有三类按功能依次精简的Slice,分别为SLICEM、SLICEL、SLICEX。我们来看一下SLICEM的功能框图。可以看到,每个slice中有4个LUT,8个Flip-Flop register。所以1430个slice,总共有1430x4=5720个LU
2021-01-13 08:48:28
3199
原创 QEMU线程模型
non-iothread早期的qemu并不支持多线程,它只有一个线程,在这个线程中完成vcpu、设备模拟和事件处理等逻辑;当该线程正在执行vcpu虚拟机的代码时,如果此时虚拟机发生了一个异常或该线程收到了一个信号,则cpu从执行虚拟机的代码切换到qemu代码,然后根据select的返回结果去处理对应的文件描述符,等完成设备的模拟逻辑后,就接着执行虚拟机的代码。iothreadnon-iothread的模型并不能利用多核处理器的性能,假如传入-smp 2,即要虚拟出2个vcpu,此时qemu也只有一个线
2020-12-28 17:28:42
1067
1
原创 QEMU 如何处理PCI设备的中断(二)
3. QEMU对X86中断控制器的模拟我们从pc_init1中来分析QEMU虚拟中断控制器的过程。QEMU不仅可以在用户层模拟中断控制器,也可以在kernel中通过kvm来虚拟中断控制器,为方便起见,我们只分析在kvm中虚拟化pic和apic芯片的流程。中断路由表的创建hw/i386/pc_piix.cstruct GSIState{ qemu_irq i8259_irq[16]; qemu_irq ioapic_irq[24]}static void pc_init1(...){
2020-12-07 10:26:52
2052
原创 QEMU 如何处理PCI设备的中断(一)
0. 目录本文分两个章节来介绍,共四节:真实PCI设备的中断X86架构下的中断控制器框架QEMU对X86中断控制器的模拟QEMU对虚拟PCI设备的中断处理1. 真实PCI设备的中断PCI总线使用INTA#、INTB#、INTC#、INTD#信号向处理器发出中断请求。这些中断请求信号为低电平有效,并与处理器的中断控制器连接。假设一个处理器系统中,共有3个PCI插槽,这些PCI插槽中的中断引脚和中断控制器的IRQ_PINx引脚可以按照如下图连接。为什么要用这样奇怪的方式连接呢?这是因为一般
2020-12-07 10:26:43
1425
原创 DA14580 OTA
DA14580Comparison between the internal OTP and external memoriesAt power up or reset of the DA14580 the primary boot code (ROM code) will check if the OTP memory is programmed.In this case the DA14580 enters “Normal Mode” and proceeds with mirroring t
2020-11-20 09:53:32
197
原创 Secret beneath DA14585 second bootloader
Secret beneath DA14585 second bootloaderLR_1 0x07FC0000 0x00008000 { ; load region size_region ER_1 +0 0x00002000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) startup_CMSDK_CM0.o
2020-11-20 09:39:20
169
原创 ARM readnotes
ARM readnotescurrent program status registerprocessor modeprivileged modesabortfast interrupt requestinterrupt requestsupervisorsystemundefiednonprivileged modeuserbanker registersSystem registerstack frameCortex McpsrSimp
2020-11-20 09:36:03
196
原创 iMPACT: Invalid device driver license.
当xilinx使用iMPACT和ChipScope时,提示由于invalid device driver license导致找不到线缆。需要进入安全模式,删除C:\Windows\System32\drivers\windrvr6.sys。然后在ISE的安装目录下X:\14.7\ISE_DS\common\bin\nt64运行install_drivers.exe。...
2020-11-01 20:32:49
429
2
原创 undefined reference to `glfwInit‘
在编译使用libglfw库的应用程序时候遇到如下问题:/usr/bin/ld: /tmp/ccuKE59E.o: in function main': main.cpp:(.text+0x18): undefined reference toglfwInit’/usr/bin/ld: main.cpp:(.text+0x27): undefined reference to glfwWindowHint' /usr/bin/ld: main.cpp:(.text+0x48): undefined ref
2020-10-21 16:20:53
4580
原创 机器码转汇编
有时候,我们在分析问题的时候,能得到的只有机器码,例如0f 11 01 4c 03 c1 48 83 c1 10 48 83 e1 f0 4c 2b c1 4d要分析这段代码,可以找intel的数据手册,然后去解析这句话的意思。不过这样效率太低,我们可以通过如下方式分析。先把机器码写到文件里#include <stdlib.h>#include <stdio.h>#include <fcntl.h>#include <unistd.h>
2020-09-18 11:09:24
2583
原创 fatal: No names found, cannot describe anything.
出现这个错误是因为,我们本地仓库(远程仓库可能也没有)没有可用的tag,我们期待git describe返回v4.0.0-43-ga00de33ebc其中v4.0.0表示最近的tag名,43代表当前commit相对于tag(v4.0.0),已经有了43个commit,g只是一个标识符,a00de33ebc代表当前的commit id。那为了解决这个错误信息,首先我们可用git tag -l来查看本地仓库是否有tag,如果确实没有tag, 我们需要从一个包含tag的其他仓库,通过git push
2020-07-22 09:48:02
14566
1
原创 Process Explorer crash with winsta!WinStationConnectW
process explorer crash with winsta!WinStationConnectW on win7, after install Windows6.1-KB2533623-x64.msu, problem solved.https://www.microsoft.com/en-us/download/details.aspx?id=26764
2020-03-19 20:56:59
2425
3
原创 config samba server
Settings on the linux sidesudo apt-get install samba samba-common#create a shared foldermkdir smbsharechmod 777 smbshare/#add a samba user, mine is 'flynn'sudo smbpasswd -a flynn#configure t...
2020-03-18 12:51:35
130
原创 QEMU如何虚拟PCI设备
引子PCI(PCIE)设备在PC架构中有着举足轻重的地位,了解PCI总线与PCI设备在QEMU中的工作机制有助于我们了解CPU和设备之间的沟通机制,会对PC系统有更全面的认知,同时对virtio设备的理解也会更有帮助。回顾PCI 设备与总线上图是比较经典的PC架构图,从上图中可以看到CPU之间通过interchip bus连接,然后和I440FX芯片连接,I440FX就是我们熟知的北桥芯片...
2020-03-08 19:15:45
10416
原创 Linux with GICv3
IRQ subsystem in linux kernel.arch/arm64/kernel/head.S__primary_switched: ... adr_l x8, vectors // load VBAR_EL1 with virtual msr vbar_el1, x8 // vector table address .......
2019-04-08 22:31:26
882
原创 Char device driver
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-04-06 13:03:52
308
原创 An example of Block device driver
Block DriversBlock devices are storage media capable of random access. Unlike character devices, block devices can hold file system data.
2019-04-03 17:47:20
614
原创 Address translation in AArch64
AArch64 descriptor formatThe AArch64 descriptor format is used in all levels of table, from Level 0 to Level 3. Level 0 descriptors can only output the address of a Level 1 table. Level 3 descripto...
2018-11-30 12:47:34
482
转载 (转)Git Push: Just the Tip
Git Push: Just the TipApril 18th, 2008 by Rein HenrichsToday we delve into the world of git push, one of the most often used git tools. git push is typically used to update a remote ref and associat...
2018-11-29 18:43:48
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人