自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 艾宾浩斯记忆表

用PYTHON艾宾浩斯记忆表。

2022-12-31 12:49:16 645 1

原创 将某目录下所有的代码收集到一个文件中

当需要整理软件的时候,比如申请软著,需要将工程目录下所有代码写到一个文件。写脚本并不难,但我不想写两遍,所以先记录一下。

2022-12-01 14:57:32 220

原创 解决pybind报错TypeError: useOp(): incompatible function arguments.

第一次运行pybind,结果总是报错TypeError: useOp(): incompatible function arguments. The following argument types are supported:1. (arg0: cost_model.OpInfo) -> NoneInvoked with: <class 'cost_model.OpInfo'>我的代码大概如下://C++ struct OpInfo { std::strin

2022-01-28 17:29:57 3950

原创 解决freetype乱码的问题

我在嵌入式上移植了ubuntu和freetype,想用点单的方式控制屏幕显示,却发现freetype打出来的字是乱码(框框框)。用L“中文”这种方式是可以显示正确的,但L只能修饰常量,变量的,比如char chn[]这样的就显示成乱码了。明知道是编码问题,可是该怎么改呢?在网上搜了很多资料,说freetype默认支持unicode编码,而L修饰的字符是由编译器转换编码的。也就是说我需要将ubuntu的utf8编码转为unicode。但找了几个网上的编码转换代码,实验均未果。最后是https://blog

2021-01-13 17:07:51 1867 3

原创 一次解决ubuntu上安装gcc的记录

因为一次编译重视一堆报错,我以为是我的编译环境搞乱了,于是一怒之下将gcc, gcc-7, build-essential等用 apt remove卸载,打算重装。但麻烦事来了,用apt-get installbuild-essential总是失败。后来改用sudo aptitude install build-essentialaptitude 比apt确实聪明点,能够发现依赖的库。然后问你是否accept,我选Y,结果什么也没安装就退出了。诀窍是第一次要选n,第二次再选Y就好了。...

2021-01-10 16:27:00 224

原创 linux驱动之透明访问连续大片内存

Linux的内存管理设计(这里指堆分配的伙伴算法)看似很聪明,但在我看来是考虑不周。它是以页为最小单位分配,但分配的页可能不连续,所以对4K以上的连续空间操作一定要谨慎,因为分配的内存对用户可见的逻辑地址是连续的,而对用户不可见的物理地址是不连续的。对于写驱动程序的人,了解这一点很重要,因为有时外设不会管这些事情,外设主动取数据都认为地址连续,如果你单纯地用kmalloc开辟共享空间,很可能导致难以发现的错误。当你需要一片很大的连续的物理内存空间时,有两种方案:1,在bootloader中设定可用内存时

2020-12-27 20:47:49 466

原创 解决virtualbox下Ubuntu磁盘扩展后修改fstab启动失败的记录

由于各种任务的增加,ubuntu的空间总是不够用。之前添加磁盘空间,都是修改.vdi的size后,格式化并挂在到新的目录上。其实我想要的是直接增加磁盘size,而不是增加分区。而添加分区还有一个致命的缺点,就是如果/etc/fstab修改出错,且在mount -a检查之前重启了电脑,有可能启动失败。敝人就经历了一次,网上大多数解决方法是通过recovery mode 启动,但我惊奇地发现我的ubuntu(高级模式)下没有recovery mode选项。终于,在网上搜到了一个救命贴。https:/

2020-10-26 14:25:21 579

原创 Linux 下安装vitis 2020.1

Windows下综合demo rdf0428-zcu106-vcu-hdmi-roi-2020-1失败。尝试了多次,未能解决问题。于是尝试在Linux下安装vitis。按照文档ug1250 在这里下载,https://www.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Unified_2020.1_0602_1208_Lin64.bin然而并不是一切顺利报错Exception in thread "SPLASH_LOA

2020-10-13 15:54:33 4111

原创 VirtuleBox 引导kivy(Ununtu)时报错的解决过程

之前好不容易安的kivy环境,更重要的是里面有我花了一个月编的程序,因为一次系统崩溃,没了。幸好一个修电脑的帮我拯救出了.vmdk镜像。但是重新安了新版virtualBox之后,再启动就会出现这样的报错elf header smaller than expected(忘了截屏,后面的忘了)grub rescue>上网搜了一下,说要用启动盘引导,重装grub。Virtualbox哪用得了引导盘呐,网上介绍的又很少。但我发现,在设置->系统中有个启动顺序,这貌似可以用光盘引导。可我没

2020-06-25 17:26:15 513

原创 stl set的比较

有个问题:集合set可以比较吗?比较会考虑顺序吗?编程说明问题:#include <set>#include <iostream>using namespace std;int main(int argc, char* argv[]){ char *a = "hello"; char *b = "world"; char *c ...

2020-03-01 10:47:25 430

原创 clang 编译多个文件生成.ll 的Makefile

AR=arLD=ldCCPATH=/foyer/suite/bin/CC=$(CCPATH)clangCXX=$(CCPATH)clang++INC =LIBS = -lm #-lpthread -lm -lstdc++CFLAGS =LLVMFLAGS = -emit-llvm -S -Xclang -disable-O0-optnone#注:"\"后面不能有空格,并且该句写...

2020-02-28 10:48:27 2922

原创 stl 中set 的坑(来自删除和遍历)

今天调了一天,终于解决了一个非常莫名奇妙的问题。大概可以描述如下:set<int> nodes;for(auto n: nodes){ //some code using n if(condition) nodes.erase(nodes.find(n));}本以为这可以逐个遍历,但情况是,当erase一次之后再遍历,n又会回到之前的一个...

2020-01-10 17:08:47 952

原创 解决Exception has occurred. Illegal instruction

我的C++程序编译时没错,一运行就core dump调试之,最奇怪的是运行到一句很普通的ret += "\n}\n"; 就挂了。程序大概如下:string func(){string ret;……ret += "\n}\n";}无论把本行的代码注释掉还是把中间的部分注释掉,运行都报Exception has occurred。费解了一下午,终于醒悟:没retur...

2019-12-20 15:40:07 2124 1

原创 解决***.so: undefined symbol:XXX的问题

自己写的代码,编译成.so文件编译可以生成.so,但一运行就报错***.so: undefined symbol:XXX上网搜,据说可能是因为没加extern "C"加了,无效。因为我的.so并没有给.c代码使用。最初只有一个.cpp时,编译出的.h文件是可以运行的,后来加了一个.h文件,就不行了。 于是查看Make file,怀疑是***.so:*.o的写法没包含.h...

2019-12-20 10:41:50 14432

原创 Ubuntu下运行kivy产生字体错误的解决方法

运行cd ~/kivy-examples/demo/kivycatalog/kivydev@kivydev-VirtualBox:~/kivy-examples/demo/kivycatalog$ python main.py产生如下错误:File "/usr/local/lib/python2.7/dist-packages/kivy/uix/label.py", l...

2019-12-14 17:23:59 277

原创 llvm 安装

参考了一些别人的方法,折腾了很久,以失败告终。最后按照书上写的,终于成功了。以下是一键安装的脚本。cd <somewhere>mkdir llvm#.Checkout LLVM(添加一个你想放置LLVM的路径)cdllvm svncohttp://llvm.org/svn/llvm-project/llvm/trunkllvm#Checkout C...

2019-10-25 10:22:22 371

原创 vim 里解决TabError: inconsistent use of tabs and spaces in indentation

遇到了奇怪的问题,python总体是TabError: inconsistent use of tabs and spaces in indentation程序上看着没有任何问题,手动修改被提示行代码的缩进,但却怎么改还是空格,中邪了!可能是我之前用eric编辑过,但eric也改不过来。网上搜说这样可以解决set tabstop=4set softtabstop=4set ...

2019-07-18 10:25:20 1513

原创 ubuntu 安装百度云网盘

我工作中要用到几个虚拟机,有的是在远程的服务器下,虚拟机中套虚拟机,Windows和Linux都有。晕得我傻傻分不清楚。关键这些虚拟机还需要文件交互。无论是FTP还是用邮件,也有用SCP的,感觉都不太方便,飞秋在局域网还可以,广域网不太好使,微信只能登一个电脑客服端,不适合多平台传输。不如用百度云网盘。关键是Linux下怎么办。幸好百度的人不傻,出了Linux版,但网上目前介绍比较少,我就介绍...

2019-07-02 10:30:36 24621 6

原创 tvm安装备忘

#!/bin/bashset -esudo apt-get updatesudo apt-get install -y python python-dev python-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake #安环境cd ~git clone git://github.com/ninja-build/...

2019-05-16 14:56:20 319

原创 通用型Makefile

每次写Makefile都花我很长时间,不如直接写个通用的保存一下,下次直接用。其实Makefile不就是把所有.c或.cpp编译成.o吗?让它自己查找目录呗。原理不难,关键每次都得上网搜语法,学规则。我希望一个Makefile直接编译工程中所有的目录下的文件,不要每个子目录都有Makefile。这也是抄的,拿来改改。AR=arLD=ldCC=gccCXX = g++INC =...

2018-07-23 13:23:10 206

原创 批量转换编码

每次将windows里的程序拷到Linux里都得大费一番周折修改编码,其实这个脚本我已经写了不止一次了,只是每次写完都忘了放哪,加上换工作,老得重新写。这次还不小心把文件系统搞出毛病了~长点记性,好不容易调好了,做个记录,今后省点事。#! /bin/shif [ $# -ne 1 ]then path='.'else path=$1ficandident=$

2017-07-04 16:18:14 406 1

原创 QList和QThread不能被用于.so的编写

搞了好久,自己写的.so文件一运行就挂。不编译成.so,加上main直接编译成可执行文件,可以运行。给我气的……用Debug追踪,最终问题指向了QList对象的构造。很是不解,怀疑谁也不会怀疑它呀!抱着试一试的心态,将QList换成了STL的std::list,靠!就可以了……我用的Linux版的Qt5.9,怀疑这是Qt的bug。如有高手经过,请指教~

2017-06-22 18:29:53 271

原创 用mdev使U盘中的脚本自动执行

这并不是什么先进技术,mdev、udev是Linux已经使用多年的热插拔通知方案,但我想说的是,作为一个初学者,想实现自己的想法并不是那么容易。其实我写脚本已不是一次两次了,但每次写脚本都要费很长时间,总结原因有几点:1、脚本不像编译语言,没有编译器帮你在执行前发现语法层的错误,只能运行时发现。2、脚本调试不方便,基本只能靠echo打印得知变量的值或者程序运行到哪,虽然有可以在开头加-xv

2015-11-21 15:18:10 2942

原创 让DSP从FLASH启动——step bystep

让DSP从FLASH启动——step bystepTI的资料上的说明如下:位于CE1空间的ROM中的代码首先通过DMA/EDMA被搬入地址0处。加载过程在复位信号撤消之后开始,此时CPU内部保持复位状态,由DMA/EDMA执行1个单帧的数据块传输。传输完成后,CPU退出复位状态,开始执行地址0处的指令。对于C6416,片上的Bootloader工具只能将1 KB的代码搬入内部RAM。通

2013-05-26 10:45:54 6967 2

原创 裸机实现带优先级的多任务程序架构

许多程序员被裸机上实现实时多任务所困扰,以前我的程序是这样……自从用了这种框架,现在成了这样式……这年头还有用裸机实现多任务的设计?如果你像我一样不幸,作为过来人,给你提供一种思路,实现尽量的实时性。裸机上编程,有个麻烦就是大任务无法打断,一旦执行,如果不在函数中穿插判断退出的情况,就必须等他执行完才能干别的,啥时实性啊,全耽误了。当然,最实时的办法就是利用中断,但中断也不是随心所

2013-04-23 10:13:03 3053 1

原创 让Qt得知来自硬件的中断

我的项目中,Linux驱动程序含有中断,而中断处理程序需要在GUI中处理(或者至少一部分是),我使用的是Qt,本来想能否让驱动程序像在Qt程序中一样emit 一个signal,但发现这太难实现了,因为我还不知道如何在Qt之外使用MetaObject或moc这类玩意。问了一下Qt群,Q胖说Qt是平台无关的,应该像没有Qt时一样处理。虽然听的我一头雾水,但仔细一想也大受启发,对呀,Linux下有那么多

2012-10-30 10:52:07 5504 2

原创 QThread学习笔记

研究了几天QThread及其同步机制,终于有点领悟,趁着没忘写个笔记。QThread类只是一个接口,在其里面声明的函数,只有run()在子线程中运行,其他的都被福线程调用。网上说一个slot函数会存在例外,与直接连接和队列连接有关,但我看那些情况比较复杂,我一时半会是用不到了,而且如果不要求slot函数一定要在子线程中运行,几乎不用管它,只要不用moveToThread()就不会出

2012-10-18 17:27:31 789

转载 在ubuntu下安装matlab

下载:math.whut.edu.cn/shumo/special/msoft/mac/matlab_unix_2009b.iso挂载:mount matlab_unix_2009b.iso /media/cdrom0/ -t iso9660 -o loop复制:cp /media/cdrom0/ /usr/matlab/安装:/usr/matlab/install_matlab安

2012-09-30 18:20:10 676

原创 将android210改造成Linux210

对比市场上各种cortex-A8开发板,其实我很偏向于买友善的,但友善的mini210有一个致命缺陷——核心版上没有片选线,无法连接自定义的总线设备。为了扩展总线设备,我买了友坚的android210开发板,但这个开发板资料太少了,我想在它上面跑Linux都没有,套件中只有一个Android3.0.8系统,开发手册几乎等于没写,只有Android的开发视频。这下可惨了……听师兄说过,国内这些做

2012-09-12 13:28:45 4661 3

llvm10.rar

新版的llvm和以前的大不一样了,包括pass的模板都变了,只看以前的就资料就别想入门llvm10。 这些资料介绍新的pass流程等,目前国内网站找不着,绝对超值。

2020-04-29

llvm合集.rar

LLVM图书合集,包含LLVM Essentials、LLVM Cookbook、Getting Started with LLVM Core Libraries。

2019-12-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除