自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows通过网线共享流量给开发板

windows把能上网的WIFI网卡和有线网卡连接起来,使得开发板也能上网。开发板是ubuntu16windows可以是7或101 windows设置2 开发板设置先确定windows的DNS地址,等下要填(红框处,一般只要第一行就行了):再确定windows的以太网的IP(红框处):好了,可以设置开发板了:$ vim /etc/network/interfacesauto eth0iface eth0 i...

2021-05-07 22:01:55 489

原创 香橙派r1上手

uboot使用主线2021.01内核使用5.10.25uboot编译和烧录make ARCH=arm orangepi_r1_defconfigdd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=8K seek=1改bootcmd,原版用的UEFI,实在不懂得弄:setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10setenv bootc.

2021-03-28 16:13:31 255

原创 理解VirtualBox和VMWare的各种网络模式

理解VirtualBox和VMWare的各种网络模式个人理解,如有错误,欢迎指正。1. 桥接网络虚拟机的网卡桥接到宿主机的物理网卡,不解释。2. 仅主机(Host-Only)网络如果你新建一个这样的网络,两样东西会创建:一个是VirtualBox内部的交换机,如图中的"hostonly交换机";另一个是你的宿主机下的虚拟网卡,如上图中的"hostonly网卡"。windows实际如下图:hostonly网卡和hostonly交换机实现了一个局域网,...

2021-03-13 18:59:36 484

原创 DirectoryOpus使用经验

1 这是什么这是一个文件浏览器(或者说资源管理器,文件管理器),功能很强大,界面也很美观,可以替代Windows自带的文件管理器。2 相关概念大概就是3个,ToolBar,FolderOption和Lister。各有各的位置:2.1 ListerLister大概就是要不要双屏,双屏是水平还是垂直的意思。你可以先配置好自己想要的样子,然后把当前Lister存为默认:2.2 FolderOptionFolderOption大概就是...

2020-10-23 10:07:41 5014 1

原创 Linux学习笔记

前言这只是个人的一些经验,见解,有点杂,可能也不准确,慢慢完善;内核用的4.14.1;中断enable_irq会直接执行一次中断处理函数,如果中断有被注册的话;enable_irq之前必须disable_irq,不然报错:Unbalanced enable for IRQ;中断域内核大概从3.x引入中断域。中断域的父子中断关系有点复杂,大概是这样的:个人认为中断域的作用之一是理清父子中断的关系。每个中断域都有一套物理中断到虚拟中断的映射,内核最终使用的中断号都是虚拟中断号,虚拟中断

2020-09-13 12:19:41 276

原创 uboot学习笔记

前言这只是个人的一些经验,见解,有点杂,可能也不准确,慢慢完善;uboot用的2016.01;配置文件uboot的配置文件有两份,一个是configs/*defconfig,一个是include/configs/<board_name>.huboot大概从2014年以后才支持menuconfig,在此之前uboot的配置跟linux很不一样SPLSPL就是SecondaryProgramLoader的意思,用来把真正的uboot搬移到内存执行。大多数系统启动的时候都是把u

2020-09-13 11:13:51 369

原创 宿主机访问VirtualBOX中的NAT虚拟机

最后主机执行:$ ssh [email protected]注意:全局设定里的端口转发不能立即生效。

2020-09-13 09:47:42 360

原创 eclipse之C/C++使用上手

1. 把一个文件夹(或者文件)排除在编译之外被编译排除的文件夹(或者文件)也会被index(eclipse的代码索引)排除,也就是说你浏览代码的时候不会跳转到被编译排除的文件里去。这在浏览多平台代码的时候很有用,比如内核源码的arch目录下你只想看arm而已,那么你可以把arm以外的架构全部排除。2. 添加外部定义下图这段代码的底色是蓝色的,表示这段代码不会被编译(当然也索引不到),因为CONFIG_CMD_LOADB这个宏没有定义。可是我看代码的时候就想索引到这段代码...

2020-07-18 16:00:52 556

原创 怎样使用Sakura内网穿透

Sakura是一个内网穿透方案,它使得你可以远程连接那些没有公网IP的设备,当然前提是你自己是可以连入公网的。还有一个很重要的是,它是免费的。接下来讲怎样通过Sakura远程SSH一个Linux电脑。1 注册一个Sakura账号打开注册界面注册一个账号,界面是这个样子的:2 创建一个隧道注意:第2步选一个离你近的服务器 第4步根据你自己的需要来,我是SSH远程登录,所以是TCP 第6步填的端口是22,因为SSH默认就是用22 第7步随便写一个端...

2020-07-05 19:08:39 8347 1

原创 VSCode自定义主题

以monokai为蓝本,复制一份自己的主题:源文件:D:\Program Files\Microsoft VS Code\resources\app\extensions\theme-monokai新文件:D:\Program Files\Microsoft VS Code\resources\app\extensions\theme-monokai_mine主题文件的目录结构是这样的:package.nls.json:以前的:{ "displayName": "M.

2020-07-03 14:29:40 956

原创 linux内核链表学习笔记

直接上代码#include <linux/kernel.h>#include <linux/init.h>#include <linux/module.h>#include <linux/printk.h>struct mytype { int val; struct list_head thelist;};struct mytype mytype1 = { .val = 11,};struct mytype

2020-05-20 17:15:05 150

原创 QEMU学习笔记

========源码安装 $ mkdir build # 直接在根目录编译会产生大量的配置文件 $ cd build $ ../configure $ make $ sudo make install 可能需要: $ sudo apt-get install libpixman-1-dev $ sudo a...

2020-05-01 10:04:45 867 1

原创 vim学习笔记

打开vim时指定打开多个文件,而且垂直分割窗口: vim -O file1.c file2.c水平打开则是: vim -o file1.c file2.c如果一开始只有file1.c独占一个窗口,想垂直打开另一个,则: vs file2.c同理,如果想水平打开另一个文件:则: sp file2.c如果单单输入sp或者vs也是可以的,只是这时是一个文件...

2020-05-01 09:47:40 295

原创 嵌入式学习笔记

FreeRTOS========= 以下内容全部基于ARM Cotex-M系统 * MCU的NVIC分组必须是第4组,这意味着所有中断的preemption priority是[0, 15],sub priority恒为0 * LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY是调用FreeRTOS中断API的中断最大优先级。换句话说,所有调用F...

2020-05-01 09:26:20 869

原创 移植Linux4.14.1到JZ2440

声明驱动目前只支持Nandflash和串口。1. 准备材料开发主机:Ubuntu18.04 64位 Linux内核:4.14.1(下载) u-boot,dnw:来自韦东山 交叉编译器:arm-linux-gnueabi(版本:5.4.1 20170404,下载) YAFFS2(下载) 文件系统:buildroot-2018.08.22. 编译YAFFS2由于...

2020-03-28 21:55:09 400

原创 给实体机安装ubuntu之简单教程

1. 上Ubuntu官网下载一个Ubuntu镜像2. 使用Rufus烧录镜像选好U盘和镜像文件,“分区类型”选择MBR,点击开始即可注意有时它会提示需要下载一些文件,点击“是”即可,像这样: 有时下载也会失败,不妨试试老版本的Rufus3. 把制作好的启动盘插入实体机启动即可...

2020-03-05 18:58:31 1382

原创 怎样用Qt5创建自定义控件

环境:Qt5.12.7 Windows7 MinGw73.641. 新建自定义控件2. 编译工程用户此时当然要改自定义控件里的各种代码的,这里只是为了阐释怎样新建一个自定义控件所以没改。注意这里会产生两个警告,解决办法见我的另一篇博文https://blog.csdn.net/qq_16597387/article/details/10454...

2020-02-27 22:42:15 1510

原创 记一个Qt编译警告的解决

Windows+MinGW+Qt创建自定义控件工程:建好工程什么都没改编译出现这个警告:warning: #warning Header <QtDesigner/QDesignerCustomWidgetInterface> is deprecated. Please include <QtUiPlugin/QDesignerCustomWidgetInter...

2020-02-27 21:02:32 2344

原创 FFTW上手

准备下载FFTW源码http://www.fftw.org/download.html(注意FFTW的GitHub源码是不能直接拿来用的),我用的是3.3.8版本,即fftw-3.3.8.tar.gz Deepin操作系统(deepin-15.11-amd64.iso)安装$ ./configure$ make$ sudo make install写代码main.c:...

2020-02-03 20:54:43 397

原创 怎样把Linux移植到STM32并单步调试Linux

具体请看我的仓库https://gitee.com/QHCH/linux-stm32.git

2020-01-08 23:24:57 668

原创 怎样关闭烦人的eclipse工具栏上的调试图标

如图,差不多从2019年开始 ,eclipse默认工具栏加上了这个又长又没用的图标,乍一找还真不容易找到它是怎么关的。这里给出方法:

2020-01-05 22:39:35 780

原创 OpenOCD上手心得

1. OpenOCD是什么OpenOCD是一个用来调试嵌入式SOC的软件,需要搭配debug adapter(比如JLink,ST-Link,DAP-Link)和GDB(或Telnet)一起使用。如下图所示: 图1注:"elf"指的...

2020-01-05 18:04:26 7954 2

原创 记一次CubeMX+STM32+SD+DMA+FATFS文件写入错误的解决

环境:CubeMX(5.2.1)HAL库(1.15.0)STM32F765IIK(主频180MHz,关闭Cache)SDMMC2+DMAFATFS(R0.12c)测试程序:void sdcard_test_task(void *p) { static FATFS fs; FIL fil; uint32_t bw; const ch...

2019-10-31 11:52:57 2176

原创 记一些STemWin使用过程中的易错点(持续更新)

给API输入错误的控件句柄如下代码所示,用BUTTON的API给一个EDIT控件设置属性,其结果是整个STemWin时不时地死机,屏幕偶尔出现无法点按的黑块BUTTON_SetFocussable(WM_GetDialogItem(pMsg->hWin, ID_EDIT_0), 0);...

2019-07-04 14:11:18 799

原创 STM32的USB-Device不能识别问题的解决

环境:CubeMX(STM32F7的HAL库版本为1.15.0),STM32F765用CubeMX生成STM32F765的USB Device工程,编译运行后USB连到电脑不能识别,电脑显示如下:搞了很久,最后发现问题出在这: pdev->pClassData = USBD_malloc(sizeof (USBD_MSC_BOT_HandleTypeDef)); if...

2019-06-20 19:02:15 20832 2

原创 嵌入式Linux学习笔记_WDS_使用定时器实现按键防抖

使用定时器实现按键防抖利用内核定时器来跳过按键按下时的电压脉冲,每个脉冲都会使定时器重置,当定时器停下来时就意味着按键已经稳定按下了。具体代码不贴了,重点记下内核定时器的使用初始化定时器。定时器的回调函数就在"timer"里面。void fastcall init_timer(struct timer_list *timer);注册定时器。注意这是一个单次定时器,这意味...

2019-06-08 15:05:50 265

原创 树莓派串口通信

本文介绍使用树莓派的串口来收发数据引言硬件:树莓派3B+从树莓派的引脚图得知树莓派只有一个串口,所以只能拿这个串口来做数据收发。这个串口就是"/dev/serial0",可以看到,它是指向/dev/ttyS0的。有些教程说是/dev/ttyAMA0,但我试过不是步骤1. 打开树莓派设置软件pi@raspberrypi:~ $ sudo raspi-confi...

2019-05-26 18:13:15 1006

原创 树莓派使用入门

重装系统篇硬件:树莓派3B+,16GB TF卡,USB线1. 格式化TF卡工具链接:https://www.sdcard.org/downloads/index.html2. 制作启动TF卡操作很简单,输入你的镜像路径,然后点击“写入”就行了。工具:win32diskimager-1.0.0-install.exe我上传不了,CSDN已经有人上传过了,想...

2019-05-18 22:23:02 300

原创 STM32使用HAL库写串口接收中断

硬件:正点原子战舰开发板(STM32F103ZET6)软件:MDK5,STM32CubeMX下面讲解使用HAL库配置串口1,使串口1可以使用中断接收字节并原样返回。1. STM32CubeMX对串口1作如下配置2. 添加如下代码​uint8_t uart1_rxbuf[10]; // 用于存放接收到的数据void MX_USART1...

2019-03-16 22:16:31 18799 22

原创 怎样让eclipse使用用户自己的Makefile

新建工程▼填入工程路径▼此时点击构建按钮会提示这个错误▼make all make: *** No rule to make target `all'.  Stop.因为我的Makefile的目标不是all(eclipse默认的目标),此时有两种解决方法:方法一:把Makefile的目标改成all改之前▼demo: gcc -g -o demo d...

2019-02-26 21:48:54 668

原创 emWin更改控件的显示样式的方法

更改emWin的控件显示样式的方法,以按键为例方法一:改默认皮肤BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);方法二:设置BMP图片static const GUI_COLOR Colors[] = { 0x000000, 0xFFFFFF };static const GUI_LOGPALETTE Palette = { 2, 1...

2019-01-28 12:54:19 2423

原创 gdb和gdbserve的编译和使用

说明gdb一份代码里包含两个程序,一个是gdb,一个是gdbserver,分别运行在PC主机和开发板上,编译的时候得分开编译。准备材料操作系统:ubuntu-16.04.4-desktop-i386本地编译器:gcc v5.4.0(ubuntu原配)交叉编译器:arm-linux-gcc v3.4.5gdb源码:gdb-7.5.tar.bz2(gdb下载地址)gdb和gdbserver我已经编译好...

2018-07-08 13:15:27 5306

原创 分享一种最简单的STemWin自定义控件实现方法

笔者把STemWin官方给的自定义控件demo进行了精简,得出了这个最简单的自定义控件实现方法,所有代码如下:#include &lt;string.h&gt;#include "GUI.h"#include "WM.h"typedef struct { char str[50];} MYWIDGET_Obj;static void _cbMyWidget(WM_MESSAGE ...

2018-04-19 22:09:46 4056 1

原创 STemWin编译"Undefined symbol IMAGE_SetPNG"的解决办法

STemWin编译"Undefined symbol IMAGE_SetPNG"的解决办法前言    笔者最近在使用STemWin时,先是用CodeBlock仿真程序通过了,再用MDK编译,最后烧录到板子上的,但是相同程序在MDK上编译是不通过的,提示“IMAGE_SetPNG”这个函数没有定义。解决办法    查看emWin的手册,手册如是说:中文大意是:这个函数需要自己的库,你去下面这个链接下...

2018-04-16 12:41:13 2271

原创 关于SecureCRT的循环打印

用SecureCRT循环打印的方法有时用SecureCRT打印一些进度信息的时候,显示太繁杂了,像这样:"ckeching block 0""ckeching block 1""ckeching block 2""ckeching block 3"........."ckeching block 9"所以我希望它能在一行循环打印,于是参考了u-boot的代码,找到了如下两种方法:法一...

2018-04-06 22:09:29 2448

原创 MDK注释时用@使单词高亮

用MDK的@使注释高亮的方法

2016-07-27 21:30:46 631

原创 IAR for STM8生成的HEX文件大小不等于烧写进单片机flash的文件大小

IAR for STM8生成的HEX文件大小不等于烧写进单片机flash的文件大小,这里讲一个方法查看烧写到单片机的文件到底有多大

2015-08-21 14:15:15 4657

Linux底层知识(17).docx

嵌入式Linux驱动相关知识,包括移植Linux需要的基本要素,中断的注册,TTY设备,SPI设备,nandflash设备等

2020-05-01

S3C2440裸机驱动串口中断带MMU中断向量表重映射

在JZ2440开发板上写了串口、按键、LED驱动,串口驱动使能接收中断,且S3C2440的中断向量表用MMU重映射到了SDRAM里面

2018-04-19

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

TA关注的人

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