自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 VS Code 加载 Web 视图时出错

使用MarkDown预览时,加载 Web 视图时出错: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state.

2022-08-17 12:25:53 6816 5

原创 CubeMX Stm32 DMA circular(DMA 循环模式)的一个错误

使用CubeMX + HAL + DMA时遇到的一个错误

2022-07-21 11:49:39 1411

原创 [嵌入式linux] 为新板卡创建 u-boot 和kernel 配置文件

u-bootu-boot源码地址 Version: 2018.1依照 zynq_zybo 板移植U-boot,依次操作(<ubootdir>= /home/myhome/Xilinx/u-boot-xlnx/):首次配置u-boot,进入到uboot根目录,做一次make distclean获取配置文件 zynq_my_new_board_defconfig 和 zynq_my_new_board.h依照zybo修改,即该将 zynq_zybo 改为 zynq_my_new

2022-05-18 12:36:45 579

原创 ZYNQ简要开发流程

开发环境On Windows :Vivado 2019.2Vitis 2019.2On Linux :Ubuntu 18.04简要开发流程参考手册: https://docs.xilinx.com/ UG892 和 UG1400On Windows:使用 Vivado 进行 PS 端配置.使用 Vivado 进行 PL 逻辑端开发.从 Vivado 导出 .xsa(with bitstream) 到 Vitis.使用 Vitis + .xsa 创建硬件平台 C

2022-05-12 18:22:02 1500

原创 [嵌入式linux] buildroot 添加 dropbear 并配置密钥

buildroot 添加 dropbear 并配置密钥1. buildroot 配置cd <buildrootdir> #make menuconfig # 进入配置界面Target packages > Networking applications---> # 按 'y' 选中 dropbear 然后保持默认如下 [*]dropbear

2021-11-02 16:58:54 2189

原创 Linux (Ubuntu) 下, 串口权限问题 QSerialPort::PermissionError

环境: Ubuntu 18.04在编写串口应用程序时,遇到以下问题,即使在使用sudo后输入密码也没有权限来操作串口.$ echo "123456" > /dev/ttyUSB0 bash: /dev/ttyUSB0: 权限不够$ sudo echo "123456" > /dev/ttyUSB0 bash: /dev/ttyUSB0: 权限不够网络上有 chmod 777的办法,但我觉得不好.在此参考大佬链接做了以下尝试后成功:1. 修改$ cd /etc/udev/rul

2021-06-27 15:16:56 2913

原创 Linux 手动修改屏幕分辨率

cvt 1920 1080 60xrandr -newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncxrandr --addmode Virtual1 "1920x1080_60.00"xrandr --output Virtual1 --mode "1920x1080_60.00"xrandr -s 1920x1080

2021-06-26 21:26:43 372

原创 自己实现c库string.h

uint32_t strlen(uint8_t *str){ uint8_t i = 0; while(str[i++]); return i - 1;}uint8_t strcmp(uint8_t *str, uint8_t *str1){ uint8_t i = 0; uint8_t len = strlen(str); if(strlen(str) != strlen(str1)) return 1; while(str

2021-06-13 15:51:40 118

原创 使用C语言,控制终端颜色输出,打印等级

#ifndef __DEBUG_H__#define __DEBUG_H__#include <stdio.h>/** Export define ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */#define NONE "\e[0m" //清除颜色,即之后的打印为正常输出,之前的不受影响#define BLACK "\e[0;30m" //深黑#define L_BLA

2021-05-15 00:34:21 582 2

原创 libssh2交叉编译

获取gcc编译器的include目录命令$ gcc -E -v -Using built-in specs.COLLECT_GCC=gccOFFLOAD_TARGET_NAMES=nvptx-noneOFFLOAD_TARGET_DEFAULT=1Target: x86_64-linux-gnuConfigured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl=f

2021-04-12 14:06:25 1959

原创 荔枝派 Zero (LicheePi Zero) 编译记录

荔枝派 Zero (LicheePi Zero) 编译记录依赖1. 交叉编译器荔枝派官方使用的 --> 百度云笔者使用的 --> https://www.linaro.org/downloads/ 笔者使用最新版本为7.4.1u-boot1. 获取并修改源码git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-current修改以下文件删除发行版启动指令:u-boot/include/configs/

2021-03-23 16:56:09 1315

原创 Git 常用命令随记

git 常用命令随记删除本地仓库的版本信息,用于下载别人的仓库后,修改后推送到自己的仓库find . -name ".git" | xargs rm -Rf为本地仓库添加新的远程存储库git remote add origin https://gitee.com/xxxxxxxxxx推送本地库到远程分支git push origin master设置远程上游分支git push --set-upstream origin master保存远程仓库的账户和密码git c

2021-03-18 22:28:42 97

原创 linux对空文件mmap后的Bus Error问题

准备写一个EMMC测速程序,在写完后得到Bus Error错误。错误源代码如下,使用 O_CREAT参数创建一个新的文件。#include <stdint.h>#include <stdio.h>#include <unistd.h>#include <sys/mman.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#defin

2021-03-12 14:30:44 722

原创 linux c 系统时间设置与获取,clock_settime()

linux c 设置系统时间网上大部分都是陈旧的方法,在我的内核(linux 5.4)中默认没启用 settimeofday()函数.#include <stdio.h>#include <time.h>#include <sys/time.h>旧的方法void SetSysTime(void){ struct tm tim = { .tm_year = 2021 - 1900, .tm_mon = 3 - 1,

2021-03-10 18:32:13 3197

转载 TCP服务,linux内核参数注释与优化

linux内核参数注释与优化1. linux内核参数注释2. 两种修改内核参数方法3. 内核优化参数生产配置说明:转自:https://blog.51cto.com/yangrong/13215941. linux内核参数注释以下表格中字体为常用优化参数根据参数文件所处目录不同而进行分表整理名称默认值建议值描述tcp_syn_retries51对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。。

2020-08-24 16:08:42 167

转载 linux 执行程序时,提示not found问题分析

本文参考自:原博客链接linux 执行程序时,提示not found问题分析嵌入式开发中,有时执行程序时,明明目录下可执行文件存在,但却提示文件不存在。root@petalinux:~# ./ccp -sh: ./ccp: not foundroot@petalinux:~# lsapp ccp driver user_scriptsbin dma lib在上位机通过 readelf 查看该进程文

2020-08-14 11:54:54 13213 2

原创 Unix/Linux C 编程,简单的socket客户端

简单的socket客户端功能:连接指定的服务器,每隔1s发送一个随机数关键字:socket,客户端,多线程,信号量,随机数思路:使用双线程生产消费模式,主线程消费,子线程生产,两者之前使用信号量通信。Code:#include <sys/types.h>#include <sys/socket.h> /* socket */#include <stdio.h>#include <string.h>#include <neti

2020-07-16 16:29:24 340

原创 C随机数

/* * * 随机数 * * 编写程序,首先得到一个0~99之间的随机数,然后让用户猜这个数字 * 每次猜完都要给出提示:猜大了or猜小了or猜对了 * 直到猜对游戏结束 * * */#include <stdio.h>#include <stdlib.h>#include <time.h>void main(){ .

2020-07-16 12:48:18 470

转载 Petalinux简单使用[转载]

转载:https://www.cnblogs.com/likaiwei/p/10223354.htmlDescription/说明PetaLinux版本:2016.4操作系统版本:Ubuntu 16.04(如使用Ubuntu,墙裂建议使用16.04,其他版本官方手册并没有标明支持,可能会出现莫名其妙的问题)参考文件来源:UG1144Introduction/介绍PetaLinux is an Embedded Linux System Development Kit speci.

2020-06-24 12:58:23 558

原创 一段简单的ARM汇编分析

错误的代码示例:.text.code 32.global _start_start: bl main @1. pc = 0x8054,lr = 0x0 b .main: push {lr} @2. pc = 0x805c,lr = 0x8058 bl func1 ...

2020-04-23 21:52:00 254

原创 C语言中的const static volatile

C语言中的static const volatile说明1.static关键字2.const关键字3.volatile关键字说明以下C代码均在裸机1.static关键字static关键字有两层含义:1. 修饰的变量的在程序运行时内存常驻当static修饰变量时,该变量被编译器分配在内存的全局区,程序运行时,该变量的生命周期伴随整个程序。在裸机开发中,可以认为静态变量的物理地址是静态...

2020-04-17 17:01:56 325

原创 使用C语言实现循环队列

正文:.h#ifndef __CIRCULAR_QUEUE_H__#define __CIRCULAR_QUEUE_H__#include "stdint.h"#include "string.h"#include "stdlib.h"#define USEDYNAMICMEMALLOC 0 /*--使用动态内存--*/#define STATICMEMS...

2020-04-16 12:13:38 274

原创 使用STM32实现心跳包,非阻塞延迟

背景:项目中要使用485通信,而485通信中采用的主呼从应的方式需要一个超时时间,在呼叫指令发出时将定时器置0并开始计时,并在数据接收函数中判断是否超时。正文:设计思路:首先,需要一个定时产生中断的定时器(比如滴答定时器,CubeMX生成的工程滴答定时器默认为1ms中断一次),然后可以在这个定时器中断函数中做多个计数器,每次进入后计数器加1,并判断是否到达溢出条件。代码实现:...

2020-04-16 11:54:52 4590 1

原创 C语言,宏的字符串化

背景:目前项目中牵扯到多节点通讯,而每个节点都需要有ID,这个ID分别以hex格式,字符串格式各存一份,但每次改设备ID都得两个都改,于是想试试在字符串中可不可以使用宏定义来避免这个问题。正文:首先,定义两个宏#define DeviceID 0x33U#define ID(x) #x然后在函数中调用这个宏 printf("%s\r\n", ID(DeviceID));...

2019-12-09 14:25:37 1508

空空如也

空空如也

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

TA关注的人

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