- 博客(34)
- 资源 (32)
- 问答 (1)
- 收藏
- 关注
原创 docker 里使用vcs 2018 verdi等eda 图形界面
apt-get --yes dist-upgrade到这一句的时候,又出错了,我尝试把阿里云的源加上,然后apt-get update之后,重新执行。至于为啥跟我之前给ubuntu2204添加vnc的时候不一样,因为eda的这个镜像里,原作者已经安装了vnc,ssh,vnc4server等这些东西。如果只是编码,编译可能问题不大,但是如果要看波形之类的,就没法实现了。我也试过原封不动的照搬ubuntu2204的安装过程,事实证明有依赖库冲突,我也不会解决,索性就用原作者已经安装的东西吧。
2024-01-26 09:14:20
1942
原创 尝试给docker ubuntu22.04镜像添加远程访问桌面
实在时不愿折腾,但是ubuntu 镜像没有桌面,有些操作实在太难受了,效率也不高。要是个虚拟机,这折腾来去,直接崩溃了。docker的好处就是立马就能从头来过,秒级的删除安装。apt-get --yes dist-upgrade到这一句的时候,又出错了,我尝试把阿里云的源加上,然后apt-get update之后,重新执行。今天就到这里,ubuntu上的远程界面搞定了,后面看一下怎么让咱们的EDA镜像跑起桌面来。原来的覆盖形式,直接让我无法使用apt。然后再apt update就可以正常了。
2024-01-24 23:26:18
890
原创 docker 使用 vcs/2018 Verdi等 eda 软件
Synopsys EDA Tools docker image - EDA资源使用讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) -大家可以参考这个博主的用法,一句话,等它下载完就能用了。睡了一觉,所有的东西都安装好了,何乐而不为?关于docker的用法,我觉得比linux简单多了。下面这位博主整理的就挺好。有博主几年前就搞定了docker上的EDA工具。好不容易在ubuntu 安装好了eda软件,转眼就发现了自己的无知。docker基本用法总结_docker用法-优快云博客。
2024-01-19 21:28:34
1678
2
原创 vcs makefile
不过我用这个vcs2018,如果带着uvm编译会报错,不知道咋解决,后续再看吧。只需要在当前文件夹下创建一个filelist,把待编译的文件都列进去即可。VCS使用Makefile教程_vcs makefile-优快云博客。基于vcs2018,写了一个小module,编译通过,执行正常。
2024-01-14 23:02:18
760
2
原创 ubuntu 2022.04 安装vcs2018和verdi2018
【ASIC】VCS报Error-[VCS_COM_UNE] Cannot find VCS compiler解决方法_error-[vcs_com_une] cannot find vcs compiler vcs c-优快云博客。后续编写一个vcs的makefile,其实主要是抄别人的,然后改改,再分享给大家。附上我的.bachrc 里的一些内容。修复了安装时参考的那位朋友的一些小笔误。这个只是个小例子,后续如果要添加波形之类的,编译选项还需要继续添加。目录有些差异,大家参考的时候根据自己的情况来。
2024-01-14 21:54:02
1644
1
原创 寒门想实现阶层跃迁?太难了
这个话题太敏感了,寒门本身就有很多人不认可,或者不愿意认可。不过我也是寒门,特别寒那种。跟很多人一样,受益于高考,有机会出门而已。说白了出身寒门的孩子,物质基础不用说了,更重要的差异是文化,精神基础。很多人认为,大家都是高考六百分的孩子,文化一样的。其实很多情况下是差远了。在寒门眼里,六百分几乎是所有的文化,但是在非寒门眼里,六百分,可能只是一方面。他们还有琴棋书画,还有名山大川,还有各种各样的精神世界。不说别的,就说PC吧。我那个时代PC还没有普及,在寒门阶层还没有普及,但工薪阶层几乎已经普及了。那时候我
2021-04-08 11:15:07
216
原创 STM32H7 LTDC与DMA2D外设(五)
(四)中提到一个问题,LTDC 使用双buffer,花屏问题。四处查找也没找到对应的办法,自己试了很多方式也没解决。没法子,只好使用LTDC的单buffer。使用单buffer,看起来简单了,其实不然,我是希望保持ARGB8888格式不变,这样用int型变量正好一个像素,省去了3byte的间隔的问题。没有双buffer,前景色和背景色的融合就需要dma2d了。此时如果还用之前的方式,我竟然失败了。没有把预期的像素显示出来。想法很简单,一片空间,我赋值之后,用dma2d搬移到ltdc的单buffe
2021-03-29 17:49:46
861
原创 STM32H7 LTDC与DMA2D外设(四)
增加DMA2D功能。应用比较简单,没有遇到什么坑,使能dma2d,调一下函数,就可以了。没有想象中的那么多坑,这个还算顺利。也可能是我应用的太简单,只是搞了个搬移,没有做复杂的图形,位移之类的东西。这个先不试了。我打算做个简单的UI,目前具体用什么外设还不清楚,是不是\ltdc就可以了呢?先做着看吧。下一步就是移植os过来。os有很多选择,rt thread是这个开发板原配,但是我不喜欢rt thread,我想试试lite os。huawei的rtos。试试好用不。移植os估计得有点耐心
2021-03-26 23:22:31
601
原创 STM32H7 LTDC与DMA2D外设(三)
进一步调试通过了双缓存的LTDC,还没有加入DMA2D。代码上到giteee上了。https://gitee.com/guyspring/CubeMX_ArtPi总结一下自己犯的错误。首先是alpha配置问题,刚开始做的时候,配置的全为0,或者其中一个buffer的alpha为0,最终显示的都是黑屏。把alpha改成255,就可以了。也不用配置别的,开两个缓存,往里写东西,就等于显示到屏幕上了。双缓存都是ARGB888,高8位都是alpha,也都是255,后续看怎么应用吧,目前还没想好。
2021-03-25 23:00:28
664
原创 STM32H7 LTDC与DMA2D外设(二)
接着(一)继续有幸把我第一条LTDC的例子在开发板上显示出来了。其实这里面主要是因为我没好好看LCD手册,没搞清楚LTDC的原理导致的。前者导致LCD始终无法显示有效颜色,后者导致我的GRAM内像素格式错误。之前始终把LTDC和DMA2D混为一潭,认为LTDC的2层和DMA2D的2层混合是一个东西,俩必须一起用。(至少看到的很多例子都是这么做的)。后来发现LTDC本身就是一个支持2层混合的外设。与DMA2D功能上一样的,至于为什么很多例子都一起用,后续再试试。目前感觉是速度问题。单层显示的LTD
2021-03-24 11:28:22
689
原创 STM32H7 LTDC与DMA2D外设 (一)
查了很多资料,可能是我看的太粗,一直没搞清楚LTDC的原理。找了几个例子,自己改了改,跑了跑,感觉大致的原理应该是这样的。 LTDC外设可以看成是一种M2LCD的的DMA,LTDC的初始化结构体中有一段映射地址,这个地址一般为片外RAM,也可以片内。程序修改这个RAM对应地址段的值,就会体现在屏幕上。就好比一个大数组,每个元素对应LCD的一个像素色。例如RGB888,那么每个像素点,有三个色,各占8bit,一个字节。一个像素点24bit,3字节。开辟一个这样的数组,与LTDC的起始地...
2021-03-23 11:41:59
1384
原创 RT-Thread art pi QSPI片外执行程序摸索
官方例程中有bootloader和led闪灯等小程序,我想基于官方的BootLoader,开发一个自己的闪灯小程序,把led闪灯程序放入QSPI中。原子的北极星跟artpi是同一款芯片,但是在那一打实验中,我没找到QSPI放执行程序的例子。或许是我看错了。本来以为只需要将下载算法和编译存储位置rom addr和向量addr设置对就可以的。但是我用cubomx生成的程序,片内flash可以正常闪灯,下载到片外QSPI flash中就不可以。但是artpi的官方例子可以。所以排除硬件问题,就一定是我的哪
2021-03-15 11:13:15
363
3
原创 策略模式
李建忠给的例子是一个国际化的典型案例。在做程序界面多国语言支持的时候,经常会遇到这个问题。换句话说,这个例子虽然非常典型,但还是有点专业。很多人接触不到这种项目。我在想有没有更通俗一点的例子?...
2021-01-02 21:52:02
111
原创 上兵伐谋,其次伐交,再次伐兵
如果把写代码称之为战斗,那么编码方案应该称得上是伐交,需求分析,应该称得上是伐谋。写代码是战术行为,也是门槛最低,代价最大的行为,也是最容易立功,留名的行为。纵观历史,战术大师数不尽数,几乎每一场战斗,都有人名留青史。而外交大师,却少了很多。那些靠策略阻止战争的人,并没有都留下名来。其实也很容易理解,那些阻止战争的人。基本都停留在了会议室,决策者参与的人太少,没法广泛流传。跟开战不同,一旦启动战争,全国都会被发动起来,一旦有战斗胜利,这个英雄人物就会被大肆宣传,封官进爵。而谋略大师就少之更少了,这些人,基本
2020-12-16 10:02:26
301
3
原创 观察者模式
已知有模块A需要给另外模块X传递信息,信息内容确定,但模块的处理可能不同,或许模块的个数会发生改变。就好比舞台中央的演员,观众有若干个,演员只有一个。每个观众看的内容一致的,但是,感受不一样,反应就不同。为了解决这个问题,A不可能复制多个,或者也不可能给每个接收者做一个接口。第一工作量太大,第二不确定性太强,维护成本太高。此时需要一种方法,兼容任何一种接收者,还可以自适应接收个数。不过如果接受者确定只有一个,只是具体的接收对象可能变化,那就不用自适应个数。已知发送者,求接收者怎么描述。要想减少接口,
2020-12-16 09:32:37
105
原创 模板模式
最近看李建忠老师的设计模式课程,做些笔记。每个人有自己的学习方法,我更喜欢把每个设计模式当作应用题来做。所谓的稳定,可以认为是已知项,所谓的变化,可以认为是未知部分。就像小学生的应用题,已知某些条件,求算未知数。先从模板模式开始。假如有这样一个项目,已知若干部分的主要功能和流程,求代码如何实现。几乎所有的项目都会这样出题,或者说,这道题满足所有的项目。不过没关系,还需要继续加条件。随着条件的增多,便会指引我们选择到一个合适的设计模式。继续分析,发现这些模块功能和流程有很多相似处。首先流程
2020-12-14 23:04:16
111
原创 Netbeans C++ 生成静态库 .a 动态库.so
工程右键,属性(properties) 建立(build)-> project defaults -> configuration Type 选择 static library(如果动态库,就选dynamic library)
2020-12-14 17:41:14
215
原创 nlohmann c++ json库
最近在做项目的时候遇到一个要打印出文件的需求,还要作为另外一个程序的输入。这明显是数据交换。要么我要跟接收方定好数据格式,然后打印文件,解析文件。也不是不行,只是写这些没有技术含量的代码实在是浪费生命。这时候就想到能不能用通用的工具来搞定?首先我想到的是json和xml。xml我是真不太喜欢,太丑了,辣眼睛。那就选json吧。然后找json库。刚开始我看很多人推荐rapid json。说是业界最快的库。我看了几个例子,感觉不好用,或者是我没看太懂吧。如果看懂了,估计也没啥难度。后来又翻了个nlo
2020-12-09 23:04:15
882
原创 关于并行计算的一些试用
最近尝试了几种并行计算的方法。1、openMP。这应该是gnu本身自带的一个插件,编译选项只需要加上 -fomp就可以了。使用时在for循环或者需要并行的语句前加上预处理选项。#pragma omp parallel等等,有若干种,整体思路就是把一些无关的函数并行计算。注意,一定是无关的,如果有先后关系的,可能计算结果就有问题了。这个用起来很简单,尤其是for循环等,加速很明显,可以加速到cpu核数倍。2、TBB。线程构建模块。这个是intel的库,可以让任务并行。不过需要修改代码,从task等扩展
2020-12-03 09:43:15
176
原创 Linux 下编译 Thread Building Blocks TBB
不得不说,什么库如果不自己编译一遍,完全不知道什么坑就拿TBB来说吧,博客上很多人都试过,也都成功过,我想照抄都不行。就连库上下载的代码都不一样。后来才发现,库都不是同一个。行吧,既然如此,认了吧!首先,下载库,我用的是这个:(千万不要去下载master,找个releases下吧,master上的未必能编译过,而且那个不是普通用户的)https://github.com/oneapi-src/oneTBB/releases/tag/v2020.3第二,解压编译解压后里面就是一堆目
2020-11-27 14:58:00
944
原创 C++ Linux gcc 并行计算写法
编译选项修改 CMAKE_CXX_FLAGS 里加上 -fopenmp for循环前增加一句编译参数 #pragma omp parallel for 编译重跑,一般可以获得CPU核心数为倍数的加速。 只能加速for循环,而且是同一个for循环,多个for(1)的加速不了。...
2020-11-18 14:40:15
627
原创 Little VGL + code::blocks + 模拟器
安装vs code,去官网下载安装就好:https://code.visualstudio.com/ 在vs code里安装一个扩展组件 platformIO IDE(这个插件安装的很慢,慢慢等待吧……………………) 下载编译器mingw,去这个网址:https://www.msys2.org/ 首页就有很详细的教程,按步骤安装就好了 ...
2020-11-15 21:43:48
1095
原创 C++ [] = 运算符重载,终于静心试了一下,以前都是拷贝了修改…………不知所以
之前一直困惑或者畏惧的运算符,今天算是做了一个初步的了解。做了一个分段数组的数据类,里面包含若干段数据,但是序号不是连续的,为了方便快速使用[],查到数据值,最好的办法就是重载[]运算符。找了些按理,都没有解释清楚,写法的具体含义。class Data{public: std::vector<std::vector<unsigned>> data ; unsigned& operator[](unsigned idx)// ()里表示[]里...
2020-10-31 15:38:57
315
原创 C++ callback函数
C callback。这类callback很简单,只需要将函数指针作为参数传递给另外一个函数即可 C++ callback。如果是类成员函数作为callback函数,就会比较麻烦。static 成员函数方法。这种方法其实是跟1类似的。将成员函数转化为静态函数,唯一标识的函数指针地址。所以跟1类似。用法也跟1类似了,传递函数指针即可。 动态绑定方式。这种方法不要求成员函数为静态,但是必须把对象指针一起传递。这种写法上就很麻烦了。我是这么写的,先用模板创建类M,将想注册的函数的类A作为类型传递给M。同时,
2020-09-15 19:45:37
2636
原创 单实例 static 类成员变量
a.hclass A{ static int* x ;}a.cppint* A::x = 0 ;*注意:初始化不要放在头文件中,多次包含会报错初始化一定要有,否则会报undefined reference xxx。
2020-09-10 11:35:24
185
原创 编译systemc modeling library scml2
编译systemc 2.3.3,参考https://blog.youkuaiyun.com/guyspring/article/details/104482118 编译scml2库 与编译system2.3.3时类似,先在目录下建立一个build文件夹 进到build文件夹中,../configure --prefix=/xxx(安装的目标目录Y) --with-systemc=/xxx(已经编译好的systemc的位置) 如果需要指定c++版本的话,一样需要CXXFLAGS=-std=c++11等参数 m
2020-08-25 16:36:51
430
原创 Cmake 添加静态库和动态库
动态库:需要一个路径位置,需要库文件名。link_directories() 指定库位置target_link_libraries() 添加库文件名。注意:库文件名,会被自动添加前缀lib,后缀.so。最后就变成了这样lib库.so这样做,可以让动态连接写法简单些,但是规则要首先熟悉才行,要不就找不到库了。静态库:需要指定文件位置,必须是绝对路径。例如 /a/b/c/d/libxxx.alink_libraries(/a/b/c/libxx.a)...
2020-08-21 12:01:52
2725
4
原创 Python 的label entry button frame的简单用法
一个输入框,一个标签,一个buttonimport tkinter as tkimport osdef hello(): val = os.system("ls -al") print(val) print("Say hello to everybody!") print(etyText.get()) #os.system("python3 ...
2020-04-06 22:07:10
487
原创 CMake 添加编译选项 -include
用惯了makefile 很多编译选项可以直接加。切换到cmake之后,发现变化很大。不过仍然可以不变应万变。毕竟编译选项跟GCC有关,跟CMake还是makefile无关,只需要把编译选项加进来就行了,只是方法不同而已。例如想使用c++11,只需要在cMakeLists.txt中加上set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")...
2020-04-01 09:32:27
2398
原创 C11编译 systemc 2.3.3 和 SCV 2.0.1
CC=c11 ../configure../configure --prefix=/home/guyspring/CLionProjects/sc-2.3.3/sudo apt-get install automake
2020-02-24 22:23:57
1925
9
原创 cmake 编译systemc 2.3.3
cd systemc-2.3.3/cmake ../ -DCMAKE_CXX_STANDARD=11 -DCMAKE_BUILD_TYPE=Debugcmake --build .
2020-02-24 16:38:39
646
原创 【求教】python 将excel 导入mysql数据库
如果不用xl读取再写入数据库的方法,是否有直接将excel导入数据库的方式?命令?可以要求excel按照一定的格式,最好不要读取除了再写入数据库,这个太麻烦了。...
2020-02-15 20:06:17
207
原创 deepin 安装 mysql 和 python遇到的问题
主要是安装mysql-python 报错 EnvironmentError: mysql_config not found然后用这个命令可以解决:sudo apt install default-libmysqlclient-dev~/Desktop$ sudo pip install MySQL-pythonCollecting MySQL-python Dow...
2020-02-13 20:39:24
1578
mpi31-report
2020-12-01
mpich-3.3.2.zip
2020-11-30
lvgl_sim.zip
2020-11-15
lvgl-release-v7.zip
2020-11-14
lv_port_stm32f746_disco_sw4stm32-master.zip
2020-11-14
FreeRTOSv202011.00.zip
2020-11-12
设计模式(GoF).7z
2020-10-29
eda-playground-readthedocs-io-en-latest.zip
2020-07-29
微型GUI 只有俩文件
2020-07-10
Kluwer_Academic_-_SystemC_From_The_Ground_Up_(2004).pdf
2020-07-08
TLM_2_0_presentation.ppt
2020-07-05
Accellera_SystemC_AMS_Users_Guide_January_2020.pdf
2020-07-05
SystemC-Primer[4].pdf
2020-07-05
systemc-2.3.3.zip
2020-07-05
SystemC_2_1_features.pdf
2020-07-05
SystemC 2.0 FuncSpec20.pdf
2020-07-05
IAR for ARM 6.50.3 破解补丁
2013-03-21
Altium Designer 6.0 实用学习教程
2012-03-14
turbo c/c++ 3.0
2011-08-07
rt thread studio 用art pi debug 报错,有没有遇到的啊?
2021-02-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人