- 博客(92)
- 资源 (19)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 内网穿透(NAT穿透)之ngrok搭建服务器
ngrok是一个域名映射器,可以帮我们将自己的网页或者自己所能访问到的内网映射到公网上,实现外网对我们的网站(内网)的访问。而且ngrok与其服务器都是开源的,我们可以免费使用。下面我说一下对于ngrok实现内网穿透的步骤: 1、打开网站 https://ngrok.com/ ,在里面下载自己对应的版本号即可 直接点击确定,通过 然后点击下载,我下载的是Windows 64位的。 将它解压到
2017-02-19 22:53:56
11803
原创 vscode-server的搭建方法
auth password 指定访问密码,可通过 export 命令设置,参数为 none 时不启用密码访问。– host 0.0.0.0 允许公网访问,默认是127.0.0.1,只能本地访问。– port 8888 指定端口,默认是8080。
2024-03-14 18:59:03
3207
原创 Ubuntu下进行openecd+gdb调试代码
1、将编译好的bin文件烧录进GD32芯片里面st-flash write MC200_I2C.bin 0x8000000st-flash reset // 复位2、进入工程根目录(目录中必须有stlink-v2-1.cfg和stm32f1x.cfg文件),使用openocd通过stlink连接芯片openocd -f stlink-v2-1.cfg -f stm32f1x.cfg3、打开新终端,准备开始进行gdb调试arm-none-eabi-gdb ./GD32F103.elf4、
2022-01-25 14:38:01
1123
原创 Ubuntu下安装stlink-v2驱动
Ubuntu下安装stlink-v2驱动1、安装依赖库sudo apt-get install git make cmake libusb-1.0-0-devsudo apt-get install gcc build-essential2、安装stlink驱动git clone https://github.com/stlink-org/stlinkcd stlinkcmakemake3、将安装的依赖文件复制到对应文件夹cd binsudo cp st-* /usr/local/
2022-01-25 11:39:27
4008
2
原创 Ubuntu下安装openocd,使用vscode下的cortex-debug调试代码
一、安装openocd1、从github上下载最新版本:git clone https://github.com/openocd-org/openocd.git也可从官网https://openocd.org/下载2、安装相关调试所需要的库:sudo apt install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev libtool libsysfs-
2022-01-25 11:16:58
3728
2
原创 GD32实现将在Ubuntu下使用GCC编译链编译工程
基于GD32F103RCTX系列芯片修改,需要修改地方:1、编译链2、GCC启动文件3、Makefile文件4、链接脚本一、编译链下载安装在https://blog.csdn.net/hpf247/article/details/104027898有介绍怎么下载安装二、GCC启动文件官网没有GCC的启动文件,可以网上下载后修改一下:startup_gd32f10x_hd.S .syntax unified .cpu cortex-m3 .fpu softvfp .thu
2022-01-24 15:49:53
4050
9
原创 Keil中配置GCC编译器开发STM32
一、下载编译链:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads在此我下载的是:gcc-arm-none-eabi-10.3-2021.10-win32.zip二、安装GCC编译链直接解压到D盘:三、配置Keil工程选项:1、选择使用GCC进行编译2、配置编译选项1)配置CC的编译规则2)Assembler规
2022-01-24 11:35:24
3160
原创 C# Chart简单图形波形绘制
此次用C#绘制波形使用的是Chart控件1、 将Chart控件拖进主界面,然后设置属性。// // chart1// chartArea2.Name = "ChartArea1";this.chart1.ChartAreas.Add(chartArea2);legend2.Name = "Legend1";this.chart1.Legends.Add(legend2);this.chart1.Location = new System.Drawing.Point(36, 6);this
2021-12-24 15:21:27
4062
2
原创 DAC-DMA-TIMER总结(实现5阶正弦波)
一、实现原理:先将一个可以生成正弦波的数据表(table)保存在一片固定地址的内存中,然后在DAC以及这块内存中间使用DMA建立一个专属通道,使用定时器的TRGO触发模式触发DAC,DAC模块就可以定时地通过DAM通道拿取这片内存中的正弦波的数据,然后经过DAC数模转换,输出到引脚就可以得到一定频率、幅值的正弦波(波形)了。二、实现方法(基于GD32):1、定义正弦波数组const unsigned short int sine_data[200] ={ 2048,2308,2..
2021-12-22 21:13:49
1653
原创 Angular提交规范
在git提交中应该有Header、Body、Footer,其中,Header是必要的,Body和Footer是选择性写的。1、Header的格式指定为提交类型(type)、作用域(scope,可选)和主题(subject)① build:对构建系统或者外部依赖项进行了修改② ci:对CI配置文件或脚本进行了修改③ docs:对文档进行了修改④ feat:增加新的特征⑤ fix:修复bug⑥ pref:提高性能的代码更改⑦ refactor:既不是修复bug也不是添加特征的代码重构⑧ sty
2021-09-01 19:32:31
2240
原创 git命令使用总结
git命令使用一、 代码仓库1)创建仓库1、进入需要创建代码库的文件夹 cd文件夹路径2、创建/初始化仓库 git init3、拉去远程仓库到本地 git clone2)添加文件到仓库1、添加文件到暂存区 git add 文件名(添加单个文件)/git add .(添加所有文件)/.gitignore文件中指定的文件会被忽略2、提交到本地仓库 git commit -m “commit message”(或遵循commit message规范)3、查看工作区状态 git status4、
2021-07-21 20:31:29
156
原创 jdk环境配置
一、jdk是在官网下的:(16.0.1)https://www.oracle.com/java/technologies/javase-jdk16-downloads.html下载后进行安装;二、环境变量的配置1、 右键我的电脑属性,在弹出的页面上点击高级系统设置高级环境变量, 在弹出的“环境变量”窗口中,点击新建按钮,新建一个名为JAVA_HOME的环境变量,变量值为Java的安装路径,例如:D:\ Java\jdk_9.0.12、 添加Path环境变量,该变量在环境变量中已经存在,
2021-07-19 18:27:47
1266
原创 编写批处理脚本使用JLink.exe / ST-LINK_CLI.exe烧写STM32F103RC系列芯片
一、使用JLink.exe烧写STM32F103RC系列芯片说明:使用的是SWD模式进行附件烧写,需要用到的文件如下:1、 DownloadFlash.bat文件内容如下:@echo off:startecho 开始烧写固件jlink.exe Jlink_Config.txtgoto :start2、 Jlink_Config.txt文件内容如下:usb 0si 1hspeed 4000device STM32F103RCloadbin Release.bin 0x08000
2021-07-16 16:10:39
5085
4
原创 不带DDR的ZYNQ使用OCM加载程序运行的方法
软件版本:Vivado Vitis2019.2第一步: 在Vivado的ZYNQ Block Design时候不配置DDR第二步: 在Vitis中:1、 在Vitis中新建Platform,选择xsa文件:2、 在xparameters.h中添加DDR的地址空间定义,如下:3、 修改链接文件,修改每个段都到ram_0,因为ram_1空间全部给到应用程序4、 修改fsbl工程的main.c,增加XPAR_PS7_DDR_0条件编译5、 修改fsbl.h,重定义DDR_EN
2020-12-02 21:39:20
3880
原创 Vitis2019.2添加ARM核(ps7_cortexa9_1)
1、 打开platform.spr,然后右击ps7_cortexa9_0,点击Add Domain2、 选择ps7_cortex_a9_1
2020-12-01 15:25:42
833
原创 FreeRTOS使用总结
1、任务创建和删除:xTaskCreate() 使用动态的方法创建一个任务xTaskCreateStatic() 使用静态的方法创建一个任务xTaskCreateRestricted() 创建一个使用 MPU 进行限制的任务,相关内存使用动态内存分配vTaskDelete() 删除一个任务1.1 函数 xTaskCreate()BaseType_t xTaskCreate(TaskFunction_t pxTaskCode,const char * const pcName,const ui
2020-09-07 20:50:33
540
原创 UCOSIII使用总结(三)
1、任务创建: OSTaskCreate() 函数void OSTaskCreate (OS_TCB *p_tcb,CPU_CHAR *p_name,OS_TASK_PTR p_task,void *p_arg,OS_PRIO prio,CPU_STK *p_stk_base,CPU_STK_SIZE stk_limit,CPU_STK_SIZE stk_size,OS_MSG_QTY q_size,OS_TICK time_quanta,void *p_ext,OS_OPT opt
2020-09-07 20:02:06
1484
1
原创 UCOSIII使用总结(二)
1、 修改os_cfg_app.h文件里面的宏定义#define OS_CFG_TMR_TASK_RATE_HZ 可以修改UCOSIII内部软件定时器的时间分辨率。(比如100u就是10ms,1000u就是1ms)注意:OS_CFG_TMR_TASK_RATE_HZ的值不能大于 OS_CFG_TICK_RATE_HZ(设置时钟节拍频率)的定义。2、 修改os_cfg.h文件里面的#define OS_CFG_SCHED_ROUND_ROBIN_EN 的值(0/1)能够使能时间片轮转调度功能,时间片长
2020-09-02 15:14:40
433
原创 SD系统启动卡恢复为普通SD卡的方法
SD系统启动卡恢复为普通SD卡的方法是:在Linux系统下使用硬盘操作命令fdisk删除多个SD卡分区后新增一个分区,再将新增分区格式化为普通SD卡分区。1、 卸载SD卡分区:umount /media/hpf/bootumount /media/hpf/rootfs 2、 使用硬盘操作命令fdisk:sudo fdisk /dev/sdb (使用ls /dev/sd,然后按Tab键,可以知道目前的sd卡是哪一个以及有多少个分区)3、 删除SD卡分区1:输入d输入14、 删除SD卡分区2
2020-08-21 16:48:31
1011
原创 Xilinx SDK无法使用math.h的解决办法
在使用Xilinx SDK时,发现无法使用math.h中的一些函数,比如pow(),sqrt()等;原因在于使用math.h中声明的库函数还有一点特殊之处,就是gcc命令行必须加-lm选项,因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项会告诉编译器,程序中用到的数学函数要到这个库文件里找。使用平台:Vitis 2019.2只需要右击Application Project,然后按照下面操作即可:...
2020-08-21 10:48:51
2572
1
原创 STM32F7系列改变外部晶振时的修改点
在进行STM32F7平台开发过程中,有时候需要修改外部晶振的频率。否则会导致外设频率被改变,不能以正常频率运行,典型的就是UART波特率会改变,从而导致输出乱码。这时候需要修改下面文件的几个参数,以将外部晶振从25MHz改到8MHz为例:**1)**system_stm32f7xx.c,将HSE_VALUE从25000000U改为8000000U**2)**stm32f7xx_hal_conf.h,将HSE_VALUE从25000000U改为8000000U**3)**stm32f7xx...
2020-08-20 12:21:21
561
原创 ln, lg, log在C中的应用
在C语言中定义的函数和数学上定义的函数有所区别:C语言中只定义的两个函数:(1)y=log(double x)(2)y=log10(double x)第(1)个代表数学式中的ln,第(2)个代表数学式中的 lg;而数学上要求loga(b) (a不为e和10),可用换底公式表示为log(b)/log(a)(或者 log10(b)/log10(a))。注意一点的是要包含头文件math.h函数为...
2020-04-07 10:22:01
4333
原创 shell脚本获取进程ID并kill高占用CPU的进程
说明:kill了占用CPU高的python3进程vim kill_highPCU_python3.sh#!/bin/sh#i=2#while (i--)#docpu=$(top -b -n1 | grep "python3" | head -1 | awk '{print $9}')pid=$(top -b -n1 | grep "python3" | head -1 | awk ...
2020-03-17 10:24:06
1936
原创 VSCode中对编程有用的一些插件的介绍与安装
Setting Sync:能够在每次换个电脑或者临时换个新环境时,不需要重新配置各种插件,直接同步;TODO Highlight:这个插件会分析代码中的TODO标签,在加亮之后,可以集中显示;TODO Tree:用于记录很多需要做但是暂时没办法立即做的事情,如修改样式,日期格式处理等;C/C++:C/C++插件;Chinese Simple:简体中文插件;Code Runne...
2020-03-12 10:17:55
320
原创 Windows下安装和配置WSL
百度百科描述WSL:Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。1、启用或关闭Win...
2020-02-02 12:16:50
4397
1
原创 在linux上搭建stm32开发环境
环境:ubuntu18.041、官网下载编译链:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads我下载的是gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2版本wget h...
2020-01-18 10:54:01
849
原创 C#学习总结(一)
1、C#:简单,面向对象,类型安全2、C#语言的特点:语法简洁,面向对象设计,安全性机制,错误异常处理机制,兼容性高,与web紧密结合3、.Net框架包含.Net框架类库 与 CLR(公共语言运行室);.Net包括.Net Framework(开发平台)与Visual Studio(开发工具)4、CLR又包含(CLS:公共语言规范 CTS:通用类型系统)5、C#在编译过程中编译成中间语...
2020-01-16 12:19:33
455
原创 使用串口多缓存
串口的多缓存就是指有多个缓存,一般指短时间内不断发送数据,从而存到不同buff区域。】在STM32的datasheet中说到只有在多缓存通讯中才推荐这种清除程序://串口接收if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET){ if (Recstat != RcvEnd) // 判断是否接收完成(在滴答定时器中实现串口是否接收完成...
2020-01-14 12:26:06
1863
原创 在ubuntu18.04上更新内核
1、查看Ubuntu现有的内核版本(),可以看到现在的内核版本是5.0.0uname -a2、前往官网https://www.kernel.org/,下载内核源码,我下载的是目前最新版的5.4.10版本3、我将下载到的文件存放在Ubuntu桌面上,如下图4、打开终端进入桌面目录,解压sudo tar -xavf linux-4.18.14.tar.xz5、安装各种依赖sud...
2020-01-10 16:24:30
11456
4
原创 UCOSIII使用总结(一)
1、DMA中断跟其他中断一样,DMA中断进入时调用UCOS中断处理,结束时调用中断级任务调度函数就可以了2、有些地方还需要注意堆栈字节对齐的问题,如果任务运行出现莫名其妙的错误(比如用到 sprintf 出错),请考虑是不是字节对齐的问题。3、OSSemPost()函数:如果有一个或多个任务在等待这个信号量,则优先级最高的任务将获得这个信号量,然后由调度器来判定刚获得信号量的任务是否为系统中优...
2020-01-07 18:24:43
2008
原创 STM32F767芯片在使用中的注意点(一)
1、STM32F767的ADC最大工作频率是36Mhz,而 ADC 时钟(ADCCLK)来自 APB2,APB2 频率一般是 108Mhz,我们设置 ADCPRE=01,即4 分频,这样得到 ADCCLK 频率为 27Mhz。2、FMC是STM32F429/439专有的,是在FSMC的基础上支持SDRAM的升级版本3、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2&g...
2020-01-07 17:39:48
4355
原创 安装双系统ubuntu + windows
**1、**使用UltralSO, 将系统镜像用“写入硬盘映像”方式写入U盘。**2、**电脑BOOT启动方式选择UEFI,选择U盘(系统镜像)为第一启动项,同时将Secure Boot 设置为Disable。**3、**进入安装时安照顺序/home (10G)/swap (8G(2倍内存大小))/boot (1G)/ (40G)去划分存储区域。...
2019-11-16 09:51:26
147
原创 Keil如何用fromelf.exe工具生成目标(bin,hex等)文件
比如要生成.bin文件: fromelf.exe --bin -o “XX.bin” "#L"工程配置如下:最终生成了XX.bin格式文件 :下面列出fromelf.exe语法:fromelf [options] input_file (命令的格式)Options: --help display this help screen (显示帮助信息) ...
2019-11-05 17:53:10
8765
原创 C# 串口ComboBox下拉事件自动识别串口号并在下拉框中显示
序言:在.Net 2.0版本之后,就默认提供了System.IO.Ports.SerialPort类,用户可以简单地编写少量代码就完成串口的信息收发程序。// 代码 (下拉触发事件)private void comboBoxUart_2_DropDown(object sender, EventArgs e){ int i = 0; this.comboBoxUart_2....
2019-11-02 10:21:43
4742
原创 Windows缺少mfc110.dll的解决方法
mfc110.dll是存放在windows系统中的一个重要dll文件,缺少它可能会造成部分软件或游戏无法正常运行。当系统提示“没有找到mfc110.dll” 或 “丢失mfc110.dll”等类似错误信息时,通过以下办法解决:1、 到 此microsoft下载地址 或者 下载 ;2、 双击vcredist_x64.exe 以及 vcredist_x86.exe 运行;接着再重新软件或游...
2019-09-18 21:48:38
5813
原创 动态内存分配
在编写很多程序时,我们无法提前预知需要多少内存来存储某个定义变量(数组)中的特定信息,所需内存的大小需要在真正运行时才能确定。动态内存的优点在于函数执行完毕之后仍然可以被其他函数使用。 动态内存的释放:使用free;free掉一个指针,只是将指针指向的内存空间释放掉了,并没有将指针置为NULL,指针仍指向被释放掉的内存的地址,在判断指针是否为NULL的时候,通常是通过if(pt == NUL...
2019-09-16 11:51:14
182
原创 Ubuntu下samba服务器配置和使用
1、 安装samba软件 (部分Ubuntu版本有自带)sudo apt-get install sambasudo apt-get install smbclient安装完成后执行确认已经正确安装完成, 使用命令: samba -V2、 配置samba服务器,使用如下命令打开samba的配置文件sudo vi /etc/samba/smb.conf在文件最后添加如下配置信息:...
2019-08-10 09:54:34
505
原创 Ubuntu 更新软件源
1、 首先备份当前的源,当前的源所在文件位置为/etc/apt/sources.list 执行备份:cp /etc/apt/ sources.list /etc/apt/ sources.list.backup2、 打开Ubuntu源列表文件,修改软件源sudo vim /etc/apt/sources.list把整个sources.list文件里面的内容替换成下面的内容( 根据需要选择...
2019-08-02 10:22:05
1140
原创 怎样获取STM32MCU的唯一ID
每个STM32MCU设计中都有唯一的ID**(96位)**,每个ID都具备有不可修改和唯一性,这一点在基本的程序防解密上很有效果,ID结合加密的程序可以有效增加破解的难度和成本。每款STM32的存储器地址不一样,不同的微控制器型号96位的ID存储位置不一样。这个96位的唯一身份标识,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。各款MCU的ID地址与Flash...
2019-03-27 15:37:48
1146
JLink+ST-Link烧录所需文件.zip
2021-07-16
Source Insight 宏.zip
2020-06-03
CP2102_Drive.zip
2020-06-01
FTP Transfer-FileZilla(32-64bit).zip
2020-06-01
linux-5.4.10.tar.xz
2020-01-10
OMAP-L138启动方式.pdf
2019-10-09
vcredist(mfc110.dll).zip
2019-09-17
特别好用的Source Insight宏
2018-10-11
进行与设备各种操作的VISA32类文件
2018-09-05
msvcr100d.dll
2018-08-03
windows64位下的debug工具
2017-12-14
STM32输出12路pwm程序
2017-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人