- 博客(112)
- 资源 (6)
- 收藏
- 关注
转载 Markdown图标
Markdown中增加图标,来自如下:https://gitcode.net/mirrors/zhouie/markdown-emoji?utm_source=csdn_github_acceleratormarkdown-emojiMarkdown语法支持添加 emoji 表情,输入不同的符号码(两个冒号包围的字符)可以显示出不同的表情人物自然事物地点符号人物:bowtie: :bowtie:😄 :smile:😆 :laughing:😊 :blush:.
2022-04-16 17:58:16 8643 1
原创 VScode+EIDE开发stm32
EIDE:Emdedded IDE一款适用于 8051/STM8/Cortex-M/RISC-V 的单片机开发环境。在 vscode 上提供 8051, STM8, Cortex-M, RISC-V … 项目的 开发, 编译, 烧录 等功能。1、所需环境:VScode https://code.visualstudio.com/ GNU Arm Embedded Toolchain (需要添加环境变量)https://developer.arm.com/tools-and-softwa.
2022-03-06 17:01:17 2975 3
原创 Stm32 SRAM 启动方法
1、什么情况需要SRAM启动??调试阶段,需要频繁更新程序,可以SRAM启动,加快调试,减少flash擦写损耗程序SWD/JTAG接口已经配置为普通端口,程序启动后无法程序更新,可在SRAM中启动后,再更新flash程序程序已经开启了读保护,可在SRAM启动后,进行读保护关闭2、stm32 boot启动方式如下配置boot 为1:1,则可从SRAM内启动3、stm32f103c8t6 SRAM启动方法(HAL工程为例)KEIL工程配置RAM.ini 文件由于即便
2022-02-19 22:07:08 4821 1
原创 编译器优化等级简述
编译优化,会使编译器尝试以牺牲编译时间和调试程序的能力为代价,来提高性能或代码大小;合理的优化级别,能够在代码体积、执行性能、RAM占有率上获得均衡!https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html优化级别说明GCC优化级别有-O0、-O1、-O2、-O3、-Og、-Os、-Ofast总结如下:优化级别说明备注-O0关闭所有优化代码空间大,执行效率低-O1基本优化等级编译器在不花费太多编译时间基础上,.
2022-02-13 13:10:02 6451 1
原创 STM32F103实现CMSIS-DAP
CMSIS-DAP 提供了一种通过 USB 访问 ARM Cortex 微控制器的 Coresight 调试访问端口 (DAP) 的标准化方法。CMSIS-DAP 通常作为板载接口芯片实现,提供从开发板到一侧在主机上运行的调试器的直接 USB 连接,并通过 JTAG(联合测试行动组)或 SWD(串行线调试)到目标设备以访问另一台上的 Coresight DAP。CMSIS-DAP版本CMSIS-DAP 固件版本可以配置为两种不同的 USB 接口模式:版本 1 配置使用 USB HID 作为主.
2022-02-02 16:11:52 5308 1
原创 VsCode+OpenOCD 开发stm32系列
通常会用MDK调试stm32等arm cotex平台,但KEIL MDK很多商业公司是不能直接使用的,需要购买授权!VScode搭配gcc-arm-none-eabi编译工具链和openocd(Open On-Chip Debugger)实现编译、下载、调试!所需资源VScodehttps://code.visualstudio.com/MinGW64https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetti.
2022-01-16 14:26:55 11431 2
原创 stm32 BootLoader之检查栈顶地址是否合法
在stm32 IAP例程中,跳转到APP区的时候,都会检查栈顶地址是否合法,以及reset地址是否正确等信息,那么这些判断具体依据什么原理???以stm32H743为例说明↓↓↓↓检查栈顶是否合法代码如下:#define STM32_APP_BASE 0x08020000 // APP flash start addressvoid iap_jumpapp(void){ // 检查栈顶是否合法 if (((*(uint32_t*)(STM32_APP_BASE)) & .
2021-07-15 09:04:33 6809 3
原创 高速USB模式下 UAC2.0
UAC2.0 Win10原生驱动已经支持,同时UAC2.0较UAC1.0有天生的高带宽、低延时的优势。支持32bit 384k的音频格式,同时支持USB High Speed!stm32f407+USB3300 完美实现高速USB模式下UAC2.0调试为什么要在高速USB模式下调试UAC2.0???UAC1.0 不支持 32bit音频格式UAC2.0 在USB 全速模式下 ,96K@32bit播放和录制只能单独使用!!UAC2.0 在USB全速模式下,不能使用异步模式(linux 可以,但.
2021-07-04 21:26:41 3677 3
原创 USB声卡之时钟模式分析
USB音频声卡采用isochronous “等时传输模式”(或者同步传输、实时传输),能保证实时传输数据,允许一定误码率,出错不重传。等时传输模式实时传输,即 PC端发出多少速率的数据,USB接收端(USB声卡)就得接收多少速率。比如电脑发送44.1KHZ的,声卡就固定接收44.1KHZ。关于时钟同步电脑内有一个晶振,可分频出一个44.1KHZ,进行音乐播放。USB声卡自己得有一个晶振才能工作,它也可分频出一个44.1KHZ,供给I2S信号或DAC。问题来了,晶振是有误差的,这两个44.1.
2021-05-23 16:39:45 2387
原创 python之获取网络时间
通常获取网络时间是从ntp服务器获取,但是对时间要求精度不高的话,还有更加简便的方法,直接透过http访问http://time1909.beijing-time.org/time.asp请求 http://time1909.beijing-time.org/time.asp,返回格式如下t0=new Date().getTime(); nyear=2021; nmonth=4; nday=25; nwday=7; nhrs=16; nmin=46; nsec=24;用Pyt.
2021-04-25 16:52:59 3210
原创 Python之打包工具pyinstaller
windows环境下,python 源文件可以在命令行直接运行。那是否可以生成独立的exe应用程序呢??当然!pyinstaller工具可将 Python 程序生成 EXE 程序。pyinstaller安装(默认该工具并没有被安装)F:\json_parser>pip install pyinstallerCollecting pyinstaller Downloading pyinstaller-4.3.tar.gz (3.7 MB) |████████████████.
2021-04-20 16:13:58 388
原创 linux之查找指令
Linux whereis命令用于查找文件。该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。-b 只查找二进制文件eric@eric-PC:~$ whereis -b psps: /bin/pseric@eric-PC:~$ eric@eric-PC:~$ whereis -b arm-linux-gccarm-linux-gcc: /usr/.
2021-04-19 18:30:43 198
原创 交叉编译工具简说
交叉编译,通俗地讲就是在一种平台上编译,在另一种平台上运行比如在PC平台(X86 CPU)上编译ARM平台上的程序,最终放到arm平台上运行。交叉编译工具命名规则为:arch [-vendor] [-os] [-(gnu)eabi]项目说明arch体系架构,如ARM,MIPSvendor工具链提供商OS目标操作系统eabi嵌入式应用二进制接口(Embedded Application Binary Interface)ABI 和 EABI.
2021-04-19 18:14:00 558 1
原创 python之修改pip默认install路径
windows 环境下,Python pip 安装库的时候,默认安装在c盘,比如C:\Users\eric\AppData\Roaming\Python\Python37\site-packages可以修改默认的安装路径,方便统一管理查看目前默认安装路径F:\>python -m sitesys.path = [ 'F:\\', 'D:\\Programs\\Python\\Python37\\python37.zip', 'D:\\Programs\\Pyth.
2021-04-19 16:12:16 8876 2
原创 常用Makefile改进版2
在之前的makefile基础上进一步改进,使生成的obj文件和目标文件,统一放置指定的build目录里面,方便管理,同时代码结构更加清洁。代码结构eric@eric-PC:~/Documents/work/linux-c/main_test$ tree.├── Makefile # 顶层Makefile└── src # 代码源文件目录 ├── curl_api # 模块代码一 │ ├── curl_demo.c │ ├── curl_.
2021-04-05 16:16:45 173
原创 Cmake之构建Project
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件示例文件结构eric@eric-PC:~/Documents/work/linux-c/cmake_demo$ tree.├── build.sh # 一键编译脚本├── CMakeLists.txt # 顶层一级CMakeLists.txt└── src # 源码目录 ├── CMakeLists.txt #.
2021-03-31 15:56:30 1102 1
原创 openwrt之使能WPA3加密方式
openwrt 19.07默认支持WPA3透过ubus查看支持的模式root@OpenWrt:/# ubus call luci getFeatures{ "ipv6": true, "wpasupplicant": { "11ac": true, "11r": true, "owe": false, "acs": true, .
2021-03-13 10:32:47 3767 1
原创 mongo-c-driver编译测试
克隆源码https://gitee.com/mirrors/mongo-c-driver.giteric@eric-PC:~/Documents/work/linux-c/mongo-c-driver$ lsbuild CONTRIBUTING.md generate_uninstall orchestration_configs THIRD_PARTY_NOTICEScmake_build COPYING lldb_bson.py .
2021-03-03 11:56:13 225
原创 Mongodb(芒果DB)之服务搭建
SQL (Structured Query Language) 数据库,指关系型数据库。主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源)。NoSQL(Not Only SQL)泛指非关系型数据库。主要代表:MongoDB,Redis,CouchDB。什么是NoSQL?NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。(例如谷歌.
2021-03-03 11:18:34 801
原创 winform之ip地址控件textBox
C# winform 显示编辑ip地址,无需重绘textBox或者重写textBox方法,只需要在原生textBox控件对应事件中实现对应的算法即可。1、textBox keyUp事件private void textBoxKeyUp(object sender, KeyEventArgs e){ if (e.KeyCode == Keys.Back) return; String text = textBoxIP.Text; string[] sub.
2021-02-23 19:50:18 2840 2
原创 linux之banner生成
什么是banner?↓↓↓↓↓↓↓↓↓↓↓↓↓ ___ _ / _ \ _ __ ___ _ ____ ___ __| |_ | | | | '_ \ / _ \ '_ \ \ /\ / / '__| __|| |_| | |_) | __/ | | \ V V /| | | |_ \___/| .__/ \___|_| |_|\_/\_/ |_| \__| |_| 生成banner
2021-02-08 15:06:07 1009
原创 linux之shell笔记
程序参数说明参数说明$0当前程序名字$n第n个参数值,n=1…9$*所有参数,此选项参数可超过9个。$#参数个数$$当前程序的PID(脚本运行的当前进程ID号)$!执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$?执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)$-显示shell使用的当前选项,与set命令功能相同$@跟$*类似,但是可以当作数组用...
2021-02-04 18:08:19 99
原创 openwrt之network配置文件
config network,主要负责网络接口的配置openwrt 19.07.04netowrk 配置文件root@OpenWrt:/# cat /etc/config/networkconfig interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0'.
2021-02-02 10:50:45 10349
原创 linux之i2c bus总线读写
i2cs设备,无需单独编写驱动,可以直接在应用程序中操作i2c bus总线,进行读写。#include <sys/types.h>#include <string.h>#include <sys/stat.h>#include <fcntl.h>#include <termios.h>#include <stdio.h>#include <unistd.h> //open close#include .
2021-01-22 20:00:52 790 2
原创 openwrt之td1030 i2c驱动
泰斗1030,gps传感器,默认uart接口,支持i2c接口读写。但,td1030并不想通常的i2c设备,例如eeprom 24c02、温湿度传感器sth12等有寄存器的概念。td1030只需读写即可。openwrt 使能模拟i2c1,模拟i2c需要修改设备树定义端口等参数2 .config - OpenWrt Configuration > Kernel modules > I2C support ───────────────────────────────────────.
2021-01-22 18:01:13 1149
原创 linux之模拟i2c,i2c-algo-bit
linux 硬件i2c驱动已经很完善了,但是还是有需要模拟i2c的情况。例如:1、mt7688平台,硬件i2c限制每次只能读取64 bytes。在读取一些大数据的时候,只能多次读取,如此就会显得有些不足。2、硬件i2c引脚冲突,导致只能用软件模拟模拟i2c主要需要一下模块i2c-core-basei2c-gpioi2c-algo-biti2c-devmake menuconfig,开启I2C bit-banging interfaces .config - Linux/mi.
2021-01-22 17:34:41 1365 1
原创 openwrt之mwan3负载均衡·多线多拨
mwan(mulit wan),即多wan口多拨技术。能够实现基于权重分配的出站WAN流量负载平衡或具有多个WAN接口的故障转移。mwan3由热插拔事件触发,可以检测到接口变化,以及接口是否连接有效。使用场景:1、路由同时支持网线和4g,此时可以用mwan3管理网线和4g,依据设定的权重,调节其流量分配,达到负载均衡。2、由于上游lan口流量限制,mwan3可以利用多个wan,实现流量并发,达到流量扩容。…menuconifg开启mwan3 .config - OpenWrt Co.
2021-01-18 10:20:13 19515
原创 linux之shel读写ini文件
ini 初始化配置文件ini格式如下:[Section1]Key1=val1Key2=val2[Section2]Key1=val1Key2=val2... ...shell读写操作脚本#!/bin/bashecho "ini file read/write."# 读取键值ini_read_key() { file=$1; section=$2; key=$3; val=$(awk -F ' = ' '/\['${section}'\].
2021-01-17 19:34:04 732
原创 openwrt之mariadb odbc
openwrt中已经有unixODBC 和 mariadb模块,但是19.07.04版本没有mariadb-odbc驱动,所以还不能透过odbc操作mariadb和mysql数据库。在feeds/packages/libs,添加libmaodbc目录,并创建Makefileeric@eric-PC:~/Documents/work/openwrt_1907/feeds/packages/libs/libmaodbc$ lsMakefileMakefile:### This is fr.
2021-01-09 17:59:19 1276
原创 linux之MySQL环境搭建,同时配置远程登录
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。此外,可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目.
2021-01-06 10:18:35 187
原创 openwrt之install: cannot remove ‘/usr/local/lib/pkgconfig/libzstd.pc‘: Permission denied
openwrt 19.07.05编译报错:make[3]: Entering directory '/home/eric/Documents/work/mt7628/openwrt/tools/zstd'CFLAGS="-O2 -I/home/eric/Documents/work/mt7628/openwrt/staging_dir/host/include " CPPFLAGS="-I/home/eric/Documents/work/mt7628/openwrt/staging_dir/.
2020-12-30 16:26:47 1230
原创 openwrt之uci使用
“uci”是“Unified Configuration Interface”(统一配置界面)的缩写,意在OpenWrt整个系统的配置集中化。用法: uci [<options>] <command> [<arguments>]命令: batch export [<config>] import [<config>] changes [<config>] commit [<conf.
2020-12-19 17:40:55 1526 1
原创 openwrt之procd进程管理服务
RPC daemon—rpcd,OpenWrt进程管理服务为每个软件编写一个守护程序,并独立运行它们并没有效率。这就是为什么rpcd被开发出来的原因。这是一个很小的守护程序,支持使用普通API的插件,动态注册,将自己的应用程序加入rpcd守护管理服务。以下示例,实现功能:将程序/usr/bin/main加入procd进行管理,上电自动启动当main异常退出,自动重新启动。同时监测配置文件/etc/config/mqtt是否发生变化,如果发生变化,则自动重启该进程。将以下脚本,加入.
2020-12-18 15:54:09 3251 1
原创 openwrt syslog保存log到本地文件
syslog,可以保存应用日志到本地,也可以透过tcp或udp传送到远端syslog服务器openwrt 19.07添加系统配置,指定log文件:option log_file ‘/var/log/message.log’,指定log大小:option log_size ‘64’root@Eric:/# cat /etc/config/systemconfig system option hostname 'Eric' option timezone 'UT.
2020-12-15 10:12:02 5228
原创 linux增加用户环境变量
linux和windows有相同之处环境变量都是PATH都有系统环境变量和用户环境变量之分通常只需要修改用户环境变量即可linux环境变量路径:系统环境变量:etc/profile用户环境变量:~/.bashrc查看当前环境变量,路径由:隔开eric@eric-PC:~$ echo $PATH/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/usr/local/includ.
2020-12-11 10:36:20 1794
原创 openwrt Luci2增加自定义界面
luci2 增加自定义界面,luci2参考https://blog.csdn.net/pyt1234567890/article/details/109391884feeds/xluci2/applications下新建luci2-app-mqttluci2-app-mqtt$ tree. .
2020-12-10 14:34:05 2146
全新高速HID调试工具
2023-10-26
opencv_videoio_ffmpeg.dll
2020-06-03
SSCOMe.exe
2020-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人