自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 编译linux内核出现的问题:fatal error: dt-bindings/interrupt-controller/arm-gic.h: No such file or directory

目录用于存放设备树编译器(Device Tree Compiler,DTC)的头文件包含路径的前缀。设备树编译器 (DTC) 用于将设备树源码编译成二进制设备树(.dtb)文件,以便在 Linux 内核启动时由引导加载程序传递给内核。目录中的文件主要包含了一些头文件路径的前缀,这些前缀用于在设备树编译期间解析设备树源码中的。通过指定这些前缀,DTC 可以找到所需的头文件并正确地处理设备树源码。看提示应该是找不到所包含的路径或文件。在 Linux 内核源码中的。

2024-01-21 19:24:40 495

原创 TLC Nand Flash 存储单元的读取原理

对于普通的晶体管(去掉浮栅晶体管中的浮栅层,floating gate),暂时先忽略其他因素,我们只看control gate施加的电压(这里暂时称为Vg),当Vg增大到一定值得时候,channel中有电子流过(导通),此时的电压大小称为阈值电压Vth;当Vg小于Vth时,channel中没有电子流过(截止)。从原理上分析,在图3中(与图2不同的一种编码方式),逐渐从最小值增大Vg(也被称为读参考电压Vread),如果Vg=Va,此时如果memory cell导通,它的编码值就为二级制111,以此类推。

2024-01-14 12:06:26 510

原创 基于SDL2自制俄罗斯方块

俄罗斯方块是一款十分经典的游戏,曾风靡全球,小时候玩得第一款电子游戏就是掌机俄罗斯方块。现在我们基于SDL2自制俄罗斯方块。首先我们通过3维数组定义不同种类的方块,方块矩阵为4x4的二维数组,第三维为每种方块的变形种类。const int TT_Blocks[TT_BLOCK_TYPE_NUM][TT_BLOCK_TRANS_NUM][TT_BLOCK_NUM_AREA_HEIGHT][TT_BLOCK_NUM_AREA_WIDTH] = { //TT_BLOCK_TYPE_NUM

2020-07-25 15:32:00 569

原创 在Qt Creator中创建SDL项目

下载SDL库参考这里。1、创建一个非qt的C项目。2、打开项目配置文件.pro,右击编辑区域打开“添加库”,选择外部库。3、库类型选择Windows,我们使用32位的库,库文件选择SDL2-devel-2.0.12-mingw\SDL2-2.0.12\i686-w64-mingw32\lib,include路径选择SDL2-devel-2.0.12-mingw\SDL2-2.0.12\i686-w64-mingw32\include\SDL2。4、完成上一步后项目文件.pro如下

2020-06-18 12:47:35 710

原创 SDL中Window,Renderer,Texture,Surface之间的关系

在SDL中,Window,Renderer,Texture,Surface之间有什么关系,在stackoverflow找到一篇回答(在这里)。1、Window 窗口SDL_Window这个结构体存放了所有与Window有关的信息,比如长宽、位置、边界等等。2、Renderer 渲染器SDL_Renderer这个结构体存放了与所有渲染有关的信息,它被绑定到了SDL_Window,刷新Renderer可以刷新与其绑定的Window。3、Texture 纹理 和 Surface 表面SDL

2020-06-17 14:56:30 2722

原创 在CodeBlocks中用SDL2在Windows上仿真LVGL嵌入式图形库

LVGL(Light and Versatile Graphics Library)是一个嵌入式图形库,主要用于开发嵌入式人机界面,文档在这里。现在我们在CodeBlocks中基于SDL2创建一个项目,移植LVGL到SDL2。1、创建一个SDL2项目(可参考这里)2、下载LVGL和LVGL示例git clone https://github.com/lvgl/lvgl.gitgit clone https://github.com/lvgl/lv_examples.gitclon

2020-06-17 11:03:01 3762

原创 在CodeBlocks中创建SDL项目

SDL(Simple DirectMedia Layer)是一个用C语言编写的跨平台的库,其通过OpenGL和Direct3D提供对音频,键盘,鼠标,手柄和图形硬件的底层访问,SDL可用于视频播放软件和游戏模拟器的开发,支持Windows、Mac OS X、Linux、iOS和Android等平台,截至今天(2020-6-13)最新稳定版本为2.0.12。我们选择用CodeBlocks来创建SDL项目。1、下载CodeBlocks我使用的版本是Code::Blocks 17.12,下载链接在这里

2020-06-13 13:46:57 1569 5

原创 Qt Concurrent Run 简述

QtConcurrent命名空间为了多线程编程提供了更高级的API,使用QtConcurrent时,Qt会根据CPU的核数自动分配线程。然而,当需要与正在运行的线程进行通信时,则不能使用QtConcurrent来实现,并且不应将其用于处理阻塞操作。其中,使用QtConcurrent::run()可以开辟一个单独的线程来运行我们定义的函数(可以在里面执行一些耗时或者需要并行的计算),QtConcurrent::run()返回一个QFuture模板类,用来处理函数的返回值。1、运行不带参数的函数:voi

2020-05-26 11:08:58 2246 1

原创 FreeRTOS中使用Jansson

Jansson是一个基于C语言的JSON库,最新的文档请看这个链接。在FreeRTOS任务里使用的时候要注意分配给任务足够的内存空间以及Jansson内存的申请和释放,否则可能会出现组装JSON对象错误。代码示例如下:#include <jansson.h>/* ...*/void TestTask(void const * argument){ /* ...

2019-09-14 14:47:23 546

原创 CentOS 7 安装 Webmin

“Webmin 是一个基于 Web 的 Unix 系统管理界面。借助任何支持表格和表单的浏览器(和 File Manager 模块所需要的 Java),您就可以设置用户帐号、Apache、DNS、文件共享,等等。Webmin 包括一个简单的 Web 服务器和许多 CGI 程序,这些程序可以直接修改系统文件,比如/etc/inetd.conf和/etc/passwd。Web 服务器和所有的 ...

2019-07-31 14:45:37 1883

原创 CentOS 7 安装MySQL

我们使用Yum仓库来安装MySQL。下载Yum仓库:# go to find latest repo: https://dev.mysql.com/downloads/repo/yum/wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm创建Yum仓库:sudo yum locali...

2019-07-24 09:41:17 83

原创 CentOS 7 安装RabbitMQ

RabbitMQ基于Erlang开发,是一款实现了高级消息队列协议(AMQP)的开源消息代理软件。安装步骤具体如下:安装 Erlang为了安装方便,我们采用RabbitMQ团队提供的Zero-dependency64-bit Erlang RPM package来安装。在rabbitmq/erlang on Package Cloud中复制命令行。创建erlang.repo...

2019-07-23 10:22:19 108

原创 Windows 安装RabbitMQ

官网是这样介绍RabbitMQ的:RabbitMQ is the most widely deployed open source message broker.RabbitMQ遵循的许可证是MPL1.1安装RabbitMQ(windows 64位系统)安装ErlangRabbitMQ是使用Erlang 开发的,首先要安装Erlang。下载Erlangwindow...

2019-07-20 08:29:04 135

原创 使用electron-packager打包electron应用

1、安装electron-packagernpm install electron-packager --save-dev2、在package.json的scripts中添加:"package-win-my": "electron-packager ./ AppName --overwrite --platform=win32 --asar --out=OutputFolderN...

2019-06-03 15:31:38 2403

原创 在electron中使用串口

如果要在electron中使用本机的串口硬件,需要用到node-serialport这个package。由于electron集成的node runtime版本与本机存在差异,所以如果要在electron项目里引用serialport的话,必须要重新把它编译成此时electron使用的版本。首先,新建一个electron项目文件夹(比如elec-proj),然后使用vscode 打开这个文件夹...

2019-05-22 12:06:02 13566 3

原创 如何选择合适的C++与QML集成方式

详细请参考官方文章:这里

2018-07-28 16:59:57 206

原创 stm32的VDDA和VSSA不能悬空

最近画了一块板子,PCB打样好了,准备先焊接MCU最小系统部分测试一下,结果总是不能通过STlink下载程序,但是偶尔也可以,但是在线调试的时候总会断开连接,即使程序偶尔可以运行,但是总是频繁复位;又焊接了一块板子,结果这块板子程序一次都下载成功不了,百思不得其解。通过检查发现,我使用的一个高精度的3.3V芯片用于给VDDA供电,而这个芯片并没有焊接,导致VDDA脚悬空,根据芯片手册介绍:“VSS...

2018-06-29 14:01:31 11307

原创 Qt 调试错误现象及解决方式记录

1、继承了QSerialPort类调试出错。(1)现象:对‘QSerialPort::QSerialPort(QObject*)’未定义的引用对‘QSerialPort::metaObject() const’未定义的引用对‘QSerialPort::qt_metacast(char const*)’未定义的引用对‘QSerialPort::qt_metacall(QMetaO...

2018-03-09 17:21:21 4552 1

原创 QML与C++集成简述

QML的解释引擎集成了Qt的元对象系统,允许实现QML与C++混合编程。集成QML和C++可以实现以下目的:(1)分离用户交互界面和后端应用逻辑代码;(2)在QML中调用C++函数功能(数据模型或第三方的C++库);(3)通过C++实现自定义的QML object types;为了在QML中调用C++函数功能,必须定义QObject派生类的C++类,类定义好之后就可以在QML中以以下三种方式调用:...

2018-03-09 15:31:32 347

原创 配置Qt Creator 4.5.0 远程调试开发板

一、需准备的工具1、交叉编译好的gdb(配置Qt Creator用);2、交叉编译好的gdbserver(开发板上用);3、开发板:NanoPC-T3;4、PC:Ubuntu 16.04;5、Qt Creator 4.5.0;6、Qt SDK Version:Qt-5.9.1-nexell64-x86tools二、配置Qt Creator0、首先新建一个示例项目test-01, 在test-01....

2018-03-07 18:08:37 1225

原创 vi 复制、粘贴、撤销、恢复撤销

一、复制和粘贴方式1:使用鼠标和键盘(1)进入插入模式(在命令模式中按“i”键);(2)使用鼠标左键拖动所要复制的内容(也可从外部编辑器如gedit使用Ctrl+C复制内容);(3)使用键盘移动光标到所要粘贴位置;(4)按下鼠标中键进行粘贴。方式2:只使用键盘(1)移动光标到所要复制的位置;(2)进入可视模式(在命令模式中按“v”键);(3)移动光标选择所要复制的内容后,按下“y”键;(4)移动光...

2018-03-07 08:14:32 1987

原创 minicom 传输文件问题

现象:采用zmodem传输,提示传输skipped,传输完成,但是文件并没有被传输;解决方法:开发板需要获得root权限。

2018-03-04 12:54:02 1075 1

stm32f10x DSP library

stm32f10x DSP library, 官方dsp库介绍

2015-07-19

空空如也

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

TA关注的人

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